Reviewed by Cameron Zwarich.
[WebKit-https.git] / WebKit / mac / ChangeLog
1 2008-08-06  Eric Seidel  <eric@webkit.org>
2
3         Reviewed by Cameron Zwarich.
4
5         Move more methods from Frame into ScriptController
6         https://bugs.webkit.org/show_bug.cgi?id=20294
7
8         The WebKit side of this move.  Calls to frame() are now frame()->script()
9
10         * Plugins/WebBaseNetscapePluginView.mm:
11         (-[WebBaseNetscapePluginView getVariable:value:]):
12         (-[WebBaseNetscapePluginView _destroyPlugin]):
13         * Plugins/WebPluginController.mm:
14         (-[WebPluginController destroyPlugin:]):
15         (-[WebPluginController destroyAllPlugins]):
16         * WebCoreSupport/WebFrameLoaderClient.mm:
17         * WebView/WebFrame.mm:
18         (-[WebFrame windowObject]):
19         * WebView/WebScriptDebugger.mm:
20         (WebScriptDebugger::callEvent):
21         * WebView/WebView.mm:
22         (-[WebView windowScriptObject]):
23
24 2008-08-06  Dan Bernstein  <mitz@apple.com>
25
26         Reviewed by Mark Rowe.
27
28         - fix an assertion failure in Cache::setCapacities()
29
30         * Misc/WebKitSystemBits.h: Changed the return type of WebMemorySize()
31         to uint64_t.
32         * Misc/WebKitSystemBits.m:
33         (WebMemorySize):
34         * WebView/WebView.mm:
35         (+[WebView _setCacheModel:]):
36
37 2008-08-05  Anders Carlsson  <andersca@apple.com>
38
39         Pass in the correct class here.
40         
41         * WebView/WebResource.mm:
42         (-[WebResourcePrivate dealloc]):
43
44 2008-08-05  Anders Carlsson  <andersca@apple.com>
45
46         Reviewed by Darin.
47
48         <rdar://problem/6037398>
49         ER: Deallocate WebKit objects on the main thread, even if released on secondary thread
50         
51         Add calls to WebCoreObjCScheduleDeallocateOnMainThread in dealloc methods of objects we expose.
52
53         * Carbon/CarbonWindowAdapter.m:
54         (-[CarbonWindowAdapter dealloc]):
55         * History/WebBackForwardList.mm:
56         (-[WebBackForwardList dealloc]):
57         * History/WebHistoryItem.mm:
58         (-[WebHistoryItem dealloc]):
59         * Misc/WebElementDictionary.mm:
60         (+[WebElementDictionary initialize]):
61         (-[WebElementDictionary dealloc]):
62         * WebCoreSupport/WebEditorClient.mm:
63         (-[WebEditCommand dealloc]):
64         * WebCoreSupport/WebFrameLoaderClient.mm:
65         * WebView/WebArchive.mm:
66         (-[WebArchivePrivate dealloc]):
67         * WebView/WebDataSource.mm:
68         (-[WebDataSourcePrivate dealloc]):
69         * WebView/WebHTMLView.mm:
70         (-[WebHTMLViewPrivate dealloc]):
71         (-[WebHTMLView dealloc]):
72         * WebView/WebResource.mm:
73         (-[WebResourcePrivate dealloc]):
74
75 2008-08-05  Anders Carlsson  <andersca@apple.com>
76
77         Reviewed by Darin.
78
79         Remove MainThreadObjectDeallocator.{h|mm}.
80
81         * WebView/MainThreadObjectDeallocator.h: Removed.
82         * WebView/MainThreadObjectDeallocator.mm: Removed.
83         
84         * WebView/WebView.mm:
85         (-[WebView dealloc]):
86         Call WebCoreObjCScheduleDeallocateOnMainThread instead.
87
88 2008-08-05  Anders Carlsson  <andersca@apple.com>
89
90         Reviewed by Darin.
91
92         Make the main thread object deallocator work with subclasses.
93         
94         * WebView/MainThreadObjectDeallocator.h:
95         * WebView/MainThreadObjectDeallocator.mm:
96         (deallocCallback):
97         Call the correct dealloc method.
98                 
99         (scheduleDeallocateOnMainThread):
100         Store both the class and the instance, so we know which dealloc method to call.
101         
102         * WebView/WebView.mm:
103         (-[WebViewPrivate dealloc]):
104         Schedule deallocation on the main thread.
105
106 2008-08-05  Dan Bernstein  <mitz@apple.com>
107
108         Reviewed by Mark Rowe and Anders Carlsson.
109
110         - fix WebMemorySize() reporting a value capped at 2GB
111
112         * misc/WebKitSystemBits.m:
113         (WebMemorySize): Changed to return the max_mem field, which, unlike
114         memory_size, is not capped at 2GB.
115         * WebView/WebView.mm:
116         (+[WebView _setCacheModel:]): Made the cache sizes for over 2GB RAM the
117         same as for 2GB, so that behavior on machines that have more than 2GB
118         RAM is not affected by the fix to WebMemorySize().
119
120 2008-08-04  Mark Rowe  <mrowe@apple.com>
121
122         Build fix.
123
124         * WebView/WebHTMLView.mm:
125
126 2008-08-04  Mark Rowe  <mrowe@apple.com>
127
128         Reviewed by Kevin Decker.
129
130         Adopt the formal protocols where necessary.
131         Final part of fix for <rdar://problem/5853147>.
132
133         * WebCoreSupport/WebInspectorClient.mm:
134         * WebView/WebHTMLView.mm:
135         * WebView/WebView.mm:
136         (-[WebView _openFrameInNewWindowFromMenu:]):
137
138 2008-08-04  Mark Rowe  <mrowe@apple.com>
139
140         Reviewed by Darin Adler.
141
142         Declare empty protocols when using versions of AppKit that do not use formal protocols for delegates and data sources.
143         Part one of fix for <rdar://problem/5853147>.
144
145         * Misc/EmptyProtocolDefinitions.h:
146         * WebKitPrefix.h:
147
148 2008-08-04  Brady Eidson  <beidson@apple.com>
149
150         Reviewed by Mitz Pettel
151
152         Fix <rdar://problem/5820157> - Saving WebArchives of Mail attachments broken.
153
154         This broke in r31355 when we stopped returning nil WebResources when there was nil
155         resource data.
156
157         * WebView/WebResource.mm:
158         (-[WebResource _initWithCoreResource:]): Restore previous behavior of returning nil
159           when the resource data is null.
160
161 2008-08-02  Matt Lilek  <webkit@mattlilek.com>
162
163         Reviewed by Tim Hatcher.
164
165         Update the window gradient offset to match the inspector toolbar's new height.
166
167         * WebCoreSupport/WebInspectorClient.mm:
168         (-[WebInspectorWindowController window]):
169
170 2008-08-01  Anders Carlsson  <andersca@apple.com>
171
172         Reviewed by Jon.
173
174         <rdar://problem/6120206>
175         Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams.
176         
177         Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack.
178
179         * Plugins/WebBaseNetscapePluginStream.mm:
180         (-[WebBaseNetscapePluginStream wantsAllStreams]):
181
182 2008-07-31  Anders Carlsson  <andersca@apple.com>
183
184         Reviewed by Darin.
185
186         <rdar://problem/5949410>
187         Add the ability to transfer a given application cache to a new database.
188
189         * Misc/WebKitNSStringExtras.h:
190         * Misc/WebKitNSStringExtras.m:
191         (+[NSString _webkit_applicationCacheDirectoryWithBundleIdentifier:]):
192         New method which returns the appopriate cache directory for a given bundle identifier.
193         
194         * WebView/WebDataSource.mm:
195         (-[WebDataSource _transferApplicationCache:]):
196         Transfer the application cache.
197         
198         * WebView/WebDataSourcePrivate.h:
199         * WebView/WebView.mm:
200         (WebKitInitializeApplicationCachePathIfNecessary):
201         Change this to use _webkit_applicationCacheDirectoryWithBundleIdentifier.
202
203 2008-07-31  John Sullivan  <sullivan@apple.com>
204
205         WebKit part of <rdar://problem/6116650> Text-only zoom setting should be stored in WebKit prefs
206
207         Reviewed by Hyatt
208
209         * WebView/WebPreferenceKeysPrivate.h:
210         added WebKitZoomsTextOnlyPreferenceKey
211         
212         * WebView/WebPreferences.mm:
213         (+[WebPreferences initialize]):
214         default value of YES for WebKitZoomsTextOnlyPreferenceKey
215         (-[WebPreferences zoomsTextOnly]):
216         getter for WebKitZoomsTextOnlyPreferenceKey
217         (-[WebPreferences setZoomsTextOnly:]):
218         setter for WebKitZoomsTextOnlyPreferenceKey
219         
220         * WebView/WebPreferencesPrivate.h:
221         declare zoomsTextOnly/setZoomsTextOnly:
222         
223         * WebView/WebView.mm:
224         (-[WebView _preferencesChangedNotification:]):
225         update WebCore::Settings value for zoomsTextOnly
226
227 2008-07-31  David D. Kilzer  <ddkilzer@webkit.org>
228
229         Fix layout test results for webarchive/test-xml-stylesheet.xml
230
231         Reviewed by Darin.
232
233         Needed to expose -[WebHTMLRepresentation supportedNonImageMIMETypes]
234         for DumpRenderTree.
235
236         * WebView/WebHTMLRepresentationInternal.h: Added.
237
238 2008-07-31  Alexey Proskuryakov  <ap@webkit.org>
239
240         Release build fix.
241
242         * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView setWindowIfNecessary]):
243         Don't define to npErr in release builds, as it is only used for logging.
244
245 2008-07-31  John Sullivan  <sullivan@apple.com>
246
247         Fixed <https://bugs.webkit.org/show_bug.cgi?id=5195>
248         drawing with cacheDisplayInRect:toBitmapImageRep: doesn't trigger layout on Leopard
249
250         Reviewed by Dan
251
252         * WebView/WebHTMLView.mm:
253         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
254         include Leopard in the #ifdef that forces a layout if needed
255
256 2008-07-30  Brady Eidson  <beidson@apple.com>
257
258         Reviewed by Adam and Hyatt
259
260         Fix for <rdar://problem/6099748>
261
262         * WebView/WebView.mm:
263         (-[WebView _preferencesChangedNotification:]): Set the "don't enforce CSS mime type in strict mode" 
264           quirk when running under iWeb 2
265
266 2008-07-31  Alexey Proskuryakov  <ap@webkit.org>
267
268         Rubber-stamped by Maciej.
269
270         Eliminate JSLock (it was already disabled, removing the stub implementaion and all
271         call sites now).
272
273         * ForwardingHeaders/kjs/JSLock.h: Removed.
274         * Misc/WebCoreStatistics.mm:
275         (+[WebCoreStatistics javaScriptObjectsCount]):
276         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
277         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
278         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
279         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
280         (+[WebCoreStatistics shouldPrintExceptions]):
281         (+[WebCoreStatistics setShouldPrintExceptions:]):
282         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
283         * Plugins/WebBaseNetscapePluginStream.mm:
284         (-[WebBaseNetscapePluginStream wantsAllStreams]):
285         * Plugins/WebBaseNetscapePluginView.mm:
286         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
287         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
288         (-[WebBaseNetscapePluginView start]):
289         (-[WebBaseNetscapePluginView createPluginScriptableObject]):
290         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
291         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
292         (-[WebBaseNetscapePluginView loadPluginRequest:]):
293         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
294         * Plugins/WebPluginController.mm:
295         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
296         (-[WebPluginController startAllPlugins]):
297         (-[WebPluginController stopAllPlugins]):
298         (-[WebPluginController addPlugin:]):
299         (-[WebPluginController destroyPlugin:]):
300         (-[WebPluginController destroyAllPlugins]):
301         * WebView/WebFrame.mm:
302         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
303         * WebView/WebScriptDebugDelegate.mm:
304         (-[WebScriptCallFrame evaluateWebScript:]):
305         * WebView/WebView.mm:
306         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
307
308 2008-07-30  Beth Dakin  <bdakin@apple.com>
309
310         Reviewed by Anders Carlsson.
311
312         Fixes <rdar://problem/6041390>
313
314         Adds the ability to have a frame that is "disconnected" from the 
315         main frame from the perspective of top and parent in 
316         Javascript.
317
318         * WebView/WebFrame.mm:
319         (-[WebFrame _setIsDisconnectedFrame]):
320         * WebView/WebFramePrivate.h:
321
322 2008-07-29  Mark Rowe  <mrowe@apple.com>
323
324         Tweak to the build fix to keep Dan happy.
325
326         * Plugins/WebBaseNetscapePluginView.mm:
327         * WebView/WebHTMLView.mm:
328
329 2008-07-29  Mark Rowe  <mrowe@apple.com>
330
331         Build fix.
332
333         * Plugins/WebBaseNetscapePluginView.mm:
334         (-[WebBaseNetscapePluginView inputContext]):
335         * WebView/WebHTMLView.mm:
336
337 2008-07-28  Anders Carlsson  <andersca@apple.com>
338
339         Reviewed by Kevin Decker.
340
341         Based on a patch by Dimcho Balev.
342         
343         https://bugs.webkit.org/show_bug.cgi?id=18676
344         <rdar://problem/6106578>
345         Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
346
347         * Plugins/WebBaseNetscapePluginStream.h:
348         Add NPP_GetValue pointer.
349         
350         * Plugins/WebBaseNetscapePluginStream.mm:
351         (-[WebBaseNetscapePluginStream setPlugin:]):
352         Initialize NPP_GetValue.
353         
354         (-[WebBaseNetscapePluginStream wantsAllStreams]):
355         Call NPP_GetValue.
356         
357         * Plugins/WebPlugInStreamLoaderDelegate.h:
358         * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h:
359         * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm:
360         (WebNetscapePlugInStreamLoaderClient::wantsAllStreams):
361         Implement this and call down to the stream.
362
363 2008-07-28  Anders Carlsson  <andersca@apple.com>
364
365         Reviewed by Adam.
366
367         <rdar://problem/6105529> 
368         https://bugs.webkit.org/show_bug.cgi?id=19659
369         Turning off plugins causes crash
370         
371         When an active page has plug-ins, and plug-ins are disabled, they will be stopped and will
372         end up in a state where they don't have an event handler. Because of this, we need to 
373         check that the plug-in has been started before calling the event handler.
374         
375         * Plugins/WebBaseNetscapePluginView.mm:
376         (-[WebBaseNetscapePluginView sendActivateEvent:]):
377         (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
378         (-[WebBaseNetscapePluginView setHasFocus:]):
379         (-[WebBaseNetscapePluginView mouseDown:]):
380         (-[WebBaseNetscapePluginView mouseUp:]):
381         (-[WebBaseNetscapePluginView mouseEntered:]):
382         (-[WebBaseNetscapePluginView mouseExited:]):
383         (-[WebBaseNetscapePluginView handleMouseMoved:]):
384         (-[WebBaseNetscapePluginView mouseDragged:]):
385         (-[WebBaseNetscapePluginView scrollWheel:]):
386         (-[WebBaseNetscapePluginView keyUp:]):
387         (-[WebBaseNetscapePluginView keyDown:]):
388         (-[WebBaseNetscapePluginView flagsChanged:]):
389         (-[WebBaseNetscapePluginView cut:]):
390         (-[WebBaseNetscapePluginView copy:]):
391         (-[WebBaseNetscapePluginView paste:]):
392         (-[WebBaseNetscapePluginView selectAll:]):
393         (-[WebBaseNetscapePluginView drawRect:]):
394         (-[WebBaseNetscapePluginView inputContext]):
395
396 2008-07-26  Daniel Jalkut  <jalkut@red-sweater.com>
397
398         Reviewed by Geoff Garen.
399
400         Changes to accommodate newly named/signatured loading methods in WebCore.
401
402         * Plugins/WebNetscapePluginStream.mm:
403         (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
404         * Plugins/WebPluginContainerCheck.mm:
405         (-[WebPluginContainerCheck _isForbiddenFileLoad]):
406         * WebView/WebPDFView.mm:
407         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
408
409 2008-07-21  Mark Rowe  <mrowe@apple.com>
410
411         Reviewed by Sam Weinig.
412
413         <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
414
415         * Configurations/Version.xcconfig:
416         * Info.plist:
417
418 2008-07-21  Anders Carlsson  <andersca@apple.com>
419
420         Reviewed by Geoff.
421
422         <rdar://problem/5820667> 
423         CrashTracer: [USER] 3759 crashes in Safari at FrameLoader::activeDocumentLoader const + 6 while canceling plug-in load
424         
425         Don't allow URLs to be loaded in response to an NPP_DestroyStream that happens when tearing down the plug-in.
426         
427         * Plugins/WebBaseNetscapePluginView.mm:
428         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
429
430 2008-07-21  Mark Rowe  <mrowe@apple.com>
431
432         Reviewed by Adam Roben.
433
434         <rdar://problem/5624143> WebView printing doesn't work correctly in x86_64
435
436         Fix the return type of an NSView method that we override so that the correct data type is used in 64-bit.
437         This prevents a garbage value being used for the scale factor that the NSView print machinery applies.
438
439         * WebView/WebHTMLView.mm:
440
441 2008-07-21  Mark Rowe  <mrowe@apple.com>
442
443         Reviewed by Adam Roben.
444
445         Fix CallDelegateReturningFloat for x86_64.  The x86_64 Objective-C runtime
446         only uses objc_msgSend_fpret for long double return values.  For float return
447         values the standard objc_msgSend is used, as on ppc and ppc64.
448
449         * WebView/WebView.mm: Use objc_msgSend_float_return as the name of our version of
450         objc_msgSend with the correct return type.  We can no longer call it objc_msgSend_fpret
451         as that method is defined by the Objective-C runtime for x86_64.
452         (CallDelegateReturningFloat):
453
454 2008-07-14  Dan Bernstein  <mitz@apple.com>
455
456         Reviewed by John Sullivan.
457
458         - WebKit part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
459
460         * Plugins/WebBaseNetscapePluginView.mm:
461         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Changed
462         to account for the case of being drawn into a bitmap context that is not
463         a window's backing store. In that case, there are no valid "rects being
464         drawn" to clip to.
465         * WebView/WebHTMLView.mm:
466         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
467         Added an override of this NSView method which is used in for
468         -cacheDisplayInRect:toBitmapImageRep:. Like two existing NSView drawing
469         machinery overrides, it sets subviews aside before invoking the
470         superclass implementation. On Tiger, it also updates the layout.
471
472 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
473
474         Reviewed by Geoff Garen.
475
476         Eliminate per-thread JavaScript global data instance support and make arbitrary
477         global data/global object combinations possible.
478
479         * Misc/WebCoreStatistics.mm:
480         (+[WebCoreStatistics javaScriptObjectsCount]):
481         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
482         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
483         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
484         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
485         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
486         Ask WebCore for its instance of JSGlobalData, now that it is not in per-thread storage.
487
488 2008-07-11  Stephanie Lewis  <slewis@apple.com>
489
490         Reviewed by Darin Adler.
491
492         Disable WTF leak messages when using fast teardown.  Use full document teardown while running in debug.
493
494         * WebView/WebPreferences.m: Removed.
495         * WebView/WebPreferences.mm: Copied from http:/svn.webkit.org/repository/webkit/trunk/WebKit/mac/WebView/WebPreferences.m.
496         (+[WebPreferences initialize]): if running in Default enable full  document teardown
497         (-[WebPreferences editableLinkBehavior]):
498         (-[WebPreferences setFullDocumentTeardownEnabled:]):
499         * WebView/WebView.mm:
500         (-[WebView _close]): disable leak messages if using fast teardown
501
502 2008-07-10  Mark Rowe  <mrowe@apple.com>
503
504         Reviewed by Sam Weinig.
505
506         Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
507
508         * Configurations/WebKit.xcconfig:
509
510 2008-07-10  Mark Rowe  <mrowe@apple.com>
511
512         Reviewed by Sam Weinig.
513
514         Fix the Tiger build by omitting annotations from methods declared in categories when using old versions of GCC.
515
516         * Plugins/WebPlugin.h: Wrap annotations on methods declared in categories in the WEBKIT_CATEGORY_METHOD_ANNOTATION macro.
517         * WebView/WebFrameLoadDelegate.h: Ditto.
518         * WebView/WebUIDelegate.h: Ditto.
519
520 2008-07-10  Anders Carlsson  <andersca@apple.com>
521
522         Reviewed by Mark.
523         
524         Add availability macros for the new WebPlugin methods.
525
526         * Plugins/WebPlugin.h:
527         * Plugins/WebPluginViewFactory.h:
528
529 2008-07-09  Mark Rowe  <mrowe@apple.com>
530
531         Reviewed by Geoff Garen.
532
533         Don't warn about deprecated functions in production builds.
534
535         * Configurations/Base.xcconfig:
536         * Configurations/DebugRelease.xcconfig:
537
538 2008-07-09  Brady Eidson  <beidson@apple.com>
539
540         Reviewed by Darin
541
542         <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
543         has been installed in a frame tree.
544
545         The root of this problem was that calling init() on a new frame could end up calling arbitrary
546         javascript that might end up removing the frame from the tree.  This opened up a small can of worms
547         such as the frame not having yet been installed in its frame tree, and other assumed behavior while
548         destroying the frame.
549
550         Note that each platforms WebKit API layer needs to make this new guarantee:
551         "The new Frame must be installed in its FrameTree before newCoreFrame->init() is called"
552         I am fixing Mac, and Windows and GTK already have this property.  Wx currently has subframes disabled
553         but will need to add this guarantee when re-enabling, and Qt is currently vulnerable to this same bug.
554
555         Alternately, the way frames are created right now is roundabout and asinine, and this is a key
556         architectural improvement we can make in the future so the individual platform clients are no longer
557         vulnerable to this problem, which should really have been a WebCore issue.
558
559         * WebCoreSupport/WebFrameLoaderClient.mm:
560         (WebFrameLoaderClient::createFrame):  Don't bother null checking the newCoreFrame - can't be NULL.
561           Don't appendChild() the new frame here.
562           Null-check the new frame's page before loading the URL into it, as it might already have been
563           removed from the page.
564
565         * WebView/WebFrame.mm:
566         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):  If there is an ownerElement,
567           go ahead and install the new frame in the frame tree *before* calling init() on it.
568
569 2008-07-09  Anders Carlsson  <andersca@apple.com>
570
571         Reviewed by Darin.
572
573         Make some WebPlugin and WebPluginFactory SPI public.
574         
575         * Plugins/WebPlugin.h:
576         * Plugins/WebPluginPrivate.h:
577         * Plugins/WebPluginViewFactory.h:
578         * Plugins/WebPluginViewFactoryPrivate.h:
579
580 2008-07-08  Jon Honeycutt  <jhoneycutt@apple.com>
581
582         Reviewed by Anders.
583
584         Port r34988 to Mac: don't call NPP_DestroyStream if NPP_NewStream was
585         unsuccessful.
586
587         * Plugins/WebBaseNetscapePluginStream.h: Added new member,
588         newStreamSuccessful.
589         * Plugins/WebBaseNetscapePluginStream.mm:
590         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): Initialize new member.
591         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): If NPP_NewStream is successful, set
592         newStreamSuccessful to YES.
593         (-[WebBaseNetscapePluginStream _destroyStream]): Only call
594         NPP_DestroyStream if newStreamSuccessful is true.
595
596 2008-07-08  Dan Bernstein  <mitz@apple.com>
597
598         Reviewed by John Sullivan.
599
600         - WebKit part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
601
602         * WebView/WebHTMLView.mm:
603         (-[WebHTMLView addWindowObservers]): Added code to observe when the
604         window goes onscreen.
605         (-[WebHTMLView removeWindowObservers]): Added.
606         (-[WebHTMLView windowWillOrderOnScreen:]): Added. If the view is set to
607         not update when offscreen, calls -setNeedsDisplay: just before it comes
608         onscreen.
609         * WebView/WebPreferenceKeysPrivate.h: Added preference key.
610         * WebView/WebPreferences.m:
611         (+[WebPreferences initialize]): Made updates when offscreen on by
612         default.
613         (-[WebPreferences updatesWhenOffscreen]): Added.
614         (-[WebPreferences setUpdatesWhenOffscreen:]): Added.
615         * WebView/WebPreferencesPrivate.h:
616         * WebView/WebView.mm:
617         (-[WebView _preferencesChangedNotification:]): Added code to update the
618         updatesWhenOffscreen setting in WebCore.
619
620 2008-07-07  Anders Carlsson  <andersca@apple.com>
621
622         Reviewed by Darin.
623
624         Speculative fix for     
625         <rdar://problem/5839800>
626         CrashTracer: [USER] 5802 crashes in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
627         
628         Set _private->closed to YES before calling -[WebPluginController destroyAllPlugins].
629         
630         My theory is that the plug-in destruction callbacks could end up rescheduling timers or re-adding notifications.
631         This is usually protected by _private->closed, but in this case it might still be false.
632
633         * WebView/WebHTMLView.mm:
634         (-[WebHTMLView close]):
635
636 2008-07-05  Mark Rowe  <mrowe@apple.com>
637
638         Reviewed by John Sullivan.
639
640         Remove WebSearchableTextView as it has been unused for some time now.
641
642         * Misc/WebSearchableTextView.h: Removed.
643         * Misc/WebSearchableTextView.m: Removed.
644
645 2008-07-05  Mark Rowe  <mrowe@apple.com>
646
647         Reviewed by John Sullivan.
648
649         Don't leak the result of WKCopyCFLocalizationPreferredName when running under GC.
650
651         * Misc/WebNSUserDefaultsExtras.m:
652         (-[NSString _webkit_HTTPStyleLanguageCode]):
653
654 2008-07-02  Alexey Proskuryakov  <ap@webkit.org>
655
656         Inspired and reviewed by Mark Rowe.
657
658         Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.
659
660         * Carbon/HIViewAdapter.m:
661         * DOM/WebDOMOperations.mm:
662         * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
663         * DefaultDelegates/WebDefaultPolicyDelegate.m:
664         * History/WebBackForwardList.mm:
665         * History/WebHistory.mm:
666         * History/WebHistoryItem.mm:
667         * History/WebHistoryItemInternal.h:
668         * Misc/WebCoreStatistics.mm:
669         * Misc/WebDownload.m:
670         * Misc/WebGraphicsExtras.c:
671         * Misc/WebKitLogging.h:
672         * Misc/WebKitSystemBits.m:
673         * Misc/WebLocalizableStrings.m:
674         * Misc/WebNSArrayExtras.m:
675         * Misc/WebNSDataExtras.m:
676         * Misc/WebNSDictionaryExtras.m:
677         * Misc/WebNSFileManagerExtras.m:
678         * Misc/WebNSPasteboardExtras.mm:
679         * Misc/WebNSURLExtras.mm:
680         * Misc/WebNSUserDefaultsExtras.m:
681         * Panels/WebAuthenticationPanel.m:
682         * Panels/WebPanelAuthenticationHandler.m:
683         * Plugins/WebBaseNetscapePluginView.mm:
684         * Plugins/WebBasePluginPackage.m:
685         * Plugins/WebNetscapePluginEmbeddedView.mm:
686         * Plugins/WebPluginContainerCheck.mm:
687         * Plugins/WebPluginController.mm:
688         * Plugins/WebPluginDatabase.mm:
689         * WebCoreSupport/WebJavaScriptTextInputPanel.m:
690         * WebCoreSupport/WebKeyGenerator.m:
691         * WebCoreSupport/WebViewFactory.mm:
692         * WebKitPrefix.h:
693         * WebView/WebHTMLRepresentation.mm:
694         * WebView/WebPDFRepresentation.m:
695         * WebView/WebPDFView.mm:
696         * WebView/WebScriptDebugger.mm:
697
698 2008-07-01  Alexey Proskuryakov  <ap@webkit.org>
699
700         Reviewed by Darin.
701
702         Disable JSLock for per-thread contexts.
703
704         * Misc/WebCoreStatistics.mm:
705         (+[WebCoreStatistics javaScriptObjectsCount]):
706         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
707         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
708         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
709         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
710         (+[WebCoreStatistics shouldPrintExceptions]):
711         (+[WebCoreStatistics setShouldPrintExceptions:]):
712         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
713         * Plugins/WebBaseNetscapePluginView.mm:
714         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
715         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
716         (-[WebBaseNetscapePluginView start]):
717         (-[WebBaseNetscapePluginView createPluginScriptableObject]):
718         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
719         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
720         (-[WebBaseNetscapePluginView loadPluginRequest:]):
721         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
722         * Plugins/WebPluginController.mm:
723         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
724         (-[WebPluginController startAllPlugins]):
725         (-[WebPluginController stopAllPlugins]):
726         (-[WebPluginController addPlugin:]):
727         (-[WebPluginController destroyPlugin:]):
728         (-[WebPluginController destroyAllPlugins]):
729         * WebView/WebFrame.mm:
730         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
731         * WebView/WebScriptDebugDelegate.mm:
732         (-[WebScriptCallFrame evaluateWebScript:]):
733         * WebView/WebView.mm:
734         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
735         Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebKit
736         doesn't need locking. In the future, it may be possible to remove some of these if we
737         establish that this won't make JSC assertions fail (and that we don't want to add such
738         assertions either).
739         Added includes that are now needed.
740
741 2008-07-01  Kevin McCullough  <kmccullough@apple.com>
742
743         Build fix.
744
745         * WebView/WebView.mm:
746
747 2008-07-01  Anders Carlsson  <andersca@apple.com>
748
749         Reviewed by Darin.
750
751         Use the PluginMainThreadScheduler, and implement NPN_PluginThreadAsyncCall.
752         
753         * Plugins/WebBaseNetscapePluginView.mm:
754         (-[WebBaseNetscapePluginView _createPlugin]):
755         Register the plug-in instance.
756         
757         (-[WebBaseNetscapePluginView _destroyPlugin]):
758         Unegister the plug-in instance.
759         
760         * Plugins/WebNetscapePluginPackage.m:
761         (-[WebNetscapePluginPackage load]):
762         Set NPN_PluginThreadAsyncCall.
763         
764         * Plugins/npapi.mm:
765         (NPN_PluginThreadAsyncCall):
766         Implement this.
767
768 2008-07-01  Dan Bernstein  <mitz@apple.com>
769
770         Reviewed by Darin Adler.
771
772         - WebKit part of moving the method to set the base writing direction from Frame to Editor
773
774         * WebView/WebHTMLView.mm:
775         (-[WebHTMLView toggleBaseWritingDirection:]): Changed back to call the
776         Editor method.
777         (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
778         (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.
779
780 2008-07-01  Geoffrey Garen  <ggaren@apple.com>
781
782         Build fix: forgot to check in this file.
783
784         * WebView/WebScriptDebugger.mm:
785         (WebScriptDebugger::WebScriptDebugger):
786
787 2008-06-30  Dan Bernstein  <mitz@apple.com>
788
789         Reviewed by Adele Peterson.
790
791         - WebKit/mac part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari
792
793         * WebView/WebHTMLView.mm:
794         (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
795         WebCore::Frame::setSelectionBaseWritingDirection() instead of
796         WebCore::Editor::setBaseWritingDirection().
797         (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
798         (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.
799
800 2008-06-28  Darin Adler  <darin@apple.com>
801
802         - fix build
803
804         * WebView/WebView.mm:
805         (aeDescFromJSValue): Use get instead of getItem, which no longer exists.
806
807 2008-06-26  Anders Carlsson  <andersca@apple.com>
808
809         Reviewed by Darin.
810
811         Add a new MainThreadObjectDeallocator which can schedule dealloc calls on the main thread
812         if necessary. Use this for the WebView class. 
813                 
814         * WebView/MainThreadObjectDeallocator.h: Added.
815         * WebView/MainThreadObjectDeallocator.mm: Added.
816         (deallocCallback):
817         (scheduleDeallocateOnMainThread):
818         * WebView/WebView.mm:
819         (-[WebViewPrivate dealloc]):
820         (+[WebView initialize]):
821
822 2008-06-25  Anders Carlsson  <andersca@apple.com>
823
824         Reviewed by Mark.
825
826         <rdar://problem/5984270> 
827         REGRESSION (Tiger only) : Mail crashes because message load is being processed on a secondary thread
828         
829         * WebView/WebView.mm:
830         (tigerMailReleaseIMP):
831         New method that makes sure that the final release happens on the main thread.
832         
833         (-[WebView release]):
834         New method that just calls [super release];
835         
836         (+[WebView initialize]):
837         When running under Tiger mail, replace the release method with tigerMailReleaseIMP.
838
839 2008-06-19  Alexey Proskuryakov  <ap@webkit.org>
840
841         Reviewed by Geoff.
842
843         Make Machine per-JSGlobalData.
844
845         * WebView/WebScriptDebugger.mm:
846         (WebScriptDebugger::WebScriptDebugger):
847
848 2008-06-17  Alexey Proskuryakov  <ap@webkit.org>
849
850         Reviewed by Darin.
851
852         Prepare JavaScript heap for being per-thread.
853
854         * Misc/WebCoreStatistics.mm:
855         (+[WebCoreStatistics javaScriptObjectsCount]):
856         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
857         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
858         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
859         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
860         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
861         Use JSGlobalData::threadInstance()->heap instead of static Collector calls.
862
863 2008-06-17  Darin Adler  <darin@apple.com>
864
865         Reviewed by Sam.
866
867         * WebView/WebHTMLView.mm:
868         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Use create instead of new
869         to create a CSSMutableStyleDeclaration.
870
871 2008-06-16  Mark Rowe  <mrowe@apple.com>
872
873         Reviewed by Darin Adler.
874
875         <rdar://problem/5951874> WebHTMLHighlighter mistakenly gained two new methods, causing compile warnings
876
877         _pauseNullEventsForAllNetscapePlugins and _resumeNullEventsForAllNetscapePlugins ended up being declared both in
878         WebHTMLViewInternal.h and as members of the WebHTMLHighlighter protocol in WebHTMLViewPrivate.h.  They don't belong
879         in the protocol, but they do need to be available outside of WebKit so they're being moved to the correct location
880         in WebHTMLViewPrivate.h and removed from WebHTMLViewInternal.h.
881
882         * WebView/WebHTMLView.mm:
883         (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
884         (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
885         * WebView/WebHTMLViewInternal.h:
886         * WebView/WebHTMLViewPrivate.h:
887
888 2008-06-15  Darin Adler  <darin@apple.com>
889
890         - give Frame object functions shorter names: scriptProxy() -> script(),
891           selectionController() -> selection(), animationController() -> animation()
892
893         * Plugins/WebPluginController.mm:
894         (-[WebPluginController webPlugInContainerSelectionColor]):
895         * WebView/WebFrame.mm:
896         (-[WebFrame _attachScriptDebugger]):
897         (-[WebFrame _hasSelection]):
898         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
899         (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
900         (-[WebFrame _convertToNSRange:]):
901         (-[WebFrame _convertToDOMRange:]):
902         (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
903         (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
904         (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
905         (-[WebFrame _selectedNSRange]):
906         (-[WebFrame _selectNSRange:]):
907         (-[WebFrame globalContext]):
908         * WebView/WebHTMLView.mm:
909         (-[WebHTMLView _selectedRange]):
910         (-[WebHTMLView _hasSelection]):
911         (-[WebHTMLView _hasSelectionOrInsertionPoint]):
912         (-[WebHTMLView _hasInsertionPoint]):
913         (-[WebHTMLView _isEditable]):
914         (-[WebHTMLView _updateFocusedAndActiveState]):
915         (-[WebHTMLView readSelectionFromPasteboard:]):
916         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
917         (-[WebHTMLView maintainsInactiveSelection]):
918         (-[WebHTMLView paste:]):
919         (isTextInput):
920         (-[WebHTMLView inputContext]):
921         (-[WebTextCompleteController doCompletion]):
922         (-[WebHTMLView selectAll]):
923         (-[WebHTMLView deselectAll]):
924         (-[WebHTMLView selectedAttributedString]):
925         * WebView/WebView.mm:
926         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
927         (-[WebView setSelectedDOMRange:affinity:]):
928         (-[WebView selectedDOMRange]):
929         (-[WebView selectionAffinity]):
930
931 2008-06-15  Darin Adler  <darin@apple.com>
932
933         - rename KJS::List to KJS::ArgList
934
935         * WebView/WebScriptDebugger.h:
936
937 2008-06-15  Darin Adler  <darin@apple.com>
938
939         - new names for more JavaScriptCore files
940
941         * WebView/WebView.mm:
942
943 2008-06-15  Darin Adler  <darin@apple.com>
944
945         - new names for a few key JavaScriptCore files
946
947         * ForwardingHeaders/kjs/JSFunction.h: Copied from WebKit/mac/ForwardingHeaders/kjs/function.h.
948         * ForwardingHeaders/kjs/JSObject.h: Copied from WebKit/mac/ForwardingHeaders/kjs/object.h.
949         * ForwardingHeaders/kjs/JSString.h: Copied from WebKit/mac/ForwardingHeaders/kjs/internal.h.
950         * ForwardingHeaders/kjs/JSValue.h: Copied from WebKit/mac/ForwardingHeaders/kjs/value.h.
951         * ForwardingHeaders/kjs/function.h: Removed.
952         * ForwardingHeaders/kjs/internal.h: Removed.
953         * ForwardingHeaders/kjs/object.h: Removed.
954         * ForwardingHeaders/kjs/value.h: Removed.
955         * WebView/WebScriptDebugDelegate.mm:
956
957 2008-06-15  Darin Adler  <darin@apple.com>
958
959         Rubber stamped by Sam.
960
961         - use JS prefix and simpler names for basic JavaScriptCore types,
962           to complement JSValue and JSObject
963
964         * WebView/WebView.mm:
965         (aeDescFromJSValue):
966
967 2008-06-14  Darin Adler  <darin@apple.com>
968
969         Rubber stamped by Sam.
970
971         - new names for kjs_binding.h and kjs_proxy.h
972
973         * WebView/WebFrame.mm:
974         * WebView/WebScriptDebugDelegate.mm:
975         * WebView/WebView.mm:
976
977 2008-06-14  Darin Adler  <darin@apple.com>
978
979         Rubber stamped by Sam.
980
981         - renamed HTMLGenericFormElement to HTMLFormControlElement
982
983         * WebView/WebHTMLRepresentation.mm:
984         (-[WebHTMLRepresentation elementWithName:inForm:]):
985         (-[WebHTMLRepresentation controlsInForm:]):
986
987 2008-06-14  Darin Adler  <darin@apple.com>
988
989         Reviewed by Sam.
990
991         - more of https://bugs.webkit.org/show_bug.cgi?id=17257
992           start ref counts at 1 instead of 0 for speed
993
994         * WebCoreSupport/WebFrameLoaderClient.mm:
995         (WebFrameLoaderClient::createDocumentLoader): Use create instead of new.
996         (WebFrameLoaderClient::createFrame): Remove now-obsolete adoptRef that was balanced by
997         a ref call inside the Frame constructor. The lifetime rules for Frame are now the
998         conventional ones without a special case.
999
1000         * WebView/WebDataSource.mm:
1001         (-[WebDataSource _initWithDocumentLoader:]): Changed argument to be a PassRefPtr, since
1002         this function takes ownership of the DocumentLoader.
1003         (-[WebDataSource initWithRequest:]): Use create instead of new.
1004         * WebView/WebDataSourceInternal.h: Changed _initWithDocumentLoader argument to be a
1005         PassRefPtr and also cleaned up the header a bit.
1006
1007         * WebView/WebDocumentLoaderMac.h:
1008         (WebDocumentLoaderMac::create): Added. Also made the constructor and a couple of virtual
1009         functions private.
1010
1011         * WebView/WebFrame.mm:
1012         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Use create instead
1013         of new.
1014
1015 2008-06-14  Darin Adler  <darin@apple.com>
1016
1017         Reviewed by Sam.
1018
1019         - more work on https://bugs.webkit.org/show_bug.cgi?id=17257
1020           start ref counts at 1 instead of 0 for speed
1021
1022         * WebView/WebFrame.mm:
1023         (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
1024         * WebView/WebPDFView.mm:
1025         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
1026
1027 2008-06-13  Darin Adler  <darin@apple.com>
1028
1029         Reviewed by John Sullivan.
1030
1031         - updated for addition of FormState argument to action policy functions
1032         - added WebActionFormKey
1033
1034         * WebCoreSupport/WebFrameLoaderClient.h:
1035         * WebCoreSupport/WebFrameLoaderClient.mm:
1036         (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
1037         (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
1038         (WebFrameLoaderClient::actionDictionary):
1039         * WebKit.exp:
1040         * WebView/WebPolicyDelegate.mm:
1041         * WebView/WebPolicyDelegatePrivate.h:
1042
1043 2008-06-12  John Sullivan  <sullivan@apple.com>
1044
1045         Reviewed by Dan and Darin
1046
1047         Clear up the confusion about _close (older private method) vs -close (newer public method).
1048
1049         * WebView/WebView.mm:
1050         (-[WebView _isClosed]):
1051         simplified style
1052         (-[WebView _close]):
1053         added a comment about how clients and subclasses should use -close instead
1054         (-[WebView dealloc]):
1055         call -close instead of _close, so subclasses that override the public method will have the intended behavior
1056         (-[WebView close]):
1057         added a comment
1058         (-[WebView _windowWillClose:]):
1059         call -close instead of _close, so subclasses that override the public method will have the intended behavior
1060
1061         * WebView/WebViewPrivate.h:
1062         added a comment about how clients and subclasses should use -close instead
1063
1064 2008-06-07  Darin Adler  <darin@apple.com>
1065
1066         Reviewed by Mitz.
1067
1068         - work on https://bugs.webkit.org/show_bug.cgi?id=17257
1069           start ref counts at 1 instead of 0 for speed
1070
1071         * History/WebHistoryItem.mm:
1072         (-[WebHistoryItem init]):
1073         (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
1074         (-[WebHistoryItem initWithURL:target:parent:title:]):
1075         (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]):
1076         * WebView/WebView.mm:
1077         (+[WebView _decodeData:]):
1078
1079 2008-06-03  Oliver Hunt  <oliver@apple.com>
1080
1081         Reviewed by Tim.
1082
1083         Bug 12983: Web Inspector break on the debugger keyword
1084         <https://bugs.webkit.org/show_bug.cgi?id=12983>
1085
1086         Add stubs to allow old webkit debugger interface to build.
1087
1088         * WebView/WebScriptDebugger.h:
1089         * WebView/WebScriptDebugger.mm:
1090
1091 2008-06-03  Anders Carlsson  <andersca@apple.com>
1092
1093         Reviewed by Darin.
1094
1095         <rdar://problem/5980961>
1096         
1097         In 64-bit Web Kit, converting between float and double, can cause rounding errors which in turn causes
1098         newBottom to be larger than oldBottom which is illegal.
1099         
1100         * WebView/WebHTMLView.mm:
1101         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
1102
1103 2008-06-02  Anders Carlsson  <andersca@apple.com>
1104
1105         Reviewed by Mitz.
1106
1107         Speculative fix for <rdar://problem/5661112> 
1108         CrashTracer: [USER] 49 crashes in DashboardClient at com.apple.WebCore: WebCore::RenderPart::setWidget + 62
1109         
1110         Defer loads while calling NPP_New. Some plug-ins start a run-loop inside NPP_New and finished loads could cause
1111         layouts to be triggered.
1112         
1113         * Plugins/WebBaseNetscapePluginView.mm:
1114         (-[WebBaseNetscapePluginView _createPlugin]):
1115
1116 2008-05-29  Justin Garcia  <justin.garcia@apple.com>
1117
1118         Reviewed by Darin.
1119         
1120         <rdar://problem/5949462> REGRESSION: Can't paste screen captures into Mail
1121         
1122         AppKit started putting PNG instead of PICT onto the pasteboard for screen 
1123         captures.  Added support for PNG with kUTTypePNG.  Tiger doesn't support
1124         setting and retrieving pasteboard types with UTIs, but we don't know of any
1125         applications on Tiger that put only PNG on the pasteboard.
1126
1127         * WebView/WebHTMLView.mm:
1128         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
1129         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
1130
1131 2008-05-29  Anders Carlsson  <andersca@apple.com>
1132
1133         Reviewed by Brady.
1134
1135         <rdar://problem/5970312> 
1136         icon file specified for stand alone web app causes crash if the icon can't be found
1137         
1138         Handle the case where iconData is null.
1139         
1140         * Misc/WebIconFetcher.mm:
1141         (WebIconFetcherClient::finishedFetchingIcon):
1142
1143 2008-05-29  Anders Carlsson  <andersca@apple.com>
1144
1145         Reviewed by Mitz.
1146
1147         <rdar://problem/5971845>
1148         https://bugs.webkit.org/show_bug.cgi?id=19313
1149         Add version member to NPCocoaEvent
1150
1151         Initialize the version member to 0 for all events.
1152         
1153         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
1154         (initializeEvent):
1155         (WebNetscapePluginEventHandlerCocoa::drawRect):
1156         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
1157         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
1158         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
1159         (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
1160         (WebNetscapePluginEventHandlerCocoa::focusChanged):
1161
1162 2008-05-29  Dan Bernstein  <mitz@apple.com>
1163
1164         Reviewed by Jessica Kahn.
1165
1166         - fix <rdar://problem/5965013> Page 2 does not print correctly
1167
1168         When printing, _recursiveDisplayRectIfNeededIgnoringOpacity:... and
1169         _recursiveDisplayAllDirtyWithLockFocus:... can be invoked without
1170         -viewWillDraw being sent first, which could lead to painting without
1171         valid layout. The fix is to ensure up-to-date layout in those methods
1172         when printing.
1173
1174         * WebView/WebHTMLView.mm:
1175         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
1176         (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
1177
1178 2008-05-28  Anders Carlsson  <andersca@apple.com>
1179
1180         Reviewed by Jon.
1181
1182         Remove workaround, this is no longer a problem.
1183         
1184         * WebView/WebView.mm:
1185         (-[WebView _removeObjectForIdentifier:]):
1186
1187 2008-05-27  Geoffrey Garen  <ggaren@apple.com>
1188
1189         Reviewed by Tim Hatcher.
1190         
1191         Fixed https://bugs.webkit.org/show_bug.cgi?id=19183
1192         REGRESSION (r33979): Crash in DebuggerCallFrame::functionName when
1193         clicking button in returnEvent-crash.html
1194         
1195         Added implementations for willExecuteProgram and didExecuteProgram, which
1196         take care of making sure we're not hanging on to stale data.
1197
1198 2008-05-27  Timothy Hatcher  <timothy@apple.com>
1199
1200         Fixes a bug where unplugging the monitor from a video card and
1201         moving it to another video card would no longer show OpenGL plugins
1202         until you relaunched Safari.
1203
1204         <rdar://problem/5790983> Add AllowOfflineDisplays pixel format
1205         attribute to OpenGL contexts
1206
1207         Reviewed by Kevin Decker.
1208
1209         * Plugins/WebBaseNetscapePluginView.mm:
1210         (-[WebBaseNetscapePluginView _createWindowedAGLContext]): Added
1211         AGL_ALLOW_OFFLINE_RENDERERS for non-Tiger builds.
1212         (-[WebBaseNetscapePluginView _createWindowlessAGLContext]): Ditto.
1213
1214 2008-05-25  Mark Rowe  <mrowe@apple.com>
1215
1216         Reviewed by Darin Adler.
1217
1218         <rdar://problem/5840884> _recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined
1219
1220         Follow-up for r33052.  _recursive_resumeNullEventsForAllNetscapePlugins and _recursive_pauseNullEventsForAllNetscapePlugins
1221         need to be declared in WebFramePrivate.h rather than WebFrameInternal.h so they can be used from outside of WebKit.
1222
1223         * WebView/WebFrame.mm:
1224         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
1225         (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
1226         * WebView/WebFrameInternal.h:
1227         * WebView/WebFramePrivate.h:
1228
1229 2008-05-23  Timothy Hatcher  <timothy@apple.com>
1230
1231         Fix attaching and detaching the Web Inspector. This change removes
1232         the clunky animation that never looked right and was causing issues
1233         where the inspected WebView would get into a no useable state.
1234
1235         <rdar://problem/5958812> Attaching and Detaching the Web Inspector
1236         can cause the inspected WebVIew to be unusable
1237
1238         Reviewed by Adam Roben.
1239
1240         * WebCoreSupport/WebInspectorClient.mm:
1241         (-[WebInspectorWindowController close]): Removes animation code.
1242         Sets the frame directly and does a displayIfNeeded to prevent
1243         showing the Inspector in the page and in the Inspector window.
1244         (-[WebInspectorWindowController showWindow:]): Removes animation code.
1245         Sets the frame directly.
1246         (-[WebInspectorWindowController attach]): Simplified.
1247         (-[WebInspectorWindowController detach]): Ditto.
1248
1249 2008-05-22  Dan Bernstein  <mitz@apple.com>
1250
1251         Reviewed by Darin Adler.
1252
1253         - fix broken documentation of
1254           webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
1255
1256         * WebView/WebUIDelegate.h: Fixed method name in HeaderDoc for
1257         -webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
1258
1259 2008-05-22  Timothy Hatcher  <timothy@apple.com>
1260
1261         <rdar://problem/5956403> Update the Develop menu to match the new Inspector items
1262
1263         Reviewed by Adam Roben.
1264
1265         * WebCoreSupport/WebInspectorClient.mm:
1266         (-[WebInspectorWindowController showWebInspector:]):
1267         (-[WebInspectorWindowController showErrorConsole:]):
1268         (-[WebInspectorWindowController toggleDebuggingJavaScript:]):
1269         (-[WebInspectorWindowController toggleProfilingJavaScript:]):
1270         (-[WebInspectorWindowController validateUserInterfaceItem:]):
1271         * WebInspector/WebInspector.h:
1272         * WebInspector/WebInspector.mm:
1273         (-[WebInspector showConsole:]):
1274         (-[WebInspector showTimeline:]):
1275         (-[WebInspector isDebuggingJavaScript]):
1276         (-[WebInspector toggleDebuggingJavaScript:]):
1277         (-[WebInspector startDebuggingJavaScript:]):
1278         (-[WebInspector stopDebuggingJavaScript:]):
1279         (-[WebInspector isProfilingJavaScript]):
1280         (-[WebInspector toggleProfilingJavaScript:]):
1281         (-[WebInspector startProfilingJavaScript:]):
1282         (-[WebInspector stopProfilingJavaScript:]):
1283
1284 2008-05-22  Josh Aas  <joshmoz@gmail.com>
1285
1286         Reviewed by Anders.
1287
1288         <rdar://problem/5956429> 
1289         https://bugs.webkit.org/show_bug.cgi?id=19192
1290         remove NPNVpluginEventModel, fix example plugin
1291         
1292         * Plugins/WebBaseNetscapePluginView.mm:
1293         (-[WebBaseNetscapePluginView getVariable:value:]):
1294
1295 2008-05-21  Anders Carlsson  <andersca@apple.com>
1296
1297         Reviewed by Maciej.
1298
1299         Add WebIconFetcher.
1300         
1301         * Misc/WebIconFetcher.h: Added.
1302         * Misc/WebIconFetcher.mm: Added.
1303         (WebIconFetcherClient::WebIconFetcherClient):
1304         (WebIconFetcherClient::finishedFetchingIcon):
1305         (WebIconFetcherClient::setFetcher):
1306         (-[WebIconFetcher init]):
1307         (-[WebIconFetcher dealloc]):
1308         (-[WebIconFetcher finalize]):
1309         (-[WebIconFetcher cancel]):
1310         (-[WebIconFetcher _initWithIconFetcher:client:]):
1311         (+[WebIconFetcher _fetchApplicationIconForFrame:target:selector:]):
1312         * Misc/WebIconFetcherInternal.h: Added.
1313         * WebView/WebFrame.mm:
1314         (-[WebFrame fetchApplicationIcon:selector:]):
1315         * WebView/WebFramePrivate.h:
1316
1317 === End merge of squirrelfish ===
1318
1319 2008-05-21  Geoffrey Garen  <ggaren@apple.com>
1320
1321         Reviewed by Tim Hatcher.
1322         
1323         Updated for API changes from merging with trunk WebCore's new debugger.
1324
1325         * WebView/WebScriptDebugDelegate.mm:
1326         (-[WebScriptCallFrame evaluateWebScript:]): Explicitly check for an
1327         exception return, since the DebuggerCallFrame no longer automatically
1328         substitutes the exception for the return value.
1329
1330         * WebView/WebScriptDebugger.mm: Use the dynamic global object, not the
1331         lexical global object, since the debugger attaches based on dynamic
1332         global object.
1333
1334 2008-05-17  Geoffrey Garen  <ggaren@apple.com>
1335
1336         Reviewed by Oliver Hunt.
1337         
1338         Re-enabled previously disabled debugging functionality.
1339         
1340         There are two major changes from how the WebKit debugger used to work:
1341         
1342         (1) All the interesting bits are implemented down in JavaScriptCore. The
1343         debugger just calls through to KJS::DebuggerCallFrame for everything.
1344         
1345         (2) Instead of copyihng a pointer to an ExecState once, the debugger
1346         copies the DebuggerCallFrame passed to it in each callback. This is
1347         because the VM no longer maintains a fully transparent execution state
1348         to which you can hold a pointer, and the DebuggerCallFrames it vends
1349         are temporaries.
1350         
1351         Also, we NULL out a WebScriptCallFrame's DebuggerCallFrame upon return
1352         from its function. This is safer than the old method, which was to
1353         hold a stale ExecState* and hope for the best.
1354
1355 2008-05-13  Geoffrey Garen  <ggaren@apple.com>
1356
1357         Reviewed by Oliver Hunt.
1358
1359         Updated for API changes in KJS::Debugger.
1360
1361         * WebView/WebFrame.mm:
1362         (-[WebFrame _attachScriptDebugger]): Changed the order of operations to
1363         fix an ASSERT that can happen when re-entering _attachScriptDebugger.
1364
1365 2008-05-13  Geoffrey Garen  <ggaren@apple.com>
1366
1367         Reviewed by Oliver Hunt.
1368         
1369         Updated WebScriptDebugger API to accept a SourceProvider instead
1370         of a WebCore::String, to avoid copying.
1371
1372         (WebScriptDebugger::sourceParsed): Updated this function not to return
1373         a value.
1374
1375 2008-04-30  Geoffrey Garen  <ggaren@apple.com>
1376
1377         Build fix: #ifdef'd out some code that doesn't work anymore.
1378
1379 2008-04-30  Geoffrey Garen  <ggaren@apple.com>
1380
1381         Reviewed by Oliver Hunt.
1382         
1383         #ifdef'd out some debugger code that doesn't work anymore.
1384
1385         * WebView/WebScriptDebugDelegate.mm:
1386         (-[WebScriptCallFrame scopeChain]):
1387
1388 2008-04-21  Geoffrey Garen  <ggaren@apple.com>
1389
1390         Build fix.
1391
1392         * ChangeLog:
1393         * WebView/WebScriptDebugDelegate.mm:
1394         (-[WebScriptCallFrame scopeChain]):
1395
1396 2008-03-30  Geoffrey Garen  <ggaren@apple.com>
1397
1398         Reviewed by Oliver Hunt.
1399         
1400         Build fix.
1401
1402 === Start merge of squirrelfish ===
1403
1404 2008-05-21  Darin Adler  <darin@apple.com>
1405
1406         - fix build
1407
1408         * WebView/WebViewPrivate.h: Remove declaration of closeWithFastTeardown. We can add it back later
1409         if we want, but if we do, we should probably make some refinements like checking _private->closed
1410         and applicationIsTerminating.
1411
1412 2008-05-21  Darin Adler  <darin@apple.com>
1413
1414         Reviewed by Anders and Kevin Decker.
1415
1416         - fix <rdar://problem/5951130> REGRESSION: crash on quit after reopening windows from previous session
1417
1418         * WebView/WebView.mm:
1419         (-[WebViewPrivate dealloc]): Fix assertions to not complain when fast teardown is used.
1420         (-[WebView _closePluginDatabases]): Factored out some common code from both versions of close.
1421         (-[WebView _closeWithFastTeardown]): Added an underscore to this method's name, since it's internal.
1422         Streamlined the code a bit. Added a line of code to set _private->closed (this is the bug fix).
1423         (-[WebView _close]): Changed for new method name and to use _closePluginDatabases.
1424
1425 2008-05-19  Stephanie Lewis  <slewis@apple.com>
1426
1427         Reviewed by Darin.
1428     
1429         more fast teardown performance work
1430
1431         * Misc/WebDownload.m:
1432         (-[WebDownloadInternal downloadDidBegin:]):
1433         (-[WebDownloadInternal downloadDidFinish:]):
1434         (-[WebDownloadInternal download:didFailWithError:]):
1435         * WebCoreSupport/WebChromeClient.h:
1436         * WebCoreSupport/WebChromeClient.mm:
1437         (WebChromeClient::disableSuddenTermination):
1438         (WebChromeClient::enableSuddenTermination):
1439
1440 2008-05-18  Dan Bernstein  <mitz@apple.com>
1441
1442         Reviewed by Sam Weinig.
1443
1444         - fix <rdar://problem/5944596> IDNs are displayed as punycode in the authentication panel
1445
1446         * Panels/WebAuthenticationPanel.m:
1447         (-[WebAuthenticationPanel setUpForChallenge:]):
1448
1449 2008-05-16  Timothy Hatcher  <timothy@apple.com>
1450
1451         Removes WebScriptDebugServer files and related calls. This removes
1452         the hooks that Drosera uses for debugging. Now that the Web Inspector
1453         has a better debugger, we don't need these anymore.
1454
1455         Reviewed by Sam Weinig.
1456
1457         * DefaultDelegates/WebScriptDebugServer.h: Removed.
1458         * DefaultDelegates/WebScriptDebugServer.m: Removed.
1459         * DefaultDelegates/WebScriptDebugServerPrivate.h: Removed.
1460         * WebCoreSupport/WebFrameLoaderClient.mm:
1461         * WebKit.exp:
1462         * WebView/WebScriptDebugDelegate.mm:
1463         * WebView/WebScriptDebugger.mm:
1464         (WebScriptDebugger::sourceParsed):
1465         (WebScriptDebugger::callEvent):
1466         (WebScriptDebugger::atStatement):
1467         (WebScriptDebugger::returnEvent):
1468         (WebScriptDebugger::exception):
1469         * WebView/WebView.mm:
1470         (-[WebView _commonInitializationWithFrameName:groupName:]):
1471         * WebView/WebViewPrivate.h:
1472
1473 2008-05-16  Brady Eidson  <beidson@apple.com>
1474
1475         Reviewed by Anders
1476
1477         <rdar://problem/5942616> - Need to standardize LocalStorage persistence path
1478
1479         Took the opportunity to touch up another pref that needs the same standardization.
1480         That pref is currently not in use on Mac.
1481
1482         * WebView/WebPreferences.m:
1483         (-[WebPreferences _setFTPDirectoryTemplatePath:]):
1484         (-[WebPreferences _localStorageDatabasePath]):
1485         (-[WebPreferences _setLocalStorageDatabasePath:]):
1486         (-[WebPreferences _ftpDirectoryTemplatePath]):
1487
1488 2008-05-16  Chris Fleizach  <cfleizach@apple.com>
1489
1490         Reviewed by Alice Liu
1491
1492         <rdar://problem/5710317> REGRESSION:Selecting ranges of text should be possible using the keyboard (15310)
1493
1494         * WebView/WebFrame.mm:
1495         (-[WebFrame _accessibilityTree]):
1496
1497 2008-05-15  Stephanie Lewis  <slewis@apple.com>
1498         
1499         fix mac build
1500
1501         * WebView/WebView.mm:
1502         (-[WebView closeWithFastTeardown]):
1503
1504 2008-05-15  Stephanie Lewis  <slewis@apple.com>
1505
1506         Reviewed by Anders.
1507
1508         Turn on fast teardown.  I added a preference for using full teardown because 
1509         the LEAKS output will be useless without a full teardown.  
1510
1511         preference for fullteardown
1512         * WebView/WebPreferenceKeysPrivate.h:
1513         * WebView/WebPreferences.m:
1514         (-[WebPreferences setFullDocumentTeardownEnabled:]):
1515         (-[WebPreferences fullDocumentTeardownEnabled]):
1516         * WebView/WebPreferencesPrivate.h:
1517         
1518         on application quit dispatch unload events and destroy plugins then exit
1519         * WebView/WebView.mm:
1520         (-[WebView closeWithFastTeardown]):
1521         (-[WebView _close]):
1522         * WebView/WebViewPrivate.h:
1523
1524 2008-05-15  Stephanie Lewis  <slewis@apple.com>
1525
1526         Reviewed by Anders.
1527
1528         get the pending frame unload count from WebCore
1529
1530         * WebView/WebFrame.mm:
1531         (-[WebFrame _pendingFrameUnloadEventCount]):
1532         * WebView/WebFramePrivate.h:
1533
1534 2008-05-15  John Sullivan  <sullivan@apple.com>
1535
1536         Reviewed by Kevin Decker
1537         
1538         - fixed <rdar://problem/5940275> Inspector highlighting moves to bottom-left corner of 
1539           screen when new tab appears
1540           
1541         The highlight should go away entirely, but this simple patch just makes it not jump away.
1542         The issue with it not going away entirely is harder to fix and covered by <rdar://problem/5322306>
1543
1544         * WebInspector/WebNodeHighlight.m:
1545         (-[WebNodeHighlight _repositionHighlightWindow]):
1546         Bail out if target view isn't in a window
1547
1548 2008-05-15  Stephanie Lewis  <slewis@apple.com>
1549
1550         Reviewed by Anders.
1551
1552         Track views that contain plugin instances so that they can be destroyed at application
1553         quit without walking the entire document tree.
1554
1555         Add/Remove Netscape plugin views from instance list.  Start/stop are when netscape
1556         plugins are created and destroyed
1557         * Plugins/WebBaseNetscapePluginView.mm:
1558         (-[WebBaseNetscapePluginView start]):
1559         (-[WebBaseNetscapePluginView stop]):
1560  
1561         Add/remove WebKit plugin views from instance list
1562         * Plugins/WebPluginController.mm:
1563         (-[WebPluginController addPlugin:]):
1564         (-[WebPluginController destroyPlugin:]):
1565         (-[WebPluginController destroyAllPlugins]):
1566
1567         Add a set of views with plugin instances to the WebPluginDatabase
1568         * Plugins/WebPluginDatabase.h:
1569         * Plugins/WebPluginDatabase.mm:
1570         (-[WebPluginDatabase init]):
1571         (-[WebPluginDatabase dealloc]):
1572         (-[WebPluginDatabase addPluginInstanceView:]):
1573         (-[WebPluginDatabase removePluginInstanceView:]):
1574         (-[WebPluginDatabase removePluginInstanceViewsFor:]):
1575         (-[WebPluginDatabase destroyAllPluginInstanceViews]):
1576         
1577         Handle cases where plugin views are detached before the plugin is destroyed.
1578         * WebCoreSupport/WebFrameLoaderClient.mm:
1579         (WebFrameLoaderClient::detachedFromParent2):
1580         (WebFrameLoaderClient::transitionToCommittedFromCachedPage):
1581         (WebFrameLoaderClient::transitionToCommittedForNewPage):
1582
1583         Add plugin instances to the set in the WebPluginDatabase by way of the WebView
1584         * WebView/WebHTMLView.mm:
1585         (-[WebHTMLView _destroyAllWebPlugins]):
1586         * WebView/WebHTMLViewInternal.h:
1587         * WebView/WebView.mm:
1588         (-[WebView addPluginInstanceView:]):
1589         (-[WebView removePluginInstanceView:]):
1590         (-[WebView removePluginInstanceViewsFor:]):
1591         * WebView/WebViewInternal.h:
1592
1593 2008-05-15  Brady Eidson  <beidson@apple.com>
1594
1595         Reviewed by Tim Hatcher
1596
1597         Until the settings/preferences equation can be reworked, we'll need to manually set the local storage path
1598         before setting the page group of the new page.
1599         
1600         * WebView/WebView.mm:
1601         (-[WebView _commonInitializationWithFrameName:groupName:]): Set the LocalStorage path 
1602           immediately after creating the page so it is in place for initializing the LocalStorageThread
1603
1604 2008-05-15  Timothy Hatcher  <timothy@apple.com>
1605
1606         Fixes the bug where the Web Inspector would flash white while resizing.
1607         This was cause by deferring the window creation.
1608
1609         <rdar://problem/5873549> REGRESSION: Inspector flickers horribly while resizing (17979)
1610
1611         Reviewed by Darin Adler.
1612
1613         * WebCoreSupport/WebInspectorClient.mm:
1614         (-[WebInspectorWindowController window]): Don't defer the window creation.
1615
1616 2008-05-15  Alexey Proskuryakov  <ap@webkit.org>
1617
1618         Tiger build fix.
1619
1620         * Misc/WebNSAttributedStringExtras.mm: Import WebTypesInternal.h for NSUInteger.
1621
1622 2008-05-15  Adele Peterson  <adele@apple.com>
1623
1624         Reviewed and landed by Alexey.
1625
1626         Use TextIterator in +[NSAttributedString _web_attributedStringFromRange:].
1627
1628         * Misc/WebNSAttributedStringExtras.mm:
1629         (+[NSAttributedString _web_attributedStringFromRange:]):
1630
1631 2008-05-14  Eric Seidel  <eric@webkit.org>
1632
1633         Reviewed by Oliver.
1634
1635         Add missing NULL check to match rest of file, this was found by the editing fuzzer.
1636
1637         * WebView/WebResource.mm:
1638         (-[WebResource data]):
1639
1640 2008-05-14  Alexey Proskuryakov  <ap@webkit.org>
1641
1642         Reviewed by Dan Bernstein.
1643
1644         NPP_ValidAttributesForMarkedText should return NSArray*, not NSArray.
1645
1646         * Plugins/nptextinput.h:
1647
1648 2008-05-13  Anders Carlsson  <andersca@apple.com>
1649
1650         Reviewed by Sam.
1651
1652         Don't empty the application cache in _setCacheModel, since it will be called during initialization.
1653         Instead, do it in [WebCache empty].
1654         
1655         * Misc/WebCache.mm:
1656         (+[WebCache empty]):
1657         * WebView/WebView.mm:
1658         (+[WebView _setCacheModel:]):
1659
1660 2008-05-13  chris fleizach  <cfleizach@apple.com>
1661
1662         Reviewed by Beth Dakin
1663
1664         <rdar://problem/4780592> WebKit application has its window announced as HTML content
1665
1666         * WebCoreSupport/WebViewFactory.mm:
1667         (-[WebViewFactory AXWebAreaText]):
1668
1669 2008-05-13  Timothy Hatcher  <timothy@apple.com>
1670
1671         Fixes a crash seen in Xcode where CallUIDelegateReturningBoolean
1672         was referencing a nil WebView under validateUserInterfaceItem.
1673         The validateUserInterfaceItem methods was being called at a time
1674         when the WebHTMLView is being torndown.
1675
1676         <rdar://problem/5806229> A crash occurs at CallUIDelegateReturningBoolean()
1677         while mousing down on menu bar after Xcode News window is opened
1678
1679         Reviewed by Ada Chan.
1680
1681         * WebView/WebHTMLView.mm:
1682         (-[WebHTMLView validateUserInterfaceItem:]): NULL check the WebView and
1683         return NO when it is nil. Adds a comment.
1684         * WebView/WebPDFView.mm:
1685         (-[WebPDFView validateUserInterfaceItem:]): Ditto.
1686
1687 2008-05-13  Mark Rowe  <mrowe@apple.com>
1688
1689         Reviewed by John Sullivan.
1690
1691         <rdar://problem/5926425> HIWebViewCreateWithClass declared as API in HIWebView.h but never exported from WebKit.framework
1692
1693         * Carbon/HIWebView.h: Remove HIWebViewCreateWithClass.
1694         * Carbon/HIWebView.m: Ditto.
1695         (HIWebViewCreate):
1696         (HIWebViewConstructor):
1697
1698 2008-05-12  Dan Bernstein  <mitz@apple.com>
1699
1700         Reviewed by Ada Chan.
1701
1702         - WebKit/mac changes for https://bugs.webkit.org/show_bug.cgi?id=17097
1703           <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
1704
1705         Added font cache statistics and a function to purge inactive font data.
1706
1707         * Misc/WebCoreStatistics.h:
1708         * Misc/WebCoreStatistics.mm:
1709         (+[WebCoreStatistics cachedFontDataCount]):
1710         (+[WebCoreStatistics cachedFontDataInactiveCount]):
1711         (+[WebCoreStatistics purgeInactiveFontData]):
1712         (+[WebCoreStatistics glyphPageCount]):
1713
1714 2008-05-12  Mark Rowe  <mrowe@apple.com>
1715
1716         Reviewed by Tim Hatcher.
1717
1718         Decorate some deprecated delegate methods with the availability macros.
1719
1720         The compiler doesn't appear to warn if a delegate implements these methods, but using the availability
1721         macros is good for consistency and documentation.
1722
1723         * WebView/WebFrameLoadDelegate.h:
1724         * WebView/WebUIDelegate.h:
1725
1726 2008-05-12  Mark Rowe  <mrowe@apple.com>
1727
1728         Reviewed by Tim Hatcher.
1729
1730         <rdar://problem/5835604> Deprecate HIWebView
1731
1732         Use of HIWebView is deprecated in favor of embedding a WebView in a HICocoaView.
1733
1734         * Carbon/CarbonUtils.h: Include the availability macro header and decorate the functions appropriately.
1735         * Carbon/HIWebView.h: Ditto.
1736
1737 2008-05-12  Kevin Decker  <kdecker@apple.com>
1738
1739         Reviewed by Anders.
1740
1741         Fixed: <rdar://problem/5840884>_recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined
1742         
1743         Re-added these SPI methods because they are needed by some clients. They were accidentally removed
1744         in changeset <http://trac.webkit.org/changeset/31028>
1745         
1746         * Plugins/WebBaseNetscapePluginView.h: Added stopTimers, restartTimers to the header.
1747         * WebView/WebFrame.mm:
1748         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): Re-addd.
1749         (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): Ditto.
1750         * WebView/WebFrameInternal.h: Ditto.
1751         * WebView/WebHTMLView.mm: Ditto.
1752         (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): Ditto.
1753         (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]): Ditto.
1754         * WebView/WebHTMLViewInternal.h: Ditto.
1755         * WebView/WebHTMLViewPrivate.h: Ditto.
1756
1757 2008-05-12  Anders Carlsson  <andersca@apple.com>
1758
1759         Reviewed by Alexey.
1760
1761         Empty the application cache when changing the cache model.
1762         
1763         * WebView/WebView.mm:
1764         (+[WebView _setCacheModel:]):
1765
1766 2008-05-12  Anders Carlsson  <andersca@apple.com>
1767
1768         Reviewed by Oliver.
1769
1770         <rdar://problem/5774495> Make Unicode text input possible in Netscape-style plug-ins
1771         
1772         * Plugins/WebBaseNetscapePluginView.h:
1773         * Plugins/WebBaseNetscapePluginView.mm:
1774         (-[WebBaseNetscapePluginView start]):
1775         Get the plug-in text input vtable pointer.
1776         
1777         (-[WebBaseNetscapePluginView stop]):
1778         Set the plug-in text input vtable pointer to 0.
1779         
1780         (-[WebBaseNetscapePluginView inputContext]):
1781         Return 0 for Carbon plug-ins since we don't want Cocoa to handle text input for them.
1782         
1783         (-[WebBaseNetscapePluginView hasMarkedText]):        
1784         (-[WebBaseNetscapePluginView insertText:]):
1785         (-[WebBaseNetscapePluginView markedRange]):
1786         (-[WebBaseNetscapePluginView selectedRange]):
1787         (-[WebBaseNetscapePluginView setMarkedText:selectedRange:]):
1788         (-[WebBaseNetscapePluginView unmarkText]):
1789         (-[WebBaseNetscapePluginView validAttributesForMarkedText]):
1790         (-[WebBaseNetscapePluginView attributedSubstringFromRange:]):
1791         (-[WebBaseNetscapePluginView characterIndexForPoint:]):
1792         (-[WebBaseNetscapePluginView doCommandBySelector:]):
1793         (-[WebBaseNetscapePluginView firstRectForCharacterRange:]):
1794         (-[WebBaseNetscapePluginView conversationIdentifier]):
1795         Implement NSTextInput and call into the plug-in text input vtable.
1796         
1797         (browserTextInputFuncs):
1798         New method which returns the browser input vtable.
1799         
1800         (-[WebBaseNetscapePluginView getVariable:value:]):
1801         Support getting the browser input vtable pointer.
1802         
1803         * Plugins/WebNetscapePluginEventHandlerCocoa.h:
1804         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
1805         (WebNetscapePluginEventHandlerCocoa::keyDown):
1806         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
1807         If the plug-in returns 0 when a NPCocoaEventKeyDown is passed to NPP_HandleEvent,
1808         it means that the event should be passed on to the input manager.
1809          
1810         * Plugins/npapi.mm:
1811         (NPN_MarkedTextAbandoned):
1812         (NPN_MarkedTextSelectionChanged):
1813         Add implementations of browser input method methods.
1814         
1815         * Plugins/nptextinput.h: Added.
1816         Add file with new text input API.
1817
1818 2008-05-12  Alexey Proskuryakov  <ap@webkit.org>
1819
1820         Roll out recent  threading changes (r32807, r32810, r32819, r32822) to simplify
1821         SquirrelFish merging.
1822
1823         * Misc/WebCoreStatistics.mm:
1824         (+[WebCoreStatistics javaScriptObjectsCount]):
1825         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
1826         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
1827         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
1828         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
1829         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
1830         * WebView/WebScriptDebugDelegate.mm:
1831         (-[WebScriptCallFrame evaluateWebScript:]):
1832
1833 2008-05-07  Anders Carlsson  <andersca@apple.com>
1834
1835         Reviewed by Mitz.
1836
1837         REGRESSION (3.1.1-TOT): Arrow keys are sticky in Google Maps street view
1838         https://bugs.webkit.org/show_bug.cgi?id=18880
1839         <rdar://problem/5909513>
1840
1841         Stop suspending key up events before calling handleEvent.
1842         
1843         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
1844         (WebNetscapePluginEventHandlerCarbon::sendEvent):
1845
1846 2008-05-06  Stephanie Lewis  <slewis@apple.com>
1847
1848         Reviewed by Andersca.
1849
1850         prepare for plugin fast teardown work - make WebPluginDatabase a objective C++ file.
1851
1852         * Plugins/WebPluginDatabase.m: Removed.
1853         * Plugins/WebPluginDatabase.mm: Copied from WebKit/mac/Plugins/WebPluginDatabase.m.
1854         * Plugins/npapi.m: Removed.
1855         * Plugins/npapi.mm: Copied from WebKit/mac/Plugins/npapi.m.
1856
1857 2008-05-06  Anders Carlsson  <andersca@apple.com>
1858
1859         Reviewed by Darin.
1860
1861         Initialize numArchs to 0.
1862         
1863         * Plugins/WebBasePluginPackage.m:
1864         (-[WebBasePluginPackage isNativeLibraryData:]):
1865
1866 2008-05-06  Anders Carlsson  <andersca@apple.com>
1867
1868         Reviewed by Darin.
1869
1870         Add implementation of NPN_PopUpContextMenu.
1871         
1872         * Plugins/WebBaseNetscapePluginView.mm:
1873         (-[WebBaseNetscapePluginView popUpContextMenu:]):
1874         * Plugins/WebBaseNetscapePluginViewPrivate.h:
1875         * Plugins/WebNetscapePluginPackage.m:
1876         (-[WebNetscapePluginPackage load]):
1877         * Plugins/npapi.m:
1878         (NPN_PopUpContextMenu):
1879
1880 2008-05-06  Anders Carlsson  <andersca@apple.com>
1881
1882         Fix typo (don't read random memory).
1883         
1884         * Plugins/WebBasePluginPackage.m:
1885         (-[WebBasePluginPackage isNativeLibraryData:]):
1886
1887 2008-05-05  Anders Carlsson  <andersca@apple.com>
1888
1889         Reviewed by Darin.
1890
1891         Change the isNativeLibraryData: method to handle universal binaries.
1892         
1893         * Plugins/WebBasePluginPackage.m:
1894         (swapIntsInHeader):
1895         (-[WebBasePluginPackage isNativeLibraryData:]):
1896
1897 2008-05-06  Brady Eidson  <beidson@apple.com>
1898
1899         Reviewed by Darin Adler
1900
1901         Preparation for upcoming work making LocalStorage persistent.
1902
1903         When the application terminates, all LocalStorage areas must be sync'ed out to disk first.
1904
1905         * WebView/WebView.mm:
1906         (+[WebView _applicationWillTerminate]):  Close all LocalStorage areas before quitting.
1907
1908 2008-05-05  Sam Weinig  <sam@webkit.org>
1909
1910         Reviewed by Darin Adler.
1911
1912         Fix for <rdar://problem/5884383>
1913         Escape look-a-like characters from the the entire url.
1914
1915         * Misc/WebNSURLExtras.mm:
1916         (escapeUnsafeCharacters):
1917         (-[NSURL _web_userVisibleString]):
1918
1919 2008-05-05  Justin Garcia  <justin.garcia@apple.com>
1920
1921         Reviewed by Darin.
1922         
1923         <rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end
1924
1925         * WebView/WebView.mm:
1926         (-[WebView _updateSettingsFromPreferences:]): Disable Range mutation on changes to
1927         the document for Tiger and Leopard Mail.  There is code in Mail that does it, and
1928         the two interfere.
1929
1930 2008-05-05  Sam Weinig  <sam@webkit.org>
1931
1932         Reviewed by Tim Hatcher.
1933
1934         Make the Inspector's localizable strings file match the format used by Dashboard widgets.
1935
1936         * WebCoreSupport/WebInspectorClient.mm:
1937         (WebInspectorClient::localizedStringsURL):
1938
1939 2008-05-05  Anders Carlsson  <andersca@apple.com>
1940
1941         Reviewed by Jess.
1942
1943         Apparently preflighting can cause hangs for some reason. Revert this for now.
1944         
1945         * Plugins/WebNetscapePluginPackage.m:
1946         (-[WebNetscapePluginPackage _initWithPath:]):
1947         * Plugins/WebPluginPackage.m:
1948         (-[WebPluginPackage initWithPath:]):
1949
1950 2008-05-05  Darin Adler  <darin@apple.com>
1951
1952         Reviewed by Mitz.
1953
1954         - https://bugs.webkit.org/show_bug.cgi?id=18789
1955           fix some shouldCloseWithWindow edge cases
1956
1957         * WebView/WebView.mm:
1958         (-[WebView viewWillMoveToWindow:]): Fix bug where we would stop observing the
1959         NSWindowWillCloseNotification if the view was moved out of the window but still
1960         had that window set as the host window. Also make sure this function doesn't do
1961         anything if the WebView is already closed.
1962         (-[WebView setHostWindow:]): Ditto.
1963
1964 2008-05-04  David Kilzer  <ddkilzer@apple.com>
1965
1966         Make parameters match for WebChromeClient::addMessageToConsole()
1967
1968         Reviewed by John.
1969
1970         * WebCoreSupport/WebChromeClient.h:
1971         (WebChromeClient::addMessageToConsole): Renamed sourceID parameter
1972         to sourceURL to match implementation in WebChromeClient.mm.
1973
1974 2008-05-02  Anders Carlsson  <andersca@apple.com>
1975
1976         Reviewed by Mark.
1977
1978         Various Cocoa event model and 64-bit plug-in fixes.
1979         
1980         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
1981         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
1982         Set click count.
1983         
1984         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
1985         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
1986         Don't try to get the mouse location for keyboard events.
1987         
1988         * Plugins/WebPluginPackage.m:
1989         (-[WebPluginPackage initWithPath:]):
1990         Preflight the bundle so we won't show 32-bit WebKit plug-ins when running as 64-bit.
1991
1992 2008-05-02  Anders Carlsson  <andersca@apple.com>
1993
1994         Reviewed by Sam.
1995
1996         The event union is now named.
1997         
1998         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
1999         (WebNetscapePluginEventHandlerCocoa::drawRect):
2000         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
2001         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
2002         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
2003         (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
2004         (WebNetscapePluginEventHandlerCocoa::focusChanged):
2005
2006 2008-05-02  Anders Carlsson  <andersca@apple.com>
2007
2008         Reviewed by Mark.
2009
2010         Make sure that 32-bit only plug-ins aren't shown when running as 64-bit.
2011         
2012         Call preflightAndReturnError on the bundle, which will check if any of the architectures
2013         in the bundle match the current architecture.
2014         
2015         * Plugins/WebNetscapePluginPackage.m:
2016         (-[WebNetscapePluginPackage _initWithPath:]):
2017
2018 2008-05-02  Alexey Proskuryakov  <ap@webkit.org>
2019
2020         Reviewed by Geoffrey Garen.
2021
2022         https://bugs.webkit.org/show_bug.cgi?id=18826
2023         Make JavaScript heap per-thread
2024
2025         * Misc/WebCoreStatistics.mm:
2026         (+[WebCoreStatistics javaScriptObjectsCount]):
2027         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
2028         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
2029         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
2030         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
2031         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
2032         Replaced static Collector calls with calls to a current thread's instance.
2033
2034         * WebView/WebScriptDebugDelegate.mm:
2035         (-[WebScriptCallFrame evaluateWebScript:]):
2036         Pass ExecState to jsString().
2037
2038 2008-05-01  Anders Carlsson  <andersca@apple.com>
2039
2040         Reviewed by Mark.
2041
2042         64-bit NPAPI plugin build fixes.
2043         
2044         * Plugins/WebBaseNetscapePluginView.mm:
2045         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2046         (-[WebBaseNetscapePluginView updateAndSetWindow]):
2047         (-[WebBaseNetscapePluginView start]):
2048         (-[WebBaseNetscapePluginView windowBecameKey:]):
2049         * Plugins/WebNetscapeDeprecatedFunctions.c:
2050         * Plugins/WebNetscapeDeprecatedFunctions.h:
2051         * Plugins/WebNetscapePluginEventHandler.mm:
2052         (WebNetscapePluginEventHandler::create):
2053         * Plugins/WebNetscapePluginEventHandlerCarbon.h:
2054         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
2055         * Plugins/WebPluginDatabase.m:
2056         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
2057
2058 2008-05-01  Anders Carlsson  <andersca@apple.com>
2059
2060         Reviewed by Tim.
2061
2062         Remove duplicate npfunctions.h header from WebKit.
2063
2064         * MigrateHeaders.make:
2065         Migrate npfunctions.h
2066         
2067         * Plugins/npfunctions.h: Removed.
2068
2069 2008-05-01  Anders Carlsson  <andersca@apple.com>
2070
2071         Reviewed by John.
2072         
2073         Add null checks for the event handler.
2074         
2075         * Plugins/WebBaseNetscapePluginView.mm:
2076         (-[WebBaseNetscapePluginView stopTimers]):
2077         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2078
2079 2008-05-01  Anders Carlsson  <andersca@apple.com>
2080
2081         Fix 64-bit build.
2082         
2083         * Plugins/WebNetscapePluginEventHandlerCocoa.h:
2084         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
2085         * WebCoreSupport/WebFrameLoaderClient.mm:
2086
2087 2008-05-01  Anders Carlsson  <andersca@apple.com>
2088
2089         Fix build.
2090         
2091         * Plugins/npfunctions.h:
2092
2093 2008-05-01  Anders Carlsson  <andersca@apple.com>
2094
2095         Reviewed by Adam.
2096
2097         Forward mouse move events to the Netscape plug-in view.
2098         
2099         * Plugins/WebBaseNetscapePluginView.h:
2100         * Plugins/WebBaseNetscapePluginView.mm:
2101         (-[WebBaseNetscapePluginView handleMouseMoved:]):
2102         New method that just calls the current event handler.
2103         
2104         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
2105         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
2106         NSFlagsChanged is not a regular keyboard event and some of the NSEvent accessors
2107         don't work on it so don't call them.
2108         
2109         * WebCoreSupport/WebFrameLoaderClient.mm:
2110         (NetscapePluginWidget::NetscapePluginWidget):
2111         New Widget subclass to be used for Netscape plug-ins.
2112         
2113         (NetscapePluginWidget::handleEvent):
2114         Forward NSMouseMoved events to the plug-in.
2115         
2116         (WebFrameLoaderClient::createPlugin):
2117         Wrap the plug-in view in a NetscapePluginWidget.
2118
2119 2008-05-01  Alp Toker  <alp@nuanti.com>
2120
2121         Rubber-stamped by Anders.
2122
2123         GTK+ build fix for changes in r32752. Use int32, not int32_t types in
2124         npapi.h.
2125
2126         Additional fix to use same signedness in npapi.h and Mac for the
2127         interval parameter.
2128
2129         * Plugins/WebBaseNetscapePluginView.h:
2130         * Plugins/WebBaseNetscapePluginView.mm:
2131         (PluginTimer::PluginTimer):
2132         (-[WebBaseNetscapePluginView stopTimers]):
2133         (-[WebBaseNetscapePluginView restartTimers]):
2134         (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
2135         (-[WebBaseNetscapePluginView unscheduleTimer:]):
2136         * Plugins/WebBaseNetscapePluginViewPrivate.h:
2137         * Plugins/npapi.m:
2138         (NPN_ScheduleTimer):
2139         (NPN_UnscheduleTimer):
2140         * Plugins/npfunctions.h:
2141
2142 2008-04-30  Anders Carlsson  <andersca@apple.com>
2143
2144         Reviewed by Adam.
2145
2146         Add new Cocoa event model and the NPN_ScheduleTimer/NPN_UnscheduleTimer methods.
2147         
2148         * Plugins/WebBaseNetscapePluginView.h:
2149         * Plugins/WebBaseNetscapePluginView.mm:
2150         (PluginTimer::PluginTimer):
2151         (PluginTimer::start):
2152         (PluginTimer::fired):
2153         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2154         (-[WebBaseNetscapePluginView stopTimers]):
2155         (-[WebBaseNetscapePluginView restartTimers]):
2156         (-[WebBaseNetscapePluginView scrollWheel:]):
2157         (-[WebBaseNetscapePluginView flagsChanged:]):
2158         (-[WebBaseNetscapePluginView start]):
2159         (-[WebBaseNetscapePluginView eventModel]):
2160         (-[WebBaseNetscapePluginView fini]):
2161         (-[WebBaseNetscapePluginView getVariable:value:]):
2162         (-[WebBaseNetscapePluginView setVariable:value:]):
2163         (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
2164         (-[WebBaseNetscapePluginView unscheduleTimer:]):
2165         * Plugins/WebBaseNetscapePluginViewInternal.h:
2166         * Plugins/WebBaseNetscapePluginViewPrivate.h:
2167         * Plugins/WebNetscapePluginEventHandler.h:
2168         * Plugins/WebNetscapePluginEventHandler.mm:
2169         (WebNetscapePluginEventHandler::create):
2170         * Plugins/WebNetscapePluginEventHandlerCarbon.h:
2171         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
2172         (WebNetscapePluginEventHandlerCarbon::scrollWheel):
2173         (WebNetscapePluginEventHandlerCarbon::flagsChanged):
2174         (WebNetscapePluginEventHandlerCarbon::platformWindow):
2175         * Plugins/WebNetscapePluginEventHandlerCocoa.h: Added.
2176         (WebNetscapePluginEventHandlerCocoa::startTimers):
2177         (WebNetscapePluginEventHandlerCocoa::stopTimers):
2178         * Plugins/WebNetscapePluginEventHandlerCocoa.mm: Added.
2179         (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
2180         (WebNetscapePluginEventHandlerCocoa::drawRect):
2181         (WebNetscapePluginEventHandlerCocoa::mouseDown):
2182         (WebNetscapePluginEventHandlerCocoa::mouseDragged):
2183         (WebNetscapePluginEventHandlerCocoa::mouseEntered):
2184         (WebNetscapePluginEventHandlerCocoa::mouseExited):
2185         (WebNetscapePluginEventHandlerCocoa::mouseMoved):
2186         (WebNetscapePluginEventHandlerCocoa::mouseUp):
2187         (WebNetscapePluginEventHandlerCocoa::scrollWheel):
2188         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
2189         (WebNetscapePluginEventHandlerCocoa::keyDown):
2190         (WebNetscapePluginEventHandlerCocoa::keyUp):
2191         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
2192         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
2193         (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
2194         (WebNetscapePluginEventHandlerCocoa::focusChanged):
2195         (WebNetscapePluginEventHandlerCocoa::platformWindow):
2196         (WebNetscapePluginEventHandlerCocoa::sendEvent):
2197         * Plugins/WebNetscapePluginPackage.m:
2198         (-[WebNetscapePluginPackage load]):
2199         * Plugins/npapi.m:
2200         (NPN_ScheduleTimer):
2201         (NPN_UnscheduleTimer):
2202         * Plugins/npfunctions.h:
2203
2204 2008-04-30  Brady Eidson  <beidson@apple.com>
2205
2206         Fix my WebPreferences revert check-in
2207
2208         * WebView/WebView.mm:
2209         (-[WebView _preferencesChangedNotification:]):
2210
2211 2008-04-30  Brady Eidson  <beidson@apple.com>
2212
2213         Rubberstamped by John Sullivan
2214
2215         Revert the remainder of my original preferences changes from last week.
2216         They caused a massive PLT regression (too many notifications being sent out
2217         or listened to that weren't previously) and it's not in my schedule to refine
2218         the preferences code instead of working on my feature!
2219
2220         * WebView/WebView.mm:
2221         (-[WebView _updateSettingsFromPreferences:]):
2222         (-[WebView _commonInitializationWithFrameName:groupName:]):
2223
2224 2008-04-30  Anders Carlsson  <andersca@apple.com>
2225
2226         Fix the 64-bit build.
2227         
2228         * Plugins/WebNetscapePluginEventHandler.h:
2229         * Plugins/WebNetscapePluginEventHandler.mm:
2230         * Plugins/WebNetscapePluginEventHandlerCarbon.h:
2231         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
2232
2233 2008-04-29  David D. Kilzer  <ddkilzer@apple.com>
2234
2235         BUILD FIX for Release build.
2236
2237         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
2238         (WebNetscapePluginEventHandlerCarbon::drawRect): Declare acceptedEvent
2239         separately so the compiler doesn't complain about an unused variable.
2240         (WebNetscapePluginEventHandlerCarbon::TSMEventHandler): Ditto.
2241
2242 2008-04-29  Anders Carlsson  <andersca@apple.com>
2243
2244         Reviewed by Adam.
2245
2246         Refactor the Carbon event handling code out into a separate class in preparation for adding
2247         the Cocoa event handling code.
2248         
2249         * Plugins/WebBaseNetscapePluginView.h:
2250         * Plugins/WebBaseNetscapePluginView.mm:
2251         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
2252         (-[WebBaseNetscapePluginView sendActivateEvent:]):
2253         (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
2254         (-[WebBaseNetscapePluginView stopTimers]):
2255         (-[WebBaseNetscapePluginView restartTimers]):
2256         (-[WebBaseNetscapePluginView setHasFocus:]):
2257         (-[WebBaseNetscapePluginView mouseDown:]):
2258         (-[WebBaseNetscapePluginView mouseUp:]):
2259         (-[WebBaseNetscapePluginView mouseEntered:]):
2260         (-[WebBaseNetscapePluginView mouseExited:]):
2261         (-[WebBaseNetscapePluginView mouseDragged:]):
2262         (-[WebBaseNetscapePluginView keyUp:]):
2263         (-[WebBaseNetscapePluginView keyDown:]):
2264         (-[WebBaseNetscapePluginView cut:]):
2265         (-[WebBaseNetscapePluginView copy:]):
2266         (-[WebBaseNetscapePluginView paste:]):
2267         (-[WebBaseNetscapePluginView selectAll:]):
2268         (-[WebBaseNetscapePluginView start]):
2269         (-[WebBaseNetscapePluginView stop]):
2270         (-[WebBaseNetscapePluginView fini]):
2271         (-[WebBaseNetscapePluginView drawRect:]):
2272         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
2273         (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
2274         (-[WebBaseNetscapePluginView windowBecameKey:]):
2275         (-[WebBaseNetscapePluginView windowResignedKey:]):
2276         (-[WebBaseNetscapePluginView windowDidMiniaturize:]):
2277         (-[WebBaseNetscapePluginView windowDidDeminiaturize:]):
2278         (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]):
2279         (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]):
2280         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2281         (-[WebBaseNetscapePluginView _viewHasMoved]):
2282         * Plugins/WebBaseNetscapePluginViewInternal.h:
2283         * Plugins/WebNetscapePluginEmbeddedView.h:
2284         * Plugins/WebNetscapePluginEventHandler.h: Added.
2285         (WebNetscapePluginEventHandler::~WebNetscapePluginEventHandler):
2286         (WebNetscapePluginEventHandler::currentEventIsUserGesture):
2287         (WebNetscapePluginEventHandler::WebNetscapePluginEventHandler):
2288         * Plugins/WebNetscapePluginEventHandler.mm: Added.
2289         (WebNetscapePluginEventHandler::create):
2290         * Plugins/WebNetscapePluginEventHandlerCarbon.h: Added.
2291         * Plugins/WebNetscapePluginEventHandlerCarbon.mm: Added.
2292         (WebNetscapePluginEventHandlerCarbon::WebNetscapePluginEventHandlerCarbon):
2293         (getCarbonEvent):
2294         (modifiersForEvent):
2295         (WebNetscapePluginEventHandlerCarbon::sendNullEvent):
2296         (WebNetscapePluginEventHandlerCarbon::drawRect):
2297         (WebNetscapePluginEventHandlerCarbon::mouseDown):
2298         (WebNetscapePluginEventHandlerCarbon::mouseUp):
2299         (WebNetscapePluginEventHandlerCarbon::mouseEntered):
2300         (WebNetscapePluginEventHandlerCarbon::mouseExited):
2301         (WebNetscapePluginEventHandlerCarbon::mouseDragged):
2302         (WebNetscapePluginEventHandlerCarbon::mouseMoved):
2303         (WebNetscapePluginEventHandlerCarbon::keyDown):
2304         (keyMessageForEvent):
2305         (WebNetscapePluginEventHandlerCarbon::keyUp):
2306         (WebNetscapePluginEventHandlerCarbon::focusChanged):
2307         (WebNetscapePluginEventHandlerCarbon::windowFocusChanged):
2308         (WebNetscapePluginEventHandlerCarbon::TSMEventHandler):
2309         (WebNetscapePluginEventHandlerCarbon::installKeyEventHandler):
2310         (WebNetscapePluginEventHandlerCarbon::removeKeyEventHandler):
2311         (WebNetscapePluginEventHandlerCarbon::nullEventTimerFired):
2312         (WebNetscapePluginEventHandlerCarbon::startTimers):
2313         (WebNetscapePluginEventHandlerCarbon::stopTimers):
2314         (WebNetscapePluginEventHandlerCarbon::sendEvent):
2315
2316 2008-04-29  Mark Rowe  <mrowe@apple.com>
2317
2318         Reviewed by David Harrison.
2319
2320         Ensure that WebDynamicScrollBarsView defines WebCoreScrollbarAlwaysOn to keep Mail building.
2321
2322         * WebKit.exp:
2323         * WebView/WebDynamicScrollBarsView.h:
2324         * WebView/WebDynamicScrollBarsView.m:
2325
2326 2008-04-29  Greg Bolsinga  <bolsinga@apple.com>
2327
2328         Reviewed by Darin.
2329
2330         Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT)
2331
2332         * WebCoreSupport/WebChromeClient.h:
2333         * WebCoreSupport/WebChromeClient.mm:
2334         * WebView/WebClipView.m:
2335         (-[WebClipView scrollWheel:]):
2336         * WebView/WebHTMLView.mm:
2337         (-[WebHTMLView addMouseMovedObserver]):
2338         (-[WebHTMLView removeMouseMovedObserver]):
2339         (-[WebHTMLView acceptsFirstMouse:]):
2340         * WebView/WebUIDelegatePrivate.h:
2341         * WebView/WebView.mm:
2342         (-[WebViewPrivate init]):
2343         * WebView/WebViewPrivate.h:
2344
2345 2008-04-28  Rob Buis  <buis@kde.org>
2346
2347         Reviewed by Maciej.
2348
2349         Build fix for Tiger.
2350
2351         * WebView/WebView.mm:
2352         (WebKitInitializeApplicationCachePathIfNecessary):
2353
2354 2008-04-28  Adele Peterson  <adele@apple.com>
2355
2356         Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler.
2357
2358         WebKit part of fix for <rdar://problem/3709505>
2359         Safari should have a way to upload bundles from the file upload control (as zip)
2360
2361         Added UIDelegate methods to let the application handle generating replacement files for uploads.
2362         In this case, Safari will create archived files for bundles so they can be uploaded properly.
2363
2364         * DefaultDelegates/WebDefaultUIDelegate.m:
2365         (-[WebDefaultUIDelegate webView:shouldReplaceUploadFile:usingGeneratedFilename:]):
2366         (-[WebDefaultUIDelegate webView:generateReplacementFile:]):
2367         * WebCoreSupport/WebChromeClient.h:
2368         * WebCoreSupport/WebChromeClient.mm:
2369         (WebChromeClient::shouldReplaceWithGeneratedFileForUpload):
2370         (WebChromeClient::generateReplacementFile):
2371         * WebView/WebUIDelegatePrivate.h:
2372
2373 2008-04-28  Anders Carlsson  <andersca@apple.com>
2374
2375         Reviewed by Sam, Mark, Adele and Darin.
2376
2377         Initialize the application cache path.
2378         
2379         * WebView/WebView.mm:
2380         (WebKitInitializeApplicationCachePathIfNecessary):
2381         (-[WebView _commonInitializationWithFrameName:groupName:]):
2382
2383 2008-04-28  Alice Liu  <alice.liu@apple.com>
2384
2385         Reviewed by Darin.
2386
2387         Fix <rdar://problem/4911289> Add tabindex property to all children 
2388         of HTMLElement (7138)
2389         http://bugs.webkit.org/show_bug.cgi?id=7138
2390
2391         * MigrateHeaders.make:
2392         Removing DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h
2393         because now that focus() has been moved to DOMHTMLElement.h, these
2394         files are no longer needed.
2395
2396 2008-04-25  Alexey Proskuryakov  <ap@webkit.org>
2397
2398         Reviewed by Darin.
2399
2400         Fix run-webkit-tests --threading
2401         and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
2402         Proxy server issue in Sunday's Nightly
2403
2404         * WebView/WebView.mm: (-[WebViewPrivate init]): Initialize threading. Previously, this was
2405         only done from icon database code, which is not robust enough.
2406
2407 2008-04-20 Adam Barth <hk9565@gmail.com>
2408
2409         Reviewed by Adam Roben and Sam Weinig.
2410
2411         Updated WebSecurityOrigin to match new SecurityOrigin API.
2412
2413         Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
2414
2415         * Storage/WebSecurityOrigin.mm:
2416         (-[WebSecurityOrigin host]):
2417         (-[WebSecurityOrigin domain]):
2418         * Storage/WebSecurityOriginPrivate.h:
2419
2420 2008-04-25  Mark Rowe  <mrowe@apple.com>
2421
2422         Rubber-stamped by Sam Weinig.
2423
2424         Add some content to an empty ICU header file to prevent verification errors.
2425
2426         * icu/unicode/utf_old.h:
2427
2428 2008-04-25  Anders Carlsson  <andersca@apple.com>
2429
2430         Reviewed by Sam.
2431
2432         Add offlineWebApplicationCacheEnabled preference.
2433         
2434         * WebView/WebPreferenceKeysPrivate.h:
2435         * WebView/WebPreferences.m:
2436         (+[WebPreferences initialize]):
2437         (-[WebPreferences offlineWebApplicationCacheEnabled]):
2438         (-[WebPreferences setOfflineWebApplicationCacheEnabled:]):
2439         * WebView/WebPreferencesPrivate.h:
2440         * WebView/WebView.mm:
2441         (-[WebView _updateSettingsFromPreferences:]):
2442
2443 2008-04-24  Mark Rowe  <mrowe@apple.com>
2444
2445         Reviewed by Sam Weinig.
2446
2447         Remove code for calculating the glyph cache size.
2448
2449         * WebCoreSupport/WebSystemInterface.m:
2450         (InitWebCoreSystemInterface): Remove unused symbol.
2451
2452 2008-04-24  Mark Rowe  <mrowe@apple.com>
2453
2454         Reviewed by Sam Weinig.
2455
2456         Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER.
2457
2458         * WebKitPrefix.h:
2459
2460 2008-04-24  Brady Eidson  <beidson@apple.com>
2461
2462         Reviewed by Darin
2463
2464         Fix layout test regressions from my earlier preferences/settings tweak.
2465
2466         * WebView/WebView.mm:
2467         (-[WebView _commonInitializationWithFrameName:groupName:]): Even if we're not posting
2468           the notification to update the settings, each WebView still needs to register for the
2469           notification - restore that behavior.
2470
2471 2008-04-24  Dan Bernstein  <mitz@apple.com>
2472
2473         Reviewed by Darin Adler.
2474
2475         - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
2476           <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
2477
2478         * WebView/WebFrame.mm:
2479         (-[WebFrame _caretRectAtNode:offset:affinity:]): Changed to use
2480         VisiblePosition::caretRect() instead of the RenderObject method which
2481         was removed.
2482
2483 2008-04-24  Brady Eidson  <beidson@apple.com>
2484
2485         Reviewed by Darin
2486
2487         Rework the Settings population again.
2488
2489         * WebView/WebView.mm:
2490         (-[WebView _updateSettingsFromPreferences:]): This method is called both from _preferencesChangedNotification
2491           and directly from WebView's common init function.
2492         (-[WebView _preferencesChangedNotification:]):
2493         (-[WebView _commonInitializationWithFrameName:groupName:]): Call _updateSettingsFromPreferences immediately
2494           after creating the new Page
2495
2496 2008-04-24  Darin Adler  <darin@apple.com>
2497
2498         Reviewed by Geoff.
2499
2500         - fix crash in regression test where we'd ask a frame for a user agent string
2501           after the WebView was already closed
2502
2503         * WebCoreSupport/WebFrameLoaderClient.mm:
2504         (WebFrameLoaderClient::userAgent): Assert that the WebView is not nil. Also
2505         added some code to prevent the crash in release builds if this problem happens
2506         again.
2507
2508 2008-04-24  Anders Carlsson  <andersca@apple.com>
2509
2510         Reviewed by Sam.
2511
2512         Change some String arguments to be const references instead.
2513
2514         * WebCoreSupport/WebEditorClient.h:
2515         * WebCoreSupport/WebEditorClient.mm:
2516         (WebEditorClient::shouldInsertText):
2517
2518 2008-04-24  John Sullivan  <sullivan@apple.com>
2519
2520         Mac build fix
2521         
2522         * WebCoreSupport/WebViewFactory.mm:
2523         (-[WebViewFactory AXButtonActionVerb]):
2524         implement this method using the text in WebCoreLocalizedStrings.cpp
2525         (-[WebViewFactory AXRadioButtonActionVerb]):
2526         ditto
2527         (-[WebViewFactory AXTextFieldActionVerb]):
2528         ditto
2529         (-[WebViewFactory AXCheckedCheckBoxActionVerb]):
2530         ditto
2531         (-[WebViewFactory AXUncheckedCheckBoxActionVerb]):
2532         ditto
2533         (-[WebViewFactory AXLinkActionVerb]):
2534         ditto
2535
2536 2008-04-23  Brady Eidson  <beidson@apple.com>
2537
2538         Reviewed by Sam Weinig
2539
2540         In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings
2541         object before the Settings object is initialized.  It seems quite prudent to post the preferences changed notification,
2542         thereby populating the Settings object, immediately after the Page is created.
2543
2544         * WebView/WebView.mm:
2545         (-[WebView _commonInitializationWithFrameName:groupName:]): Post the notification right after the Page is created
2546
2547 2008-04-24  John Sullivan  <sullivan@apple.com>
2548
2549         Reviewed by Jess
2550         
2551         - fixed <rdar://problem/5886655> JavaScript input panel automatic resizing doesn't work right with HiDPI
2552
2553         * Misc/WebNSControlExtras.m:
2554         (-[NSControl sizeToFitAndAdjustWindowHeight]):
2555         deploy userSpaceScaleFactor when using view distances on the window
2556
2557 2008-04-22  Anders Carlsson  <andersca@apple.com>
2558
2559         Reviewed by Darin.
2560
2561         Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.
2562         
2563         * Plugins/npfunctions.h:
2564
2565 2008-04-20  Matt Lilek  <webkit@mattlilek.com>
2566
2567         Mysteriously reviewed by mitz|away.
2568
2569         Bug 18111: Closing a tab while dragging crashes Safari
2570         https://bugs.webkit.org/show_bug.cgi?id=18111
2571
2572         Null check the page before handling drag events.
2573
2574         * WebView/WebView.mm:
2575         (-[WebView draggingUpdated:]):
2576         (-[WebView draggingExited:]):
2577
2578 2008-04-19  Brady Eidson  <beidson@apple.com>
2579
2580         Reviewed by Tim Hatcher
2581
2582         Add a WebPreference for the path of the local storage persistent store.
2583
2584         * WebView/WebPreferenceKeysPrivate.h:
2585
2586         * WebView/WebPreferences.m:
2587         (-[WebPreferences _localStorageDatabasePath]):
2588         (-[WebPreferences _setLocalStorageDatabasePath:]):
2589         * WebView/WebPreferencesPrivate.h:
2590
2591         * WebView/WebView.mm:
2592         (-[WebView _preferencesChangedNotification:]):
2593
2594 2008-04-18  Brady Eidson  <beidson@apple.com>
2595
2596         Reviewed by Sam Weinig
2597
2598         Don't clear the PageGroup on _close, as the WebCore::Page destructor already does this.
2599         No reason to do the work twice...
2600
2601         * WebView/WebView.mm:
2602         (-[WebView _close]):
2603
2604 2008-04-17  Eric Seidel  <eric@webkit.org>
2605
2606         Reviewed by beth.
2607
2608         Rename Frame::renderer() to contentRenderer() and fix uses.
2609
2610         * Misc/WebCoreStatistics.mm:
2611         * WebView/WebRenderNode.mm:
2612         (-[WebRenderNode initWithWebFrameView:]):
2613
2614 2008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
2615
2616         Reviewed by mrowe.
2617
2618         * WebView/WebFrame.mm: Remove temporary build fix.
2619
2620 2008-04-17  Mark Rowe  <mrowe@apple.com>
2621
2622         Reviewed by Dan Bernstein.
2623
2624         Fix <rdar://problem/5863552> REGRESSION (r30741): Attachments don't appear in the iChat message window after sending
2625
2626         The order of arguments to -[NSDictionary initWithObjects:andKeys:] had been transposed accidentally during refactoring.
2627
2628         * WebCoreSupport/WebFrameLoaderClient.mm:
2629         (WebFrameLoaderClient::createPlugin): Pass the arguments in the correct order.
2630
2631 2008-04-17  Mark Rowe  <mrowe@apple.com>
2632
2633         Rubber-stamped by Dan Bernstein.
2634
2635         Fix the Mac build.
2636
2637         * WebView/WebFrame.mm: Define HAVE_ACCESSIBILITY before including AccessibilityObject.h and AXObjectCache.h to get things building
2638         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
2639         for this to live going forward.
2640
2641 2008-04-15  Kevin Decker  <kdecker@apple.com>
2642
2643         Reviewed by Anders.
2644
2645         <rdar://problem/5412759> CrashTracer: [USER] 22 crashes in Safari at com.apple.quicktime.webplugin: NPN_SetValue + 15403
2646         
2647         In certain situations, code in WebBasePluginPackage would load a plug-in only for the explicit reason of asking it to create a
2648         preference file, but wouldn't actually unload the bundle. This created problems for the QuickTime WebKit plug-in by unloading
2649         a bundle out from underneath itself.
2650
2651         * Plugins/WebBasePluginPackage.h: Added unload method.
2652         * Plugins/WebBasePluginPackage.m:
2653         (-[WebBasePluginPackage unload]): Added new method. Currently, only Netscape plug-ins support unload.
2654         (-[WebBasePluginPackage pListForPath:createFile:]): Added a call to unload.
2655         * Plugins/WebNetscapePluginPackage.m:
2656         (-[WebNetscapePluginPackage unload]): Added.
2657
2658 2008-04-15  Anders Carlsson  <andersca@apple.com>
2659
2660         Reviewed by Adam.
2661
2662         Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
2663
2664         * Configurations/WebKit.xcconfig:
2665
2666 2008-04-15  Brady Eidson  <beidson@apple.com>
2667
2668         Reviewed by John Sullivan
2669
2670         Do a more complete job adding the "WebArchiveDebugMode" pref
2671
2672         * WebView/WebPreferences.m: Add both getter *and* setter
2673         (-[WebPreferences webArchiveDebugModeEnabled]):
2674         (-[WebPreferences setWebArchiveDebugModeEnabled:]):
2675         * WebView/WebPreferencesPrivate.h:
2676
2677         * WebView/WebView.mm:
2678         (-[WebView _preferencesChangedNotification:]): Call the renamed getter
2679
2680 2008-04-14  Brady Eidson  <beidson@apple.com>
2681
2682         Reviewed by Anders
2683
2684         Add a hidden pref to debug WebArchive loading.  With this pref on, when loading a WebArchive,
2685         if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the 
2686         network and will instead fail the load as "cancelled."
2687
2688         * WebView/WebPreferenceKeysPrivate.h:
2689
2690         * WebView/WebPreferences.m:
2691         (+[WebPreferences initialize]):
2692         (-[WebPreferences _webArchiveDebugModeEnabled]):
2693         * WebView/WebPreferencesPrivate.h:
2694
2695         * WebView/WebView.mm:
2696         (-[WebView _preferencesChangedNotification:]):
2697
2698 2008-04-11  David Hyatt  <hyatt@apple.com>
2699
2700         Rename CachedResource ref/deref methods to addClient/removeClient.
2701
2702         Reviewed by olliej
2703
2704         * WebView/WebHTMLView.mm:
2705         (-[WebHTMLViewPrivate dealloc]):
2706         (-[WebHTMLViewPrivate finalize]):
2707         (-[WebHTMLViewPrivate clear]):
2708         (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
2709
2710 2008-04-07  Brady Eidson  <beidson@apple.com>
2711
2712         Add "ENABLE_DOM_STORAGE" to keep in sync with the rest of the project
2713
2714         * Configurations/WebKit.xcconfig:
2715
2716 2008-04-04  Adam Roben  <aroben@apple.com>
2717
2718         Use WebCore's ICU headers instead of our own copy
2719
2720         Rubberstamped by Tim Hatcher.
2721
2722         * Configurations/WebKit.xcconfig: Pick up ICU headers from WebCore's
2723         PrivateHeaders.
2724
2725 2008-04-04  Adam Roben  <aroben@apple.com>
2726
2727         Fix <rdar://problem/5804776> Would like to use WebCore's
2728         ForwardingHeaders in WebKit without manually creating copies
2729
2730         Patch by Tim Hatcher, typed by me.
2731
2732         * Configurations/WebKit.xcconfig: Use the copy of ForwardingHeaders in
2733         WebCore's PrivateHeaders instead of our own copy.
2734
2735 2008-04-04  Ada Chan  <adachan@apple.com>
2736
2737         Now we pass width and height directly as integers to format
2738         the window title for a standalone image.
2739
2740         Reviewed by Dan.
2741
2742         * WebCoreSupport/WebViewFactory.mm:
2743         (-[WebViewFactory imageTitleForFilename:width:height:]):
2744
2745 2008-04-03  Nicholas Shanks  <webkit@nickshanks.com>
2746
2747         Updated by Dan Bernstein. Reviewed by Dave Hyatt.
2748
2749         - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=6484
2750           font-weight does not properly support graded weights
2751
2752         * WebView/WebHTMLView.mm:
2753         (-[WebHTMLView _styleFromFontAttributes:]):
2754         (-[WebHTMLView _originalFontB]):
2755         (-[WebHTMLView _addToStyle:fontA:fontB:]):
2756
2757 2008-04-02  Mark Rowe  <mrowe@apple.com>
2758
2759         Reviewed by Oliver Hunt.
2760
2761         Ensure that debug symbols are generated for x86_64 and ppc64 builds.
2762
2763         * Configurations/Base.xcconfig:
2764
2765 2008-03-31  Alice Liu  <alice.liu@apple.com>
2766
2767         Reviewed by Darin.
2768
2769         * WebView/WebFrame.mm:
2770         (-[WebFrame _accessibilityTree]):
2771         The syntax for fetching an object from the AXObjectCache changed slightly
2772
2773 2008-03-31  Brady Eidson  <beidson@apple.com>
2774
2775         Reviewed by Jon Honeycutt
2776         
2777         Move a WebArchive loading check into WebCore
2778
2779         * WebView/WebHTMLRepresentation.mm:
2780         (-[WebHTMLRepresentation receivedData:withDataSource:]): Don't check "isDisplayingWebArchive" as WebCore is now
2781           responsible for checking that state
2782
2783 2008-03-31  Brady Eidson  <beidson@apple.com>
2784
2785         Reviewed by Darin and Mitz's rubber stamp
2786
2787         Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore
2788
2789         * WebCoreSupport/WebEditorClient.mm:
2790         * WebCoreSupport/WebEditorClient.h:
2791
2792 2008-03-28  Brady Eidson  <beidson@apple.com>
2793
2794         Rubberstamped by Darin Adler
2795
2796         Remove WebArchiver.h/mm
2797
2798         * WebView/WebArchiver.h: Removed.
2799         * WebView/WebArchiver.mm: Removed.
2800
2801         * DOM/WebDOMOperations.mm:
2802         * WebCoreSupport/WebDragClient.mm:
2803         * WebCoreSupport/WebEditorClient.mm:
2804         * WebView/WebDataSource.mm:
2805         * WebView/WebHTMLView.mm:
2806
2807 2008-03-28  Brady Eidson  <beidson@apple.com>
2808
2809         Reviewed by Darin Adler
2810
2811         Now that WebCore can create archives from a frame selection directly, we don't need it in WebArchiver anymore
2812
2813         * WebCoreSupport/WebEditorClient.mm:
2814         (WebEditorClient::dataForArchivedSelection):
2815
2816         * WebView/WebArchiver.h: Nuke archiveSelectionInFrame, as there are no remaining users
2817         * WebView/WebArchiver.mm: Ditto
2818
2819         * WebView/WebHTMLView.mm:
2820         (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
2821
2822 2008-03-28  Brady Eidson  <beidson@apple.com>
2823
2824         Reviewed by Darin Adler
2825
2826         More Kit->Core WebArchive changes.
2827
2828         Create an archive from the current selection in a frame
2829
2830         * WebView/WebArchiver.mm: Remove one more *undeclared* method, the last method will drop off
2831           easily in a followup
2832
2833 2008-03-28  Brady Eidson  <beidson@apple.com>
2834
2835         Reviewed by Sam Weinig
2836
2837         WebArchive saga continues - Can now make archives from ranges in WebCore
2838
2839         * DOM/WebDOMOperations.mm:
2840         (-[DOMRange webArchive]):
2841         (-[DOMRange markupString]):
2842
2843         * WebView/WebArchiver.h: Remove newly obsolete [WebArchiver archiveRange:]
2844         * WebView/WebArchiver.mm:
2845
2846 2008-03-28  Brady Eidson  <beidson@apple.com>
2847
2848         Reviewed by Sam Weinig
2849
2850         More Kit->Core webarchive code movement
2851
2852         * DOM/WebDOMOperations.mm:
2853         (-[DOMNode markupString]): Call createFullMarkup() instead
2854
2855         * WebView/WebFrame.mm: Remove obsolete _markupStringFromNode
2856         * WebView/WebFrameInternal.h: Ditto
2857
2858 2008-03-28  Brady Eidson  <beidson@apple.com>
2859
2860         Reviewed by Sam Weinig
2861
2862         Fold [WebArchiver archiveFrame:] into WebDataSource - the last remaining caller
2863
2864         * WebView/WebArchiver.h:
2865         * WebView/WebArchiver.mm:
2866         * WebView/WebDataSource.mm:
2867         (-[WebDataSource webArchive]):
2868
2869 2008-03-28  Brady Eidson  <beidson@apple.com>
2870
2871         Reviewed by Sam Weinig
2872
2873         Remove unused [WebArchiver archiveNode:], made obsolete in r31400
2874
2875         * WebView/WebArchiver.h:
2876         * WebView/WebArchiver.mm:
2877
2878 2008-03-28  Brady Eidson  <beidson@apple.com>
2879
2880         Reviewed by Darin
2881
2882         "Yet another transitional step" to empty out WebKit-based code for archiving.
2883
2884         With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
2885         entirely within WebCore, and opens the door to saving WebArchives on Windows.
2886
2887         * DOM/WebDOMOperations.mm:
2888         * WebView/WebArchiver.mm:
2889         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
2890
2891 2008-03-27  Brady Eidson  <beidson@apple.com>
2892
2893         Reviewed by Adam Roben
2894
2895         Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
2896         as the push to core-ify WebArchives continues.
2897
2898         This patch also introduces a behavior change.  WebCore allows ArchiveResources with null or empty data.  
2899         WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.  
2900         Since WebResource is API, I decided to leave it be to avoid a behavior change.  But internally created resources 
2901         (as in "while archiving a page") are accepting of null or empty data.
2902
2903         This actually fixes a bug where not all subframes are archived, and resulted in a layout test change. 
2904
2905         * WebView/WebDataSource.mm:
2906         (-[WebDataSource mainResource]): Call DocumentLoader implementation
2907         (-[WebDataSource subresources]): Ditto
2908         * WebView/WebFrame.mm: Remove [WebFrame _getAllResourceDatas:andResponses:] as its only caller is obsolete
2909         * WebView/WebFrameInternal.h:
2910
2911 2008-03-27  Brady Eidson  <beidson@apple.com>
2912
2913         Reviewed by Adam
2914
2915         Change the "init from WebCore resource" version of WebResource to take PassRefPtr
2916         (more efficient)
2917
2918         * WebView/WebResource.mm:
2919         (-[WebResource _initWithCoreResource:]):
2920         * WebView/WebResourceInternal.h:
2921
2922 2008-03-26  Brady Eidson  <beidson@apple.com>
2923
2924         Build fix - accidentally checked in this change which was work in progress
2925
2926         * DOM/WebDOMOperations.mm:
2927
2928 2008-03-26  Brady Eidson  <beidson@apple.com>
2929
2930         Reviewed by Darin
2931
2932         When we create a WebArchive, we walk every node from some starting point, asking each node
2933         along the way "What are your subresource URLs?"
2934
2935         That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into
2936         WebCore::Node
2937
2938         * DOM/WebDOMOperations.mm:
2939         (-[DOMNode _subresourceURLs]): One generic DOMNode method can now handle all DOMNodes by
2940           calling into individual WebCore::Node implementations
2941         * DOM/WebDOMOperationsPrivate.h:
2942
2943 2008-03-26  Brady Eidson  <beidson@apple.com>
2944
2945         Reviewed by Mark Rowe
2946
2947         Part of the continued push to move WebArchive-related code down to WebCore, this
2948         moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource()
2949
2950         * WebView/WebDataSource.mm:
2951         (-[WebDataSource subresourceForURL:]): Call through to the DocumentLoader 
2952
2953         * WebView/WebFrame.mm: Remove [WebFrame _getData:andResponse:forURL:], as its only use
2954           has now been ported down to WebCore
2955         * WebView/WebFrameInternal.h:
2956
2957 2008-03-26  Mark Rowe  <mrowe@apple.com>
2958
2959         Rubber-stamped by Brady Eidson.
2960
2961         Update FEATURE_DEFINES to be consistent with the other locations in which it is defined.
2962
2963         * Configurations/WebKit.xcconfig:
2964
2965 2008-03-26  Mark Rowe  <mrowe@apple.com>
2966
2967         Reviewed by David Hyatt.
2968
2969         Make the Ahem font antialias correctly on Acid3 on Tiger.
2970
2971         * WebCoreSupport/WebSystemInterface.m:
2972         (InitWebCoreSystemInterface):
2973
2974 2008-03-26  Mark Rowe  <mrowe@apple.com>
2975
2976         Fix the Mac build.
2977
2978         * MigrateHeaders.make: Copy the newly generated header into the right place.
2979
2980 2008-03-25  Brady Eidson  <beidson@apple.com>
2981
2982         Reviewed by Beth Dakin
2983
2984         Remove entirely unused internal method
2985
2986         * WebView/WebArchiver.h:
2987         * WebView/WebArchiver.mm:
2988
2989 2008-03-25  Brady Eidson  <beidson@apple.com>
2990
2991         Reviewed by Adam Roben
2992
2993         <rdar://problem/5819308> - View Source is empty when view webarchives
2994
2995         * WebCore.base.exp:
2996         * loader/DocumentLoader.cpp:
2997         (WebCore::DocumentLoader::setParsedArchiveData):
2998         (WebCore::DocumentLoader::parsedArchiveData):
2999         * loader/DocumentLoader.h:
3000
3001         * loader/FrameLoader.cpp:
3002         (WebCore::FrameLoader::finishedLoadingDocument): Set the archive's MainResource data as the parsedArchiveData
3003           in the DocumentLoader
3004
3005 2008-03-25  Dan Bernstein  <mitz@apple.com>
3006
3007         Reviewed by Darin Adler.
3008
3009         - fix http://bugs.webkit.org/show_bug.cgi?id=17933
3010           Reopen All Windows From Last Session causes crash
3011
3012         * WebView/WebHTMLView.mm:
3013         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Added null
3014         check.
3015
3016 2008-03-25  Brady Eidson  <beidson@apple.com>
3017
3018         Reviewed by Jon Honeycutt's rubberstamp
3019
3020         Fix a leak with the new WebArchive setup
3021
3022         * WebView/WebArchive.mm:
3023         (-[WebArchivePrivate setCoreArchive:]): Deref() the old WebArchive
3024
3025 2008-03-25  Brady Eidson  <beidson@apple.com>
3026
3027         Reviewed by Darin
3028
3029         Removed the concept of "pending archive resources" and the "archive resources delivery timer"
3030         from WebFrameLoaderClient, as those concepts have been pushed into WebCore
3031
3032         * WebCoreSupport/WebFrameLoaderClient.h:
3033         * WebCoreSupport/WebFrameLoaderClient.mm:
3034         (WebFrameLoaderClient::WebFrameLoaderClient):
3035
3036 2008-03-25  Brady Eidson  <beidson@apple.com>
3037
3038         Reviewed by Darin
3039
3040         Remove newly obsolete FrameLoaderClient methods
3041
3042         * WebCoreSupport/WebFrameLoaderClient.h:
3043         * WebCoreSupport/WebFrameLoaderClient.mm:
3044
3045 2008-03-25  Brady Eidson  <beidson@apple.com>
3046
3047         Release build fix
3048
3049         * WebView/WebArchive.mm:
3050         (-[WebArchive subresources]):
3051         (-[WebArchive subframeArchives]):
3052
3053 2008-03-25  Brady Eidson  <beidson@apple.com>
3054
3055         Reviewed by Darin
3056
3057         <rdar://problem/4516169> - Support WebArchives on Windows
3058         And paves the way for many future WebArchive bug fixes and enhancements
3059
3060         This change moves most of the real workhorse code about WebArchives into WebCore.  It maintains 
3061         1-to-1 relationships between a few objects in WebCore and WebKit.  Such as:
3062          * WebArchive <-> LegacyWebArchive
3063          * WebResource <-> ArchiveResource
3064          * WebUnarchivingState <-> ArchiveResourceCollection
3065  
3066         The other biggest changes involve many FrameLoaderClient methods that existed soley for WebArchives 
3067         and now exist in WebCore
3068
3069         * WebCoreSupport/WebFrameLoaderClient.mm:
3070         (WebFrameLoaderClient::clearUnarchivingState): Emptied - to be removed in a followup patch
3071         (WebFrameLoaderClient::finalSetupForReplace):
3072         (WebFrameLoaderClient::setDefersLoading):
3073         (WebFrameLoaderClient::willUseArchive):
3074         (WebFrameLoaderClient::isArchiveLoadPending):
3075         (WebFrameLoaderClient::cancelPendingArchiveLoad):
3076         (WebFrameLoaderClient::clearArchivedResources):
3077         (WebFrameLoaderClient::createFrame):
3078
3079         * WebView/WebArchive.mm:
3080         (+[WebArchivePrivate initialize]):
3081         (-[WebArchivePrivate init]):
3082         (-[WebArchivePrivate initWithCoreArchive:]):
3083         (-[WebArchivePrivate coreArchive]):
3084         (-[WebArchivePrivate setCoreArchive:]):
3085         (-[WebArchivePrivate dealloc]):
3086         (-[WebArchivePrivate finalize]):
3087         (-[WebArchive init]):
3088         (-[WebArchive initWithMainResource:subresources:subframeArchives:]):
3089         (-[WebArchive initWithData:]):
3090         (-[WebArchive initWithCoder:]):
3091         (-[WebArchive encodeWithCoder:]):
3092         (-[WebArchive mainResource]):
3093         (-[WebArchive subresources]):
3094         (-[WebArchive subframeArchives]):
3095         (-[WebArchive data]):
3096         (-[WebArchive _initWithCoreLegacyWebArchive:WebCore::]):
3097         (-[WebArchive WebCore::]):
3098         * WebView/WebArchiveInternal.h: Added.
3099
3100         * WebView/WebDataSource.mm:
3101         (-[WebDataSourcePrivate dealloc]):
3102         (-[WebDataSource _addSubframeArchives:]):
3103         (-[WebDataSource _documentFragmentWithArchive:]):
3104         (-[WebDataSource subresourceForURL:]):
3105         (-[WebDataSource addSubresource:]):
3106         * WebView/WebDataSourceInternal.h:
3107
3108         * WebView/WebFrame.mm:
3109         (-[WebFrame loadArchive:]):
3110         * WebView/WebFrameInternal.h:
3111
3112         * WebView/WebHTMLRepresentation.mm:
3113         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
3114
3115         * WebView/WebResource.mm:
3116         (+[WebResourcePrivate initialize]):
3117         (-[WebResourcePrivate init]):
3118         (-[WebResourcePrivate initWithCoreResource:]):
3119         (-[WebResourcePrivate dealloc]):
3120         (-[WebResourcePrivate finalize]):
3121         (-[WebResource initWithCoder:]):
3122         (-[WebResource encodeWithCoder:]):
3123         (-[WebResource data]):
3124         (-[WebResource URL]):
3125         (-[WebResource MIMEType]):
3126         (-[WebResource textEncodingName]):
3127         (-[WebResource frameName]):
3128         (-[WebResource _initWithCoreResource:WebCore::]):
3129         (-[WebResource WebCore::]):
3130         (-[WebResource _ignoreWhenUnarchiving]):
3131         (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
3132         (-[WebResource _fileWrapperRepresentation]):
3133         (-[WebResource _response]):
3134         (-[WebResource _stringValue]):
3135         * WebView/WebResourceInternal.h: Added.
3136         * WebView/WebResourcePrivate.h:
3137
3138         * WebView/WebUnarchivingState.h: Removed.
3139         * WebView/WebUnarchivingState.m: Removed.
3140
3141 2008-03-24  Oliver Hunt  <oliver@apple.com>
3142
3143         Reviewed by Mark Rowe.
3144
3145         Bug 18030: REGRESSION(r31236): Space bar fails to scroll down page
3146         <http://bugs.webkit.org/show_bug.cgi?id=18030>
3147
3148         Rollout keyDown changes from r31236 -- fix for keyDown behaviour is
3149         tracked by Bug 18057: keyDown incorrectly propagates up the frame tree
3150         <http://bugs.webkit.org/show_bug.cgi?id=18057>
3151
3152         * WebView/WebHTMLView.mm:
3153         (-[WebHTMLView keyDown:]):
3154
3155 2008-03-24  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
3156
3157         Reviewed by Maciej, landed by Brady
3158
3159         Bug 3580: iFrames Appear to be Cached
3160         <http://bugs.webkit.org/show_bug.cgi?id=3580>
3161
3162         Bug 15486: REGRESSION: Reload causes WebKit to *forget* fragment URLs
3163         <http://bugs.webkit.org/show_bug.cgi?id=15486>
3164
3165         Bug 15554: Reload causes <object> to use old data
3166         <http://bugs.webkit.org/show_bug.cgi?id=15554>
3167
3168         If a page is reloaded, a child frame's URL can not be taken from a history item.
3169
3170         * WebView/WebFrame.mm:
3171         (-[WebFrame _loadURL:referrer:intoChild:]):
3172
3173 2008-03-24  Darin Adler  <darin@apple.com>
3174
3175         Reviewed by Beth.
3176
3177         - fix <rdar://problem/5817067> -[WebDataSource unreachableURL] invokes KURL's copy constructor
3178
3179         * History/WebHistoryItem.mm:
3180         (-[WebHistoryItem URL]): Use a reference to avoid making a copy.
3181         * WebView/WebDataSource.mm:
3182         (-[WebDataSource _URL]): Ditto.
3183         (-[WebDataSource unreachableURL]): Ditto.
3184         * WebView/WebHTMLView.mm:
3185         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
3186
3187         * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
3188         * History/WebHistory.mm:
3189         * Misc/WebElementDictionary.mm:
3190         * Misc/WebNSAttributedStringExtras.mm:
3191         Remove unneeded imports of KURL.h.
3192
3193 2008-03-24  Brady Eidson  <beidson@apple.com>
3194
3195         Reviewed by Darin's rubberstamp
3196
3197         Rename this file for upcoming work.
3198
3199         * WebView/WebArchive.m: Removed.
3200         * WebView/WebArchive.mm: Copied from WebKit/mac/WebView/WebArchive.m.
3201
3202 2008-03-24  Alexey Proskuryakov  <ap@webkit.org>
3203
3204         Build fix.
3205
3206         * MigrateHeaders.make: Added DOMSVGAltGlyphElement.h and DOMSVGAltGlyphElementInternal.h.
3207
3208 2008-03-23  Oliver Hunt  <oliver@apple.com>
3209
3210         Reviewed by Maciej.
3211
3212         Bug 17670: Key events may improperly propagate from iframe to parent frame
3213         <http://bugs.webkit.org/show_bug.cgi?id=17670>
3214         Bug 16381: REGRESSION: Shift, command, option, ctrl keys in Gmail Rich Text changes focus
3215         <http://bugs.webkit.org/show_bug.cgi?id=16381>
3216
3217         Prevent the Cocoa event system from propagating key events to the parent WebHTMLView,
3218         as that results in us dispatching the key events for each frame going up the frame
3219         tree.
3220
3221         * WebView/WebHTMLView.mm:
3222         (-[WebHTMLView keyDown:]):
3223         (-[WebHTMLView keyUp:]):
3224         (-[WebHTMLView flagsChanged:]):
3225
3226 2008-03-21  Timothy Hatcher  <timothy@apple.com>
3227
3228         Bug 17980: Regression: Inspector highlighting of webpage not cleared when going to new URL
3229         http://bugs.webkit.org/show_bug.cgi?id=17980
3230
3231         Reviewed by Adam.
3232
3233         The new highlight drawing was not honoring the fade value, so it was
3234         always drawing at full opacity. The animation code didn't match Windows
3235         and the new highlight anyway, so it has been removed. The highlight
3236         how just detaches when it is hidden.
3237
3238         * WebCoreSupport/WebInspectorClient.mm:
3239         (-[WebInspectorWindowController windowShouldClose:]): Call hideHighlight.
3240         (-[WebInspectorWindowController close]): Ditto.
3241         (-[WebInspectorWindowController highlightNode:]): Call attach.
3242         (-[WebInspectorWindowController hideHighlight]): Call detach and release _currentHighlight.
3243         * WebInspector/WebNodeHighlight.h:
3244         * WebInspector/WebNodeHighlight.m:
3245         (-[WebNodeHighlight initWithTargetView:inspectorController:]):
3246         (-[WebNodeHighlight dealloc]): Assert we have no _highlightView.
3247         (-[WebNodeHighlight attach]): Renamed from attachHighlight.
3248         (-[WebNodeHighlight detach]): Renamed from detachHighlight.
3249         (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Renamed from setHolesNeedUpdateInTargetViewRect:.
3250         * WebInspector/WebNodeHighlightView.h:
3251         * WebInspector/WebNodeHighlightView.m:
3252         (-[WebNodeHighlightView setNeedsDisplayInRect:]): Renamed from setHolesNeedUpdateInRect:.
3253
3254 2008-03-20  Mark Rowe  <mrowe@apple.com>
3255
3256         Reviewed by Sam Weinig.
3257
3258         Ensure that the defines in FEATURE_DEFINES are sorted so that they will match the default settings of build-webkit.
3259         This will prevent the world from being rebuilt if you happen to switch between building in Xcode and with build-webkit on the
3260         command-line.
3261
3262         * Configurations/WebKit.xcconfig:
3263
3264 2008-03-20  Adam Roben  <aroben@apple.com>
3265
3266         Make WebNodeHighlightView use InspectorController to do its painting
3267
3268         Reviewed by Tim Hatcher.
3269
3270         * WebCoreSupport/WebInspectorClient.mm:
3271         (-[WebInspectorWindowController highlightNode:]): Pass the
3272         InspectorController to the WebNodeHighlight, and don't call
3273         setHighlightedNode: (which has been removed).
3274         (-[WebInspectorWindowController hideHighlight]): Removed call to
3275         setHighlightedNode:.
3276         * WebInspector/WebNodeHighlight.h:
3277           - Replaced _highlightNode with _inspectorController
3278           - Removed _highlightedNode accessors
3279           - Added -inspectorController method
3280         * WebInspector/WebNodeHighlight.m:
3281         (-[WebNodeHighlight initWithTargetView:inspectorController:]): Now
3282         takes an InspectorController* and stores it in _inspectorController.
3283         (-[WebNodeHighlight dealloc]): Removed code dealing with
3284         _highlightedNode.
3285         (-[WebNodeHighlight inspectorController]): Added.
3286         * WebInspector/WebNodeHighlightView.m: Removed FileInternal category.
3287         (-[WebNodeHighlightView isFlipped]): Added. WebCore expects all
3288         GraphicsContexts to be based on a flipped CGContext, so we have to
3289         specify that this view is flipped.
3290         (-[WebNodeHighlightView drawRect:]): Changed to create a
3291         GraphicsContext and pass it to InspectorController::drawNodeHighlight.
3292
3293 2008-03-18  David Hyatt  <hyatt@apple.com>
3294
3295         Add support for a preference in WebKit that can be used in nightly builds to test full page
3296         zoom.
3297
3298         Reviewed by Antti
3299
3300         * WebView/WebPreferenceKeysPrivate.h:
3301         * WebView/WebView.mm:
3302         (-[WebView setTextSizeMultiplier:]):
3303         (-[WebView canMakeTextSmaller]):
3304         (-[WebView makeTextSmaller:]):
3305         (-[WebView canMakeTextLarger]):
3306         (-[WebView makeTextLarger:]):
3307         (-[WebView canMakeTextStandardSize]):
3308         (-[WebView makeTextStandardSize:]):
3309
3310 2008-03-17  Eric Seidel  <eric@webkit.org>
3311
3312         Reviewed by darin.
3313
3314         Export _NPN_IntFromIdentifier as part of our NPAPI interface
3315
3316         * Plugins/WebNetscapePluginPackage.m:
3317         (-[WebNetscapePluginPackage load]):
3318
3319 2008-03-14  Brady Eidson  <beidson@apple.com>
3320
3321         Reviewed by Brian Dash's rubberstamp
3322
3323         Remove a class declaration for a class that has never existed
3324
3325         * WebView/WebResource.h:
3326
3327 2008-03-14  David D. Kilzer  <ddkilzer@apple.com>
3328
3329         Unify concept of enabling the Mac Java bridge.
3330
3331         Reviewed by Darin and Anders.
3332
3333         * Plugins/WebPluginJava.h: Removed unused file.
3334         * WebCoreSupport/WebFrameLoaderClient.h:
3335         (WebFrameLoaderClient::javaApplet): Added #if ENABLE(MAC_JAVA_BRIDGE) guard.
3336         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto for #import and NSView SPI method.
3337         (WebFrameLoaderClient::javaApplet): Ditto.
3338
3339 2008-03-13  Antti Koivisto  <antti@apple.com>
3340
3341         Reviewed by Darin.
3342
3343         * ForwardingHeaders/wtf/Deque.h: Added.
3344
3345 2008-03-13  Anders Carlsson  <andersca@apple.com>
3346
3347         Reviewed by Adam.
3348
3349         Call originalRequest, not initialRequest.
3350         
3351         * WebView/WebDataSource.mm:
3352         (-[WebDataSource initialRequest]):
3353
3354 2008-03-12  Darin Adler  <darin@apple.com>
3355
3356         Reviewed by John Sullivan.
3357
3358         - cleanup after removing the bridge
3359
3360         * DOM/WebDOMOperations.mm:
3361         (-[DOMDocument URLWithAttributeString:]): Call computeURL directly.
3362
3363         * Misc/WebCoreStatistics.mm:
3364         (-[WebFrame renderTreeAsExternalRepresentation]): Call externalRepresentation directly.
3365
3366         * Plugins/WebBaseNetscapePluginView.mm:
3367         (-[WebBaseNetscapePluginView loadPluginRequest:]): Use core function instead of
3368         _frameLoader method.
3369         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
3370         Ditto.
3371         * Plugins/WebPluginController.mm:
3372         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Ditto.
3373
3374         * WebCoreSupport/WebFrameLoaderClient.mm:
3375         (WebFrameLoaderClient::frameLoaderDestroyed): Added a call to the new _clearCoreFrame
3376         method. Without this we could leave a stale frame pointer around.
3377         (WebFrameLoaderClient::dispatchDidReceiveIcon): Rewrote assertion so it's not the single
3378         caller of the _isMainFrame method.
3379         (WebFrameLoaderClient::transitionToCommittedForNewPage): Use core function instead of
3380         _frameLoader method.
3381         (WebFrameLoaderClient::createFrame): Moved code here from _addChild.
3382
3383         * WebView/WebFrame.mm: Removed lots of methods. Some were moved elsewhere, others
3384         turned out to be unused.
3385         (core): Added overload for DocumentFragment.
3386         (kit): Ditto.
3387         (-[WebFrame _loadURL:referrer:intoChild:]): Get to Frame using _private->coreFrame and
3388         to FrameLoader with _private->coreFrame->loader().
3389         (-[WebFrame _attachScriptDebugger]): Ditto.
3390         (-[WebFrame _clearCoreFrame]): Added.
3391         (-[WebFrame _updateBackground]): More of the same.
3392         (-[WebFrame _unmarkAllBadGrammar]): Ditto.
3393         (-[WebFrame _unmarkAllMisspellings]): Ditto.
3394         (-[WebFrame _hasSelection]): Ditto.
3395         (-[WebFrame _atMostOneFrameHasSelection]): Ditto.
3396         (-[WebFrame _findFrameWithSelection]): Ditto.
3397         (-[WebFrame _dataSource]): Ditto.
3398         (-[WebFrame _addData:]): Streamlined code a bit.
3399         (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
3400         (-[WebFrame _receivedData:textEncodingName:]): Ditto.
3401         (-[WebFrame _isDescendantOfFrame:]): Ditto.
3402         (-[WebFrame _bodyBackgroundColor]): Ditto.
3403         (-[WebFrame _isFrameSet]): Ditto.
3404         (-[WebFrame _firstLayoutDone]): Ditto.
3405         (-[WebFrame _loadType]): Ditto.
3406         (-[WebFrame _isDisplayingStandaloneImage]): Ditto.
3407         (-[WebFrame name]): Ditto.
3408         (-[WebFrame DOMDocument]): Ditto.
3409         (-[WebFrame frameElement]): Ditto.
3410         (-[WebFrame provisionalDataSource]): Ditto.
3411         (-[WebFrame dataSource]): Ditto.
3412         (-[WebFrame loadRequest:]): Ditto.
3413         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Ditto.
3414         (-[WebFrame loadArchive:]): Ditto.
3415         (-[WebFrame stopLoading]): Ditto.
3416         (-[WebFrame reload]): Ditto.
3417         (-[WebFrame findFrameNamed:]): Ditto.
3418         (-[WebFrame parentFrame]): Ditto.
3419         (-[WebFrame childFrames]): Ditto.
3420         (-[WebFrame windowObject]): Ditto.
3421         (-[WebFrame globalContext]): Ditto.
3422
3423         * WebView/WebFrameInternal.h: Added overloads of core and kit.
3424         Removed method declarations.
3425
3426         * WebView/WebHTMLRepresentation.mm:
3427         (-[WebHTMLRepresentation documentSource]): Moved code here from WebFrame.
3428         (formElementFromDOMElement): Ditto.
3429         (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
3430         (inputElementFromDOMElement): Ditto.
3431         (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
3432         (-[WebHTMLRepresentation elementIsPassword:]): Ditto.
3433         (-[WebHTMLRepresentation formForElement:]): Ditto.
3434         (-[WebHTMLRepresentation currentForm]): Ditto.
3435         (-[WebHTMLRepresentation controlsInForm:]): Ditto.
3436         (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
3437         (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
3438
3439         * WebView/WebHTMLView.mm:
3440         (-[WebHTMLView _frameOrBoundsChanged]): Moved sendScrollEvent code here from WebFrame.
3441         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
3442         Call createFragmentFromText directly instead of via WebFrame.
3443         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
3444         Moved layout calls here from WebFrame.
3445         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
3446         (-[WebHTMLView _updateFontPanel]): Ditto, but with fontForSelection.
3447         (-[WebHTMLView _canSmartCopyOrDelete]): Ditto, but with selectionGranularity.
3448         (-[WebHTMLView markedRange]): Moved code here from _markedTextNSRange.
3449         (-[WebHTMLView attributedSubstringFromRange:]): Tweaked code a bit.
3450         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
3451         Moved code here from WebFrame.
3452         (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.
3453         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
3454         (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
3455         (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
3456         (-[WebHTMLView unmarkAllTextMatches]): Ditto.
3457         (-[WebHTMLView rectsForTextMatches]): Ditto.
3458
3459         * WebView/WebHTMLViewInternal.h: Removed unused method declarations.
3460
3461         * WebView/WebPDFView.mm:
3462         (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Use core function instead of
3463         _frameLoader method.
3464
3465         * WebView/WebRenderNode.mm:
3466         (copyRenderNode): Moved code here from WebFrame.
3467         (-[WebRenderNode initWithWebFrameView:]): Ditto.
3468
3469         * WebView/WebResource.mm:
3470         (-[WebResource _stringValue]): Moved code here from WebFrame.
3471
3472         * WebView/WebView.mm:
3473         (-[WebView _close]): Use core function intsead of _frameLoader method.
3474         (-[WebView setCustomTextEncodingName:]): Ditto.
3475         (-[WebView setHostWindow:]): Moved code here from WebFrame.
3476         (aeDescFromJSValue): Moved this here from WebFrame.
3477         (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Moved code here from WebFrame.
3478
3479 2008-03-12  Darin Adler  <darin@apple.com>
3480
3481         Reviewed by Anders.
3482
3483         - http://bugs.webkit.org/show_bug.cgi?id=17640
3484           eliminate WebCoreFrameBridge
3485
3486         Moved all the code from the bridge into WebFrame. This need not be the final
3487         home of these methods -- they can be moved closer to their callers and improved
3488         further -- but it eliminates the bridge without requiring a rewrite of the code.
3489         It's a fairly mechanical process (just adding underscores to method names really).
3490
3491         There's even a chance that some of the methods are unused. Those we can remove
3492         after checking if that's so.
3493
3494         * DOM/WebDOMOperations.mm:
3495         (-[DOMNode markupString]): Use WebFrame rather than bridge.
3496         (-[DOMDocument webFrame]): Changed to use the core and kit functions
3497         instead of using the bridge.
3498         (-[DOMDocument URLWithAttributeString:]): Use WebFrame rather than bridge.
3499         (-[DOMRange markupString]): Ditto.
3500         * DOM/WebDOMOperationsPrivate.h: Removed _bridge methods.
3501
3502         * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded import.
3503         * History/WebHistoryItem.mm: Ditto.
3504
3505         * MigrateHeaders.make: Added DOMDocumentFragmentInternal.h.
3506         * Misc/WebCoreStatistics.mm:
3507         (-[WebFrame renderTreeAsExternalRepresentation]): Use WebFrame rather than bridge.
3508
3509         * Misc/WebElementDictionary.mm: Removed unneeded import.
3510
3511         * Misc/WebKitStatistics.m:
3512         (+[WebKitStatistics bridgeCount]): Removed WebBridgeCount and just return 0.
3513         * Misc/WebKitStatisticsPrivate.h: Ditto.
3514
3515         * Misc/WebNSAttributedStringExtras.mm: Removed unneeded import.
3516         * Misc/WebNSPasteboardExtras.mm: Ditto.
3517
3518         * Plugins/WebBaseNetscapePluginView.mm:
3519         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Use WebFrame
3520         rather than bridge.
3521
3522         * Plugins/WebNetscapePluginEmbeddedView.mm: Removed unneeded import.
3523         * Plugins/WebNetscapePluginStream.mm: Ditto.
3524
3525         * Plugins/WebPluginContainerCheck.mm:
3526         (-[WebPluginContainerCheck _isForbiddenFileLoad]): Use WebFrame rather than
3527         bridge to get to the WebCore::Frame.
3528
3529         * Plugins/WebPluginController.h: Declare webFrame method and remove bridge method.
3530         * Plugins/WebPluginController.mm:
3531         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Use WebFrame
3532         rather than bridge.
3533
3534         * WebCoreSupport/WebEditorClient.mm:
3535         (selectorForKeyEvent): Tweaked comment.
3536
3537         * WebCoreSupport/WebFrameBridge.h: Removed.
3538         * WebCoreSupport/WebFrameBridge.mm: Removed.
3539
3540         * WebCoreSupport/WebFrameLoaderClient.mm:
3541         (WebFrameLoaderClient::frameLoaderDestroyed): Removed bridge assertion.
3542         (WebFrameLoaderClient::detachedFromParent4): Removed bridge teardown code.
3543         I could remove this function entirely, but it looks like the Qt port is using it.
3544
3545         * WebCoreSupport/WebViewFactory.mm: Removed unneeded import.
3546
3547         * WebView/WebArchiver.mm:
3548         (+[WebArchiver archiveRange:]): Use WebFrame rather than bridge.
3549         (+[WebArchiver archiveNode:]): Ditto.
3550         (+[WebArchiver archiveSelectionInFrame:]): Ditto.
3551
3552         * WebView/WebDataSource.mm:
3553         (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): Ditto.
3554         (-[WebDataSource _documentFragmentWithArchive:]): Ditto.
3555         (-[WebDataSource subresources]): Ditto.
3556         (-[WebDataSource subresourceForURL:]): Ditto.
3557
3558         * WebView/WebDataSourceInternal.h: Removed _bridge method.
3559
3560         * WebView/WebFrame.mm:
3561         (-[WebFramePrivate dealloc]): Removed code to release the bridge.
3562         (core): Go directly to the core frame, not via the bridge.
3563         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
3564         Remove the code to deal with the bridge.
3565         (-[WebFrame _initWithWebFrameView:webView:]): Ditto. Also added code to set the
3566         shouldCreateRenderers flag, formerly on the bridge.
3567         (-[WebFrame _updateBackground]): Change to call mehods on self, not bridge.
3568         (aeDescFromJSValue): Moved here from bridge.
3569         (-[WebFrame _domain]): Ditto.
3570         (-[WebFrame _addData:]): Ditto.
3571         (-[WebFrame _stringWithDocumentTypeStringAndMarkupString:]): Ditto.
3572         (-[WebFrame _nodesFromList:]): Ditto.
3573         (-[WebFrame _markupStringFromNode:nodes:]): Ditto.
3574         (-[WebFrame _markupStringFromRange:nodes:]): Ditto.
3575         (-[WebFrame _selectedString]): Ditto.
3576         (-[WebFrame _stringForRange:]): Ditto.
3577         (-[WebFrame _forceLayoutAdjustingViewSize:]): Ditto.
3578         (-[WebFrame _forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
3579         (-[WebFrame _sendScrollEvent]): Ditto.
3580         (-[WebFrame _drawRect:]): Ditto.
3581         (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]): Ditto.
3582         (-[WebFrame _adjustPageHeightNew:top:bottom:limit:]): Ditto.
3583         (-[WebFrame _copyRenderNode:copier:]): Ditto.
3584         (-[WebFrame _copyRenderTree:]): Ditto.
3585         (inputElementFromDOMElement): Ditto.
3586         (formElementFromDOMElement): Ditto.
3587         (-[WebFrame _elementWithName:inForm:]): Ditto.
3588         (-[WebFrame _elementDoesAutoComplete:]): Ditto.
3589         (-[WebFrame _elementIsPassword:]): Ditto.
3590         (-[WebFrame _formForElement:]): Ditto.
3591         (-[WebFrame _currentForm]): Ditto.
3592         (-[WebFrame _controlsInForm:]): Ditto.
3593         (-[WebFrame _searchForLabels:beforeElement:]): Ditto.
3594         (-[WebFrame _matchLabels:againstElement:]): Ditto.
3595         (-[WebFrame _URLWithAttributeString:]): Ditto.
3596         (-[WebFrame _searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
3597         (-[WebFrame _markAllMatchesForText:caseSensitive:limit:]): Ditto.
3598         (-[WebFrame _markedTextMatchesAreHighlighted]): Ditto.
3599         (-[WebFrame _setMarkedTextMatchesAreHighlighted:]): Ditto.
3600         (-[WebFrame _unmarkAllTextMatches]): Ditto.
3601         (-[WebFrame _rectsForTextMatches]): Ditto.
3602         (-[WebFrame _stringByEvaluatingJavaScriptFromString:]): Ditto.
3603         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Ditto.
3604         (-[WebFrame _aeDescByEvaluatingJavaScriptFromString:]): Ditto.
3605         (-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto.
3606         (-[WebFrame _firstRectForDOMRange:]): Ditto.
3607         (-[WebFrame _scrollDOMRangeToVisible:]): Ditto.
3608         (-[WebFrame _baseURL]): Ditto.
3609         (-[WebFrame _stringWithData:]): Ditto.
3610         (+[WebFrame _stringWithData:textEncodingName:]): Ditto.
3611         (-[WebFrame _needsLayout]): Ditto.
3612         (-[WebFrame _renderTreeAsExternalRepresentation]): Ditto.
3613         (-[WebFrame _accessibilityTree]): Ditto.
3614         (-[WebFrame _setBaseBackgroundColor:]): Ditto.
3615         (-[WebFrame _setDrawsBackground:]): Ditto.
3616         (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
3617         Ditto.
3618         (-[WebFrame _selectionGranularity]): Ditto.
3619         (-[WebFrame _convertToNSRange:]): Ditto.
3620         (-[WebFrame _convertToDOMRange:]): Ditto.
3621         (-[WebFrame _convertNSRangeToDOMRange:]): Ditto.
3622         (-[WebFrame _convertDOMRangeToNSRange:]): Ditto.
3623         (-[WebFrame _markDOMRange]): Ditto.
3624         (-[WebFrame _markedTextNSRange]): Ditto.
3625         (-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto.
3626         (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
3627         (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto.
3628         (-[WebFrame _documentFragmentWithText:inContext:]): Ditto.
3629         (-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto.
3630         (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto.
3631         (-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto.
3632         (-[WebFrame _replaceSelectionWithMarkupString:baseURLString:selectReplacement:smartReplace:]): Ditto.
3633         (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
3634         (-[WebFrame _insertParagraphSeparatorInQuotedContent]): Ditto.
3635         (-[WebFrame _visiblePositionForPoint:]): Ditto.
3636         (-[WebFrame _characterRangeAtPoint:]): Ditto.
3637         (-[WebFrame _typingStyle]): Ditto.
3638         (-[WebFrame _setTypingStyle:withUndoAction:]): Ditto.
3639         (-[WebFrame _fontForSelection:]): Ditto.
3640         (-[WebFrame _dragSourceMovedTo:]): Ditto.
3641         (-[WebFrame _dragSourceEndedAt:operation:]): Ditto.
3642         (-[WebFrame _getData:andResponse:forURL:]): Ditto.
3643         (-[WebFrame _getAllResourceDatas:andResponses:]): Ditto.
3644         (-[WebFrame _canProvideDocumentSource]): Ditto.
3645         (-[WebFrame _canSaveAsWebArchive]): Ditto.
3646         (-[WebFrame _receivedData:textEncodingName:]): Ditto.
3647         (-[WebFrame _setShouldCreateRenderers:]): Put the code from the bridge in this preexisting
3648         function. Couldn't just keep the bridge method because this was already here with the same name.
3649         (-[WebFrame _selectedNSRange]): Ditto.
3650         (-[WebFrame _selectNSRange:]): Ditto.
3651         (-[WebFrame dealloc]): Remove bridge-related code.
3652         (-[WebFrame finalize]): Ditto.
3653
3654         * WebView/WebFrameInternal.h: Added all the method declarations from the bridge.
3655         Removed the bridge parameter from the init method. Removed the #if blocks that
3656         tried to make this header work in non-C++ ObjC files -- they were broken and unused.
3657         Removed the _bridge method.
3658
3659         * WebView/WebFrameView.mm: Removed the _bridge method.
3660
3661         * WebView/WebHTMLRepresentation.mm:
3662         (-[WebHTMLRepresentation setDataSource:]): Removed the code to set up the bridge
3663         field.
3664         (-[WebHTMLRepresentation receivedData:withDataSource:]): Use WebFrame instead of bridge.
3665         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Ditto.
3666         (-[WebHTMLRepresentation canProvideDocumentSource]): Ditto.
3667         (-[WebHTMLRepresentation canSaveAsWebArchive]): Ditto.
3668         (-[WebHTMLRepresentation documentSource]): Ditto.
3669         (-[WebHTMLRepresentation DOMDocument]): Ditto.
3670         (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
3671         (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
3672         (-[WebHTMLRepresentation elementIsPassword:]): Ditto.
3673         (-[WebHTMLRepresentation formForElement:]): Ditto.
3674         (-[WebHTMLRepresentation currentForm]): Ditto.
3675         (-[WebHTMLRepresentation controlsInForm:]): Ditto.
3676         (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
3677         (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
3678
3679         * WebView/WebHTMLRepresentationPrivate.h: Removed the _bridge method.
3680
3681         * WebView/WebHTMLView.mm:
3682         (-[WebHTMLView _documentFragmentWithPaths:]): Use WebFrame instead of bridge.
3683         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Ditto.
3684         (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto.
3685         (-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
3686         (-[WebHTMLView _frameOrBoundsChanged]): Ditto.
3687         (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
3688         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto.
3689         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
3690         (-[WebHTMLView drawSingleRect:]): Ditto.
3691         (-[WebHTMLView draggedImage:movedTo:]): Ditto.
3692         (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
3693         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
3694         (-[WebHTMLView knowsPageRange:]): Ditto.
3695         (-[WebHTMLView accessibilityAttributeValue:]): Ditto.
3696         (-[WebHTMLView accessibilityFocusedUIElement]): Ditto.
3697         (-[WebHTMLView accessibilityHitTest:]): Ditto.
3698         (-[WebHTMLView _accessibilityParentForSubview:]): Ditto.
3699         (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
3700         (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto.
3701         (-[WebHTMLView _changeSpellingToWord:]): Ditto.
3702         (-[WebHTMLView startSpeaking:]): Ditto.
3703         (-[WebHTMLView _updateFontPanel]): Ditto.
3704         (-[WebHTMLView _canSmartCopyOrDelete]): Ditto.
3705         (-[WebHTMLView _layoutIfNeeded]): Ditto.
3706         (-[WebHTMLView characterIndexForPoint:]): Ditto.
3707         (-[WebHTMLView firstRectForCharacterRange:]): Ditto.
3708         (-[WebHTMLView selectedRange]): Ditto.
3709         (-[WebHTMLView markedRange]): Ditto.
3710         (-[WebHTMLView attributedSubstringFromRange:]): Ditto.
3711         (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
3712         (-[WebHTMLView insertText:]): Ditto.
3713         (-[WebTextCompleteController _insertMatch:]): Ditto.
3714         (-[WebTextCompleteController doCompletion]): Ditto.
3715         (-[WebTextCompleteController endRevertingChange:moveLeft:]): Ditto.
3716         (-[WebHTMLView string]): Ditto.
3717         (-[WebHTMLView selectedString]): Ditto.
3718         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
3719         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
3720         (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
3721         (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
3722         (-[WebHTMLView unmarkAllTextMatches]): Ditto.
3723         (-[WebHTMLView rectsForTextMatches]): Ditto.
3724         * WebView/WebRenderNode.mm:
3725         (-[WebRenderNode initWithWebFrameView:]): Ditto.
3726         * WebView/WebResource.mm:
3727         (-[WebResource _stringValue]): Ditto.
3728
3729         * WebView/WebScriptDebugDelegate.mm: Removed unneeded include.
3730
3731         * WebView/WebView.mm:
3732         (-[WebView _dashboardRegions]): Use WebFrame instead of bridge.
3733         (-[WebView setProhibitsMainFrameScrolling:]): Ditto.
3734         (-[WebView _setInViewSourceMode:]): Ditto.
3735         (-[WebView _inViewSourceMode]): Ditto.
3736         (-[WebView _executeCoreCommandByName:value:]): Ditto.
3737         (-[WebView stringByEvaluatingJavaScriptFromString:]): Ditto.
3738         (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
3739         (-[WebView scrollDOMRangeToVisible:]): Ditto.
3740         (-[WebView setSelectedDOMRange:affinity:]): Ditto.
3741         (-[WebView setEditable:]): Ditto.
3742         (-[WebView setTypingStyle:]): Ditto.
3743         (-[WebView typingStyle]): Ditto.
3744         (-[WebView replaceSelectionWithNode:]): Ditto.
3745         (-[WebView replaceSelectionWithText:]): Ditto.
3746         (-[WebView replaceSelectionWithMarkupString:]): Ditto.
3747         (-[WebView replaceSelectionWithArchive:]): Ditto.
3748         (-[WebView _insertNewlineInQuotedContent]): Ditto.
3749         (-[WebView _replaceSelectionWithNode:matchStyle:]): Ditto.
3750
3751 2008-03-12  David Hyatt  <hyatt@apple.com>
3752
3753         Make the zoom factor a float and not a percent.
3754
3755         Reviewed by antti
3756
3757         * WebView/WebView.mm:
3758         (-[WebView _setZoomMultiplier:isTextOnly:]):
3759
3760 2008-03-11  David Hyatt  <hyatt@apple.com>
3761
3762         This patch prepares Mac WebKit to handle two different zooming modes (full page zoom and text only zoom).
3763         New API is added that is parallel to the text zoom public API.  You can get/set a pageSizeMultiplier and you
3764         can zoom the page in, out or reset it to the standard size.
3765
3766         In the implementation only one zoom factor is stored, and setting one multiplier will shift you into that mode
3767         and set the common zoom factor.  In other words you can't combine text zoom and page zoom.  One will always
3768         win.
3769
3770         Reviewed by Tim H.
3771
3772         * WebCoreSupport/WebFrameBridge.mm:
3773         (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
3774         * WebView/WebDocumentInternal.h:
3775         * WebView/WebHTMLView.mm:
3776         (-[WebHTMLView viewDidMoveToSuperview]):
3777         * WebView/WebPDFView.h:
3778         * WebView/WebPDFView.mm:
3779         (-[WebPDFView _zoomOut:]):
3780         (-[WebPDFView _zoomIn:]):
3781         (-[WebPDFView _resetZoom:]):
3782         (-[WebPDFView _canZoomOut]):
3783         (-[WebPDFView _canZoomIn]):
3784         (-[WebPDFView _canResetZoom]):
3785         * WebView/WebView.mm:
3786         (-[WebViewPrivate init]):
3787         (-[WebView setTextSizeMultiplier:]):
3788         (-[WebView textSizeMultiplier]):
3789         (-[WebView _setZoomMultiplier:isTextOnly:]):
3790         (-[WebView _zoomMultiplier:]):
3791         (-[WebView _realZoomMultiplier]):
3792         (-[WebView _realZoomMultiplierIsTextOnly]):
3793         (-[WebView _canZoomOut:]):
3794         (-[WebView _canZoomIn:]):
3795         (-[WebView _zoomOut:isTextOnly:]):
3796         (-[WebView _zoomIn:isTextOnly:]):
3797         (-[WebView _canResetZoom:]):
3798         (-[WebView _resetZoom:isTextOnly:]):
3799         (-[WebView canMakeTextSmaller]):
3800         (-[WebView makeTextSmaller:]):
3801         (-[WebView canMakeTextLarger]):
3802         (-[WebView makeTextLarger:]):
3803         (-[WebView canMakeTextStandardSize]):
3804         (-[WebView makeTextStandardSize:]):
3805         (-[WebView setPageSizeMultiplier:]):
3806         (-[WebView pageSizeMultiplier]):
3807         (-[WebView canZoomPageIn]):
3808         (-[WebView zoomPageIn:]):
3809         (-[WebView canZoomPageOut]):
3810         (-[WebView zoomPageOut:]):
3811         (-[WebView canResetPageZoom]):
3812         (-[WebView resetPageZoom:]):
3813         (-[WebView _searchWithSpotlightFromMenu:]):
3814         * WebView/WebViewInternal.h:
3815         * WebView/WebViewPrivate.h:
3816
3817 2008-03-12  Dan Bernstein  <mitz@apple.com>
3818
3819         Reviewed by Darin Adler and Sam Weinig.
3820
3821         - <rdar://problem/4433248> use CoreText API instead of SPI on Leopard
3822
3823         * WebCoreSupport/WebSystemInterface.m:
3824         (InitWebCoreSystemInterface): Made WKGetCGFontFromNSFont and
3825         WKGetNSFontATSUFontId Tiger-only.
3826
3827 2008-03-12  Darin Adler  <darin@apple.com>
3828
3829         - fix http://bugs.webkit.org/show_bug.cgi?id=17794
3830           REGRESSION (r30980): 23 tests hanging on the Mac buildbot
3831
3832         * WebView/WebFrame.mm:
3833         (-[WebFrame _initWithWebFrameView:webView:bridge:]): Added missing call to set
3834         up pointer from the bridge to the frame. (My next check-in removes the bridge
3835         entirely, but we need this until then.)
3836
3837 2008-03-11  Darin Adler  <darin@apple.com>
3838
3839         Reviewed by Sam.
3840
3841         - remove all bridge-related things from WebCore except the bridge itself
3842
3843         * DOM/WebDOMOperations.mm:
3844         (-[DOMNode _bridge]): Reimplemented to not use the bridgeForDOMDocument: method.
3845
3846         * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded include.
3847
3848         * Plugins/WebPluginController.mm: Ditto.
3849
3850         * WebCoreSupport/WebFrameBridge.h: Removed unneeded things, including the
3851         init and close methods. Added a setWebFrame: method.
3852
3853         * WebCoreSupport/WebFrameBridge.mm:
3854         (-[WebFrameBridge setWebFrame:]): Added.
3855
3856         * WebCoreSupport/WebFrameLoaderClient.mm:
3857         (WebFrameLoaderClient::frameLoaderDestroyed): Added an assertion.
3858         (WebFrameLoaderClient::detachedFromParent4): Moved the call to close on the
3859         bridge here. Soon we will be able to remove this entirely!
3860         (WebFrameLoaderClient::createFrame): Rewrote this to use the method moved
3861         into WebFrame from the bridge.
3862
3863         * WebView/WebFrame.mm:
3864         (-[WebFramePrivate dealloc]): Added code to release the bridge, because it's
3865         now owned by the frame.
3866         (-[WebFramePrivate finalize]): Added this missing method. We'd leak the script
3867         debugger under GC without this!
3868         (kit): Rewrote the function that maps from a WebCore::Frame to a WebFrame to
3869         use WebFrameLoaderClient instead of the bridge.
3870         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Added.
3871         This is code that used to live in the bridge's init function.
3872         (+[WebFrame _createMainFrameWithPage:frameName:frameView:]): Ditto.
3873         (+[WebFrame WebCore::_createSubframeWithOwnerElement:frameName:frameView:]): Ditto.
3874         (-[WebFrame _initWithWebFrameView:webView:bridge:]): Retain the bridge, since
3875         the WebView is now the bridge's owner.
3876         (-[WebFrame _updateBackground]): Changed this one call site that was calling the
3877         WebCore::Frame::bridge function directly to use the kit function instead.
3878         (-[WebFrame dealloc]): Added code to clear the WebFrame pointer in the bridge.
3879         This code won't last long -- we're eliminating the bridge soon.
3880         (-[WebFrame finalize]): Ditto.
3881
3882         * WebView/WebFrameInternal.h: Added a coreFrame backpointer and two new methods
3883         for creating frames.
3884
3885         * WebView/WebView.mm:
3886         (-[WebView _commonInitializationWithFrameName:groupName:]): Rewrote this to use
3887         the method moved into WebFrame from the bridge. Gets rid of the unpleasant idiom
3888         where we have to allocate a WebFrameBridge and then immediately release it.
3889
3890 2008-03-11  Darin Adler  <darin@apple.com>
3891
3892         Reviewed by Anders.
3893
3894         - remove code depending on the bridge to get from an NSView to a WebCore::Frame
3895
3896         * WebCoreSupport/WebFrameLoaderClient.mm:
3897         (WebFrameLoaderClient::transitionToCommittedForNewPage): Remove incorrect call
3898         to setView. A couple lines later, there is a call to _install, which sets the
3899         view to the scroll view.
3900
3901         * WebCoreSupport/WebViewFactory.mm: Removed bridgeForView method.
3902
3903         * WebView/WebDynamicScrollBarsView.h: Moved most of the declarations out of
3904         this file, since it's used by Safari.
3905         * WebView/WebDynamicScrollBarsViewInternal.h: Added.
3906         * WebView/WebDynamicScrollBarsView.m:
3907         (-[WebDynamicScrollBarsView updateScrollers]): Ditto.
3908         (-[WebDynamicScrollBarsView setAllowsScrolling:]): Ditto.
3909         (-[WebDynamicScrollBarsView allowsScrolling]): Ditto.
3910         (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]): Ditto.
3911         (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]): Ditto.
3912         (-[WebDynamicScrollBarsView allowsHorizontalScrolling]): Ditto.
3913         (-[WebDynamicScrollBarsView allowsVerticalScrolling]): Ditto.
3914         (-[WebDynamicScrollBarsView horizontalScrollingMode]): Ditto.
3915         (-[WebDynamicScrollBarsView verticalScrollingMode]): Ditto.
3916         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]): Ditto.
3917         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]): Ditto.
3918         (-[WebDynamicScrollBarsView setVerticalScrollingMode:]): Ditto.
3919         (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]): Ditto.
3920         (-[WebDynamicScrollBarsView setScrollingMode:]): Ditto.
3921         (-[WebDynamicScrollBarsView setScrollingMode:andLock:]): Ditto.
3922
3923         * WebView/WebFrameView.mm:
3924         (-[WebFrameView _web_frame]): Added. Replaces the webCoreBridge method.
3925
3926         * WebView/WebView.mm:
3927         (-[WebView setAlwaysShowVerticalScroller:]): Updated for changes to WebCoreFrameView.h.
3928         (-[WebView alwaysShowVerticalScroller]): Ditto.
3929         (-[WebView setAlwaysShowHorizontalScroller:]): Ditto.
3930         (-[WebView alwaysShowHorizontalScroller]): Ditto.
3931
3932 2008-03-11  Darin Adler  <darin@apple.com>
3933
3934         Reviewed by Sam.
3935
3936         - eliminate the remaining parts of WebCoreBridge used for calls to WebKit from WebCore
3937
3938         * WebCoreSupport/WebChromeClient.h: Added new virtual functions that replace
3939         bridge methods.
3940         * WebCoreSupport/WebChromeClient.mm: Added lots of BEGIN_BLOCK_OBJC_EXCEPTIONS
3941         to recently-created functions.
3942         (WebChromeClient::firstResponder): Moved code here from the bridge.
3943         (WebChromeClient::makeFirstResponder): Ditto.
3944         (WebChromeClient::runOpenPanel): Ditto.
3945         (WebChromeClient::willPopUpMenu): Ditto.
3946
3947         * WebCoreSupport/WebFrameBridge.h: Removed almost everything. What's left
3948         is related to creating the bridge and connecting it to WebCore, which will
3949         go next when I eliminate use of the bridge to get to/from the Frame*.
3950         * WebCoreSupport/WebFrameBridge.mm:
3951         (-[WebFrameBridge close]): Moved the code to track the bridge count here
3952         instead of the dealloc and finalize methods.
3953
3954 2008-03-11  Darin Adler  <darin@apple.com>
3955
3956         Reviewed by Mitz.
3957
3958         - update code affected by Range changes
3959
3960         * Misc/WebNSAttributedStringExtras.mm:
3961         (+[NSAttributedString _web_attributedStringFromRange:]): Update for name changes.
3962         * WebView/WebHTMLRepresentation.mm:
3963         (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
3964         Use Range::create.
3965         * WebView/WebHTMLView.mm:
3966         (-[WebHTMLView attributedString]): Ditto.
3967
3968 2008-03-10  Darin Adler  <darin@apple.com>
3969
3970         Reviewed by Sam.
3971
3972         - eliminate keyboard UI mode method from WebCoreFrameBridge
3973
3974         * WebCoreSupport/WebChromeClient.h: Added keyboardUIMode function.
3975         * WebCoreSupport/WebChromeClient.mm:
3976         (WebChromeClient::keyboardUIMode): Ditto. Calls WebView.
3977         * WebCoreSupport/WebFrameBridge.h: Removed unused things, including the
3978         fields for keyboard UI mode.
3979         * WebCoreSupport/WebFrameBridge.mm:
3980         (-[WebFrameBridge dealloc]): Removed unneeded code; eliminated the fini
3981         method.
3982         (-[WebFrameBridge finalize]): Ditto.
3983         * WebView/WebView.mm: Moved the keyboard mode code in here.
3984         (-[WebView _close]): Remove observer from the distributed notification
3985         center as well as the normal one.
3986         (-[WebView _retrieveKeyboardUIModeFromPreferences:]): Added. Code moved
3987         here from the bridge.
3988         (-[WebView _keyboardUIMode]): Ditto.
3989         * WebView/WebViewInternal.h: Added _keyboardUIMode method.
3990
3991 2008-03-10  Darin Adler  <darin@apple.com>
3992
3993         Reviewed by Sam.
3994
3995         - eliminate Java applet methods from WebCoreFrameBridge
3996
3997         * WebCoreSupport/WebChromeClient.mm: Removed unneeded headers and declarations.
3998         * WebCoreSupport/WebFrameBridge.mm: Ditto. Also removed unneeded methods, including
3999         the ones that load Java applets.
4000         * WebCoreSupport/WebFrameLoaderClient.h: Added javaApplet function.
4001         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
4002
4003 2008-03-07  Simon Hausmann  <hausmann@webkit.org>
4004
4005         Reviewed by Darin.
4006
4007         Done with Lars.
4008
4009         Simplified WebViewFactory's refreshPlugins method to only refresh the
4010         plugins and not reload the frames anymore since that's now done in a
4011         platform independent manner by WebCore::Page.
4012
4013         Also removed the now unused pluginNameForMIMEType and
4014         pluginSupportsMIMEType methods.
4015
4016         * WebCoreSupport/WebViewFactory.mm:
4017         * WebView/WebFrame.mm:
4018         * WebView/WebFrameInternal.h:
4019         * WebView/WebView.mm:
4020
4021 2008-03-08  Mark Rowe  <mrowe@apple.com>
4022
4023         Reviewed by Darin Adler.
4024
4025         Fix 64-bit build with GCC 4.2.
4026
4027         * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Use NSUInteger in place of unsigned where required.
4028         * DefaultDelegates/WebDefaultUIDelegate.m: Ditto.
4029         * History/WebHistoryItem.mm: Ditto.
4030         * Misc/WebElementDictionary.mm: Ditto.
4031         * WebCoreSupport/WebFrameLoaderClient.mm:
4032         (WebFrameLoaderClient::objectContentType): Move variable declaration outside of if to avoid warning about the
4033         variable being unused in 64-bit.
4034         * WebCoreSupport/WebInspectorClient.mm: Use NSUInteger in place of unsigned where required.
4035         * WebView/WebHTMLView.mm:
4036         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Use CGFloat in place of float where required.
4037         (-[WebTextCompleteController numberOfRowsInTableView:]): Use NSInteger in place of int where required.
4038
4039 2008-03-08  Darin Adler  <darin@apple.com>
4040
4041         Reviewed by Adele.
4042
4043         - eliminate custom highlight methods from WebCoreFrameBridge
4044
4045         * WebCoreSupport/WebChromeClient.h: Added custom highlight functions.
4046         * WebCoreSupport/WebChromeClient.mm:
4047         (WebChromeClient::customHighlightRect): Moved code here from bridge.
4048         (WebChromeClient::paintCustomHighlight): Ditto.
4049         * WebCoreSupport/WebFrameBridge.mm: Removed code here.
4050
4051 2008-03-07  David D. Kilzer  <ddkilzer@apple.com>
4052
4053         Unify concept of enabling Netscape Plug-in API (NPAPI).
4054
4055         Reviewed by Darin.
4056
4057         * WebKit.exp: Removed unused class export for WebBaseNetscapePluginView.
4058
4059         * WebKitPrefix.h: Removed WTF_USE_NPOBJECT since we now use
4060         ENABLE(NETSCAPE_PLUGIN_API) as defined in Platform.h.
4061
4062         * Plugins/WebBaseNetscapePluginStream.h: Replaced #ifndef __LP64__ with
4063         #if ENABLE(NETSCAPE_PLUGIN_API).
4064         * Plugins/WebBaseNetscapePluginStream.mm: Ditto.
4065         * Plugins/WebBaseNetscapePluginView.h: Ditto.
4066         * Plugins/WebBaseNetscapePluginView.mm: Ditto.
4067         * Plugins/WebBaseNetscapePluginViewInternal.h: Ditto.
4068         * Plugins/WebBaseNetscapePluginViewPrivate.h: Ditto.
4069         * Plugins/WebBasePluginPackage.h: Ditto.
4070         * Plugins/WebBasePluginPackage.m: Ditto.
4071         (+[WebBasePluginPackage pluginWithPath:]):
4072         * Plugins/WebNetscapeDeprecatedFunctions.c: Ditto.
4073         * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
4074         * Plugins/WebNetscapePluginEmbeddedView.h: Ditto.
4075         * Plugins/WebNetscapePluginEmbeddedView.mm: Ditto.
4076         * Plugins/WebNetscapePluginPackage.h: Ditto.
4077         * Plugins/WebNetscapePluginPackage.m: Ditto.
4078         * Plugins/WebNetscapePluginStream.h: Ditto.
4079         * Plugins/WebNetscapePluginStream.mm: Ditto.
4080         * Plugins/WebPluginDatabase.m: Ditto.
4081         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
4082         * Plugins/npapi.m: Ditto.
4083         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
4084         (WebFrameLoaderClient::objectContentType):
4085         (WebFrameLoaderClient::createPlugin):
4086         * WebView/WebHTMLView.mm: Ditto.
4087         (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
4088         * WebView/WebHTMLViewInternal.h: Ditto.
4089
4090         * WebView/WebFrame.mm: Replaced #ifndef __LP64__ with
4091         #if ENABLE(NETSCAPE_PLUGIN_API). Moved methods below from (WebPrivate)
4092         category to (WebInternal) category so we don't expose the ENABLE() macro
4093         from the private header.
4094         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
4095         (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
4096         * WebView/WebFrameInternal.h: Ditto.
4097         * WebView/WebFramePrivate.h: Ditto.
4098
4099 2008-03-07  Alexey Proskuryakov  <ap@webkit.org>
4100
4101         Reviewed by Darin.
4102
4103         <rdar://problem/5579292> REGRESSION: (safari 2-3): "Default default" encoding for Korean
4104         changed from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites
4105
4106         * WebView/WebPreferences.m:
4107         (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Make encoding name match
4108         the one used in Safari.
4109
4110 2008-03-07  Mark Rowe  <mrowe@apple.com>
4111
4112         Reviewed by Oliver Hunt.
4113
4114         Fix WebKit build with GCC 4.2.
4115
4116         * Plugins/WebBaseNetscapePluginView.mm: Use the correct return type in method signature.
4117
4118 2008-03-07  Darin Adler  <darin@apple.com>
4119
4120         Reviewed by Adam.
4121
4122         - eliminated WebCoreFrameBridge runOpenPanel
4123
4124         * WebCoreSupport/WebChromeClient.h: Added runOpenPanel.
4125         * WebCoreSupport/WebChromeClient.mm:
4126         (WebChromeClient::runOpenPanel): Added.
4127         (-[WebOpenPanelResultListener initWithChooser:]): Added. Used to wrap the
4128         FileChooser so it can get a result from the UI delegate.
4129         (-[WebOpenPanelResultListener dealloc]): Added.
4130         (-[WebOpenPanelResultListener finalize]): Added.
4131         (-[WebOpenPanelResultListener cancel]): Added.
4132         (-[WebOpenPanelResultListener chooseFilename:]): Added.
4133
4134 2008-03-06  Darin Adler  <darin@apple.com>
4135
4136         Reviewed by Mitz.
4137
4138         - fix regression test failures from the visited-link change
4139
4140         * History/WebHistory.mm:
4141         (+[WebHistory setOptionalSharedHistory:]): Call PageGroup::setShouldTrackVisitedLinks
4142         to turn off visited links if there is no history object. Also call
4143         removeAllVisitedLinks so we can start over from scratch with the new history.
4144
4145 2008-03-06  Dan Bernstein  <mitz@apple.com>
4146
4147         Reviewed by Darin Adler.
4148
4149         - fix a regression from r30741: a crash under
4150           WebFrameLoaderClient::createPlugin() when showing a Mail message with
4151           an attachment
4152
4153         * WebCoreSupport/WebFrameLoaderClient.mm:
4154         (WebFrameLoaderClient::createPlugin):
4155
4156 2008-03-06  Darin Adler  <darin@apple.com>
4157
4158         - fix Tiger build
4159
4160         * History/WebHistory.mm: Added include of WebTypesInternal.h.
4161
4162 2008-03-06  Darin Adler  <darin@apple.com>
4163
4164         - fix Release build
4165
4166         * History/WebHistory.mm:
4167         (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]): Removed underscore.
4168         (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]): Added #if.
4169         (-[WebHistoryPrivate saveToURL:error:]): Ditto.
4170
4171 2008-03-06  Darin Adler  <darin@apple.com>
4172
4173         Reviewed by Mitz.
4174
4175         - fix http://bugs.webkit.org/show_bug.cgi?id=17526
4176           REGRESSION: iframes are added to Safari's History menu
4177           by separating the visited link machinery from global history
4178
4179         * History/WebHistory.mm: Moved WebHistoryPrivate inside this file.
4180         (-[WebHistoryPrivate removeItemFromDateCaches:]): Removed the underscore from this
4181         method name, since it's on a private object.
4182         (-[WebHistoryPrivate removeItemForURLString:]): Added a call to the
4183         PageGroup::removeAllVisitedLinks function if the last URL was removed.
4184         (-[WebHistoryPrivate addItemToDateCaches:]): Removed the underscore from this
4185         method name, since it's on a private object.
4186         (-[WebHistoryPrivate removeAllItems]): Call PageGroup::removeAllVisitedLinks.
4187         (-[WebHistoryPrivate ageLimitDate]): Removed the underscore from this
4188         method name, since it's on a private object.
4189         (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
4190         Ditto.
4191         (-[WebHistoryPrivate saveHistoryGuts:URL:error:]): Ditto. Also changed this