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