2008-10-29 Anders Carlsson <andersca@apple.com>
[webkit/qt.git] / WebKit / mac / ChangeLog
blob1ea67b6ebdad708f43835c65ea8019fe8f44302c
1 2008-10-29  Anders Carlsson  <andersca@apple.com>
3         Reviewed by Kevin Decker.
5         * Plugins/WebBaseNetscapePluginStream.h:
6         * Plugins/WebBaseNetscapePluginStream.mm:
7         (WebNetscapePluginStream::WebNetscapePluginStream):
8         (WebNetscapePluginStream::~WebNetscapePluginStream):
9         (WebNetscapePluginStream::start):
11 2008-10-29  Anders Carlsson  <andersca@apple.com>
13         Reviewed by Sam Weinig.
15         Remove an unused forward class declaration.
16         
17         * Plugins/WebBaseNetscapePluginView.h:
19 2008-10-29  Anders Carlsson  <andersca@apple.com>
21         Reviewed by Sam Weinig.
23         Remove WebBaseNetscapePluginViewInternal.h and WebBaseNetscapePluginViewPrivate.h.
25         * Plugins/WebBaseNetscapePluginView.h:
26         * Plugins/WebBaseNetscapePluginViewInternal.h: Removed.
27         * Plugins/WebBaseNetscapePluginViewPrivate.h: Removed.
28         * Plugins/WebNetscapePluginEventHandler.mm:
29         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
30         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
31         * Plugins/npapi.mm:
32         * WebView/WebHTMLView.mm:
34 2008-10-29  Anders Carlsson  <andersca@apple.com>
36         Reviewed by Sam Weinig.
38         Remove WebNetscapePluginEmbeddedView, it adds nothing extra now. 
39         
40         Remove WebNetscapePlugInStreamLoaderClient since WebNetscapePluginStream is the client now.
41         
42         * Plugins/WebBaseNetscapePluginStream.h:
43         * Plugins/WebBaseNetscapePluginStream.mm:
44         * Plugins/WebBaseNetscapePluginView.h:
45         * Plugins/WebKitPluginContainerView.h:
46         * Plugins/WebNetscapePluginEmbeddedView.h: Removed.
47         * Plugins/WebNetscapePluginEmbeddedView.mm: Removed.
48         * Plugins/WebNetscapePluginEventHandler.h:
49         * WebCoreSupport/WebFrameLoaderClient.mm:
50         (NetscapePluginWidget::NetscapePluginWidget):
51         (NetscapePluginWidget::handleEvent):
52         (WebFrameLoaderClient::createPlugin):
53         * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h: Removed.
54         * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm: Removed.
55         * WebView/WebHTMLView.mm:
56         (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
58 2008-10-29  Anders Carlsson  <andersca@apple.com>
60         Reviewed by Sam Weinig.
62         Remove the WebBaseNetscapePluginStream Objective-C object.
63         
64         * Plugins/WebBaseNetscapePluginStream.h:
65         (WebNetscapePluginStream::create):
66         * Plugins/WebBaseNetscapePluginStream.mm:
67         (WebNetscapePluginStream::WebNetscapePluginStream):
68         * Plugins/WebBaseNetscapePluginView.mm:
69         (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
70         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
71         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
73 2008-10-29  Brady Eidson  <beidson@apple.com>
75         Reviewed by Sam Weinig
77         https://bugs.webkit.org/show_bug.cgi?id=21952
78         
79         Address an outstanding FIXME by removing unused SPI
81         * History/WebHistory.mm:
82         (-[WebHistory _addItemForURL:title:]): Fold addItem: into this method
84         * History/WebHistoryPrivate.h: Removed unused/unneccessary SPI
86 2008-10-28  Justin Garcia  <justin.garcia@apple.com>
88         Reviewed by Darin Adler.
89         
90         <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
92         * WebView/WebHTMLView.mm: IgnoreSpelling is now a WebCore command.  That command handles
93         calling back into WebKit to perform the cross platform work that was removed in this change.
95 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
97         Reviewed by Mark Rowe.
99         Move ForwardingHeaders to their correct location after the creation of
100         the runtime directory in JavaScriptCore.
102         * ForwardingHeaders/kjs/JSFunction.h: Removed.
103         * ForwardingHeaders/kjs/JSObject.h: Removed.
104         * ForwardingHeaders/kjs/JSString.h: Removed.
105         * ForwardingHeaders/kjs/JSValue.h: Removed.
106         * ForwardingHeaders/runtime: Added.
107         * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
108         * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
109         * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
110         * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
111         * WebView/WebScriptDebugDelegate.mm:
112         * WebView/WebScriptDebugger.mm:
113         * WebView/WebView.mm:
115 2008-10-28  Adele Peterson  <adele@apple.com>
117         Reviewed by John Sullivan.
119         Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
120         "files" string for multifile uploads needs to be localized
122         * WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory multipleFileUploadTextForNumberOfFiles:]):
123         Added.
125 2008-10-28  Timothy Hatcher  <timothy@apple.com>
127         Add WebInspector methods to enable the profiler.
129         https://bugs.webkit.org/show_bug.cgi?id=21927
131         <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
132         not slow down JavaScript all the time
134         Reviewed by Darin Adler and Kevin McCullough.
136         * WebInspector/WebInspector.h:
137         * WebInspector/WebInspector.mm:
138         (-[WebInspector isJavaScriptProfilingEnabled]): Added. Calls InspectorController::profilerEnabled.
139         (-[WebInspector setJavaScriptProfilingEnabled:]): Added. Call InspectorController's disableProfiler
140         or enableProfiler methods.
142 2008-10-27  Timothy Hatcher  <timothy@apple.com>
144         Rename a few methods related to attaching and detaching the debugger.
146         * Rename attachDebugger to enableDebugger.
147         * Rename detachDebugger to disableDebugger.
148         * Rename the debuggerAttached getter to debuggerEnabled.
150         Reviewed by Darin Adler.
152         * WebInspector/WebInspector.mm:
153         (-[WebInspector isDebuggingJavaScript]):
154         (-[WebInspector startDebuggingJavaScript:]):
155         (-[WebInspector stopDebuggingJavaScript:]):
157 2008-10-27  Anders Carlsson  <andersca@apple.com>
159         Reviewed by Maciej Stachowiak.
161         Use the C++ stream object for JS requests as well.
162         
163         * Plugins/WebBaseNetscapePluginView.mm:
164         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
165         (-[WebBaseNetscapePluginView destroyStream:reason:]):
167 2008-10-27  Anders Carlsson  <andersca@apple.com>
169         Reviewed by Dan Bernstein.
170         
171         Use the C++ stream object in WebBaseNetscapePluginView. Use a HashSet of RefPtrs to keep track of the streams.
172         
173         * Plugins/WebBaseNetscapePluginStream.mm:
174         (WebNetscapePluginStream::~WebNetscapePluginStream):
175         (WebNetscapePluginStream::setPlugin):
176         (WebNetscapePluginStream::startStream):
177         (WebNetscapePluginStream::destroyStream):
178         (WebNetscapePluginStream::destroyStreamWithReason):
179         (WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError):
180         (WebNetscapePluginStream::deliverData):
181         * Plugins/WebBaseNetscapePluginView.h:
182         * Plugins/WebBaseNetscapePluginView.mm:
183         (-[WebBaseNetscapePluginView stop]):
184         (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
185         (-[WebBaseNetscapePluginView disconnectStream:]):
186         (-[WebBaseNetscapePluginView dealloc]):
187         (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
188         (-[WebBaseNetscapePluginView pluginView:receivedData:]):
189         (-[WebBaseNetscapePluginView pluginView:receivedError:]):
190         (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]):
191         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
193 2008-10-27  Anders Carlsson  <andersca@apple.com>
195         Reviewed by Dan Bernstein.
196         
197         Move code from dealloc and finalize to the WebNetscapePluginStream destructor.
198         
199         * Plugins/WebBaseNetscapePluginStream.h:
200         * Plugins/WebBaseNetscapePluginStream.mm:
201         (WebNetscapePluginStream::~WebNetscapePluginStream):
202         (-[WebBaseNetscapePluginStream dealloc]):
203         (-[WebBaseNetscapePluginStream finalize]):
205 2008-10-27  Anders Carlsson  <andersca@apple.com>
207         Reviewed by Sam Weinig.
209         Get rid of WebNetscapePlugInStreamLoaderClient, the plug-in stream is its own client.
210         
211         * Plugins/WebBaseNetscapePluginStream.h:
212         * Plugins/WebBaseNetscapePluginStream.mm:
213         (WebNetscapePluginStream::WebNetscapePluginStream):
214         (-[WebBaseNetscapePluginStream dealloc]):
215         (-[WebBaseNetscapePluginStream finalize]):
216         * Plugins/WebBaseNetscapePluginView.mm:
217         (-[WebBaseNetscapePluginView pluginView:receivedError:]):
218         (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]):
219         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
220         (-[WebBaseNetscapePluginView destroyStream:reason:]):
222 2008-10-27  Anders Carlsson  <andersca@apple.com>
224         Reviewed by Darin Adler.
226         Change the Obj-C init methods to simply call WebNetscapePluginStream::create.
227         
228         * Plugins/WebBaseNetscapePluginStream.h:
229         (WebNetscapePluginStream::create):
230         * Plugins/WebBaseNetscapePluginStream.mm:
231         (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
232         (WebNetscapePluginStream::WebNetscapePluginStream):
233         (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
235 2008-10-27  Anders Carlsson  <andersca@apple.com>
237         Reviewed by Kevin Decker.
239         Convert more code over to C++.
240         
241         * Plugins/WebBaseNetscapePluginStream.h:
242         (WebNetscapePluginStream::plugin):
243         (WebNetscapePluginStream::setRequestURL):
244         Convert to C++.
246         * Plugins/WebBaseNetscapePluginStream.mm:
247         (WebNetscapePluginStream::start):
248         (WebNetscapePluginStream::stop):
249         Ditto.
250         
251         (WebNetscapePluginStream::startStreamWithResponse):
252         Ditto.
253         
254         (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
255         Call the C++ version.
256         
257         (-[WebBaseNetscapePluginStream impl]):
258         New accessor for the C++ class.
259         
260         * Plugins/WebBaseNetscapePluginView.mm:
261         (-[WebBaseNetscapePluginView pluginView:receivedData:]):
262         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
263         (-[WebBaseNetscapePluginView destroyStream:reason:]):
264         Call the C++ methods.
266 2008-10-24  Sam Weinig  <sam@webkit.org>
268         Reviewed by Dan Bernstein.
270         Fix https://bugs.webkit.org/show_bug.cgi?id=21759
271         Layering violation: FileChooser should not depend on Document/Frame/Page
273         * WebCoreSupport/WebChromeClient.h:
274         * WebCoreSupport/WebChromeClient.mm:
275         (WebChromeClient::runOpenPanel):
277 2008-10-24  Anders Carlsson  <andersca@apple.com>
279         Fix Tiger build.
280         
281         * WebView/WebUIDelegate.h:
283 2008-10-24  Anders Carlsson  <andersca@apple.com>
285         Reviewed by Sam Weinig.
287         <rdar://problem/5440917> Support NPN_Construct
288         
289         Set construct.
290         
291         * Plugins/WebNetscapePluginPackage.m:
292         (-[WebNetscapePluginPackage load]):
294 2008-10-24  Mark Rowe  <mrowe@apple.com>
296         Rubber-stamped by Tim Hatcher.
298         <rdar://problem/6119711> Remove the dependency on Foundation's private __COCOA_FORMAL_PROTOCOLS__ define.
300         * Misc/EmptyProtocolDefinitions.h:
302 2008-10-24  Adele Peterson  <adele@apple.com>
304         Reviewed by Sam Weinig.
306         WebKit part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
308         * WebCoreSupport/WebChromeClient.mm:
309         (WebChromeClient::runOpenPanel):
310         (-[WebOpenPanelResultListener chooseFilenames:]):
311         * WebView/WebUIDelegate.h:
313 2008-10-24  Timothy Hatcher  <timothy@apple.com>
315         Implement new InspectorClient methods to work with Settings.
317         https://bugs.webkit.org/show_bug.cgi?id=21856
319         Reviewed by Darin Adler.
321         * WebCoreSupport/WebInspectorClient.h: Add the new methods and
322         guard the ObjC parts of the header.
324 2008-10-24  Darin Adler  <darin@apple.com>
326         - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
328         * WebView/WebFrame.mm:
329         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
330         * WebView/WebScriptDebugDelegate.mm:
331         (-[WebScriptCallFrame _convertValueToObjcValue:]):
332         (-[WebScriptCallFrame exception]):
333         (-[WebScriptCallFrame evaluateWebScript:]):
334         * WebView/WebView.mm:
335         (aeDescFromJSValue):
336         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
337         Use JSValue* instead of JSValuePtr.
339 2008-10-23  Mark Rowe  <mrowe@apple.com>
341         Build fix.
343         * Misc/WebKitErrors.m:
344         (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
346 2008-10-20  Sam Weinig  <sam@webkit.org>
348         Reviewed by Anders Carlsson.
350         Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.
352         * WebCoreSupport/WebFrameLoaderClient.h:
353         * WebCoreSupport/WebFrameLoaderClient.mm:
355 2008-10-20  Alexey Proskuryakov  <ap@webkit.org>
357         Reviewed by Oliver Hunt.
359         <rdar://problem/6277777> REGRESSION (r36954): XMLHttpRequest not working when
360         certain WebView delegate actions are taken
362         * WebView/WebFrame.mm: (-[WebFrame _attachScriptDebugger]): Don't accidentally create
363         a window shell if there is none yet.
365 2008-10-19  Darin Adler  <darin@apple.com>
367         Reviewed by Oliver Hunt.
369         - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
370           improve performance by eliminating JSValue as a base class for JSCell
372         Remove most uses of JSValue, which will be removed in a future patch.
374         * WebView/WebFrame.mm:
375         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
376         Use JSValuePtr instead of JSValue.
377         * WebView/WebScriptDebugger.h: Removed declaration of JSValue.
379 2008-10-18  Darin Adler  <darin@apple.com>
381         Reviewed by Oliver Hunt.
383         - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
384           improve performance by eliminating JSValue as a base class for JSCell
386         Tweak a little more to get closer to where we can make JSValuePtr a class.
388         * WebView/WebScriptDebugDelegate.mm:
389         (-[WebScriptCallFrame _convertValueToObjcValue:]): Use JSValuePtr.
390         (-[WebScriptCallFrame exception]): Ditto.
391         (-[WebScriptCallFrame evaluateWebScript:]): Ditto. And noValue.
392         * WebView/WebScriptDebugger.mm:
393         (WebScriptDebugger::WebScriptDebugger): Use new DebuggerCallFrame
394         constructor that doesn't require explicitly passing an exception.
395         * WebView/WebView.mm:
396         (aeDescFromJSValue): Use JSValuePtr.
397         (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
399 2008-10-18  Dan Bernstein  <mitz@apple.com>
401         Reviewed by Sam Weinig.
403         - WebKit/mac part of https://bugs.webkit.org/show_bug.cgi?id=21736
404           Long-dead decoded image data make up for most of the object cache's memory use over time
406         * WebView/WebView.mm:
407         (+[WebView _setCacheModel:]): In the primary web browser model, set the
408         cache's dead decoded data deletion interval to 60 seconds.
410 2008-10-15  Mark Rowe  <mrowe@apple.com>
412         Reviewed by Jon Honeycutt.
414         Fix a leak of a CFStringRef reported by the build bot.
416         * Plugins/WebBaseNetscapePluginView.mm:
417         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): Use a autoreleased
418         NSString rather than manually releasing a CFStringRef when we're done with it.
420 2008-10-15  Kenneth Russell  <kenneth.russell@sun.com>
422         Reviewed and landed by Anders Carlsson.
424         https://bugs.webkit.org/show_bug.cgi?id=21572
425         
426         Initialize pluginFunc.size to the correct size before calling NP_GetEntryPoints.
427         
428         * Plugins/WebNetscapePluginPackage.m:
429         (-[WebNetscapePluginPackage load]):
431 2008-10-15  Mark Rowe  <mrowe@apple.com>
433         Reviewed by Dan Bernstein.
435         <rdar://problem/6272508> Crash occurs after loading flash content at http://www.macrumors.com/
437         Restore some code related to the CoreGraphics drawing model that was misplaced in r37131.
439         * Plugins/WebBaseNetscapePluginView.mm:
440         (-[WebBaseNetscapePluginView invalidateRegion:]):
441         (-[WebBaseNetscapePluginView setVariable:value:]):
443 2008-10-15  Geoffrey Garen  <ggaren@apple.com>
445         Reviewed by Cameron Zwarich.
447         Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
448         Start the debugger without reloading the inspected page
450         * WebInspector/WebInspector.mm:
451         (-[WebInspector startDebuggingJavaScript:]): Updated for rename.
453 2008-10-14  Maxime Britto  <britto@apple.com>
455         Reviewed by Darin Adler.
457         Added SPI to use WebCore's TextIterator with WebKit.
459         * WebView/WebTextIterator.h: Added.
460         * WebView/WebTextIterator.mm: Added.
461         (-[WebTextIteratorPrivate dealloc]):
462         (-[WebTextIterator dealloc]):
463         (-[WebTextIterator initWithRange:]): Creates a TextIterator 
464         instance
465         (-[WebTextIterator advance]): Asks the iterator to advance() .
466         (-[WebTextIterator currentNode]): Returns the current DOMNode from 
467         the iterator
468         (-[WebTextIterator currentText]): Returns the current text from the 
469         iterator
470         (-[WebTextIterator atEnd]): Indicated whether the iterator has 
471         reached the end of the range.
472         * WebView/WebView.h:
473         * WebView/WebView.mm:
474         (-[WebView textIteratorForRect:]): Returns a WebTextIterator with 
475         the DOMRange contained in the rectangle given as a parameter.
477 2008-10-15  Timothy Hatcher  <timothy@apple.com>
479         Clean up user agent generation to simplify the _standardUserAgentWithApplicationName:
480         class method to not require a WebKit version.
482         Reviewed by Darin Adler.
484         * WebView/WebView.mm:
485         (+[WebView _standardUserAgentWithApplicationName:]): Create the WebKit version.
486         (-[WebView WebCore::_userAgentForURL:]): Use the simplified _standardUserAgentWithApplicationName:.
487         Remove code that created the WebKit version.
488         * WebView/WebViewPrivate.h: Change the method name of _standardUserAgentWithApplicationName:.
490 2008-10-14  Timothy Hatcher  <timothy@apple.com>
492         Make the user agent generation method a class method and cache the WebKit
493         version in a static to prevent generating it every time. This is needed
494         clean up to fix <rdar://problem/6292331>. Moved all code to WebPrivate so
495         the class method can be in the WebViewPrivate.h header.
497         Reviewed by John Sullivan.
499         * WebView/WebView.mm:
500         (callGestalt): Moved. Same code.
501         (createMacOSXVersionString): Moved. Same code.
502         (createUserVisibleWebKitVersionString): Moved from _userVisibleBundleVersionFromFullVersion:
503         and returns a copied string.
504         (+[WebView _standardUserAgentWithApplicationName:andWebKitVersion:]): Made into a class method.
505         (-[WebView WebCore::_userAgentForURL:]): Changed to cache the WebKit version.
506         * WebView/WebViewPrivate.h: Added +_standardUserAgentWithApplicationName:andWebKitVersion:.
508 2008-10-13  Maciej Stachowiak  <mjs@apple.com>
510         Rubber stamped by Mark Rowe.
511         
512         - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
514         * Configurations/DebugRelease.xcconfig:
516 2008-10-11  Dan Bernstein  <mitz@apple.com>
518         Reviewed by Sam Weinig.
520         - rename _setAlwaysUseATSU to _setAlwaysUsesComplexTextCodePath and
521           update it for the renamed WebCoreTextRenderer method; keep the old
522           method around for clients that use it
524         * WebView/WebView.mm:
525         (+[WebView _setAlwaysUseATSU:]):
526         (+[WebView _setAlwaysUsesComplexTextCodePath:]):
527         * WebView/WebViewPrivate.h:
529 2008-10-09  Timothy Hatcher  <timothy@apple.com>
531         Don't convert JavaScriptCore header include paths to WebKit paths. This was needed
532         back when NPAPI and WebScriptObject migrated from JavaScriptCore. Also remove
533         JavaScriptCore from the VPATH.
535         Reviewed by Sam Weinig.
537         * MigrateHeaders.make:
539 2008-10-08  Darin Adler  <darin@apple.com>
541         Reviewed by Cameron Zwarich.
543         - https://bugs.webkit.org/show_bug.cgi?id=21403
544           Bug 21403: use new CallFrame class rather than Register* for call frame manipulation
546         * WebView/WebScriptDebugger.mm:
547         (WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now.
549 2008-10-08  Timothy Hatcher  <timothy@apple.com>
551         Roll out r37427 because it causes an infinite recursion loading about:blank.
553         https://bugs.webkit.org/show_bug.cgi?id=21476
555 2008-10-08  Darin Adler  <darin@apple.com>
557         Reviewed by Cameron Zwarich.
559         - https://bugs.webkit.org/show_bug.cgi?id=21403
560           Bug 21403: use new CallFrame class rather than Register* for call frame manipulation
562         * WebView/WebScriptDebugger.mm:
563         (WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now.
565 2008-10-07  David Hyatt  <hyatt@apple.com>
567         Move viewless WebKit methods that Safari needs from WebViewInternal to WebViewPrivate.
569         Reviewed by Tim Hatcher
571         * WebView/WebView.mm:
572         (WebKitInitializeApplicationCachePathIfNecessary):
573         (-[WebView _registerDraggedTypes]):
574         (-[WebView _usesDocumentViews]):
575         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
576         (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]):
577         (-[WebView isFlipped]):
578         (-[WebView viewWillDraw]):
579         * WebView/WebViewInternal.h:
580         * WebView/WebViewPrivate.h:
582 2008-10-07  David Hyatt  <hyatt@apple.com>
584         Fix crash in isFlipped.  Null check _private since isFlipped can get called from within AppKit
585         machinery during teardown of the WebView.
587         Reviewed by Adam Roben
589         * WebView/WebView.mm:
590         (-[WebView isFlipped]):
592 2008-10-07  David Hyatt  <hyatt@apple.com>
594         Make viewless WebKit update focused and active state when the window becomes and loses key.
595         The focus controller has been patched to understand that in viewless mode it can recur down and
596         update all of the frames, which is why this code works now when placed just on the WebView.
598         Reviewed by Adam Roben
600         * WebView/WebView.mm:
601         (-[WebView addWindowObservers]):
602         (-[WebView removeWindowObservers]):
603         (-[WebView viewWillMoveToWindow:]):
604         (-[WebView viewDidMoveToWindow]):
605         (-[WebView _updateFocusedAndActiveState]):
606         (-[WebView _windowDidBecomeKey:]):
607         (-[WebView _windowDidResignKey:]):
608         (-[WebView _windowWillOrderOnScreen:]):
610 2008-10-07  David Hyatt  <hyatt@apple.com>
612         Make sure the parent visibility state is set up properly on the outermost ScrollView widget.
613         This fixes the repainting issues with viewless WebKit on Mac.
615         Reviewed by Sam Weinig
617         * WebCoreSupport/WebFrameLoaderClient.mm:
618         (WebFrameLoaderClient::transitionToCommittedForNewPage):
620 2008-10-07  David Hyatt  <hyatt@apple.com>
622         Make sure viewless Mac WebKit does a layout if needed before drawing.
624         Reviewed by Sam Weinig
626         * WebView/WebView.mm:
627         (-[WebView viewWillDraw]):
629 2008-10-07  David Hyatt  <hyatt@apple.com>
631         Make sure observers get hooked up to watch for size changes in viewless WebKit mode.
633         Reviewed by Sam Weinig
635         * ChangeLog:
636         * WebView/WebFrame.mm:
637         (-[WebFrame _drawRect:contentsOnly:]):
638         * WebView/WebView.mm:
639         (-[WebView viewWillDraw]):
640         (-[WebView _boundsChanged]):
641         (-[WebView addSizeObservers]):
642         (-[WebView viewDidMoveToWindow]):
643         (-[WebView viewDidMoveToSuperview]):
645 2008-10-07  David Hyatt  <hyatt@apple.com>
647         Make sure WebView listens for size changes and resizes the frame view in viewless mode.
649         Reviewed by Sam Weinig
651         * WebView/WebView.mm:
652         (-[WebView addSizeObservers]):
653         (-[WebView viewDidMoveToWindow]):
654         (-[WebView viewDidMoveToSuperview]):
656 2008-10-06  David Hyatt  <hyatt@apple.com>
658         Enable viewless Mac WebKit to paint some basic pages.
659         
660         Reviewed by Sam Weinig
662         * WebCoreSupport/WebChromeClient.mm:
663         (WebChromeClient::windowResizerRect):
664         (WebChromeClient::repaint):
665         (WebChromeClient::screenToWindow):
666         (WebChromeClient::windowToScreen):
667         (WebChromeClient::platformWindow):
668         * WebCoreSupport/WebFrameLoaderClient.h:
669         * WebCoreSupport/WebFrameLoaderClient.mm:
670         (WebFrameLoaderClient::forceLayoutForNonHTML):
671         (WebFrameLoaderClient::dispatchDidCommitLoad):
672         (WebFrameLoaderClient::transitionToCommittedForNewPage):
673         (WebFrameLoaderClient::createFrame):
674         * WebView/WebFrame.mm:
675         (-[WebFrame _drawRect:contentsOnly:]):
676         * WebView/WebFrameInternal.h:
677         * WebView/WebFrameView.mm:
678         * WebView/WebFrameViewInternal.h:
679         * WebView/WebHTMLView.mm:
680         (-[WebHTMLView drawSingleRect:]):
681         (-[WebHTMLView drawRect:]):
682         * WebView/WebView.mm:
683         (-[WebView isFlipped]):
684         (-[WebView _boundsChanged]):
685         (-[WebView _mustDrawUnionedRect:singleRects:count:]):
686         (-[WebView drawSingleRect:]):
687         (-[WebView drawRect:]):
688         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
689         (-[WebView initWithFrame:frameName:groupName:]):
690         (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]):
691         (-[WebView initWithCoder:]):
692         (-[WebView removeSizeObservers]):
693         (-[WebView viewWillMoveToWindow:]):
694         (-[WebView viewWillMoveToSuperview:]):
695         (-[WebView _usesDocumentViews]):
696         * WebView/WebViewInternal.h:
698 2008-10-06  Kevin Decker  <kdecker@apple.com>
700         Rubber-stamped by Anders Carlsson.
702         Rename _webkit_applicationCacheDirectoryWithBundleIdentifier to _webkit_localCacheDirectoryWithBundleIdentifier.
703         
704         * Misc/WebKitNSStringExtras.h:
705         * Misc/WebKitNSStringExtras.m:
706         (+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]):
707         * WebView/WebDataSource.mm:
708         (-[WebDataSource _transferApplicationCache:]):
709         * WebView/WebView.mm:
710         (WebKitInitializeApplicationCachePathIfNecessary):
712 2008-10-06  Anders Carlsson  <andersca@apple.com>
714         Reviewed by Sam Weinig.
716         Make WebNetscapePluginStream a WebCore::NetscapePlugInStreamLoaderClient.
717         
718         * Plugins/WebBaseNetscapePluginStream.h:
719         (WebNetscapePluginStream::~WebNetscapePluginStream):
720         * Plugins/WebBaseNetscapePluginStream.mm:
721         (WebNetscapePluginStream::didReceiveResponse):
722         (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
723         (WebNetscapePluginStream::wantsAllStreams):
724         (-[WebBaseNetscapePluginStream wantsAllStreams]):
725         (WebNetscapePluginStream::didFail):
726         (-[WebBaseNetscapePluginStream destroyStreamWithError:]):
727         (WebNetscapePluginStream::didFinishLoading):
728         (-[WebBaseNetscapePluginStream finishedLoading]):
729         (WebNetscapePluginStream::didReceiveData):
730         (-[WebBaseNetscapePluginStream receivedData:]):
732 2008-10-06  Anders Carlsson  <andersca@apple.com>
734         Bring back the stop method. It was called through performSelector, which
735         is why I couldn't find any references to it.
737         * Plugins/WebBaseNetscapePluginStream.h:
738         * Plugins/WebBaseNetscapePluginStream.mm:
739         (-[WebBaseNetscapePluginStream stop]):
741 2008-10-06  Anders Carlsson  <andersca@apple.com>
743         Reviewed by Sam Weinig.
745         More conversion and cleanup.
746         
747         * Plugins/WebBaseNetscapePluginStream.h:
748         * Plugins/WebBaseNetscapePluginStream.mm:
749         (WebNetscapePluginStream::startStream):
750         (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
751         * Plugins/WebBaseNetscapePluginView.mm:
752         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
754 2008-10-06  Anders Carlsson  <andersca@apple.com>
756         Reviewed by Sam Weinig.
758         Fold initWithRequestURL into initWithRequest.
759         
760         * Plugins/WebBaseNetscapePluginStream.h:
761         * Plugins/WebBaseNetscapePluginStream.mm:
762         (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
764 2008-10-06  Anders Carlsson  <andersca@apple.com>
766         Reviewed by Sam Weinig.
768         Change the init methods not to return nil on failures. (These failures never occur anyway)
769         
770         Use initWithRequest as the initializer, initWithRequestURL is going to be merged with it.
771         
772         * Plugins/WebBaseNetscapePluginStream.mm:
773         (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
774         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
775         * Plugins/WebBaseNetscapePluginView.mm:
776         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
778 2008-10-06  Anders Carlsson  <andersca@apple.com>
780         Reviewed by David Hyatt.
782         Convert more methods over to C++.
783         
784         * Plugins/WebBaseNetscapePluginStream.h:
785         * Plugins/WebBaseNetscapePluginStream.mm:
786         (WebNetscapePluginStream::ownerForStream):
787         (WebNetscapePluginStream::pluginCancelledConnectionError):
788         (WebNetscapePluginStream::errorForReason):
789         (-[WebBaseNetscapePluginStream errorForReason:]):
790         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
791         (WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError):
792         (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]):
793         (WebNetscapePluginStream::deliverData):
794         (WebNetscapePluginStream::deliverDataTimerFired):
795         (WebNetscapePluginStream::deliverDataToFile):
796         (-[WebBaseNetscapePluginStream finishedLoading]):
797         (-[WebBaseNetscapePluginStream receivedData:]):
798         * Plugins/WebBaseNetscapePluginView.mm:
799         (-[WebBaseNetscapePluginView destroyStream:reason:]):
801 2008-10-06  David Hyatt  <hyatt@apple.com>
803         Add SPI for a new viewless WebKit mode.  The idea is that when this flag is set there will be no
804         views created except for the outermost WebView.
806         Reviewed by Tim Hatcher
808         * WebView/WebView.mm:
809         * WebView/WebViewInternal.h:
811 2008-10-06  Anders Carlsson  <andersca@apple.com>
813         Reviewed by David Hyatt.
815         Convert more methods over to C++.
816         
817         * Plugins/WebBaseNetscapePluginStream.h:
818         * Plugins/WebBaseNetscapePluginStream.mm:
819         (WebNetscapePluginStream::reasonForError):
820         (WebNetscapePluginStream::destroyStreamWithReason):
821         (WebNetscapePluginStream::cancelLoadWithError):
822         (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
823         (WebNetscapePluginStream::destroyStreamWithError):
824         (-[WebBaseNetscapePluginStream destroyStreamWithError:]):
825         (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]):
826         (-[WebBaseNetscapePluginStream _deliverDataToFile:]):
827         (-[WebBaseNetscapePluginStream finishedLoading]):
828         * Plugins/WebBaseNetscapePluginView.mm:
829         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]):
831 2008-10-04  Darin Adler  <darin@apple.com>
833         Reviewed by Cameron Zwarich.
835         - https://bugs.webkit.org/show_bug.cgi?id=21295
836           Bug 21295: Replace ExecState with a call frame Register pointer
838         * WebView/WebScriptDebugger.mm:
839         (WebScriptDebugger::WebScriptDebugger): Remove 0 passed for ExecState.
841 2008-10-03  John Sullivan  <sullivan@apple.com>
843         Fixed Release build
845         * Plugins/WebBaseNetscapePluginStream.mm:
846         (WebNetscapePluginStream::destroyStream):
847         added !LOG_DISABLED guard around declaration of npErr used only in LOG
849 2008-10-03  Anders Carlsson  <andersca@apple.com>
851         Reviewed by David Hyatt.
852         
853         Convert destroyStream over to C++.
854         
855         * Plugins/WebBaseNetscapePluginStream.h:
856         * Plugins/WebBaseNetscapePluginStream.mm:
857         (WebNetscapePluginStream::destroyStream):
858         (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
859         (-[WebBaseNetscapePluginStream _deliverData]):
861 2008-10-03  Anders Carlsson  <andersca@apple.com>
863         Reviewed by David Hyatt.
865         Use a Timer instead of -[NSObject performSelector:withObject:afterDelay];
866         
867         * Plugins/WebBaseNetscapePluginStream.h:
868         (WebNetscapePluginStream::WebNetscapePluginStream):
869         * Plugins/WebBaseNetscapePluginStream.mm:
870         (-[WebBaseNetscapePluginStream _destroyStream]):
871         (-[WebBaseNetscapePluginStream _deliverData]):
872         (WebNetscapePluginStream::deliverDataTimerFired):
874 2008-10-03  Anders Carlsson  <andersca@apple.com>
876         Reviewed by David Hyatt.
878         More plug-in stream cleanup.
879         
880         * Plugins/WebBaseNetscapePluginStream.h:
881         (WebNetscapePluginStream::create):
882         (WebNetscapePluginStream::WebNetscapePluginStream):
883         * Plugins/WebBaseNetscapePluginStream.mm:
884         (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
885         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
886         (-[WebBaseNetscapePluginStream dealloc]):
887         (-[WebBaseNetscapePluginStream finalize]):
888         (-[WebBaseNetscapePluginStream setPlugin:]):
889         (WebNetscapePluginStream::setPlugin):
890         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
891         (-[WebBaseNetscapePluginStream _destroyStream]):
893 2008-10-03  David Hyatt  <hyatt@apple.com>
895         Remove addToDirtyRegion.
896         
897         Reviewed by Oliver Hunt
898         
899         * WebCoreSupport/WebChromeClient.h:
900         * WebCoreSupport/WebChromeClient.mm:
902 2008-10-02  David Hyatt  <hyatt@apple.com>
904         https://bugs.webkit.org/show_bug.cgi?id=21328
905         
906         Make widget invalidation more cross-platform.
907         
908         (1) Make invalidateRect a pure virtual function on Widget.  All leaf widgets must now implement this function.
909         
910         (2) Scrollbars now send invalidations through the ScrollbarClient.  windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
911         This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
912         
913         (3) Plugins now have the native window invalidation code for windowed plugins.  Windowless plugins do a repaintRectangle on the plugin's renderer.
914         
915         (4) FrameViews now do a repaintRectangle on their owner element's renderer.
917         Reviewed by Sam Weinig
919         * WebCoreSupport/WebFrameLoaderClient.mm:
920         (PluginWidget::PluginWidget):
921         (PluginWidget::invalidateRect):
922         (NetscapePluginWidget::NetscapePluginWidget):
923         (WebFrameLoaderClient::createPlugin):
925 2008-10-02  Darin Adler  <darin@apple.com>
927         Reviewed by Geoff Garen.
929         - https://bugs.webkit.org/show_bug.cgi?id=21321
930           Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
932         * Misc/WebCoreStatistics.mm:
933         (+[WebCoreStatistics javaScriptObjectsCount]): Use heap. instead of heap-> to
934         work with the heap.
935         (+[WebCoreStatistics javaScriptGlobalObjectsCount]): Ditto.
936         (+[WebCoreStatistics javaScriptProtectedObjectsCount]): Ditto.
937         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): Ditto.
938         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): Ditto.
939         (+[WebCoreStatistics javaScriptReferencedObjectsCount]): Ditto.
941 2008-10-02  David Hyatt  <hyatt@apple.com>
943         https://bugs.webkit.org/show_bug.cgi?id=21314
944         
945         Make scrollBackingStore cross-platform.
947         Reviewed by Sam Weinig
949         * WebCoreSupport/WebChromeClient.h:
950         * WebCoreSupport/WebChromeClient.mm:
951         (WebChromeClient::repaint):
952         (WebChromeClient::scroll):
954 2008-10-01  Geoffrey Garen  <ggaren@apple.com>
956         Reviewed by Darin Adler and Cameron Zwarich.
958         Updated for JavaScriptCore API changes: use a SourceCode instead of
959         broken out parameters; treat sourceId as intptr_t.
960         
961         We still treat sourceId as int in some cases because of DashCode. See
962         <rdar://problem/6263293> WebScriptDebugDelegate should use intptr_t for
963         sourceId, not int.
965         * WebView/WebScriptDebugger.h:
966         * WebView/WebScriptDebugger.mm:
967         (toNSString):
968         (WebScriptDebugger::sourceParsed):
969         (WebScriptDebugger::callEvent):
970         (WebScriptDebugger::atStatement):
971         (WebScriptDebugger::returnEvent):
972         (WebScriptDebugger::exception):
973         (WebScriptDebugger::willExecuteProgram):
974         (WebScriptDebugger::didExecuteProgram):
975         (WebScriptDebugger::didReachBreakpoint):
977 2008-10-01  David Hyatt  <hyatt@apple.com>
979         Move prohibitsScrolling from the Frame to the ScrollView.
981         Reviewed by Sam Weinig
983         * WebView/WebView.mm:
984         (-[WebView setProhibitsMainFrameScrolling:]):
986 2008-10-01  David Hyatt  <hyatt@apple.com>
988         https://bugs.webkit.org/show_bug.cgi?id=21282
989         
990         Make contentsToScreen/screenToContents cross-platform.  Only implemented by Mac/Win right now.
991         
992         Reviewed by Adam Roben
994         * WebCoreSupport/WebChromeClient.h:
995         * WebCoreSupport/WebChromeClient.mm:
996         (WebChromeClient::repaint):
997         (WebChromeClient::screenToWindow):
998         (WebChromeClient::windowToScreen):
1000 2008-09-30   Dave Hyatt  <hyatt@apple.com>
1002         https://bugs.webkit.org/show_bug.cgi?id=21269
1003   
1004         This patch makes the ScrollView::paint method cross-platform.  The paint method calls the base class
1005         Widget paint on platforms with native widgets (Mac and wx).  Otherwise it calls a virtual function,
1006         paintContents, to paint the ScrollView's contents, and then it paints each of the two scrollbars and
1007         the scrollbar corner.
1008         
1009         The scrollbar themes are now responsible for painting scrollbar corners.  At the moment ScrollbarThemeWin still
1010         paints white (which is incorrect), so a future patch will actually implement proper native scroll corner painting
1011         for Windows.
1012         
1013         paintContents is implemented by FrameView, and replaces Frame::paint.  All of the FramePrivate member
1014         variables used by Frame::paint have moved to FrameViewPrivate instead.  All callers of Frame::paint have
1015         been patched to use FrameView::paintContents instead.
1016        
1017         Reviewed by Darin Adler
1019         * WebView/WebFrame.mm:
1020         (-[WebFrame _drawRect:]):
1022 2008-09-30  Kevin Decker  <kdecker@apple.com>
1024         Reviewed by Anders Carlsson.
1026         Remove the NPDrawingModelOpenGL entirely. To my knowledge no shipping plug-in ever used it, and no other browser engine
1027         ever supported it.
1028                               
1029         * Plugins/WebBaseNetscapePluginView.h: Removed AGL.h import and OpenGL related ivars.
1030         * Plugins/WebBaseNetscapePluginView.mm: Removed soft linking for OpenGL and AGL frameworks. 
1031         Also removed many methods AGL/CGL support methods that are no longer necessary.
1032         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed NPDrawingModelOpenGL related code.
1033         (-[WebBaseNetscapePluginView restorePortState:]): Ditto.
1034         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): Ditto.
1035         (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): Ditto.
1036         (-[WebBaseNetscapePluginView setWindowIfNecessary]): Ditto.
1037         (-[WebBaseNetscapePluginView stop]): Ditto.
1038         (-[WebBaseNetscapePluginView dealloc]): Ditto.
1039         (-[WebBaseNetscapePluginView drawRect:]): 
1040         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Ditto.
1041         (-[WebBaseNetscapePluginView invalidateRegion:]): Ditto.
1042         (-[WebBaseNetscapePluginView getVariable:value:]): Tell plug-ins WebKit does not support NPDrawingModelOpenGL.
1043         (-[WebBaseNetscapePluginView setVariable:value:]): Removed NPDrawingModelOpenGL related code. 
1044         (-[WebBaseNetscapePluginView _viewHasMoved]): Ditto.
1046 2008-09-30  Dave Hyatt  <hyatt@apple.com>
1048         http://bugs.webkit.org/show_bug.cgi?id=21250
1049         
1050         Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
1051         repaints up through the ChromeClient.
1052         
1053         Reviewed by Darin Adler
1055         * WebCoreSupport/WebChromeClient.h:
1056         * WebCoreSupport/WebChromeClient.mm:
1057         (WebChromeClient::repaint):
1059 2008-09-30  Anders Carlsson  <andersca@apple.com>
1061         Reviewed by Mark Rowe and Adam Roben.
1063         No need to use pointers to store C++ objects as pointers in WebViewPrivate, we can just
1064         store them directly.
1065         
1066         * Configurations/Base.xcconfig:
1067         Set GCC_OBJC_CALL_CXX_CDTORS to YES.
1068         
1069         * WebView/WebView.mm:
1070         (-[WebViewPrivate init]):
1071         (-[WebViewPrivate dealloc]):
1072         (-[WebViewPrivate finalize]):
1073         (-[WebView _preferencesChangedNotification:]):
1074         (-[WebView setApplicationNameForUserAgent:]):
1075         (-[WebView setCustomUserAgent:]):
1076         (-[WebView customUserAgent]):
1077         (-[WebView WebCore::_userAgentForURL:WebCore::]):
1078         (-[WebView _addObject:forIdentifier:]):
1079         (-[WebView _objectForIdentifier:]):
1080         (-[WebView _removeObjectForIdentifier:]):
1082 2008-09-29  Thiago Macieira  <thiago.macieira@nokia.com>
1084         Reviewed by Simon.
1086         Changed copyright from Trolltech ASA to Nokia.
1087         
1088         Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
1089         
1091         * WebCoreSupport/WebChromeClient.h:
1092         * WebCoreSupport/WebChromeClient.mm:
1093         * WebCoreSupport/WebEditorClient.h:
1094         * WebCoreSupport/WebEditorClient.mm:
1096 2008-09-28  Timothy Hatcher  <timothy@apple.com>
1098         Improves the Web Inspector node highlight so it does not scroll
1099         to reveal the node in the page. This makes the highlight less
1100         invasive and causes less things to change on screen. Also makes
1101         the highlight redraw when the WebView draws, so it stays current
1102         if the node changes on the page for any reason.
1104         <rdar://problem/6115804> Don't scroll when highlighting (21000)
1105         https://bugs.webkit.org/show_bug.cgi?id=21000
1107         Reviewed by Dan Bernstein.
1109         * WebCoreSupport/WebInspectorClient.mm:
1110         (-[WebInspectorWindowController highlightNode:]): Call setNeedsDisplay:YES
1111         if there is an existing highlight.
1112         (-[WebInspectorWindowController didAttachWebNodeHighlight:]): Set the current
1113         highlight node on the inspected WebView.
1114         (-[WebInspectorWindowController willDetachWebNodeHighlight:]): Set the current
1115         highlight node on the inspected WebView to nil.
1116         * WebInspector/WebNodeHighlight.m:
1117         (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Disable screen updates
1118         until flush for the inspected window. Invalidate the whole highlight view since
1119         we don't know the rect that needs updated since the highlight can be larger than
1120         the highlighted element due to the margins and other factors.
1121         * WebInspector/WebNodeHighlightView.m:
1122         * WebView/WebHTMLView.mm:
1123         (-[WebHTMLView drawSingleRect:]): Call setNeedsUpdateInTargetViewRect: on the
1124         current highlight node.
1125         * WebView/WebView.mm:
1126         (-[WebViewPrivate dealloc]): Release the current highlight node.
1127         (-[WebView setCurrentNodeHighlight:]): Set the current highlight node.
1128         (-[WebView currentNodeHighlight]): Return the current highlight node.
1129         * WebView/WebViewInternal.h:
1131 2008-09-28  David Kilzer  <ddkilzer@apple.com>
1133         Fix build warning in WebDefaultUIDelegate.m
1135         Reviewed by Dan Bernstein.
1137         This fixes a warning noticed by the clang static analyzer:
1138         .../WebDefaultUIDelegate.m: In function â€˜-[WebDefaultUIDelegate webViewFirstResponder:]’:
1139         .../WebDefaultUIDelegate.m:92: warning: initialization from distinct Objective-C type
1141         Note that this doesn't actually cause any change in behavior since
1142         the gcc compiler ignores the semi-colon anyway.
1144         * DefaultDelegates/WebDefaultUIDelegate.m:
1145         (-[WebDefaultUIDelegate webViewFirstResponder:]): Removed semi-colon
1146         from method signature.
1148 2008-09-27  David Hyatt  <hyatt@apple.com>
1150         Fix for https://bugs.webkit.org/show_bug.cgi?id=21182
1152         Make sure Mac null checks the view like the other platforms do now that Mac goes through WebCore
1153         to call setAllowsScrolling.
1155         Reviewed by Mark Rowe
1157         * WebCoreSupport/WebFrameLoaderClient.mm:
1158         (WebFrameLoaderClient::createFrame):
1160 2008-09-27  Anders Carlsson  <andersca@apple.com>
1162         Reviewed by Sam Weinig.
1164         https://bugs.webkit.org/show_bug.cgi?id=21178
1165         <rdar://problem/6248651>
1167         Check if the plug-in is allowed to load the resource. This matches Firefox.
1168         
1169         * Plugins/WebBaseNetscapePluginView.mm:
1170         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
1172 2008-09-26  Matt Lilek  <webkit@mattlilek.com>
1174         Reviewed by Tim Hatcher.
1176         Update FEATURE_DEFINES after ENABLE_CROSS_DOCUMENT_MESSAGING was removed.
1178         * Configurations/WebKit.xcconfig:
1180 2008-09-26  David Hyatt  <hyatt@apple.com>
1182         https://bugs.webkit.org/show_bug.cgi?id=21164
1184         Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
1186         Reviewed by Sam Weinig
1188         * WebCoreSupport/WebFrameLoaderClient.mm:
1189         (WebFrameLoaderClient::createFrame):
1190         * WebView/WebDynamicScrollBarsView.h:
1191         * WebView/WebDynamicScrollBarsView.m:
1192         * WebView/WebDynamicScrollBarsViewInternal.h:
1193         * WebView/WebFrameView.mm:
1194         (-[WebFrameView setAllowsScrolling:]):
1195         (-[WebFrameView allowsScrolling]):
1197 2008-09-26  David Hyatt  <hyatt@apple.com>
1199         https://bugs.webkit.org/show_bug.cgi?id=21149
1201         More refactoring to make scrollbar modes cross-platform.  Reduce the protocol that
1202         WebDynamicScrollBarsView has to implement for communicating with WebCore to just three methods.
1204         Reviewed by Sam Weinig
1206         * WebView/WebDynamicScrollBarsView.m:
1207         (-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]):
1208         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]):
1209         (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]):
1210         (-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]):
1211         * WebView/WebDynamicScrollBarsViewInternal.h:
1212         * WebView/WebFrameView.mm:
1213         (-[WebFrameView setAllowsScrolling:]):
1214         * WebView/WebView.mm:
1215         (-[WebView setAlwaysShowVerticalScroller:]):
1216         (-[WebView setAlwaysShowHorizontalScroller:]):
1218 2008-09-26  David Kilzer  <ddkilzer@apple.com>
1220         Fix Mac build with XSLT disabled
1222         Reviewed by Alexey.
1224         * Misc/WebCache.mm:
1225         (+[WebCache statistics]): Populate xslStyleSheet statistics with
1226         zeros if XSLT is disabled.
1228 2008-09-25  David Hyatt  <hyatt@apple.com>
1230         https://bugs.webkit.org/show_bug.cgi?id=21101
1232         Fix the updating of the active state to not be dumb, so that viewless scrollbars repaint properly.
1234         Reviewed by Tim Hatcher
1236         * WebView/WebHTMLView.mm:
1237         (-[WebHTMLView _updateFocusedAndActiveState]):
1239 2008-09-24  Darin Adler  <darin@apple.com>
1241         Reviewed by Dan Bernstein.
1243         - https://bugs.webkit.org/show_bug.cgi?id=21079
1244           <rdar://problem/6203938> Disallow embedding Safari-generated pages
1245           (e.g bookmarks collection) in subframes
1247         * DefaultDelegates/WebDefaultPolicyDelegate.m:
1248         (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
1249         Use the new +[WebView _canHandleRequest:forMainFrame:] so we can give
1250         a different answer for the main frame and subframes.
1251         * WebCoreSupport/WebFrameLoaderClient.mm:
1252         (WebFrameLoaderClient::canHandleRequest): Ditto.
1254         * WebView/WebView.mm:
1255         (+[WebView _canHandleRequest:forMainFrame:]): Added forMainFrame. Only look
1256         for scheme-specific representations for the main frame, not subframes. 
1257         (+[WebView _canHandleRequest:]): Give answer for main frame -- calls the
1258         method above with YES for main frame.
1260         * WebView/WebViewInternal.h: Added _canHandleRequest:forMainFrame:.
1262 2008-09-23  David Hyatt  <hyatt@apple.com>
1264         https://bugs.webkit.org/show_bug.cgi?id=21039
1266         Teach the viewless Mac scrollbar how to avoid the NSWindow resizer.
1268         Reviewed by Sam Weinig
1270         * WebCoreSupport/WebChromeClient.mm:
1271         (WebChromeClient::windowResizerRect):
1273 2008-09-23  Dan Bernstein  <mitz@apple.com>
1275         Reviewed by Beth Dakin.
1277         - fix <rdar://problem/6233388> Crash beneath -[WebFrameView keyDown:]
1279         Test: fast/events/keydown-remove-frame.html
1281         * WebView/WebFrameView.mm:
1282         (-[WebFrameView keyDown:]): Added a null check.
1284 2008-09-21  Dirk Schulze  <vbs85@gmx.de>
1286         Reviewed and landed by Eric Seidel.
1288         Moved CGFloat definition to WebKitPrefix so CGFloat can be used more
1289         freely throughout WebCore without worrying about breaking Tiger.
1291         * Misc/WebTypesInternal.h: Removed it from here.
1292         * WebKitPrefix.h: Added it here.
1294 2008-09-20  Matt Lilek  <webkit@mattlilek.com>
1296         Reviewed by Tim Hatcher.
1298         Revert r35688. We use a textured window on Leopard, which does not have the
1299         square corners of the standard Aqua window on Tiger.
1301         * WebCoreSupport/WebInspectorClient.mm:
1302         (-[WebInspectorWindowController window]): Add back the call to WKNSWindowMakeBottomCornersSquare.
1304 2008-09-19  Darin Adler  <darin@apple.com>
1306         Reviewed by Dan Bernstein.
1308         - speculative fix for https://bugs.webkit.org/show_bug.cgi?id=20943
1309           Assertion failure in RefCountedLeakCounter::cancelMessageSuppression() when closing a window
1311         * WebView/WebView.mm:
1312         (-[WebView _commonInitializationWithFrameName:groupName:]): Moved call to
1313         RefCountedLeakCounter::suppressMessages in here.
1314         (-[WebView initWithFrame:frameName:groupName:]): Moved it out of here.
1316 2008-09-18  Mark Rowe  <mrowe@apple.com>
1318         Reviewed by Dan Bernstein.
1320         Add SPI to WebView to allow DRT to clear the main frame's name between tests.
1322         * WebView/WebView.mm:
1323         (-[WebView _clearMainFrameName]):
1324         * WebView/WebViewPrivate.h:
1326 2008-09-18  Darin Adler  <darin@apple.com>
1328         Reviewed by Sam Weinig.
1330         - fix https://bugs.webkit.org/show_bug.cgi?id=20925
1331           LEAK messages appear every time I quit
1333         * WebView/WebPreferences.mm:
1334         (-[WebPreferences setFullDocumentTeardownEnabled:]): Removed unneeded call
1335         to setLogLeakMessages.
1336         * WebView/WebView.mm:
1337         (-[WebView _closeWithFastTeardown]): Call RefCountedLeakCounter::suppressMessages,
1338         telling it that we can't track leaks because at least one WebView was closed with
1339         fast teardown.
1340         (-[WebView _close]): Removed unneeded call to setLogLeakMessages. Added a call to
1341         cancelMessageSuppression since the WebView is no longer open.
1342         Added an explicit garbage collect to help with the case where we're closing during
1343         the quit process -- the garbageCollectSoon() calls done inside WebCore won't help
1344         us in that case.
1345         (-[WebView initWithFrame:frameName:groupName:]): Call
1346         RefCountedLeakCounter::suppressMessages telling it that we can't track leaks
1347         because at least one WebView is currently open.
1349 2008-09-18  Anders Carlsson  <andersca@apple.com>
1351         Reviewed by Adam Roben.
1353         Move the remainder of the stream ivars to the C++ object.
1354         
1355         * Plugins/WebBaseNetscapePluginStream.h:
1356         (WebNetscapePluginStream::WebNetscapePluginStream):
1357         * Plugins/WebBaseNetscapePluginStream.mm:
1358         (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
1359         (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
1360         (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
1361         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
1362         (-[WebBaseNetscapePluginStream dealloc]):
1363         (-[WebBaseNetscapePluginStream finalize]):
1364         (-[WebBaseNetscapePluginStream setPlugin:]):
1365         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
1366         (-[WebBaseNetscapePluginStream start]):
1367         (-[WebBaseNetscapePluginStream stop]):
1368         (-[WebBaseNetscapePluginStream wantsAllStreams]):
1369         (-[WebBaseNetscapePluginStream _destroyStream]):
1370         (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
1371         (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
1372         (-[WebBaseNetscapePluginStream _deliverData]):
1374 2008-09-17  David Hyatt  <hyatt@apple.com>
1376         Make the notion of Widget having an underlying native widget cross-platform.
1378         Reviewed by Sam Weinig
1380         * WebCoreSupport/WebFrameLoaderClient.mm:
1381         (NetscapePluginWidget::handleEvent):
1382         * WebView/WebFrame.mm:
1383         (-[WebFrame _dragSourceMovedTo:]):
1384         (-[WebFrame _dragSourceEndedAt:operation:]):
1385         * WebView/WebFrameView.mm:
1386         (-[WebFrameView _install]):
1387         * WebView/WebRenderNode.mm:
1388         (copyRenderNode):
1390 2008-09-16  Anders Carlsson  <andersca@apple.com>
1392         Reviewed by Cameron Zwarich.
1394         Move more instance variables down to the C++ class.
1396         * Plugins/WebBaseNetscapePluginStream.h:
1397         (WebNetscapePluginStream::WebNetscapePluginStream):
1398         * Plugins/WebBaseNetscapePluginStream.mm:
1399         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
1400         (-[WebBaseNetscapePluginStream dealloc]):
1401         (-[WebBaseNetscapePluginStream finalize]):
1402         (-[WebBaseNetscapePluginStream transferMode]):
1403         (-[WebBaseNetscapePluginStream plugin]):
1404         (-[WebBaseNetscapePluginStream setPlugin:]):
1405         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
1406         (-[WebBaseNetscapePluginStream wantsAllStreams]):
1407         (-[WebBaseNetscapePluginStream _destroyStream]):
1408         (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
1409         (-[WebBaseNetscapePluginStream _deliverData]):
1410         (-[WebBaseNetscapePluginStream _deliverDataToFile:]):
1411         (-[WebBaseNetscapePluginStream finishedLoading]):
1412         (-[WebBaseNetscapePluginStream receivedData:]):
1414 2008-09-16  Anders Carlsson  <andersca@apple.com>
1416         Reviewed by Dave Hyatt.
1418         Move a bunch of instance variables into the C++ class.
1419         
1420         * Plugins/WebBaseNetscapePluginStream.h:
1421         * Plugins/WebBaseNetscapePluginStream.mm:
1422         (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
1423         (-[WebBaseNetscapePluginStream errorForReason:]):
1424         (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
1425         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
1426         (-[WebBaseNetscapePluginStream dealloc]):
1427         (-[WebBaseNetscapePluginStream setRequestURL:]):
1428         (-[WebBaseNetscapePluginStream setResponseURL:]):
1429         (-[WebBaseNetscapePluginStream setMIMEType:]):
1430         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
1431         (-[WebBaseNetscapePluginStream _destroyStream]):
1432         (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
1433         (-[WebBaseNetscapePluginStream _deliverData]):
1434         (-[WebBaseNetscapePluginStream receivedData:]):
1436 2008-09-16  Anders Carlsson  <andersca@apple.com>
1438         Reviewed by Dave Hyatt.
1440         Add a new WebNetscapePluginStream C++ class. The idea is that it is supposed to replace the Obj-C 
1441         WebBaseNetscapePluginStream class. The plan is to gradually move/rewrite code from the Obj-C class to the C++ class
1442         until the C++ class can replace the Obj-C class.
1443         
1444         * Plugins/WebBaseNetscapePluginStream.h:
1445         (WebNetscapePluginStream::create):
1446         (WebNetscapePluginStream::WebNetscapePluginStream):
1447         * Plugins/WebBaseNetscapePluginStream.mm:
1448         (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
1449         (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
1450         (-[WebBaseNetscapePluginStream dealloc]):
1451         (-[WebBaseNetscapePluginStream finalize]):
1453 2008-09-16  Anders Carlsson  <andersca@apple.com>
1455         Reviewed by Dave Hyatt.
1457         Instead of storing a pointer to NPP method individually, just store a pointer to the NPNetscapeFuncs vtable.
1458         
1459         * Plugins/WebBaseNetscapePluginStream.h:
1460         * Plugins/WebBaseNetscapePluginStream.mm:
1461         (-[WebBaseNetscapePluginStream setPlugin:]):
1462         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
1463         (-[WebBaseNetscapePluginStream wantsAllStreams]):
1464         (-[WebBaseNetscapePluginStream _destroyStream]):
1465         (-[WebBaseNetscapePluginStream _deliverData]):
1466         * Plugins/WebNetscapePluginPackage.h:
1467         * Plugins/WebNetscapePluginPackage.m:
1468         (-[WebNetscapePluginPackage pluginFuncs]):
1470 2008-09-16  Anders Carlsson  <andersca@apple.com>
1472         Reviewed by Dave Hyatt.
1474         Remove references to WebNetscapePluginStream.
1475         
1476         * Plugins/WebBaseNetscapePluginView.h:
1477         * Plugins/WebNetscapePluginEmbeddedView.h:
1479 2008-09-15  Dan Bernstein  <mitz@apple.com>
1481         Reviewed by Dave Hyatt.
1483         - fix https://bugs.webkit.org/show_bug.cgi?id=20860
1484           REGRESSION: Crash in RenderLayer::hasVisibleContent() loading wavy.com
1486         * WebView/WebFrame.mm:
1487         (-[WebFrame _getVisibleRect:]): Changed to check if the RenderPart has
1488         layout before accessing it, instead of checking if the frame inside it
1489         has layout.
1491 2008-09-15  Chris Fleizach  <cfleizach@apple.com>
1493         Reviewed by Darin Adler, Beth Dakin
1495         Support strings for AXLists
1497         * WebCoreSupport/WebViewFactory.mm:
1498         (-[WebViewFactory AXDefinitionListTermText]):
1499         (-[WebViewFactory AXDefinitionListDefinitionText]):
1501 2008-09-15  Anders Carlsson  <andersca@apple.com>
1503         Reviewed by Mitz.
1505         Merge WebNetscapePluginStream into WebBaseNetscapePluginStream.
1507         * Plugins/WebBaseNetscapePluginStream.h:
1508         * Plugins/WebBaseNetscapePluginStream.mm:
1509         (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
1510         (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
1511         (-[WebBaseNetscapePluginStream dealloc]):
1512         (-[WebBaseNetscapePluginStream finalize]):
1513         (-[WebBaseNetscapePluginStream start]):
1514         (-[WebBaseNetscapePluginStream stop]):
1515         (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
1516         * Plugins/WebBaseNetscapePluginView.mm:
1517         (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
1518         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
1519         * Plugins/WebNetscapePluginEmbeddedView.mm:
1520         * Plugins/WebNetscapePluginStream.h: Removed.
1521         * Plugins/WebNetscapePluginStream.mm: Removed.
1523 2008-09-12  John Sullivan  <sullivan@apple.com>
1525         Fixed <rdar://problem/6110941> Clicking the print button in PDF content does nothing
1527         Reviewed by Darin Adler
1529         * WebView/WebPDFView.mm:
1530         (-[WebPDFView PDFViewPerformPrint:]):
1531         Implemented PDFKit delegate method that's called after a Print action in the PDF content
1533 2008-09-12  Dan Bernstein  <mitz@apple.com>
1535         Reviewed by John Sullivan.
1537         - fix a crash in -visibleRect when it is called during WebFrameView deallocation
1539         * WebView/WebFrameView.mm:
1540         (-[WebFrameView visibleRect]): Added an early return if _private is 0.
1542 2008-09-11  Dan Bernstein  <mitz@apple.com>
1544         Reviewed by John Sullivan.
1546         - eliminate excessive repainting when a clipped iframe is moved (noticed in <rdar://problem/6204032>)
1548         * WebView/WebFrame.mm:
1549         (-[WebFrame _getVisibleRect:]): Added. If the frame is in a RenderPart
1550         and has layout, gets the visible rect of the RenderPart and returns
1551         YES. Returns NO otherwise.
1552         * WebView/WebFrameInternal.h:
1553         * WebView/WebFrameView.mm:
1554         (-[WebFrameView visibleRect]): Added. Overrides this NSView method to
1555         take clipping in the render tree into account.
1557 2008-09-09  Dan Bernstein  <mitz@apple.com>
1559         - Tiger build fix
1561         * WebCoreSupport/WebSystemInterface.m:
1562         (InitWebCoreSystemInterface):
1564 2008-09-09  Dan Bernstein  <mitz@apple.com>
1566         Reviewed by Darin Adler.
1568         - WebKit part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
1570         * WebCoreSupport/WebSystemInterface.m:
1571         (InitWebCoreSystemInterface):
1573 2008-09-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
1575         Reviewed by Maciej Stachowiak.
1577         Bug 20704: Replace the KJS namespace
1578         <https://bugs.webkit.org/show_bug.cgi?id=20704>
1580         Rename the KJS namespace to JSC.
1582         * Misc/WebCoreStatistics.mm:
1583         * Plugins/WebBaseNetscapePluginStream.mm:
1584         (-[WebBaseNetscapePluginStream wantsAllStreams]):
1585         * Plugins/WebBaseNetscapePluginView.mm:
1586         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
1587         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
1588         (-[WebBaseNetscapePluginView start]):
1589         (-[WebBaseNetscapePluginView createPluginScriptableObject]):
1590         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
1591         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
1592         (-[WebBaseNetscapePluginView loadPluginRequest:]):
1593         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
1594         * Plugins/WebPluginController.mm:
1595         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
1596         (-[WebPluginController startAllPlugins]):
1597         (-[WebPluginController stopAllPlugins]):
1598         (-[WebPluginController addPlugin:]):
1599         (-[WebPluginController destroyPlugin:]):
1600         (-[WebPluginController destroyAllPlugins]):
1601         * WebView/WebFrame.mm:
1602         * WebView/WebScriptDebugDelegate.mm:
1603         * WebView/WebScriptDebugger.h:
1604         * WebView/WebScriptDebugger.mm:
1605         * WebView/WebView.mm:
1606         (-[WebViewPrivate init]):
1608 2008-09-05  Timothy Hatcher  <timothy@apple.com>
1610         Correct a typo in the setApplicationChromeModeEnabledEnabled:
1611         method name, remove the extra "Enabled".
1613         * WebView/WebPreferences.mm:
1614         * WebView/WebPreferencesPrivate.h:
1616 2008-09-04  Mark Rowe  <mrowe@apple.com>
1618         Reviewed by Eric Seidel.
1620         Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
1621         Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
1623         * Configurations/WebKit.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
1625 2008-09-03  Eric Seidel  <eric@webkit.org>
1627         Reviewed by Sam.
1629         Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
1631         * Configurations/WebKit.xcconfig:
1632         * WebKitPrefix.h: add rules for V8_BINDINGS
1634 2008-09-01  Adam Barth  <abarth@webkit.org>
1636         Reviewed by Sam Weinig.
1638         https://bugs.webkit.org/show_bug.cgi?id=19760
1640         Add a linked-on-or-after check to prevent substitute data from loading
1641         local resources on newer users of WebKit.
1643         * Misc/WebKitVersionChecks.h:
1644         * WebView/WebView.mm:
1645         (-[WebView _commonInitializationWithFrameName:groupName:]):
1647 2008-08-29  Brady Eidson  <beidson@apple.com>
1649         Reviewed by Anders
1651         Fix regression I introducted in 35946
1652         Already covered by media/video-click-dlbclick-standalone.html
1654         * WebView/WebHTMLRepresentation.mm:
1655         (-[WebHTMLRepresentation receivedData:withDataSource:]): Cancel the load here after
1656           calling [WebFrame _receivedData:] which more closely follows the path taken by PluginDocuments
1658 2008-08-28  Kevin McCullough  <kmccullough@apple.com>
1660         Reviewed by Geoff.
1662         <rdar://problem/6095949> REGRESSION (5525.8-6527.1?): "this" is null
1663         when you first hit a breakpoint in Dashcode
1664         - We wanted to reset the callframe whenever eval() was called but
1665         dashcode uses eval() when broken to evaluate the state of the current
1666         call frame.
1668         * WebView/WebScriptDebugger.mm:
1669         (WebScriptDebugger::willExecuteProgram):
1670         (WebScriptDebugger::didExecuteProgram):
1672 2008-08-27  Robert Kroeger  <rjkroege@liqui.org>
1674         Tweaked by Sam Weinig.
1676         Reviewed by Eric Seidel.
1678         Fix https://bugs.webkit.org/show_bug.cgi?id=6595
1679         <rdar://problem/4432150>
1680         Right-click does not fire mouseup event
1682         Adds a rightMouseUp handler to the WebHTMLView.
1684         The added method generates mouseup events for button 2.  The result
1685         is that webkit will deliver mousedown and mouseup events for button
1686         2 in a fashion identical to FireFox and will retain event ordering
1687         identical to Internet Explorer.
1689         Test: fast/events/mouseup-from-button2.html
1691         * WebView/WebHTMLView.mm:
1692         (-[WebHTMLView rightMouseUp:]):
1694 2008-08-27  Timothy Hatcher  <timothy@apple.com>
1696         Add support for support for -webkit-appearance: default-button on the Mac platform.
1698         <rdar://problem/6173530>
1700         Reviewed by Dave Hyatt.
1702         * WebCoreSupport/WebSystemInterface.m:
1703         (InitWebCoreSystemInterface): Init AdvanceDefaultButtonPulseAnimation.
1704         * WebView/WebPreferenceKeysPrivate.h: Added WebKitApplicationChromeModeEnabledPreferenceKey.
1705         * WebView/WebPreferences.mm:
1706         (+[WebPreferences initialize]): Set WebKitApplicationChromeModeEnabledPreferenceKey to NO.
1707         (-[WebPreferences applicationChromeModeEnabled]): Added.
1708         (-[WebPreferences setApplicationChromeModeEnabledEnabled:]): Added.
1709         * WebView/WebPreferencesPrivate.h:
1710         * WebView/WebView.mm:
1711         (-[WebView _preferencesChangedNotification:]): Call Settings::setApplicationChromeMode
1712         with the value of -[WebPreferences applicationChromeModeEnabled].
1714 2008-08-27  Brady Eidson  <beidson@apple.com>
1716         Reviewed by Anders
1718         <rdar://problem/6134133> - Crash when loading large movie as a standalone document
1720         * WebCoreSupport/WebFrameLoaderClient.h:
1721         * WebCoreSupport/WebFrameLoaderClient.mm:
1722         (WebFrameLoaderClient::pluginWillHandleLoadError):
1724 2008-08-20  Dan Bernstein  <mitz@apple.com>
1726         Rubber-stamped by John Sullivan.
1728         - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen,
1729           rename related methods and variables accordingly, and make
1730           -setShouldUpdateWhileOffscreen: and -shouldUpdateWhileOffscreen
1731           WebView API.
1733         * WebCoreSupport/WebFrameLoaderClient.mm:
1734         (WebFrameLoaderClient::transitionToCommittedForNewPage):
1735         * WebView/WebFrame.mm:
1736         (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]):
1737         * WebView/WebFrameInternal.h:
1738         * WebView/WebHTMLView.mm:
1739         (-[WebHTMLView windowWillOrderOnScreen:]):
1740         * WebView/WebView.h:
1741         * WebView/WebView.mm:
1742         (-[WebViewPrivate init]):
1743         (-[WebView setBackgroundColor:]):
1744         (-[WebView setDrawsBackground:]):
1745         (-[WebView setShouldUpdateWhileOffscreen:]):
1746         (-[WebView shouldUpdateWhileOffscreen]):
1747         * WebView/WebViewPrivate.h:
1749 2008-08-18  Mark Rowe  <mrowe@apple.com>
1751         Reviewed by Darin Adler.
1753         Switch to non-deprecated NSFileManager API.
1755         In order to minimize #if's the new NSFileManager APIs have been implemented for
1756         Tiger and call sites updated to use the new methods.
1758         * Misc/WebIconDatabase.mm:
1759         (importToWebCoreFormat):
1760         * Misc/WebKitNSStringExtras.m:
1761         (-[NSString _webkit_fixedCarbonPOSIXPath]):
1762         * Misc/WebKitSystemBits.m:
1763         * Misc/WebNSFileManagerExtras.h:
1764         * Misc/WebNSFileManagerExtras.m: Remove implementations of methods that are not used.
1765         (-[NSFileManager _webkit_backgroundRemoveFileAtPath:]):
1766         (-[NSFileManager attributesOfFileSystemForPath:error:]): Implement new API for Tiger in terms of Tiger API.
1767         (-[NSFileManager contentsOfDirectoryAtPath:error:]): Ditto.
1768         (-[NSFileManager moveItemAtPath:toPath:error:]): Ditto.
1769         (-[NSFileManager removeItemAtPath:error:]): Ditto.
1770         * Plugins/WebPluginDatabase.mm:
1771         (-[WebPluginDatabase _scanForNewPlugins]):
1773 2008-08-20  Josh Aas  <joshmoz@gmail.com>
1775         Reviewed and landed by Anders.
1777         <rdar://problem/6163636> 
1778         rename NPCocoaEvent's "event" struct to "data" (20446)
1780         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
1781         (WebNetscapePluginEventHandlerCocoa::drawRect):
1782         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
1783         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
1784         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
1785         (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
1786         (WebNetscapePluginEventHandlerCocoa::focusChanged):
1788 2008-08-20  Beth Dakin  <bdakin@apple.com>
1790         Reviewed by Darin Adler.
1792         Fix for <rdar://problem/6145626>
1793         Allows a WebKit client to mark a frame as not-text-searchable 
1794         through SPI.
1796         * WebView/WebFrame.mm:
1797         (-[WebFrame _setExcludeFromTextSearch:]):
1798         * WebView/WebFramePrivate.h:
1800 2008-08-19  Alexey Proskuryakov  <ap@webkit.org>
1802         Reviewed by Geoff Garen.
1804         Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
1806         * ForwardingHeaders/kjs/JSLock.h: Added.
1807         * Misc/WebCoreStatistics.mm:
1808         (+[WebCoreStatistics javaScriptObjectsCount]):
1809         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
1810         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
1811         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
1812         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
1813         (+[WebCoreStatistics shouldPrintExceptions]):
1814         (+[WebCoreStatistics setShouldPrintExceptions:]):
1815         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
1816         * Plugins/WebBaseNetscapePluginStream.mm:
1817         (-[WebBaseNetscapePluginStream wantsAllStreams]):
1818         * Plugins/WebBaseNetscapePluginView.mm:
1819         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
1820         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
1821         (-[WebBaseNetscapePluginView start]):
1822         (-[WebBaseNetscapePluginView createPluginScriptableObject]):
1823         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
1824         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
1825         (-[WebBaseNetscapePluginView loadPluginRequest:]):
1826         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
1827         * Plugins/WebPluginController.mm:
1828         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
1829         (-[WebPluginController startAllPlugins]):
1830         (-[WebPluginController stopAllPlugins]):
1831         (-[WebPluginController addPlugin:]):
1832         (-[WebPluginController destroyPlugin:]):
1833         (-[WebPluginController destroyAllPlugins]):
1834         * WebView/WebFrame.mm:
1835         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
1836         * WebView/WebScriptDebugDelegate.mm:
1837         (-[WebScriptCallFrame evaluateWebScript:]):
1838         * WebView/WebView.mm:
1839         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
1841 2008-08-19  Timothy Hatcher  <timothy@apple.com>
1843         Fixes the Web Inspector flashing white while resizing after
1844         highlighting a page element. Calling disableScreenUpdatesUntilFlush
1845         when attaching and detaching the Inspector page highlight is bad,
1846         since the browser window might not flush again for a while. So screen
1847         updates could be disabled for long periods of time, causing backing store
1848         flashing while resizing. There is no need to call disableScreenUpdatesUntilFlush
1849         when attaching or detaching the child window.
1851         Reviewed by John Sullivan and Kevin McCullough.
1853         * WebInspector/WebNodeHighlight.m:
1854         (-[WebNodeHighlight attach]): Remove the call to disableScreenUpdatesUntilFlush.
1855         (-[WebNodeHighlight detach]): Ditto.
1857 2008-08-19  Timothy Hatcher  <timothy@apple.com>
1859         Correctly remembers the attached state of the Web Inspector so
1860         it opens in that state for the next window, or next launch.
1862         Reviewed by Kevin McCullough.
1864         * WebCoreSupport/WebInspectorClient.mm:
1865         (-[WebInspectorWindowController attach]): Set WebKitInspectorAttachedKey
1866         to YES in the user defaults.
1867         (-[WebInspectorWindowController detach]): Set WebKitInspectorAttachedKey
1868         to NO in the user defaults.
1870 2008-08-18  Alexey Proskuryakov  <ap@webkit.org>
1872         Reviewed by Dan Bernstein.
1874         https://bugs.webkit.org/show_bug.cgi?id=19347
1875         <rdar://problem/5977562> Input methods do not work after switching to a password field
1876         and back.
1878         Fix <rdar://problem/5522011> (The content of the password field of Safari is displayed by
1879         reconversion) in a different way which doesn't conflict with context caching performed
1880         by AppKit.
1882         This original bug does not really occur in ToT or shipping Safari under Mac OS X 10.5.4,
1883         because input methods are disabled in password fields. Attempting to reconvert text typed
1884         with Romaji only yields a string of bullets. Still, it is probably better to match Cocoa
1885         password field behavior and disable reconversion completely.
1887         * WebView/WebHTMLView.mm:
1888         (isInPasswordField): Factored out code to determine that the current selection is in
1889         a password field.
1890         (inputContext): Removed a hack that was breaking TSMGetActiveDocument().
1891         (-[WebHTMLView attributedSubstringFromRange:]): Check for password fields.
1892         (-[WebHTMLView textStorage]): Ditto.
1894 2008-08-12  Darin Adler  <darin@apple.com>
1896         Reviewed by Geoff.
1898         - eliminate JSValue::type()
1900         * WebView/WebView.mm:
1901         (aeDescFromJSValue): Rewrite to use the JSValue::is functions instead
1902         of a switch on JSValue::type().
1904 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
1906         Reviewed by Cameron Zwarich.
1908         Made room for a free word in JSCell.
1909         
1910         (Updated for JavaScriptCore changes.)
1912 2008-08-15  Mark Rowe  <mrowe@apple.com>
1914         Rubber-stamped by Geoff Garen.
1916         <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
1918         * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
1919         between the Debug configuration and debug Production variant.
1921 2008-08-14  Sam Weinig  <sam@webkit.org>
1923         Reviewed by Geoffrey Garen and Timothy Hatcher.
1925         Add WebView SPI to set HTMLTokenizer yielding parameters.
1927         * WebView/WebView.mm:
1928         (-[WebView _setCustomHTMLTokenizerTimeDelay:]):
1929         (-[WebView _setCustomHTMLTokenizerChunkSize:]):
1930         * WebView/WebViewPrivate.h:
1932 2008-08-13  Timothy Hatcher  <timothy@apple.com>
1934         Fixes a bug where Safari's find banner would be permanently hidden
1935         when attaching or closing the Web Inspector while attached.
1937         https://bugs.webkit.org/show_bug.cgi?id=20376
1939         Reviewed by Kevin McCullough.
1941         * WebCoreSupport/WebInspectorClient.mm:
1942         (-[WebInspectorWindowController close]):
1943         Carefully manipulate the WebFrameView's frame when closing to
1944         not assume the WebFrameView's frame fills the inspected WebView.
1945         (-[WebInspectorWindowController setAttachedWindowHeight:]):
1946         Carefully manipulate the WebFrameView's frame when docking to
1947         not assume the WebFrameView plus the Web Inspector WebViews fills
1948         the full inspected WebView.
1950 2008-08-13  Stephanie Lewis  <slewis@apple.com>
1952         fix 64bit build
1954         * WebCoreSupport/WebInspectorClient.mm:
1956 2008-08-13  Timothy Hatcher  <timothy@apple.com>
1958         Remember the docked state of the Web Inspector, so it can be
1959         reopened docked if it was last docked.
1961         https://bugs.webkit.org/show_bug.cgi?id=14271
1963         Reviewed by Kevin McCullough.
1965         * WebCoreSupport/WebInspectorClient.mm:
1966         (-[WebInspectorWindowController init]): Initialize _shouldAttach
1967         to the value stored in the user defaults. If there has never
1968         been a value stored, default to being attached.
1969         (-[WebInspectorWindowController showWindow:]): Pass the attached
1970         state to InspectorController::setWindowVisible.
1972 2008-08-12  Timothy Hatcher  <timothy@apple.com>
1974         Remove the Inspector's WebView for the view hierarchy when closed
1975         while attached. This prevents it from showing in the background
1976         while the page changes.
1978         Reviewed by Kevin McCullough.
1980         * WebCoreSupport/WebInspectorClient.mm:
1981         (-[WebInspectorWindowController close:]): Call removeFromSuperview
1982         on the Inspector's WebView if it isn't attached, so it will not
1983         be visible when navigating pages while closed.
1985 2008-08-12  Timothy Hatcher  <timothy@apple.com>
1987         Make the docked Web Inspector resizable.
1989         https://bugs.webkit.org/show_bug.cgi?id=14282
1991         Reviewed by Kevin McCullough.
1993         * WebCoreSupport/WebInspectorClient.h:
1994         * WebCoreSupport/WebInspectorClient.mm:
1995         (WebInspectorClient::setAttachedWindowHeight): Call setAttachedWindowHeight:
1996         on the WebInspectorWindowController.
1997         (-[WebInspectorWindowController showWindow:]): Call setAttachedWindowHeight:.
1998         (-[WebInspectorWindowController setAttachedWindowHeight:]): Moved code
1999         from showWindow: and generalized to allow being called multiple times.
2000         Remembers the last height passed, which is used by showWindow: the next
2001         time the Inspector attaches.
2003 2008-08-12  Timothy Hatcher  <timothy@apple.com>
2005         Remove unneeded header imports from some Web Inspector files.
2007         Reviewed by Adam Roben.
2009         * WebCoreSupport/WebInspectorClient.mm:
2010         * WebInspector/WebInspector.mm:
2011         * WebInspector/WebNodeHighlightView.m:
2013 2008-08-12  Timothy Hatcher  <timothy@apple.com>
2015         Remove the call to WKNSWindowMakeBottomCornersSquare on the
2016         Web Inspector's window. This isn't needed anymore since the
2017         window style masks used always have square bottom corners.
2019         Reviewed by Adam Roben.
2021         * WebCoreSupport/WebInspectorClient.mm:
2022         (-[WebInspectorWindowController window]): Remove the call
2023         to WKNSWindowMakeBottomCornersSquare.
2025 2008-08-12  Timothy Hatcher  <timothy@apple.com>
2027         Make attaching and detaching the Web Inspector instantaneous.
2028         This also preserves the current view, other state, and keeps
2029         the script debugger attached.
2031         https://bugs.webkit.org/show_bug.cgi?id=19301
2033         Reviewed by Adam Roben.
2035         * WebCoreSupport/WebInspectorClient.mm:
2036         (-[WebInspectorWindowController close]): Only call setWindowVisible(false)
2037         when not moving windows.
2039 2008-08-12  Dan Bernstein  <mitz@apple.com>
2041         Reviewed by John Sullivan.
2043         - replace -[WebPreferences updatesWhenOffscreen] with -[WebView shouldUpdateWhileHidden]
2045         * WebCoreSupport/WebFrameLoaderClient.mm:
2046         (WebFrameLoaderClient::transitionToCommittedForNewPage):
2047         * WebView/WebFrame.mm:
2048         (-[WebFrame _updateBackgroundAndUpdatesWhileHidden]):
2049         * WebView/WebFrameInternal.h:
2050         * WebView/WebHTMLView.mm:
2051         (-[WebHTMLView windowWillOrderOnScreen:]):
2052         * WebView/WebPreferenceKeysPrivate.h:
2053         * WebView/WebPreferences.mm:
2054         (+[WebPreferences initialize]):
2055         * WebView/WebPreferencesPrivate.h:
2056         * WebView/WebView.mm:
2057         (-[WebViewPrivate init]):
2058         (-[WebView _preferencesChangedNotification:]):
2059         (-[WebView setBackgroundColor:]):
2060         (-[WebView setDrawsBackground:]):
2061         (-[WebView shouldUpdateWhileHidden]):
2062         (-[WebView setShouldUpdateWhileHidden:]):
2063         * WebView/WebViewPrivate.h:
2065 2008-08-08  Dan Bernstein  <mitz@apple.com>
2067         Reviewed by John Sullivan.
2069         - fix <rdar://problem/6130216> Exception "windowRegionBeingDrawn != nil" in NSView when caching image of a subframe
2071         This change reintroduces <https://bugs.webkit.org/show_bug.cgi?id=5195> on Leopard.
2073         * WebView/WebHTMLView.mm:
2074         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]): Removed an
2075         unsuccessful workaround for <rdar://problem/5668489>, because invoking
2076         layout may change the view hierarchy during the drawing operation,
2077         which is not supported on Leopard.
2079 2008-08-08  Maxime Britto  <britto@apple.com>
2081         Reviewed by Adele.
2083         * WebView/WebFrame.mm:
2084         (-[WebFrame _scrollDOMRangeToVisible:]):
2086 2008-08-08  Brady Eidson  <beidson@apple.com>
2088         Reviewed by Sam Weinig
2090         Fix for <rdar://problem/5865504>
2092         This bug was actually *largely* fixed by http://trac.webkit.org/changeset/35538.
2093         But with that same patch, it became possible for a WebResource to fail to initialize.  
2094         Therefore we were trying to add nil to an NSCFArray for certain situations, which is bad.
2095         Lets fix that, shall we?
2097         * WebView/WebArchive.mm:
2098         (-[WebArchive subresources]): 
2100 2008-08-06  Eric Seidel  <eric@webkit.org>
2102         Reviewed by Cameron Zwarich.
2104         Move more methods from Frame into ScriptController
2105         https://bugs.webkit.org/show_bug.cgi?id=20294
2107         The WebKit side of this move.  Calls to frame() are now frame()->script()
2109         * Plugins/WebBaseNetscapePluginView.mm:
2110         (-[WebBaseNetscapePluginView getVariable:value:]):
2111         (-[WebBaseNetscapePluginView _destroyPlugin]):
2112         * Plugins/WebPluginController.mm:
2113         (-[WebPluginController destroyPlugin:]):
2114         (-[WebPluginController destroyAllPlugins]):
2115         * WebCoreSupport/WebFrameLoaderClient.mm:
2116         * WebView/WebFrame.mm:
2117         (-[WebFrame windowObject]):
2118         * WebView/WebScriptDebugger.mm:
2119         (WebScriptDebugger::callEvent):
2120         * WebView/WebView.mm:
2121         (-[WebView windowScriptObject]):
2123 2008-08-06  Dan Bernstein  <mitz@apple.com>
2125         Reviewed by Mark Rowe.
2127         - fix an assertion failure in Cache::setCapacities()
2129         * Misc/WebKitSystemBits.h: Changed the return type of WebMemorySize()
2130         to uint64_t.
2131         * Misc/WebKitSystemBits.m:
2132         (WebMemorySize):
2133         * WebView/WebView.mm:
2134         (+[WebView _setCacheModel:]):
2136 2008-08-05  Anders Carlsson  <andersca@apple.com>
2138         Pass in the correct class here.
2139         
2140         * WebView/WebResource.mm:
2141         (-[WebResourcePrivate dealloc]):
2143 2008-08-05  Anders Carlsson  <andersca@apple.com>
2145         Reviewed by Darin Adler.
2147         <rdar://problem/6037398>
2148         ER: Deallocate WebKit objects on the main thread, even if released on secondary thread
2149         
2150         Add calls to WebCoreObjCScheduleDeallocateOnMainThread in dealloc methods of objects we expose.
2152         * Carbon/CarbonWindowAdapter.m:
2153         (-[CarbonWindowAdapter dealloc]):
2154         * History/WebBackForwardList.mm:
2155         (-[WebBackForwardList dealloc]):
2156         * History/WebHistoryItem.mm:
2157         (-[WebHistoryItem dealloc]):
2158         * Misc/WebElementDictionary.mm:
2159         (+[WebElementDictionary initialize]):
2160         (-[WebElementDictionary dealloc]):
2161         * WebCoreSupport/WebEditorClient.mm:
2162         (-[WebEditCommand dealloc]):
2163         * WebCoreSupport/WebFrameLoaderClient.mm:
2164         * WebView/WebArchive.mm:
2165         (-[WebArchivePrivate dealloc]):
2166         * WebView/WebDataSource.mm:
2167         (-[WebDataSourcePrivate dealloc]):
2168         * WebView/WebHTMLView.mm:
2169         (-[WebHTMLViewPrivate dealloc]):
2170         (-[WebHTMLView dealloc]):
2171         * WebView/WebResource.mm:
2172         (-[WebResourcePrivate dealloc]):
2174 2008-08-05  Anders Carlsson  <andersca@apple.com>
2176         Reviewed by Darin Adler.
2178         Remove MainThreadObjectDeallocator.{h|mm}.
2180         * WebView/MainThreadObjectDeallocator.h: Removed.
2181         * WebView/MainThreadObjectDeallocator.mm: Removed.
2182         
2183         * WebView/WebView.mm:
2184         (-[WebView dealloc]):
2185         Call WebCoreObjCScheduleDeallocateOnMainThread instead.
2187 2008-08-05  Anders Carlsson  <andersca@apple.com>
2189         Reviewed by Darin Adler.
2191         Make the main thread object deallocator work with subclasses.
2192         
2193         * WebView/MainThreadObjectDeallocator.h:
2194         * WebView/MainThreadObjectDeallocator.mm:
2195         (deallocCallback):
2196         Call the correct dealloc method.
2197                 
2198         (scheduleDeallocateOnMainThread):
2199         Store both the class and the instance, so we know which dealloc method to call.
2200         
2201         * WebView/WebView.mm:
2202         (-[WebViewPrivate dealloc]):
2203         Schedule deallocation on the main thread.
2205 2008-08-05  Dan Bernstein  <mitz@apple.com>
2207         Reviewed by Mark Rowe and Anders Carlsson.
2209         - fix WebMemorySize() reporting a value capped at 2GB
2211         * misc/WebKitSystemBits.m:
2212         (WebMemorySize): Changed to return the max_mem field, which, unlike
2213         memory_size, is not capped at 2GB.
2214         * WebView/WebView.mm:
2215         (+[WebView _setCacheModel:]): Made the cache sizes for over 2GB RAM the
2216         same as for 2GB, so that behavior on machines that have more than 2GB
2217         RAM is not affected by the fix to WebMemorySize().
2219 2008-08-04  Mark Rowe  <mrowe@apple.com>
2221         Build fix.
2223         * WebView/WebHTMLView.mm:
2225 2008-08-04  Mark Rowe  <mrowe@apple.com>
2227         Reviewed by Kevin Decker.
2229         Adopt the formal protocols where necessary.
2230         Final part of fix for <rdar://problem/5853147>.
2232         * WebCoreSupport/WebInspectorClient.mm:
2233         * WebView/WebHTMLView.mm:
2234         * WebView/WebView.mm:
2235         (-[WebView _openFrameInNewWindowFromMenu:]):
2237 2008-08-04  Mark Rowe  <mrowe@apple.com>
2239         Reviewed by Darin Adler.
2241         Declare empty protocols when using versions of AppKit that do not use formal protocols for delegates and data sources.
2242         Part one of fix for <rdar://problem/5853147>.
2244         * Misc/EmptyProtocolDefinitions.h:
2245         * WebKitPrefix.h:
2247 2008-08-04  Brady Eidson  <beidson@apple.com>
2249         Reviewed by Mitz Pettel
2251         Fix <rdar://problem/5820157> - Saving WebArchives of Mail attachments broken.
2253         This broke in r31355 when we stopped returning nil WebResources when there was nil
2254         resource data.
2256         * WebView/WebResource.mm:
2257         (-[WebResource _initWithCoreResource:]): Restore previous behavior of returning nil
2258           when the resource data is null.
2260 2008-08-02  Matt Lilek  <webkit@mattlilek.com>
2262         Reviewed by Tim Hatcher.
2264         Update the window gradient offset to match the inspector toolbar's new height.
2266         * WebCoreSupport/WebInspectorClient.mm:
2267         (-[WebInspectorWindowController window]):
2269 2008-08-01  Anders Carlsson  <andersca@apple.com>
2271         Reviewed by Jon.
2273         <rdar://problem/6120206>
2274         Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams.
2275         
2276         Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack.
2278         * Plugins/WebBaseNetscapePluginStream.mm:
2279         (-[WebBaseNetscapePluginStream wantsAllStreams]):
2281 2008-07-31  Anders Carlsson  <andersca@apple.com>
2283         Reviewed by Darin Adler.
2285         <rdar://problem/5949410>
2286         Add the ability to transfer a given application cache to a new database.
2288         * Misc/WebKitNSStringExtras.h:
2289         * Misc/WebKitNSStringExtras.m:
2290         (+[NSString _webkit_applicationCacheDirectoryWithBundleIdentifier:]):
2291         New method which returns the appopriate cache directory for a given bundle identifier.
2292         
2293         * WebView/WebDataSource.mm:
2294         (-[WebDataSource _transferApplicationCache:]):
2295         Transfer the application cache.
2296         
2297         * WebView/WebDataSourcePrivate.h:
2298         * WebView/WebView.mm:
2299         (WebKitInitializeApplicationCachePathIfNecessary):
2300         Change this to use _webkit_applicationCacheDirectoryWithBundleIdentifier.
2302 2008-07-31  John Sullivan  <sullivan@apple.com>
2304         WebKit part of <rdar://problem/6116650> Text-only zoom setting should be stored in WebKit prefs
2306         Reviewed by Hyatt
2308         * WebView/WebPreferenceKeysPrivate.h:
2309         added WebKitZoomsTextOnlyPreferenceKey
2310         
2311         * WebView/WebPreferences.mm:
2312         (+[WebPreferences initialize]):
2313         default value of YES for WebKitZoomsTextOnlyPreferenceKey
2314         (-[WebPreferences zoomsTextOnly]):
2315         getter for WebKitZoomsTextOnlyPreferenceKey
2316         (-[WebPreferences setZoomsTextOnly:]):
2317         setter for WebKitZoomsTextOnlyPreferenceKey
2318         
2319         * WebView/WebPreferencesPrivate.h:
2320         declare zoomsTextOnly/setZoomsTextOnly:
2321         
2322         * WebView/WebView.mm:
2323         (-[WebView _preferencesChangedNotification:]):
2324         update WebCore::Settings value for zoomsTextOnly
2326 2008-07-31  David D. Kilzer  <ddkilzer@webkit.org>
2328         Fix layout test results for webarchive/test-xml-stylesheet.xml
2330         Reviewed by Darin Adler.
2332         Needed to expose -[WebHTMLRepresentation supportedNonImageMIMETypes]
2333         for DumpRenderTree.
2335         * WebView/WebHTMLRepresentationInternal.h: Added.
2337 2008-07-31  Alexey Proskuryakov  <ap@webkit.org>
2339         Release build fix.
2341         * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView setWindowIfNecessary]):
2342         Don't define to npErr in release builds, as it is only used for logging.
2344 2008-07-31  John Sullivan  <sullivan@apple.com>
2346         Fixed <https://bugs.webkit.org/show_bug.cgi?id=5195>
2347         drawing with cacheDisplayInRect:toBitmapImageRep: doesn't trigger layout on Leopard
2349         Reviewed by Dan
2351         * WebView/WebHTMLView.mm:
2352         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
2353         include Leopard in the #ifdef that forces a layout if needed
2355 2008-07-30  Brady Eidson  <beidson@apple.com>
2357         Reviewed by Adam and Hyatt
2359         Fix for <rdar://problem/6099748>
2361         * WebView/WebView.mm:
2362         (-[WebView _preferencesChangedNotification:]): Set the "don't enforce CSS mime type in strict mode" 
2363           quirk when running under iWeb 2
2365 2008-07-31  Alexey Proskuryakov  <ap@webkit.org>
2367         Rubber-stamped by Maciej.
2369         Eliminate JSLock (it was already disabled, removing the stub implementaion and all
2370         call sites now).
2372         * ForwardingHeaders/kjs/JSLock.h: Removed.
2373         * Misc/WebCoreStatistics.mm:
2374         (+[WebCoreStatistics javaScriptObjectsCount]):
2375         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
2376         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
2377         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
2378         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
2379         (+[WebCoreStatistics shouldPrintExceptions]):
2380         (+[WebCoreStatistics setShouldPrintExceptions:]):
2381         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
2382         * Plugins/WebBaseNetscapePluginStream.mm:
2383         (-[WebBaseNetscapePluginStream wantsAllStreams]):
2384         * Plugins/WebBaseNetscapePluginView.mm:
2385         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
2386         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
2387         (-[WebBaseNetscapePluginView start]):
2388         (-[WebBaseNetscapePluginView createPluginScriptableObject]):
2389         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
2390         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
2391         (-[WebBaseNetscapePluginView loadPluginRequest:]):
2392         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
2393         * Plugins/WebPluginController.mm:
2394         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
2395         (-[WebPluginController startAllPlugins]):
2396         (-[WebPluginController stopAllPlugins]):
2397         (-[WebPluginController addPlugin:]):
2398         (-[WebPluginController destroyPlugin:]):
2399         (-[WebPluginController destroyAllPlugins]):
2400         * WebView/WebFrame.mm:
2401         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
2402         * WebView/WebScriptDebugDelegate.mm:
2403         (-[WebScriptCallFrame evaluateWebScript:]):
2404         * WebView/WebView.mm:
2405         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2407 2008-07-30  Beth Dakin  <bdakin@apple.com>
2409         Reviewed by Anders Carlsson.
2411         Fixes <rdar://problem/6041390>
2413         Adds the ability to have a frame that is "disconnected" from the 
2414         main frame from the perspective of top and parent in 
2415         Javascript.
2417         * WebView/WebFrame.mm:
2418         (-[WebFrame _setIsDisconnectedFrame]):
2419         * WebView/WebFramePrivate.h:
2421 2008-07-29  Mark Rowe  <mrowe@apple.com>
2423         Tweak to the build fix to keep Dan happy.
2425         * Plugins/WebBaseNetscapePluginView.mm:
2426         * WebView/WebHTMLView.mm:
2428 2008-07-29  Mark Rowe  <mrowe@apple.com>
2430         Build fix.
2432         * Plugins/WebBaseNetscapePluginView.mm:
2433         (-[WebBaseNetscapePluginView inputContext]):
2434         * WebView/WebHTMLView.mm:
2436 2008-07-28  Anders Carlsson  <andersca@apple.com>
2438         Reviewed by Kevin Decker.
2440         Based on a patch by Dimcho Balev.
2441         
2442         https://bugs.webkit.org/show_bug.cgi?id=18676
2443         <rdar://problem/6106578>
2444         Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
2446         * Plugins/WebBaseNetscapePluginStream.h:
2447         Add NPP_GetValue pointer.
2448         
2449         * Plugins/WebBaseNetscapePluginStream.mm:
2450         (-[WebBaseNetscapePluginStream setPlugin:]):
2451         Initialize NPP_GetValue.
2452         
2453         (-[WebBaseNetscapePluginStream wantsAllStreams]):
2454         Call NPP_GetValue.
2455         
2456         * Plugins/WebPlugInStreamLoaderDelegate.h:
2457         * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h:
2458         * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm:
2459         (WebNetscapePlugInStreamLoaderClient::wantsAllStreams):
2460         Implement this and call down to the stream.
2462 2008-07-28  Anders Carlsson  <andersca@apple.com>
2464         Reviewed by Adam.
2466         <rdar://problem/6105529> 
2467         https://bugs.webkit.org/show_bug.cgi?id=19659
2468         Turning off plugins causes crash
2469         
2470         When an active page has plug-ins, and plug-ins are disabled, they will be stopped and will
2471         end up in a state where they don't have an event handler. Because of this, we need to 
2472         check that the plug-in has been started before calling the event handler.
2473         
2474         * Plugins/WebBaseNetscapePluginView.mm:
2475         (-[WebBaseNetscapePluginView sendActivateEvent:]):
2476         (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
2477         (-[WebBaseNetscapePluginView setHasFocus:]):
2478         (-[WebBaseNetscapePluginView mouseDown:]):
2479         (-[WebBaseNetscapePluginView mouseUp:]):
2480         (-[WebBaseNetscapePluginView mouseEntered:]):
2481         (-[WebBaseNetscapePluginView mouseExited:]):
2482         (-[WebBaseNetscapePluginView handleMouseMoved:]):
2483         (-[WebBaseNetscapePluginView mouseDragged:]):
2484         (-[WebBaseNetscapePluginView scrollWheel:]):
2485         (-[WebBaseNetscapePluginView keyUp:]):
2486         (-[WebBaseNetscapePluginView keyDown:]):
2487         (-[WebBaseNetscapePluginView flagsChanged:]):
2488         (-[WebBaseNetscapePluginView cut:]):
2489         (-[WebBaseNetscapePluginView copy:]):
2490         (-[WebBaseNetscapePluginView paste:]):
2491         (-[WebBaseNetscapePluginView selectAll:]):
2492         (-[WebBaseNetscapePluginView drawRect:]):
2493         (-[WebBaseNetscapePluginView inputContext]):
2495 2008-07-26  Daniel Jalkut  <jalkut@red-sweater.com>
2497         Reviewed by Geoff Garen.
2499         Changes to accommodate newly named/signatured loading methods in WebCore.
2501         * Plugins/WebNetscapePluginStream.mm:
2502         (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
2503         * Plugins/WebPluginContainerCheck.mm:
2504         (-[WebPluginContainerCheck _isForbiddenFileLoad]):
2505         * WebView/WebPDFView.mm:
2506         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
2508 2008-07-21  Mark Rowe  <mrowe@apple.com>
2510         Reviewed by Sam Weinig.
2512         <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
2514         * Configurations/Version.xcconfig:
2515         * Info.plist:
2517 2008-07-21  Anders Carlsson  <andersca@apple.com>
2519         Reviewed by Geoff.
2521         <rdar://problem/5820667> 
2522         CrashTracer: [USER] 3759 crashes in Safari at FrameLoader::activeDocumentLoader const + 6 while canceling plug-in load
2523         
2524         Don't allow URLs to be loaded in response to an NPP_DestroyStream that happens when tearing down the plug-in.
2525         
2526         * Plugins/WebBaseNetscapePluginView.mm:
2527         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2529 2008-07-21  Mark Rowe  <mrowe@apple.com>
2531         Reviewed by Adam Roben.
2533         <rdar://problem/5624143> WebView printing doesn't work correctly in x86_64
2535         Fix the return type of an NSView method that we override so that the correct data type is used in 64-bit.
2536         This prevents a garbage value being used for the scale factor that the NSView print machinery applies.
2538         * WebView/WebHTMLView.mm:
2540 2008-07-21  Mark Rowe  <mrowe@apple.com>
2542         Reviewed by Adam Roben.
2544         Fix CallDelegateReturningFloat for x86_64.  The x86_64 Objective-C runtime
2545         only uses objc_msgSend_fpret for long double return values.  For float return
2546         values the standard objc_msgSend is used, as on ppc and ppc64.
2548         * WebView/WebView.mm: Use objc_msgSend_float_return as the name of our version of
2549         objc_msgSend with the correct return type.  We can no longer call it objc_msgSend_fpret
2550         as that method is defined by the Objective-C runtime for x86_64.
2551         (CallDelegateReturningFloat):
2553 2008-07-14  Dan Bernstein  <mitz@apple.com>
2555         Reviewed by John Sullivan.
2557         - WebKit part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
2559         * Plugins/WebBaseNetscapePluginView.mm:
2560         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Changed
2561         to account for the case of being drawn into a bitmap context that is not
2562         a window's backing store. In that case, there are no valid "rects being
2563         drawn" to clip to.
2564         * WebView/WebHTMLView.mm:
2565         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
2566         Added an override of this NSView method which is used in for
2567         -cacheDisplayInRect:toBitmapImageRep:. Like two existing NSView drawing
2568         machinery overrides, it sets subviews aside before invoking the
2569         superclass implementation. On Tiger, it also updates the layout.
2571 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
2573         Reviewed by Geoff Garen.
2575         Eliminate per-thread JavaScript global data instance support and make arbitrary
2576         global data/global object combinations possible.
2578         * Misc/WebCoreStatistics.mm:
2579         (+[WebCoreStatistics javaScriptObjectsCount]):
2580         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
2581         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
2582         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
2583         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
2584         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
2585         Ask WebCore for its instance of JSGlobalData, now that it is not in per-thread storage.
2587 2008-07-11  Stephanie Lewis  <slewis@apple.com>
2589         Reviewed by Darin Adler.
2591         Disable WTF leak messages when using fast teardown.  Use full document teardown while running in debug.
2593         * WebView/WebPreferences.m: Removed.
2594         * WebView/WebPreferences.mm: Copied from http:/svn.webkit.org/repository/webkit/trunk/WebKit/mac/WebView/WebPreferences.m.
2595         (+[WebPreferences initialize]): if running in Default enable full  document teardown
2596         (-[WebPreferences editableLinkBehavior]):
2597         (-[WebPreferences setFullDocumentTeardownEnabled:]):
2598         * WebView/WebView.mm:
2599         (-[WebView _close]): disable leak messages if using fast teardown
2601 2008-07-10  Mark Rowe  <mrowe@apple.com>
2603         Reviewed by Sam Weinig.
2605         Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
2607         * Configurations/WebKit.xcconfig:
2609 2008-07-10  Mark Rowe  <mrowe@apple.com>
2611         Reviewed by Sam Weinig.
2613         Fix the Tiger build by omitting annotations from methods declared in categories when using old versions of GCC.
2615         * Plugins/WebPlugin.h: Wrap annotations on methods declared in categories in the WEBKIT_CATEGORY_METHOD_ANNOTATION macro.
2616         * WebView/WebFrameLoadDelegate.h: Ditto.
2617         * WebView/WebUIDelegate.h: Ditto.
2619 2008-07-10  Anders Carlsson  <andersca@apple.com>
2621         Reviewed by Mark.
2622         
2623         Add availability macros for the new WebPlugin methods.
2625         * Plugins/WebPlugin.h:
2626         * Plugins/WebPluginViewFactory.h:
2628 2008-07-09  Mark Rowe  <mrowe@apple.com>
2630         Reviewed by Geoff Garen.
2632         Don't warn about deprecated functions in production builds.
2634         * Configurations/Base.xcconfig:
2635         * Configurations/DebugRelease.xcconfig:
2637 2008-07-09  Brady Eidson  <beidson@apple.com>
2639         Reviewed by Darin
2641         <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
2642         has been installed in a frame tree.
2644         The root of this problem was that calling init() on a new frame could end up calling arbitrary
2645         javascript that might end up removing the frame from the tree.  This opened up a small can of worms
2646         such as the frame not having yet been installed in its frame tree, and other assumed behavior while
2647         destroying the frame.
2649         Note that each platforms WebKit API layer needs to make this new guarantee:
2650         "The new Frame must be installed in its FrameTree before newCoreFrame->init() is called"
2651         I am fixing Mac, and Windows and GTK already have this property.  Wx currently has subframes disabled
2652         but will need to add this guarantee when re-enabling, and Qt is currently vulnerable to this same bug.
2654         Alternately, the way frames are created right now is roundabout and asinine, and this is a key
2655         architectural improvement we can make in the future so the individual platform clients are no longer
2656         vulnerable to this problem, which should really have been a WebCore issue.
2658         * WebCoreSupport/WebFrameLoaderClient.mm:
2659         (WebFrameLoaderClient::createFrame):  Don't bother null checking the newCoreFrame - can't be NULL.
2660           Don't appendChild() the new frame here.
2661           Null-check the new frame's page before loading the URL into it, as it might already have been
2662           removed from the page.
2664         * WebView/WebFrame.mm:
2665         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):  If there is an ownerElement,
2666           go ahead and install the new frame in the frame tree *before* calling init() on it.
2668 2008-07-09  Anders Carlsson  <andersca@apple.com>
2670         Reviewed by Darin Adler.
2672         Make some WebPlugin and WebPluginFactory SPI public.
2673         
2674         * Plugins/WebPlugin.h:
2675         * Plugins/WebPluginPrivate.h:
2676         * Plugins/WebPluginViewFactory.h:
2677         * Plugins/WebPluginViewFactoryPrivate.h:
2679 2008-07-08  Jon Honeycutt  <jhoneycutt@apple.com>
2681         Reviewed by Anders.
2683         Port r34988 to Mac: don't call NPP_DestroyStream if NPP_NewStream was
2684         unsuccessful.
2686         * Plugins/WebBaseNetscapePluginStream.h: Added new member,
2687         newStreamSuccessful.
2688         * Plugins/WebBaseNetscapePluginStream.mm:
2689         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): Initialize new member.
2690         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): If NPP_NewStream is successful, set
2691         newStreamSuccessful to YES.
2692         (-[WebBaseNetscapePluginStream _destroyStream]): Only call
2693         NPP_DestroyStream if newStreamSuccessful is true.
2695 2008-07-08  Dan Bernstein  <mitz@apple.com>
2697         Reviewed by John Sullivan.
2699         - WebKit part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
2701         * WebView/WebHTMLView.mm:
2702         (-[WebHTMLView addWindowObservers]): Added code to observe when the
2703         window goes onscreen.
2704         (-[WebHTMLView removeWindowObservers]): Added.
2705         (-[WebHTMLView windowWillOrderOnScreen:]): Added. If the view is set to
2706         not update when offscreen, calls -setNeedsDisplay: just before it comes
2707         onscreen.
2708         * WebView/WebPreferenceKeysPrivate.h: Added preference key.
2709         * WebView/WebPreferences.m:
2710         (+[WebPreferences initialize]): Made updates when offscreen on by
2711         default.
2712         (-[WebPreferences updatesWhenOffscreen]): Added.
2713         (-[WebPreferences setUpdatesWhenOffscreen:]): Added.
2714         * WebView/WebPreferencesPrivate.h:
2715         * WebView/WebView.mm:
2716         (-[WebView _preferencesChangedNotification:]): Added code to update the
2717         updatesWhenOffscreen setting in WebCore.
2719 2008-07-07  Anders Carlsson  <andersca@apple.com>
2721         Reviewed by Darin Adler.
2723         Speculative fix for     
2724         <rdar://problem/5839800>
2725         CrashTracer: [USER] 5802 crashes in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
2726         
2727         Set _private->closed to YES before calling -[WebPluginController destroyAllPlugins].
2728         
2729         My theory is that the plug-in destruction callbacks could end up rescheduling timers or re-adding notifications.
2730         This is usually protected by _private->closed, but in this case it might still be false.
2732         * WebView/WebHTMLView.mm:
2733         (-[WebHTMLView close]):
2735 2008-07-05  Mark Rowe  <mrowe@apple.com>
2737         Reviewed by John Sullivan.
2739         Remove WebSearchableTextView as it has been unused for some time now.
2741         * Misc/WebSearchableTextView.h: Removed.
2742         * Misc/WebSearchableTextView.m: Removed.
2744 2008-07-05  Mark Rowe  <mrowe@apple.com>
2746         Reviewed by John Sullivan.
2748         Don't leak the result of WKCopyCFLocalizationPreferredName when running under GC.
2750         * Misc/WebNSUserDefaultsExtras.m:
2751         (-[NSString _webkit_HTTPStyleLanguageCode]):
2753 2008-07-02  Alexey Proskuryakov  <ap@webkit.org>
2755         Inspired and reviewed by Mark Rowe.
2757         Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.
2759         * Carbon/HIViewAdapter.m:
2760         * DOM/WebDOMOperations.mm:
2761         * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
2762         * DefaultDelegates/WebDefaultPolicyDelegate.m:
2763         * History/WebBackForwardList.mm:
2764         * History/WebHistory.mm:
2765         * History/WebHistoryItem.mm:
2766         * History/WebHistoryItemInternal.h:
2767         * Misc/WebCoreStatistics.mm:
2768         * Misc/WebDownload.m:
2769         * Misc/WebGraphicsExtras.c:
2770         * Misc/WebKitLogging.h:
2771         * Misc/WebKitSystemBits.m:
2772         * Misc/WebLocalizableStrings.m:
2773         * Misc/WebNSArrayExtras.m:
2774         * Misc/WebNSDataExtras.m:
2775         * Misc/WebNSDictionaryExtras.m:
2776         * Misc/WebNSFileManagerExtras.m:
2777         * Misc/WebNSPasteboardExtras.mm:
2778         * Misc/WebNSURLExtras.mm:
2779         * Misc/WebNSUserDefaultsExtras.m:
2780         * Panels/WebAuthenticationPanel.m:
2781         * Panels/WebPanelAuthenticationHandler.m:
2782         * Plugins/WebBaseNetscapePluginView.mm:
2783         * Plugins/WebBasePluginPackage.m:
2784         * Plugins/WebNetscapePluginEmbeddedView.mm:
2785         * Plugins/WebPluginContainerCheck.mm:
2786         * Plugins/WebPluginController.mm:
2787         * Plugins/WebPluginDatabase.mm:
2788         * WebCoreSupport/WebJavaScriptTextInputPanel.m:
2789         * WebCoreSupport/WebKeyGenerator.m:
2790         * WebCoreSupport/WebViewFactory.mm:
2791         * WebKitPrefix.h:
2792         * WebView/WebHTMLRepresentation.mm:
2793         * WebView/WebPDFRepresentation.m:
2794         * WebView/WebPDFView.mm:
2795         * WebView/WebScriptDebugger.mm:
2797 2008-07-01  Alexey Proskuryakov  <ap@webkit.org>
2799         Reviewed by Darin Adler.
2801         Disable JSLock for per-thread contexts.
2803         * Misc/WebCoreStatistics.mm:
2804         (+[WebCoreStatistics javaScriptObjectsCount]):
2805         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
2806         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
2807         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
2808         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
2809         (+[WebCoreStatistics shouldPrintExceptions]):
2810         (+[WebCoreStatistics setShouldPrintExceptions:]):
2811         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
2812         * Plugins/WebBaseNetscapePluginView.mm:
2813         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
2814         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
2815         (-[WebBaseNetscapePluginView start]):
2816         (-[WebBaseNetscapePluginView createPluginScriptableObject]):
2817         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
2818         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
2819         (-[WebBaseNetscapePluginView loadPluginRequest:]):
2820         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
2821         * Plugins/WebPluginController.mm:
2822         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
2823         (-[WebPluginController startAllPlugins]):
2824         (-[WebPluginController stopAllPlugins]):
2825         (-[WebPluginController addPlugin:]):
2826         (-[WebPluginController destroyPlugin:]):
2827         (-[WebPluginController destroyAllPlugins]):
2828         * WebView/WebFrame.mm:
2829         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
2830         * WebView/WebScriptDebugDelegate.mm:
2831         (-[WebScriptCallFrame evaluateWebScript:]):
2832         * WebView/WebView.mm:
2833         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2834         Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebKit
2835         doesn't need locking. In the future, it may be possible to remove some of these if we
2836         establish that this won't make JSC assertions fail (and that we don't want to add such
2837         assertions either).
2838         Added includes that are now needed.
2840 2008-07-01  Kevin McCullough  <kmccullough@apple.com>
2842         Build fix.
2844         * WebView/WebView.mm:
2846 2008-07-01  Anders Carlsson  <andersca@apple.com>
2848         Reviewed by Darin Adler.
2850         Use the PluginMainThreadScheduler, and implement NPN_PluginThreadAsyncCall.
2851         
2852         * Plugins/WebBaseNetscapePluginView.mm:
2853         (-[WebBaseNetscapePluginView _createPlugin]):
2854         Register the plug-in instance.
2855         
2856         (-[WebBaseNetscapePluginView _destroyPlugin]):
2857         Unegister the plug-in instance.
2858         
2859         * Plugins/WebNetscapePluginPackage.m:
2860         (-[WebNetscapePluginPackage load]):
2861         Set NPN_PluginThreadAsyncCall.
2862         
2863         * Plugins/npapi.mm:
2864         (NPN_PluginThreadAsyncCall):
2865         Implement this.
2867 2008-07-01  Dan Bernstein  <mitz@apple.com>
2869         Reviewed by Darin Adler.
2871         - WebKit part of moving the method to set the base writing direction from Frame to Editor
2873         * WebView/WebHTMLView.mm:
2874         (-[WebHTMLView toggleBaseWritingDirection:]): Changed back to call the
2875         Editor method.
2876         (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
2877         (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.
2879 2008-07-01  Geoffrey Garen  <ggaren@apple.com>
2881         Build fix: forgot to check in this file.
2883         * WebView/WebScriptDebugger.mm:
2884         (WebScriptDebugger::WebScriptDebugger):
2886 2008-06-30  Dan Bernstein  <mitz@apple.com>
2888         Reviewed by Adele Peterson.
2890         - WebKit/mac part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari
2892         * WebView/WebHTMLView.mm:
2893         (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
2894         WebCore::Frame::setSelectionBaseWritingDirection() instead of
2895         WebCore::Editor::setBaseWritingDirection().
2896         (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
2897         (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.
2899 2008-06-28  Darin Adler  <darin@apple.com>
2901         - fix build
2903         * WebView/WebView.mm:
2904         (aeDescFromJSValue): Use get instead of getItem, which no longer exists.
2906 2008-06-26  Anders Carlsson  <andersca@apple.com>
2908         Reviewed by Darin Adler.
2910         Add a new MainThreadObjectDeallocator which can schedule dealloc calls on the main thread
2911         if necessary. Use this for the WebView class. 
2912                 
2913         * WebView/MainThreadObjectDeallocator.h: Added.
2914         * WebView/MainThreadObjectDeallocator.mm: Added.
2915         (deallocCallback):
2916         (scheduleDeallocateOnMainThread):
2917         * WebView/WebView.mm:
2918         (-[WebViewPrivate dealloc]):
2919         (+[WebView initialize]):
2921 2008-06-25  Anders Carlsson  <andersca@apple.com>
2923         Reviewed by Mark.
2925         <rdar://problem/5984270> 
2926         REGRESSION (Tiger only) : Mail crashes because message load is being processed on a secondary thread
2927         
2928         * WebView/WebView.mm:
2929         (tigerMailReleaseIMP):
2930         New method that makes sure that the final release happens on the main thread.
2931         
2932         (-[WebView release]):
2933         New method that just calls [super release];
2934         
2935         (+[WebView initialize]):
2936         When running under Tiger mail, replace the release method with tigerMailReleaseIMP.
2938 2008-06-19  Alexey Proskuryakov  <ap@webkit.org>
2940         Reviewed by Geoff.
2942         Make Machine per-JSGlobalData.
2944         * WebView/WebScriptDebugger.mm:
2945         (WebScriptDebugger::WebScriptDebugger):
2947 2008-06-17  Alexey Proskuryakov  <ap@webkit.org>
2949         Reviewed by Darin Adler.
2951         Prepare JavaScript heap for being per-thread.
2953         * Misc/WebCoreStatistics.mm:
2954         (+[WebCoreStatistics javaScriptObjectsCount]):
2955         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
2956         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
2957         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
2958         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
2959         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
2960         Use JSGlobalData::threadInstance()->heap instead of static Collector calls.
2962 2008-06-17  Darin Adler  <darin@apple.com>
2964         Reviewed by Sam.
2966         * WebView/WebHTMLView.mm:
2967         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Use create instead of new
2968         to create a CSSMutableStyleDeclaration.
2970 2008-06-16  Mark Rowe  <mrowe@apple.com>
2972         Reviewed by Darin Adler.
2974         <rdar://problem/5951874> WebHTMLHighlighter mistakenly gained two new methods, causing compile warnings
2976         _pauseNullEventsForAllNetscapePlugins and _resumeNullEventsForAllNetscapePlugins ended up being declared both in
2977         WebHTMLViewInternal.h and as members of the WebHTMLHighlighter protocol in WebHTMLViewPrivate.h.  They don't belong
2978         in the protocol, but they do need to be available outside of WebKit so they're being moved to the correct location
2979         in WebHTMLViewPrivate.h and removed from WebHTMLViewInternal.h.
2981         * WebView/WebHTMLView.mm:
2982         (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
2983         (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
2984         * WebView/WebHTMLViewInternal.h:
2985         * WebView/WebHTMLViewPrivate.h:
2987 2008-06-15  Darin Adler  <darin@apple.com>
2989         - give Frame object functions shorter names: scriptProxy() -> script(),
2990           selectionController() -> selection(), animationController() -> animation()
2992         * Plugins/WebPluginController.mm:
2993         (-[WebPluginController webPlugInContainerSelectionColor]):
2994         * WebView/WebFrame.mm:
2995         (-[WebFrame _attachScriptDebugger]):
2996         (-[WebFrame _hasSelection]):
2997         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
2998         (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
2999         (-[WebFrame _convertToNSRange:]):
3000         (-[WebFrame _convertToDOMRange:]):
3001         (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
3002         (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
3003         (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
3004         (-[WebFrame _selectedNSRange]):
3005         (-[WebFrame _selectNSRange:]):
3006         (-[WebFrame globalContext]):
3007         * WebView/WebHTMLView.mm:
3008         (-[WebHTMLView _selectedRange]):
3009         (-[WebHTMLView _hasSelection]):
3010         (-[WebHTMLView _hasSelectionOrInsertionPoint]):
3011         (-[WebHTMLView _hasInsertionPoint]):
3012         (-[WebHTMLView _isEditable]):
3013         (-[WebHTMLView _updateFocusedAndActiveState]):
3014         (-[WebHTMLView readSelectionFromPasteboard:]):
3015         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
3016         (-[WebHTMLView maintainsInactiveSelection]):
3017         (-[WebHTMLView paste:]):
3018         (isTextInput):
3019         (-[WebHTMLView inputContext]):
3020         (-[WebTextCompleteController doCompletion]):
3021         (-[WebHTMLView selectAll]):
3022         (-[WebHTMLView deselectAll]):
3023         (-[WebHTMLView selectedAttributedString]):
3024         * WebView/WebView.mm:
3025         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
3026         (-[WebView setSelectedDOMRange:affinity:]):
3027         (-[WebView selectedDOMRange]):
3028         (-[WebView selectionAffinity]):
3030 2008-06-15  Darin Adler  <darin@apple.com>
3032         - rename KJS::List to KJS::ArgList
3034         * WebView/WebScriptDebugger.h:
3036 2008-06-15  Darin Adler  <darin@apple.com>
3038         - new names for more JavaScriptCore files
3040         * WebView/WebView.mm:
3042 2008-06-15  Darin Adler  <darin@apple.com>
3044         - new names for a few key JavaScriptCore files
3046         * ForwardingHeaders/kjs/JSFunction.h: Copied from WebKit/mac/ForwardingHeaders/kjs/function.h.
3047         * ForwardingHeaders/kjs/JSObject.h: Copied from WebKit/mac/ForwardingHeaders/kjs/object.h.
3048         * ForwardingHeaders/kjs/JSString.h: Copied from WebKit/mac/ForwardingHeaders/kjs/internal.h.
3049         * ForwardingHeaders/kjs/JSValue.h: Copied from WebKit/mac/ForwardingHeaders/kjs/value.h.
3050         * ForwardingHeaders/kjs/function.h: Removed.
3051         * ForwardingHeaders/kjs/internal.h: Removed.
3052         * ForwardingHeaders/kjs/object.h: Removed.
3053         * ForwardingHeaders/kjs/value.h: Removed.
3054         * WebView/WebScriptDebugDelegate.mm:
3056 2008-06-15  Darin Adler  <darin@apple.com>
3058         Rubber stamped by Sam.
3060         - use JS prefix and simpler names for basic JavaScriptCore types,
3061           to complement JSValue and JSObject
3063         * WebView/WebView.mm:
3064         (aeDescFromJSValue):
3066 2008-06-14  Darin Adler  <darin@apple.com>
3068         Rubber stamped by Sam.
3070         - new names for kjs_binding.h and kjs_proxy.h
3072         * WebView/WebFrame.mm:
3073         * WebView/WebScriptDebugDelegate.mm:
3074         * WebView/WebView.mm:
3076 2008-06-14  Darin Adler  <darin@apple.com>
3078         Rubber stamped by Sam.
3080         - renamed HTMLGenericFormElement to HTMLFormControlElement
3082         * WebView/WebHTMLRepresentation.mm:
3083         (-[WebHTMLRepresentation elementWithName:inForm:]):
3084         (-[WebHTMLRepresentation controlsInForm:]):
3086 2008-06-14  Darin Adler  <darin@apple.com>
3088         Reviewed by Sam.
3090         - more of https://bugs.webkit.org/show_bug.cgi?id=17257
3091           start ref counts at 1 instead of 0 for speed
3093         * WebCoreSupport/WebFrameLoaderClient.mm:
3094         (WebFrameLoaderClient::createDocumentLoader): Use create instead of new.
3095         (WebFrameLoaderClient::createFrame): Remove now-obsolete adoptRef that was balanced by
3096         a ref call inside the Frame constructor. The lifetime rules for Frame are now the
3097         conventional ones without a special case.
3099         * WebView/WebDataSource.mm:
3100         (-[WebDataSource _initWithDocumentLoader:]): Changed argument to be a PassRefPtr, since
3101         this function takes ownership of the DocumentLoader.
3102         (-[WebDataSource initWithRequest:]): Use create instead of new.
3103         * WebView/WebDataSourceInternal.h: Changed _initWithDocumentLoader argument to be a
3104         PassRefPtr and also cleaned up the header a bit.
3106         * WebView/WebDocumentLoaderMac.h:
3107         (WebDocumentLoaderMac::create): Added. Also made the constructor and a couple of virtual
3108         functions private.
3110         * WebView/WebFrame.mm:
3111         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Use create instead
3112         of new.
3114 2008-06-14  Darin Adler  <darin@apple.com>
3116         Reviewed by Sam.
3118         - more work on https://bugs.webkit.org/show_bug.cgi?id=17257
3119           start ref counts at 1 instead of 0 for speed
3121         * WebView/WebFrame.mm:
3122         (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
3123         * WebView/WebPDFView.mm:
3124         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
3126 2008-06-13  Darin Adler  <darin@apple.com>
3128         Reviewed by John Sullivan.
3130         - updated for addition of FormState argument to action policy functions
3131         - added WebActionFormKey
3133         * WebCoreSupport/WebFrameLoaderClient.h:
3134         * WebCoreSupport/WebFrameLoaderClient.mm:
3135         (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
3136         (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
3137         (WebFrameLoaderClient::actionDictionary):
3138         * WebKit.exp:
3139         * WebView/WebPolicyDelegate.mm:
3140         * WebView/WebPolicyDelegatePrivate.h:
3142 2008-06-12  John Sullivan  <sullivan@apple.com>
3144         Reviewed by Dan and Darin
3146         Clear up the confusion about _close (older private method) vs -close (newer public method).
3148         * WebView/WebView.mm:
3149         (-[WebView _isClosed]):
3150         simplified style
3151         (-[WebView _close]):
3152         added a comment about how clients and subclasses should use -close instead
3153         (-[WebView dealloc]):
3154         call -close instead of _close, so subclasses that override the public method will have the intended behavior
3155         (-[WebView close]):
3156         added a comment
3157         (-[WebView _windowWillClose:]):
3158         call -close instead of _close, so subclasses that override the public method will have the intended behavior
3160         * WebView/WebViewPrivate.h:
3161         added a comment about how clients and subclasses should use -close instead
3163 2008-06-07  Darin Adler  <darin@apple.com>
3165         Reviewed by Mitz.
3167         - work on https://bugs.webkit.org/show_bug.cgi?id=17257
3168           start ref counts at 1 instead of 0 for speed
3170         * History/WebHistoryItem.mm:
3171         (-[WebHistoryItem init]):
3172         (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
3173         (-[WebHistoryItem initWithURL:target:parent:title:]):
3174         (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]):
3175         * WebView/WebView.mm:
3176         (+[WebView _decodeData:]):
3178 2008-06-03  Oliver Hunt  <oliver@apple.com>
3180         Reviewed by Tim.
3182         Bug 12983: Web Inspector break on the debugger keyword
3183         <https://bugs.webkit.org/show_bug.cgi?id=12983>
3185         Add stubs to allow old webkit debugger interface to build.
3187         * WebView/WebScriptDebugger.h:
3188         * WebView/WebScriptDebugger.mm:
3190 2008-06-03  Anders Carlsson  <andersca@apple.com>
3192         Reviewed by Darin Adler.
3194         <rdar://problem/5980961>
3195         
3196         In 64-bit Web Kit, converting between float and double, can cause rounding errors which in turn causes
3197         newBottom to be larger than oldBottom which is illegal.
3198         
3199         * WebView/WebHTMLView.mm:
3200         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
3202 2008-06-02  Anders Carlsson  <andersca@apple.com>
3204         Reviewed by Mitz.
3206         Speculative fix for <rdar://problem/5661112> 
3207         CrashTracer: [USER] 49 crashes in DashboardClient at com.apple.WebCore: WebCore::RenderPart::setWidget + 62
3208         
3209         Defer loads while calling NPP_New. Some plug-ins start a run-loop inside NPP_New and finished loads could cause
3210         layouts to be triggered.
3211         
3212         * Plugins/WebBaseNetscapePluginView.mm:
3213         (-[WebBaseNetscapePluginView _createPlugin]):
3215 2008-05-29  Justin Garcia  <justin.garcia@apple.com>
3217         Reviewed by Darin Adler.
3218         
3219         <rdar://problem/5949462> REGRESSION: Can't paste screen captures into Mail
3220         
3221         AppKit started putting PNG instead of PICT onto the pasteboard for screen 
3222         captures.  Added support for PNG with kUTTypePNG.  Tiger doesn't support
3223         setting and retrieving pasteboard types with UTIs, but we don't know of any
3224         applications on Tiger that put only PNG on the pasteboard.
3226         * WebView/WebHTMLView.mm:
3227         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
3228         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
3230 2008-05-29  Anders Carlsson  <andersca@apple.com>
3232         Reviewed by Brady.
3234         <rdar://problem/5970312> 
3235         icon file specified for stand alone web app causes crash if the icon can't be found
3236         
3237         Handle the case where iconData is null.
3238         
3239         * Misc/WebIconFetcher.mm:
3240         (WebIconFetcherClient::finishedFetchingIcon):
3242 2008-05-29  Anders Carlsson  <andersca@apple.com>
3244         Reviewed by Mitz.
3246         <rdar://problem/5971845>
3247         https://bugs.webkit.org/show_bug.cgi?id=19313
3248         Add version member to NPCocoaEvent
3250         Initialize the version member to 0 for all events.
3251         
3252         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
3253         (initializeEvent):
3254         (WebNetscapePluginEventHandlerCocoa::drawRect):
3255         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
3256         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
3257         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
3258         (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
3259         (WebNetscapePluginEventHandlerCocoa::focusChanged):
3261 2008-05-29  Dan Bernstein  <mitz@apple.com>
3263         Reviewed by Jessica Kahn.
3265         - fix <rdar://problem/5965013> Page 2 does not print correctly
3267         When printing, _recursiveDisplayRectIfNeededIgnoringOpacity:... and
3268         _recursiveDisplayAllDirtyWithLockFocus:... can be invoked without
3269         -viewWillDraw being sent first, which could lead to painting without
3270         valid layout. The fix is to ensure up-to-date layout in those methods
3271         when printing.
3273         * WebView/WebHTMLView.mm:
3274         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
3275         (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
3277 2008-05-28  Anders Carlsson  <andersca@apple.com>
3279         Reviewed by Jon.
3281         Remove workaround, this is no longer a problem.
3282         
3283         * WebView/WebView.mm:
3284         (-[WebView _removeObjectForIdentifier:]):
3286 2008-05-27  Geoffrey Garen  <ggaren@apple.com>
3288         Reviewed by Tim Hatcher.
3289         
3290         Fixed https://bugs.webkit.org/show_bug.cgi?id=19183
3291         REGRESSION (r33979): Crash in DebuggerCallFrame::functionName when
3292         clicking button in returnEvent-crash.html
3293         
3294         Added implementations for willExecuteProgram and didExecuteProgram, which
3295         take care of making sure we're not hanging on to stale data.
3297 2008-05-27  Timothy Hatcher  <timothy@apple.com>
3299         Fixes a bug where unplugging the monitor from a video card and
3300         moving it to another video card would no longer show OpenGL plugins
3301         until you relaunched Safari.
3303         <rdar://problem/5790983> Add AllowOfflineDisplays pixel format
3304         attribute to OpenGL contexts
3306         Reviewed by Kevin Decker.
3308         * Plugins/WebBaseNetscapePluginView.mm:
3309         (-[WebBaseNetscapePluginView _createWindowedAGLContext]): Added
3310         AGL_ALLOW_OFFLINE_RENDERERS for non-Tiger builds.
3311         (-[WebBaseNetscapePluginView _createWindowlessAGLContext]): Ditto.
3313 2008-05-25  Mark Rowe  <mrowe@apple.com>
3315         Reviewed by Darin Adler.
3317         <rdar://problem/5840884> _recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined
3319         Follow-up for r33052.  _recursive_resumeNullEventsForAllNetscapePlugins and _recursive_pauseNullEventsForAllNetscapePlugins
3320         need to be declared in WebFramePrivate.h rather than WebFrameInternal.h so they can be used from outside of WebKit.
3322         * WebView/WebFrame.mm:
3323         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
3324         (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
3325         * WebView/WebFrameInternal.h:
3326         * WebView/WebFramePrivate.h:
3328 2008-05-23  Timothy Hatcher  <timothy@apple.com>
3330         Fix attaching and detaching the Web Inspector. This change removes
3331         the clunky animation that never looked right and was causing issues
3332         where the inspected WebView would get into a no useable state.
3334         <rdar://problem/5958812> Attaching and Detaching the Web Inspector
3335         can cause the inspected WebVIew to be unusable
3337         Reviewed by Adam Roben.
3339         * WebCoreSupport/WebInspectorClient.mm:
3340         (-[WebInspectorWindowController close]): Removes animation code.
3341         Sets the frame directly and does a displayIfNeeded to prevent
3342         showing the Inspector in the page and in the Inspector window.
3343         (-[WebInspectorWindowController showWindow:]): Removes animation code.
3344         Sets the frame directly.
3345         (-[WebInspectorWindowController attach]): Simplified.
3346         (-[WebInspectorWindowController detach]): Ditto.
3348 2008-05-22  Dan Bernstein  <mitz@apple.com>
3350         Reviewed by Darin Adler.
3352         - fix broken documentation of
3353           webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
3355         * WebView/WebUIDelegate.h: Fixed method name in HeaderDoc for
3356         -webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
3358 2008-05-22  Timothy Hatcher  <timothy@apple.com>
3360         <rdar://problem/5956403> Update the Develop menu to match the new Inspector items
3362         Reviewed by Adam Roben.
3364         * WebCoreSupport/WebInspectorClient.mm:
3365         (-[WebInspectorWindowController showWebInspector:]):
3366         (-[WebInspectorWindowController showErrorConsole:]):
3367         (-[WebInspectorWindowController toggleDebuggingJavaScript:]):
3368         (-[WebInspectorWindowController toggleProfilingJavaScript:]):
3369         (-[WebInspectorWindowController validateUserInterfaceItem:]):
3370         * WebInspector/WebInspector.h:
3371         * WebInspector/WebInspector.mm:
3372         (-[WebInspector showConsole:]):
3373         (-[WebInspector showTimeline:]):
3374         (-[WebInspector isDebuggingJavaScript]):
3375         (-[WebInspector toggleDebuggingJavaScript:]):
3376         (-[WebInspector startDebuggingJavaScript:]):
3377         (-[WebInspector stopDebuggingJavaScript:]):
3378         (-[WebInspector isProfilingJavaScript]):
3379         (-[WebInspector toggleProfilingJavaScript:]):
3380         (-[WebInspector startProfilingJavaScript:]):
3381         (-[WebInspector stopProfilingJavaScript:]):
3383 2008-05-22  Josh Aas  <joshmoz@gmail.com>
3385         Reviewed by Anders.
3387         <rdar://problem/5956429> 
3388         https://bugs.webkit.org/show_bug.cgi?id=19192
3389         remove NPNVpluginEventModel, fix example plugin
3390         
3391         * Plugins/WebBaseNetscapePluginView.mm:
3392         (-[WebBaseNetscapePluginView getVariable:value:]):
3394 2008-05-21  Anders Carlsson  <andersca@apple.com>
3396         Reviewed by Maciej.
3398         Add WebIconFetcher.
3399         
3400         * Misc/WebIconFetcher.h: Added.
3401         * Misc/WebIconFetcher.mm: Added.
3402         (WebIconFetcherClient::WebIconFetcherClient):
3403         (WebIconFetcherClient::finishedFetchingIcon):
3404         (WebIconFetcherClient::setFetcher):
3405         (-[WebIconFetcher init]):
3406         (-[WebIconFetcher dealloc]):
3407         (-[WebIconFetcher finalize]):
3408         (-[WebIconFetcher cancel]):
3409         (-[WebIconFetcher _initWithIconFetcher:client:]):
3410         (+[WebIconFetcher _fetchApplicationIconForFrame:target:selector:]):
3411         * Misc/WebIconFetcherInternal.h: Added.
3412         * WebView/WebFrame.mm:
3413         (-[WebFrame fetchApplicationIcon:selector:]):
3414         * WebView/WebFramePrivate.h:
3416 === End merge of squirrelfish ===
3418 2008-05-21  Geoffrey Garen  <ggaren@apple.com>
3420         Reviewed by Tim Hatcher.
3421         
3422         Updated for API changes from merging with trunk WebCore's new debugger.
3424         * WebView/WebScriptDebugDelegate.mm:
3425         (-[WebScriptCallFrame evaluateWebScript:]): Explicitly check for an
3426         exception return, since the DebuggerCallFrame no longer automatically
3427         substitutes the exception for the return value.
3429         * WebView/WebScriptDebugger.mm: Use the dynamic global object, not the
3430         lexical global object, since the debugger attaches based on dynamic
3431         global object.
3433 2008-05-17  Geoffrey Garen  <ggaren@apple.com>
3435         Reviewed by Oliver Hunt.
3436         
3437         Re-enabled previously disabled debugging functionality.
3438         
3439         There are two major changes from how the WebKit debugger used to work:
3440         
3441         (1) All the interesting bits are implemented down in JavaScriptCore. The
3442         debugger just calls through to KJS::DebuggerCallFrame for everything.
3443         
3444         (2) Instead of copyihng a pointer to an ExecState once, the debugger
3445         copies the DebuggerCallFrame passed to it in each callback. This is
3446         because the VM no longer maintains a fully transparent execution state
3447         to which you can hold a pointer, and the DebuggerCallFrames it vends
3448         are temporaries.
3449         
3450         Also, we NULL out a WebScriptCallFrame's DebuggerCallFrame upon return
3451         from its function. This is safer than the old method, which was to
3452         hold a stale ExecState* and hope for the best.
3454 2008-05-13  Geoffrey Garen  <ggaren@apple.com>
3456         Reviewed by Oliver Hunt.
3458         Updated for API changes in KJS::Debugger.
3460         * WebView/WebFrame.mm:
3461         (-[WebFrame _attachScriptDebugger]): Changed the order of operations to
3462         fix an ASSERT that can happen when re-entering _attachScriptDebugger.
3464 2008-05-13  Geoffrey Garen  <ggaren@apple.com>
3466         Reviewed by Oliver Hunt.
3467         
3468         Updated WebScriptDebugger API to accept a SourceProvider instead
3469         of a WebCore::String, to avoid copying.
3471         (WebScriptDebugger::sourceParsed): Updated this function not to return
3472         a value.
3474 2008-04-30  Geoffrey Garen  <ggaren@apple.com>
3476         Build fix: #ifdef'd out some code that doesn't work anymore.
3478 2008-04-30  Geoffrey Garen  <ggaren@apple.com>
3480         Reviewed by Oliver Hunt.
3481         
3482         #ifdef'd out some debugger code that doesn't work anymore.
3484         * WebView/WebScriptDebugDelegate.mm:
3485         (-[WebScriptCallFrame scopeChain]):
3487 2008-04-21  Geoffrey Garen  <ggaren@apple.com>
3489         Build fix.
3491         * ChangeLog:
3492         * WebView/WebScriptDebugDelegate.mm:
3493         (-[WebScriptCallFrame scopeChain]):
3495 2008-03-30  Geoffrey Garen  <ggaren@apple.com>
3497         Reviewed by Oliver Hunt.
3498         
3499         Build fix.
3501 === Start merge of squirrelfish ===
3503 2008-05-21  Darin Adler  <darin@apple.com>
3505         - fix build
3507         * WebView/WebViewPrivate.h: Remove declaration of closeWithFastTeardown. We can add it back later
3508         if we want, but if we do, we should probably make some refinements like checking _private->closed
3509         and applicationIsTerminating.
3511 2008-05-21  Darin Adler  <darin@apple.com>
3513         Reviewed by Anders and Kevin Decker.
3515         - fix <rdar://problem/5951130> REGRESSION: crash on quit after reopening windows from previous session
3517         * WebView/WebView.mm:
3518         (-[WebViewPrivate dealloc]): Fix assertions to not complain when fast teardown is used.
3519         (-[WebView _closePluginDatabases]): Factored out some common code from both versions of close.
3520         (-[WebView _closeWithFastTeardown]): Added an underscore to this method's name, since it's internal.
3521         Streamlined the code a bit. Added a line of code to set _private->closed (this is the bug fix).
3522         (-[WebView _close]): Changed for new method name and to use _closePluginDatabases.
3524 2008-05-19  Stephanie Lewis  <slewis@apple.com>
3526         Reviewed by Darin Adler.
3527     
3528         more fast teardown performance work
3530         * Misc/WebDownload.m:
3531         (-[WebDownloadInternal downloadDidBegin:]):
3532         (-[WebDownloadInternal downloadDidFinish:]):
3533         (-[WebDownloadInternal download:didFailWithError:]):
3534         * WebCoreSupport/WebChromeClient.h:
3535         * WebCoreSupport/WebChromeClient.mm:
3536         (WebChromeClient::disableSuddenTermination):
3537         (WebChromeClient::enableSuddenTermination):
3539 2008-05-18  Dan Bernstein  <mitz@apple.com>
3541         Reviewed by Sam Weinig.
3543         - fix <rdar://problem/5944596> IDNs are displayed as punycode in the authentication panel
3545         * Panels/WebAuthenticationPanel.m:
3546         (-[WebAuthenticationPanel setUpForChallenge:]):
3548 2008-05-16  Timothy Hatcher  <timothy@apple.com>
3550         Removes WebScriptDebugServer files and related calls. This removes
3551         the hooks that Drosera uses for debugging. Now that the Web Inspector
3552         has a better debugger, we don't need these anymore.
3554         Reviewed by Sam Weinig.
3556         * DefaultDelegates/WebScriptDebugServer.h: Removed.
3557         * DefaultDelegates/WebScriptDebugServer.m: Removed.
3558         * DefaultDelegates/WebScriptDebugServerPrivate.h: Removed.
3559         * WebCoreSupport/WebFrameLoaderClient.mm:
3560         * WebKit.exp:
3561         * WebView/WebScriptDebugDelegate.mm:
3562         * WebView/WebScriptDebugger.mm:
3563         (WebScriptDebugger::sourceParsed):
3564         (WebScriptDebugger::callEvent):
3565         (WebScriptDebugger::atStatement):
3566         (WebScriptDebugger::returnEvent):
3567         (WebScriptDebugger::exception):
3568         * WebView/WebView.mm:
3569         (-[WebView _commonInitializationWithFrameName:groupName:]):
3570         * WebView/WebViewPrivate.h:
3572 2008-05-16  Brady Eidson  <beidson@apple.com>
3574         Reviewed by Anders
3576         <rdar://problem/5942616> - Need to standardize LocalStorage persistence path
3578         Took the opportunity to touch up another pref that needs the same standardization.
3579         That pref is currently not in use on Mac.
3581         * WebView/WebPreferences.m:
3582         (-[WebPreferences _setFTPDirectoryTemplatePath:]):
3583         (-[WebPreferences _localStorageDatabasePath]):
3584         (-[WebPreferences _setLocalStorageDatabasePath:]):
3585         (-[WebPreferences _ftpDirectoryTemplatePath]):
3587 2008-05-16  Chris Fleizach  <cfleizach@apple.com>
3589         Reviewed by Alice Liu
3591         <rdar://problem/5710317> REGRESSION:Selecting ranges of text should be possible using the keyboard (15310)
3593         * WebView/WebFrame.mm:
3594         (-[WebFrame _accessibilityTree]):
3596 2008-05-15  Stephanie Lewis  <slewis@apple.com>
3597         
3598         fix mac build
3600         * WebView/WebView.mm:
3601         (-[WebView closeWithFastTeardown]):
3603 2008-05-15  Stephanie Lewis  <slewis@apple.com>
3605         Reviewed by Anders.
3607         Turn on fast teardown.  I added a preference for using full teardown because 
3608         the LEAKS output will be useless without a full teardown.  
3610         preference for fullteardown
3611         * WebView/WebPreferenceKeysPrivate.h:
3612         * WebView/WebPreferences.m:
3613         (-[WebPreferences setFullDocumentTeardownEnabled:]):
3614         (-[WebPreferences fullDocumentTeardownEnabled]):
3615         * WebView/WebPreferencesPrivate.h:
3616         
3617         on application quit dispatch unload events and destroy plugins then exit
3618         * WebView/WebView.mm:
3619         (-[WebView closeWithFastTeardown]):
3620         (-[WebView _close]):
3621         * WebView/WebViewPrivate.h:
3623 2008-05-15  Stephanie Lewis  <slewis@apple.com>
3625         Reviewed by Anders.
3627         get the pending frame unload count from WebCore
3629         * WebView/WebFrame.mm:
3630         (-[WebFrame _pendingFrameUnloadEventCount]):
3631         * WebView/WebFramePrivate.h:
3633 2008-05-15  John Sullivan  <sullivan@apple.com>
3635         Reviewed by Kevin Decker
3636         
3637         - fixed <rdar://problem/5940275> Inspector highlighting moves to bottom-left corner of 
3638           screen when new tab appears
3639           
3640         The highlight should go away entirely, but this simple patch just makes it not jump away.
3641         The issue with it not going away entirely is harder to fix and covered by <rdar://problem/5322306>
3643         * WebInspector/WebNodeHighlight.m:
3644         (-[WebNodeHighlight _repositionHighlightWindow]):
3645         Bail out if target view isn't in a window
3647 2008-05-15  Stephanie Lewis  <slewis@apple.com>
3649         Reviewed by Anders.
3651         Track views that contain plugin instances so that they can be destroyed at application
3652         quit without walking the entire document tree.
3654         Add/Remove Netscape plugin views from instance list.  Start/stop are when netscape
3655         plugins are created and destroyed
3656         * Plugins/WebBaseNetscapePluginView.mm:
3657         (-[WebBaseNetscapePluginView start]):
3658         (-[WebBaseNetscapePluginView stop]):
3660         Add/remove WebKit plugin views from instance list
3661         * Plugins/WebPluginController.mm:
3662         (-[WebPluginController addPlugin:]):
3663         (-[WebPluginController destroyPlugin:]):
3664         (-[WebPluginController destroyAllPlugins]):
3666         Add a set of views with plugin instances to the WebPluginDatabase
3667         * Plugins/WebPluginDatabase.h:
3668         * Plugins/WebPluginDatabase.mm:
3669         (-[WebPluginDatabase init]):
3670         (-[WebPluginDatabase dealloc]):
3671         (-[WebPluginDatabase addPluginInstanceView:]):
3672         (-[WebPluginDatabase removePluginInstanceView:]):
3673         (-[WebPluginDatabase removePluginInstanceViewsFor:]):
3674         (-[WebPluginDatabase destroyAllPluginInstanceViews]):
3675         
3676         Handle cases where plugin views are detached before the plugin is destroyed.
3677         * WebCoreSupport/WebFrameLoaderClient.mm:
3678         (WebFrameLoaderClient::detachedFromParent2):
3679         (WebFrameLoaderClient::transitionToCommittedFromCachedPage):
3680         (WebFrameLoaderClient::transitionToCommittedForNewPage):
3682         Add plugin instances to the set in the WebPluginDatabase by way of the WebView
3683         * WebView/WebHTMLView.mm:
3684         (-[WebHTMLView _destroyAllWebPlugins]):
3685         * WebView/WebHTMLViewInternal.h:
3686         * WebView/WebView.mm:
3687         (-[WebView addPluginInstanceView:]):
3688         (-[WebView removePluginInstanceView:]):
3689         (-[WebView removePluginInstanceViewsFor:]):
3690         * WebView/WebViewInternal.h:
3692 2008-05-15  Brady Eidson  <beidson@apple.com>
3694         Reviewed by Tim Hatcher
3696         Until the settings/preferences equation can be reworked, we'll need to manually set the local storage path
3697         before setting the page group of the new page.
3698         
3699         * WebView/WebView.mm:
3700         (-[WebView _commonInitializationWithFrameName:groupName:]): Set the LocalStorage path 
3701           immediately after creating the page so it is in place for initializing the LocalStorageThread
3703 2008-05-15  Timothy Hatcher  <timothy@apple.com>
3705         Fixes the bug where the Web Inspector would flash white while resizing.
3706         This was cause by deferring the window creation.
3708         <rdar://problem/5873549> REGRESSION: Inspector flickers horribly while resizing (17979)
3710         Reviewed by Darin Adler.
3712         * WebCoreSupport/WebInspectorClient.mm:
3713         (-[WebInspectorWindowController window]): Don't defer the window creation.
3715 2008-05-15  Alexey Proskuryakov  <ap@webkit.org>
3717         Tiger build fix.
3719         * Misc/WebNSAttributedStringExtras.mm: Import WebTypesInternal.h for NSUInteger.
3721 2008-05-15  Adele Peterson  <adele@apple.com>
3723         Reviewed and landed by Alexey.
3725         Use TextIterator in +[NSAttributedString _web_attributedStringFromRange:].
3727         * Misc/WebNSAttributedStringExtras.mm:
3728         (+[NSAttributedString _web_attributedStringFromRange:]):
3730 2008-05-14  Eric Seidel  <eric@webkit.org>
3732         Reviewed by Oliver.
3734         Add missing NULL check to match rest of file, this was found by the editing fuzzer.
3736         * WebView/WebResource.mm:
3737         (-[WebResource data]):
3739 2008-05-14  Alexey Proskuryakov  <ap@webkit.org>
3741         Reviewed by Dan Bernstein.
3743         NPP_ValidAttributesForMarkedText should return NSArray*, not NSArray.
3745         * Plugins/nptextinput.h:
3747 2008-05-13  Anders Carlsson  <andersca@apple.com>
3749         Reviewed by Sam.
3751         Don't empty the application cache in _setCacheModel, since it will be called during initialization.
3752         Instead, do it in [WebCache empty].
3753         
3754         * Misc/WebCache.mm:
3755         (+[WebCache empty]):
3756         * WebView/WebView.mm:
3757         (+[WebView _setCacheModel:]):
3759 2008-05-13  chris fleizach  <cfleizach@apple.com>
3761         Reviewed by Beth Dakin
3763         <rdar://problem/4780592> WebKit application has its window announced as HTML content
3765         * WebCoreSupport/WebViewFactory.mm:
3766         (-[WebViewFactory AXWebAreaText]):
3768 2008-05-13  Timothy Hatcher  <timothy@apple.com>
3770         Fixes a crash seen in Xcode where CallUIDelegateReturningBoolean
3771         was referencing a nil WebView under validateUserInterfaceItem.
3772         The validateUserInterfaceItem methods was being called at a time
3773         when the WebHTMLView is being torndown.
3775         <rdar://problem/5806229> A crash occurs at CallUIDelegateReturningBoolean()
3776         while mousing down on menu bar after Xcode News window is opened
3778         Reviewed by Ada Chan.
3780         * WebView/WebHTMLView.mm:
3781         (-[WebHTMLView validateUserInterfaceItem:]): NULL check the WebView and
3782         return NO when it is nil. Adds a comment.
3783         * WebView/WebPDFView.mm:
3784         (-[WebPDFView validateUserInterfaceItem:]): Ditto.
3786 2008-05-13  Mark Rowe  <mrowe@apple.com>
3788         Reviewed by John Sullivan.
3790         <rdar://problem/5926425> HIWebViewCreateWithClass declared as API in HIWebView.h but never exported from WebKit.framework
3792         * Carbon/HIWebView.h: Remove HIWebViewCreateWithClass.
3793         * Carbon/HIWebView.m: Ditto.
3794         (HIWebViewCreate):
3795         (HIWebViewConstructor):
3797 2008-05-12  Dan Bernstein  <mitz@apple.com>
3799         Reviewed by Ada Chan.
3801         - WebKit/mac changes for https://bugs.webkit.org/show_bug.cgi?id=17097
3802           <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
3804         Added font cache statistics and a function to purge inactive font data.
3806         * Misc/WebCoreStatistics.h:
3807         * Misc/WebCoreStatistics.mm:
3808         (+[WebCoreStatistics cachedFontDataCount]):
3809         (+[WebCoreStatistics cachedFontDataInactiveCount]):
3810         (+[WebCoreStatistics purgeInactiveFontData]):
3811         (+[WebCoreStatistics glyphPageCount]):
3813 2008-05-12  Mark Rowe  <mrowe@apple.com>
3815         Reviewed by Tim Hatcher.
3817         Decorate some deprecated delegate methods with the availability macros.
3819         The compiler doesn't appear to warn if a delegate implements these methods, but using the availability
3820         macros is good for consistency and documentation.
3822         * WebView/WebFrameLoadDelegate.h:
3823         * WebView/WebUIDelegate.h:
3825 2008-05-12  Mark Rowe  <mrowe@apple.com>
3827         Reviewed by Tim Hatcher.
3829         <rdar://problem/5835604> Deprecate HIWebView
3831         Use of HIWebView is deprecated in favor of embedding a WebView in a HICocoaView.
3833         * Carbon/CarbonUtils.h: Include the availability macro header and decorate the functions appropriately.
3834         * Carbon/HIWebView.h: Ditto.
3836 2008-05-12  Kevin Decker  <kdecker@apple.com>
3838         Reviewed by Anders.
3840         Fixed: <rdar://problem/5840884>_recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined
3841         
3842         Re-added these SPI methods because they are needed by some clients. They were accidentally removed
3843         in changeset <http://trac.webkit.org/changeset/31028>
3844         
3845         * Plugins/WebBaseNetscapePluginView.h: Added stopTimers, restartTimers to the header.
3846         * WebView/WebFrame.mm:
3847         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): Re-addd.
3848         (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): Ditto.
3849         * WebView/WebFrameInternal.h: Ditto.
3850         * WebView/WebHTMLView.mm: Ditto.
3851         (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): Ditto.
3852         (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]): Ditto.
3853         * WebView/WebHTMLViewInternal.h: Ditto.
3854         * WebView/WebHTMLViewPrivate.h: Ditto.
3856 2008-05-12  Anders Carlsson  <andersca@apple.com>
3858         Reviewed by Alexey.
3860         Empty the application cache when changing the cache model.
3861         
3862         * WebView/WebView.mm:
3863         (+[WebView _setCacheModel:]):
3865 2008-05-12  Anders Carlsson  <andersca@apple.com>
3867         Reviewed by Oliver.
3869         <rdar://problem/5774495> Make Unicode text input possible in Netscape-style plug-ins
3870         
3871         * Plugins/WebBaseNetscapePluginView.h:
3872         * Plugins/WebBaseNetscapePluginView.mm:
3873         (-[WebBaseNetscapePluginView start]):
3874         Get the plug-in text input vtable pointer.
3875         
3876         (-[WebBaseNetscapePluginView stop]):
3877         Set the plug-in text input vtable pointer to 0.
3878         
3879         (-[WebBaseNetscapePluginView inputContext]):
3880         Return 0 for Carbon plug-ins since we don't want Cocoa to handle text input for them.
3881         
3882         (-[WebBaseNetscapePluginView hasMarkedText]):        
3883         (-[WebBaseNetscapePluginView insertText:]):
3884         (-[WebBaseNetscapePluginView markedRange]):
3885         (-[WebBaseNetscapePluginView selectedRange]):
3886         (-[WebBaseNetscapePluginView setMarkedText:selectedRange:]):
3887         (-[WebBaseNetscapePluginView unmarkText]):
3888         (-[WebBaseNetscapePluginView validAttributesForMarkedText]):
3889         (-[WebBaseNetscapePluginView attributedSubstringFromRange:]):
3890         (-[WebBaseNetscapePluginView characterIndexForPoint:]):
3891         (-[WebBaseNetscapePluginView doCommandBySelector:]):
3892         (-[WebBaseNetscapePluginView firstRectForCharacterRange:]):
3893         (-[WebBaseNetscapePluginView conversationIdentifier]):
3894         Implement NSTextInput and call into the plug-in text input vtable.
3895         
3896         (browserTextInputFuncs):
3897         New method which returns the browser input vtable.
3898         
3899         (-[WebBaseNetscapePluginView getVariable:value:]):
3900         Support getting the browser input vtable pointer.
3901         
3902         * Plugins/WebNetscapePluginEventHandlerCocoa.h:
3903         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
3904         (WebNetscapePluginEventHandlerCocoa::keyDown):
3905         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
3906         If the plug-in returns 0 when a NPCocoaEventKeyDown is passed to NPP_HandleEvent,
3907         it means that the event should be passed on to the input manager.
3908          
3909         * Plugins/npapi.mm:
3910         (NPN_MarkedTextAbandoned):
3911         (NPN_MarkedTextSelectionChanged):
3912         Add implementations of browser input method methods.
3913         
3914         * Plugins/nptextinput.h: Added.
3915         Add file with new text input API.
3917 2008-05-12  Alexey Proskuryakov  <ap@webkit.org>
3919         Roll out recent  threading changes (r32807, r32810, r32819, r32822) to simplify
3920         SquirrelFish merging.
3922         * Misc/WebCoreStatistics.mm:
3923         (+[WebCoreStatistics javaScriptObjectsCount]):
3924         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
3925         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
3926         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
3927         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
3928         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
3929         * WebView/WebScriptDebugDelegate.mm:
3930         (-[WebScriptCallFrame evaluateWebScript:]):
3932 2008-05-07  Anders Carlsson  <andersca@apple.com>
3934         Reviewed by Mitz.
3936         REGRESSION (3.1.1-TOT): Arrow keys are sticky in Google Maps street view
3937         https://bugs.webkit.org/show_bug.cgi?id=18880
3938         <rdar://problem/5909513>
3940         Stop suspending key up events before calling handleEvent.
3941         
3942         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
3943         (WebNetscapePluginEventHandlerCarbon::sendEvent):
3945 2008-05-06  Stephanie Lewis  <slewis@apple.com>
3947         Reviewed by Andersca.
3949         prepare for plugin fast teardown work - make WebPluginDatabase a objective C++ file.
3951         * Plugins/WebPluginDatabase.m: Removed.
3952         * Plugins/WebPluginDatabase.mm: Copied from WebKit/mac/Plugins/WebPluginDatabase.m.
3953         * Plugins/npapi.m: Removed.
3954         * Plugins/npapi.mm: Copied from WebKit/mac/Plugins/npapi.m.
3956 2008-05-06  Anders Carlsson  <andersca@apple.com>
3958         Reviewed by Darin Adler.
3960         Initialize numArchs to 0.
3961         
3962         * Plugins/WebBasePluginPackage.m:
3963         (-[WebBasePluginPackage isNativeLibraryData:]):
3965 2008-05-06  Anders Carlsson  <andersca@apple.com>
3967         Reviewed by Darin Adler.
3969         Add implementation of NPN_PopUpContextMenu.
3970         
3971         * Plugins/WebBaseNetscapePluginView.mm:
3972         (-[WebBaseNetscapePluginView popUpContextMenu:]):
3973         * Plugins/WebBaseNetscapePluginViewPrivate.h:
3974         * Plugins/WebNetscapePluginPackage.m:
3975         (-[WebNetscapePluginPackage load]):
3976         * Plugins/npapi.m:
3977         (NPN_PopUpContextMenu):
3979 2008-05-06  Anders Carlsson  <andersca@apple.com>
3981         Fix typo (don't read random memory).
3982         
3983         * Plugins/WebBasePluginPackage.m:
3984         (-[WebBasePluginPackage isNativeLibraryData:]):
3986 2008-05-05  Anders Carlsson  <andersca@apple.com>
3988         Reviewed by Darin Adler.
3990         Change the isNativeLibraryData: method to handle universal binaries.
3991         
3992         * Plugins/WebBasePluginPackage.m:
3993         (swapIntsInHeader):
3994         (-[WebBasePluginPackage isNativeLibraryData:]):
3996 2008-05-06  Brady Eidson  <beidson@apple.com>
3998         Reviewed by Darin Adler
4000         Preparation for upcoming work making LocalStorage persistent.
4002         When the application terminates, all LocalStorage areas must be sync'ed out to disk first.
4004         * WebView/WebView.mm:
4005         (+[WebView _applicationWillTerminate]):  Close all LocalStorage areas before quitting.
4007 2008-05-05  Sam Weinig  <sam@webkit.org>
4009         Reviewed by Darin Adler.
4011         Fix for <rdar://problem/5884383>
4012         Escape look-a-like characters from the the entire url.
4014         * Misc/WebNSURLExtras.mm:
4015         (escapeUnsafeCharacters):
4016         (-[NSURL _web_userVisibleString]):
4018 2008-05-05  Justin Garcia  <justin.garcia@apple.com>
4020         Reviewed by Darin Adler.
4021         
4022         <rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end
4024         * WebView/WebView.mm:
4025         (-[WebView _updateSettingsFromPreferences:]): Disable Range mutation on changes to
4026         the document for Tiger and Leopard Mail.  There is code in Mail that does it, and
4027         the two interfere.
4029 2008-05-05  Sam Weinig  <sam@webkit.org>
4031         Reviewed by Tim Hatcher.
4033         Make the Inspector's localizable strings file match the format used by Dashboard widgets.
4035         * WebCoreSupport/WebInspectorClient.mm:
4036         (WebInspectorClient::localizedStringsURL):
4038 2008-05-05  Anders Carlsson  <andersca@apple.com>
4040         Reviewed by Jess.
4042         Apparently preflighting can cause hangs for some reason. Revert this for now.
4043         
4044         * Plugins/WebNetscapePluginPackage.m:
4045         (-[WebNetscapePluginPackage _initWithPath:]):
4046         * Plugins/WebPluginPackage.m:
4047         (-[WebPluginPackage initWithPath:]):
4049 2008-05-05  Darin Adler  <darin@apple.com>
4051         Reviewed by Mitz.
4053         - https://bugs.webkit.org/show_bug.cgi?id=18789
4054           fix some shouldCloseWithWindow edge cases
4056         * WebView/WebView.mm:
4057         (-[WebView viewWillMoveToWindow:]): Fix bug where we would stop observing the
4058         NSWindowWillCloseNotification if the view was moved out of the window but still
4059         had that window set as the host window. Also make sure this function doesn't do
4060         anything if the WebView is already closed.
4061         (-[WebView setHostWindow:]): Ditto.
4063 2008-05-04  David Kilzer  <ddkilzer@apple.com>
4065         Make parameters match for WebChromeClient::addMessageToConsole()
4067         Reviewed by John.
4069         * WebCoreSupport/WebChromeClient.h:
4070         (WebChromeClient::addMessageToConsole): Renamed sourceID parameter
4071         to sourceURL to match implementation in WebChromeClient.mm.
4073 2008-05-02  Anders Carlsson  <andersca@apple.com>
4075         Reviewed by Mark.
4077         Various Cocoa event model and 64-bit plug-in fixes.
4078         
4079         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
4080         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
4081         Set click count.
4082         
4083         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
4084         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
4085         Don't try to get the mouse location for keyboard events.
4086         
4087         * Plugins/WebPluginPackage.m:
4088         (-[WebPluginPackage initWithPath:]):
4089         Preflight the bundle so we won't show 32-bit WebKit plug-ins when running as 64-bit.
4091 2008-05-02  Anders Carlsson  <andersca@apple.com>
4093         Reviewed by Sam.
4095         The event union is now named.
4096         
4097         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
4098         (WebNetscapePluginEventHandlerCocoa::drawRect):
4099         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
4100         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
4101         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
4102         (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
4103         (WebNetscapePluginEventHandlerCocoa::focusChanged):
4105 2008-05-02  Anders Carlsson  <andersca@apple.com>
4107         Reviewed by Mark.
4109         Make sure that 32-bit only plug-ins aren't shown when running as 64-bit.
4110         
4111         Call preflightAndReturnError on the bundle, which will check if any of the architectures
4112         in the bundle match the current architecture.
4113         
4114         * Plugins/WebNetscapePluginPackage.m:
4115         (-[WebNetscapePluginPackage _initWithPath:]):
4117 2008-05-02  Alexey Proskuryakov  <ap@webkit.org>
4119         Reviewed by Geoffrey Garen.
4121         https://bugs.webkit.org/show_bug.cgi?id=18826
4122         Make JavaScript heap per-thread
4124         * Misc/WebCoreStatistics.mm:
4125         (+[WebCoreStatistics javaScriptObjectsCount]):
4126         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
4127         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
4128         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
4129         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
4130         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
4131         Replaced static Collector calls with calls to a current thread's instance.
4133         * WebView/WebScriptDebugDelegate.mm:
4134         (-[WebScriptCallFrame evaluateWebScript:]):
4135         Pass ExecState to jsString().
4137 2008-05-01  Anders Carlsson  <andersca@apple.com>
4139         Reviewed by Mark.
4141         64-bit NPAPI plugin build fixes.
4142         
4143         * Plugins/WebBaseNetscapePluginView.mm:
4144         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
4145         (-[WebBaseNetscapePluginView updateAndSetWindow]):
4146         (-[WebBaseNetscapePluginView start]):
4147         (-[WebBaseNetscapePluginView windowBecameKey:]):
4148         * Plugins/WebNetscapeDeprecatedFunctions.c:
4149         * Plugins/WebNetscapeDeprecatedFunctions.h:
4150         * Plugins/WebNetscapePluginEventHandler.mm:
4151         (WebNetscapePluginEventHandler::create):
4152         * Plugins/WebNetscapePluginEventHandlerCarbon.h:
4153         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
4154         * Plugins/WebPluginDatabase.m:
4155         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
4157 2008-05-01  Anders Carlsson  <andersca@apple.com>
4159         Reviewed by Tim.
4161         Remove duplicate npfunctions.h header from WebKit.
4163         * MigrateHeaders.make:
4164         Migrate npfunctions.h
4165         
4166         * Plugins/npfunctions.h: Removed.
4168 2008-05-01  Anders Carlsson  <andersca@apple.com>
4170         Reviewed by John.
4171         
4172         Add null checks for the event handler.
4173         
4174         * Plugins/WebBaseNetscapePluginView.mm:
4175         (-[WebBaseNetscapePluginView stopTimers]):
4176         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
4178 2008-05-01  Anders Carlsson  <andersca@apple.com>
4180         Fix 64-bit build.
4181         
4182         * Plugins/WebNetscapePluginEventHandlerCocoa.h:
4183         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
4184         * WebCoreSupport/WebFrameLoaderClient.mm:
4186 2008-05-01  Anders Carlsson  <andersca@apple.com>
4188         Fix build.
4189         
4190         * Plugins/npfunctions.h:
4192 2008-05-01  Anders Carlsson  <andersca@apple.com>
4194         Reviewed by Adam.
4196         Forward mouse move events to the Netscape plug-in view.
4197         
4198         * Plugins/WebBaseNetscapePluginView.h:
4199         * Plugins/WebBaseNetscapePluginView.mm:
4200         (-[WebBaseNetscapePluginView handleMouseMoved:]):
4201         New method that just calls the current event handler.
4202         
4203         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
4204         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
4205         NSFlagsChanged is not a regular keyboard event and some of the NSEvent accessors
4206         don't work on it so don't call them.
4207         
4208         * WebCoreSupport/WebFrameLoaderClient.mm:
4209         (NetscapePluginWidget::NetscapePluginWidget):
4210         New Widget subclass to be used for Netscape plug-ins.
4211         
4212         (NetscapePluginWidget::handleEvent):
4213         Forward NSMouseMoved events to the plug-in.
4214         
4215         (WebFrameLoaderClient::createPlugin):
4216         Wrap the plug-in view in a NetscapePluginWidget.
4218 2008-05-01  Alp Toker  <alp@nuanti.com>
4220         Rubber-stamped by Anders.
4222         GTK+ build fix for changes in r32752. Use int32, not int32_t types in
4223         npapi.h.
4225         Additional fix to use same signedness in npapi.h and Mac for the
4226         interval parameter.
4228         * Plugins/WebBaseNetscapePluginView.h:
4229         * Plugins/WebBaseNetscapePluginView.mm:
4230         (PluginTimer::PluginTimer):
4231         (-[WebBaseNetscapePluginView stopTimers]):
4232         (-[WebBaseNetscapePluginView restartTimers]):
4233         (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
4234         (-[WebBaseNetscapePluginView unscheduleTimer:]):
4235         * Plugins/WebBaseNetscapePluginViewPrivate.h:
4236         * Plugins/npapi.m:
4237         (NPN_ScheduleTimer):
4238         (NPN_UnscheduleTimer):
4239         * Plugins/npfunctions.h:
4241 2008-04-30  Anders Carlsson  <andersca@apple.com>
4243         Reviewed by Adam.
4245         Add new Cocoa event model and the NPN_ScheduleTimer/NPN_UnscheduleTimer methods.
4246         
4247         * Plugins/WebBaseNetscapePluginView.h:
4248         * Plugins/WebBaseNetscapePluginView.mm:
4249         (PluginTimer::PluginTimer):
4250         (PluginTimer::start):
4251         (PluginTimer::fired):
4252         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
4253         (-[WebBaseNetscapePluginView stopTimers]):
4254         (-[WebBaseNetscapePluginView restartTimers]):
4255         (-[WebBaseNetscapePluginView scrollWheel:]):
4256         (-[WebBaseNetscapePluginView flagsChanged:]):
4257         (-[WebBaseNetscapePluginView start]):
4258         (-[WebBaseNetscapePluginView eventModel]):
4259         (-[WebBaseNetscapePluginView fini]):
4260         (-[WebBaseNetscapePluginView getVariable:value:]):
4261         (-[WebBaseNetscapePluginView setVariable:value:]):
4262         (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
4263         (-[WebBaseNetscapePluginView unscheduleTimer:]):
4264         * Plugins/WebBaseNetscapePluginViewInternal.h:
4265         * Plugins/WebBaseNetscapePluginViewPrivate.h:
4266         * Plugins/WebNetscapePluginEventHandler.h:
4267         * Plugins/WebNetscapePluginEventHandler.mm:
4268         (WebNetscapePluginEventHandler::create):
4269         * Plugins/WebNetscapePluginEventHandlerCarbon.h:
4270         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
4271         (WebNetscapePluginEventHandlerCarbon::scrollWheel):
4272         (WebNetscapePluginEventHandlerCarbon::flagsChanged):
4273         (WebNetscapePluginEventHandlerCarbon::platformWindow):
4274         * Plugins/WebNetscapePluginEventHandlerCocoa.h: Added.
4275         (WebNetscapePluginEventHandlerCocoa::startTimers):
4276         (WebNetscapePluginEventHandlerCocoa::stopTimers):
4277         * Plugins/WebNetscapePluginEventHandlerCocoa.mm: Added.
4278         (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
4279         (WebNetscapePluginEventHandlerCocoa::drawRect):
4280         (WebNetscapePluginEventHandlerCocoa::mouseDown):
4281         (WebNetscapePluginEventHandlerCocoa::mouseDragged):
4282         (WebNetscapePluginEventHandlerCocoa::mouseEntered):
4283         (WebNetscapePluginEventHandlerCocoa::mouseExited):
4284         (WebNetscapePluginEventHandlerCocoa::mouseMoved):
4285         (WebNetscapePluginEventHandlerCocoa::mouseUp):
4286         (WebNetscapePluginEventHandlerCocoa::scrollWheel):
4287         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
4288         (WebNetscapePluginEventHandlerCocoa::keyDown):
4289         (WebNetscapePluginEventHandlerCocoa::keyUp):
4290         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
4291         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
4292         (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
4293         (WebNetscapePluginEventHandlerCocoa::focusChanged):
4294         (WebNetscapePluginEventHandlerCocoa::platformWindow):
4295         (WebNetscapePluginEventHandlerCocoa::sendEvent):
4296         * Plugins/WebNetscapePluginPackage.m:
4297         (-[WebNetscapePluginPackage load]):
4298         * Plugins/npapi.m:
4299         (NPN_ScheduleTimer):
4300         (NPN_UnscheduleTimer):
4301         * Plugins/npfunctions.h:
4303 2008-04-30  Brady Eidson  <beidson@apple.com>
4305         Fix my WebPreferences revert check-in
4307         * WebView/WebView.mm:
4308         (-[WebView _preferencesChangedNotification:]):
4310 2008-04-30  Brady Eidson  <beidson@apple.com>
4312         Rubberstamped by John Sullivan
4314         Revert the remainder of my original preferences changes from last week.
4315         They caused a massive PLT regression (too many notifications being sent out
4316         or listened to that weren't previously) and it's not in my schedule to refine
4317         the preferences code instead of working on my feature!
4319         * WebView/WebView.mm:
4320         (-[WebView _updateSettingsFromPreferences:]):
4321         (-[WebView _commonInitializationWithFrameName:groupName:]):
4323 2008-04-30  Anders Carlsson  <andersca@apple.com>
4325         Fix the 64-bit build.
4326         
4327         * Plugins/WebNetscapePluginEventHandler.h:
4328         * Plugins/WebNetscapePluginEventHandler.mm:
4329         * Plugins/WebNetscapePluginEventHandlerCarbon.h:
4330         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
4332 2008-04-29  David D. Kilzer  <ddkilzer@apple.com>
4334         BUILD FIX for Release build.
4336         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
4337         (WebNetscapePluginEventHandlerCarbon::drawRect): Declare acceptedEvent
4338         separately so the compiler doesn't complain about an unused variable.
4339         (WebNetscapePluginEventHandlerCarbon::TSMEventHandler): Ditto.
4341 2008-04-29  Anders Carlsson  <andersca@apple.com>
4343         Reviewed by Adam.
4345         Refactor the Carbon event handling code out into a separate class in preparation for adding
4346         the Cocoa event handling code.
4347         
4348         * Plugins/WebBaseNetscapePluginView.h:
4349         * Plugins/WebBaseNetscapePluginView.mm:
4350         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
4351         (-[WebBaseNetscapePluginView sendActivateEvent:]):
4352         (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
4353         (-[WebBaseNetscapePluginView stopTimers]):
4354         (-[WebBaseNetscapePluginView restartTimers]):
4355         (-[WebBaseNetscapePluginView setHasFocus:]):
4356         (-[WebBaseNetscapePluginView mouseDown:]):
4357         (-[WebBaseNetscapePluginView mouseUp:]):
4358         (-[WebBaseNetscapePluginView mouseEntered:]):
4359         (-[WebBaseNetscapePluginView mouseExited:]):
4360         (-[WebBaseNetscapePluginView mouseDragged:]):
4361         (-[WebBaseNetscapePluginView keyUp:]):
4362         (-[WebBaseNetscapePluginView keyDown:]):
4363         (-[WebBaseNetscapePluginView cut:]):
4364         (-[WebBaseNetscapePluginView copy:]):
4365         (-[WebBaseNetscapePluginView paste:]):
4366         (-[WebBaseNetscapePluginView selectAll:]):
4367         (-[WebBaseNetscapePluginView start]):
4368         (-[WebBaseNetscapePluginView stop]):
4369         (-[WebBaseNetscapePluginView fini]):
4370         (-[WebBaseNetscapePluginView drawRect:]):
4371         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
4372         (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
4373         (-[WebBaseNetscapePluginView windowBecameKey:]):
4374         (-[WebBaseNetscapePluginView windowResignedKey:]):
4375         (-[WebBaseNetscapePluginView windowDidMiniaturize:]):
4376         (-[WebBaseNetscapePluginView windowDidDeminiaturize:]):
4377         (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]):
4378         (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]):
4379         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
4380         (-[WebBaseNetscapePluginView _viewHasMoved]):
4381         * Plugins/WebBaseNetscapePluginViewInternal.h:
4382         * Plugins/WebNetscapePluginEmbeddedView.h:
4383         * Plugins/WebNetscapePluginEventHandler.h: Added.
4384         (WebNetscapePluginEventHandler::~WebNetscapePluginEventHandler):
4385         (WebNetscapePluginEventHandler::currentEventIsUserGesture):
4386         (WebNetscapePluginEventHandler::WebNetscapePluginEventHandler):
4387         * Plugins/WebNetscapePluginEventHandler.mm: Added.
4388         (WebNetscapePluginEventHandler::create):
4389         * Plugins/WebNetscapePluginEventHandlerCarbon.h: Added.
4390         * Plugins/WebNetscapePluginEventHandlerCarbon.mm: Added.
4391         (WebNetscapePluginEventHandlerCarbon::WebNetscapePluginEventHandlerCarbon):
4392         (getCarbonEvent):
4393         (modifiersForEvent):
4394         (WebNetscapePluginEventHandlerCarbon::sendNullEvent):
4395         (WebNetscapePluginEventHandlerCarbon::drawRect):
4396         (WebNetscapePluginEventHandlerCarbon::mouseDown):
4397         (WebNetscapePluginEventHandlerCarbon::mouseUp):
4398         (WebNetscapePluginEventHandlerCarbon::mouseEntered):
4399         (WebNetscapePluginEventHandlerCarbon::mouseExited):
4400         (WebNetscapePluginEventHandlerCarbon::mouseDragged):
4401         (WebNetscapePluginEventHandlerCarbon::mouseMoved):
4402         (WebNetscapePluginEventHandlerCarbon::keyDown):
4403         (keyMessageForEvent):
4404         (WebNetscapePluginEventHandlerCarbon::keyUp):
4405         (WebNetscapePluginEventHandlerCarbon::focusChanged):
4406         (WebNetscapePluginEventHandlerCarbon::windowFocusChanged):
4407         (WebNetscapePluginEventHandlerCarbon::TSMEventHandler):
4408         (WebNetscapePluginEventHandlerCarbon::installKeyEventHandler):
4409         (WebNetscapePluginEventHandlerCarbon::removeKeyEventHandler):
4410         (WebNetscapePluginEventHandlerCarbon::nullEventTimerFired):
4411         (WebNetscapePluginEventHandlerCarbon::startTimers):
4412         (WebNetscapePluginEventHandlerCarbon::stopTimers):
4413         (WebNetscapePluginEventHandlerCarbon::sendEvent):
4415 2008-04-29  Mark Rowe  <mrowe@apple.com>
4417         Reviewed by David Harrison.
4419         Ensure that WebDynamicScrollBarsView defines WebCoreScrollbarAlwaysOn to keep Mail building.
4421         * WebKit.exp:
4422         * WebView/WebDynamicScrollBarsView.h:
4423         * WebView/WebDynamicScrollBarsView.m:
4425 2008-04-29  Greg Bolsinga  <bolsinga@apple.com>
4427         Reviewed by Darin Adler.
4429         Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT)
4431         * WebCoreSupport/WebChromeClient.h:
4432         * WebCoreSupport/WebChromeClient.mm:
4433         * WebView/WebClipView.m:
4434         (-[WebClipView scrollWheel:]):
4435         * WebView/WebHTMLView.mm:
4436         (-[WebHTMLView addMouseMovedObserver]):
4437         (-[WebHTMLView removeMouseMovedObserver]):
4438         (-[WebHTMLView acceptsFirstMouse:]):
4439         * WebView/WebUIDelegatePrivate.h:
4440         * WebView/WebView.mm:
4441         (-[WebViewPrivate init]):
4442         * WebView/WebViewPrivate.h:
4444 2008-04-28  Rob Buis  <buis@kde.org>
4446         Reviewed by Maciej.
4448         Build fix for Tiger.
4450         * WebView/WebView.mm:
4451         (WebKitInitializeApplicationCachePathIfNecessary):
4453 2008-04-28  Adele Peterson  <adele@apple.com>
4455         Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler.
4457         WebKit part of fix for <rdar://problem/3709505>
4458         Safari should have a way to upload bundles from the file upload control (as zip)
4460         Added UIDelegate methods to let the application handle generating replacement files for uploads.
4461         In this case, Safari will create archived files for bundles so they can be uploaded properly.
4463         * DefaultDelegates/WebDefaultUIDelegate.m:
4464         (-[WebDefaultUIDelegate webView:shouldReplaceUploadFile:usingGeneratedFilename:]):
4465         (-[WebDefaultUIDelegate webView:generateReplacementFile:]):
4466         * WebCoreSupport/WebChromeClient.h:
4467         * WebCoreSupport/WebChromeClient.mm:
4468         (WebChromeClient::shouldReplaceWithGeneratedFileForUpload):
4469         (WebChromeClient::generateReplacementFile):
4470         * WebView/WebUIDelegatePrivate.h:
4472 2008-04-28  Anders Carlsson  <andersca@apple.com>
4474         Reviewed by Sam, Mark, Adele and Darin.
4476         Initialize the application cache path.
4477         
4478         * WebView/WebView.mm:
4479         (WebKitInitializeApplicationCachePathIfNecessary):
4480         (-[WebView _commonInitializationWithFrameName:groupName:]):
4482 2008-04-28  Alice Liu  <alice.liu@apple.com>
4484         Reviewed by Darin Adler.
4486         Fix <rdar://problem/4911289> Add tabindex property to all children 
4487         of HTMLElement (7138)
4488         http://bugs.webkit.org/show_bug.cgi?id=7138
4490         * MigrateHeaders.make:
4491         Removing DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h
4492         because now that focus() has been moved to DOMHTMLElement.h, these
4493         files are no longer needed.
4495 2008-04-25  Alexey Proskuryakov  <ap@webkit.org>
4497         Reviewed by Darin Adler.
4499         Fix run-webkit-tests --threading
4500         and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
4501         Proxy server issue in Sunday's Nightly
4503         * WebView/WebView.mm: (-[WebViewPrivate init]): Initialize threading. Previously, this was
4504         only done from icon database code, which is not robust enough.
4506 2008-04-20 Adam Barth <hk9565@gmail.com>
4508         Reviewed by Adam Roben and Sam Weinig.
4510         Updated WebSecurityOrigin to match new SecurityOrigin API.
4512         Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
4514         * Storage/WebSecurityOrigin.mm:
4515         (-[WebSecurityOrigin host]):
4516         (-[WebSecurityOrigin domain]):
4517         * Storage/WebSecurityOriginPrivate.h:
4519 2008-04-25  Mark Rowe  <mrowe@apple.com>
4521         Rubber-stamped by Sam Weinig.
4523         Add some content to an empty ICU header file to prevent verification errors.
4525         * icu/unicode/utf_old.h:
4527 2008-04-25  Anders Carlsson  <andersca@apple.com>
4529         Reviewed by Sam.
4531         Add offlineWebApplicationCacheEnabled preference.
4532         
4533         * WebView/WebPreferenceKeysPrivate.h:
4534         * WebView/WebPreferences.m:
4535         (+[WebPreferences initialize]):
4536         (-[WebPreferences offlineWebApplicationCacheEnabled]):
4537         (-[WebPreferences setOfflineWebApplicationCacheEnabled:]):
4538         * WebView/WebPreferencesPrivate.h:
4539         * WebView/WebView.mm:
4540         (-[WebView _updateSettingsFromPreferences:]):
4542 2008-04-24  Mark Rowe  <mrowe@apple.com>
4544         Reviewed by Sam Weinig.
4546         Remove code for calculating the glyph cache size.
4548         * WebCoreSupport/WebSystemInterface.m:
4549         (InitWebCoreSystemInterface): Remove unused symbol.
4551 2008-04-24  Mark Rowe  <mrowe@apple.com>
4553         Reviewed by Sam Weinig.
4555         Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER.
4557         * WebKitPrefix.h:
4559 2008-04-24  Brady Eidson  <beidson@apple.com>
4561         Reviewed by Darin
4563         Fix layout test regressions from my earlier preferences/settings tweak.
4565         * WebView/WebView.mm:
4566         (-[WebView _commonInitializationWithFrameName:groupName:]): Even if we're not posting
4567           the notification to update the settings, each WebView still needs to register for the
4568           notification - restore that behavior.
4570 2008-04-24  Dan Bernstein  <mitz@apple.com>
4572         Reviewed by Darin Adler.
4574         - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
4575           <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
4577         * WebView/WebFrame.mm:
4578         (-[WebFrame _caretRectAtNode:offset:affinity:]): Changed to use
4579         VisiblePosition::caretRect() instead of the RenderObject method which
4580         was removed.
4582 2008-04-24  Brady Eidson  <beidson@apple.com>
4584         Reviewed by Darin
4586         Rework the Settings population again.
4588         * WebView/WebView.mm:
4589         (-[WebView _updateSettingsFromPreferences:]): This method is called both from _preferencesChangedNotification
4590           and directly from WebView's common init function.
4591         (-[WebView _preferencesChangedNotification:]):
4592         (-[WebView _commonInitializationWithFrameName:groupName:]): Call _updateSettingsFromPreferences immediately
4593           after creating the new Page
4595 2008-04-24  Darin Adler  <darin@apple.com>
4597         Reviewed by Geoff.
4599         - fix crash in regression test where we'd ask a frame for a user agent string
4600           after the WebView was already closed
4602         * WebCoreSupport/WebFrameLoaderClient.mm:
4603         (WebFrameLoaderClient::userAgent): Assert that the WebView is not nil. Also
4604         added some code to prevent the crash in release builds if this problem happens
4605         again.
4607 2008-04-24  Anders Carlsson  <andersca@apple.com>
4609         Reviewed by Sam.
4611         Change some String arguments to be const references instead.
4613         * WebCoreSupport/WebEditorClient.h:
4614         * WebCoreSupport/WebEditorClient.mm:
4615         (WebEditorClient::shouldInsertText):
4617 2008-04-24  John Sullivan  <sullivan@apple.com>
4619         Mac build fix
4620         
4621         * WebCoreSupport/WebViewFactory.mm:
4622         (-[WebViewFactory AXButtonActionVerb]):
4623         implement this method using the text in WebCoreLocalizedStrings.cpp
4624         (-[WebViewFactory AXRadioButtonActionVerb]):
4625         ditto
4626         (-[WebViewFactory AXTextFieldActionVerb]):
4627         ditto
4628         (-[WebViewFactory AXCheckedCheckBoxActionVerb]):
4629         ditto
4630         (-[WebViewFactory AXUncheckedCheckBoxActionVerb]):
4631         ditto
4632         (-[WebViewFactory AXLinkActionVerb]):
4633         ditto
4635 2008-04-23  Brady Eidson  <beidson@apple.com>
4637         Reviewed by Sam Weinig
4639         In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings
4640         object before the Settings object is initialized.  It seems quite prudent to post the preferences changed notification,
4641         thereby populating the Settings object, immediately after the Page is created.
4643         * WebView/WebView.mm:
4644         (-[WebView _commonInitializationWithFrameName:groupName:]): Post the notification right after the Page is created
4646 2008-04-24  John Sullivan  <sullivan@apple.com>
4648         Reviewed by Jess
4649         
4650         - fixed <rdar://problem/5886655> JavaScript input panel automatic resizing doesn't work right with HiDPI
4652         * Misc/WebNSControlExtras.m:
4653         (-[NSControl sizeToFitAndAdjustWindowHeight]):
4654         deploy userSpaceScaleFactor when using view distances on the window
4656 2008-04-22  Anders Carlsson  <andersca@apple.com>
4658         Reviewed by Darin Adler.
4660         Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.
4661         
4662         * Plugins/npfunctions.h:
4664 2008-04-20  Matt Lilek  <webkit@mattlilek.com>
4666         Mysteriously reviewed by mitz|away.
4668         Bug 18111: Closing a tab while dragging crashes Safari
4669         https://bugs.webkit.org/show_bug.cgi?id=18111
4671         Null check the page before handling drag events.
4673         * WebView/WebView.mm:
4674         (-[WebView draggingUpdated:]):
4675         (-[WebView draggingExited:]):
4677 2008-04-19  Brady Eidson  <beidson@apple.com>
4679         Reviewed by Tim Hatcher
4681         Add a WebPreference for the path of the local storage persistent store.
4683         * WebView/WebPreferenceKeysPrivate.h:
4685         * WebView/WebPreferences.m:
4686         (-[WebPreferences _localStorageDatabasePath]):
4687         (-[WebPreferences _setLocalStorageDatabasePath:]):
4688         * WebView/WebPreferencesPrivate.h:
4690         * WebView/WebView.mm:
4691         (-[WebView _preferencesChangedNotification:]):
4693 2008-04-18  Brady Eidson  <beidson@apple.com>
4695         Reviewed by Sam Weinig
4697         Don't clear the PageGroup on _close, as the WebCore::Page destructor already does this.
4698         No reason to do the work twice...
4700         * WebView/WebView.mm:
4701         (-[WebView _close]):
4703 2008-04-17  Eric Seidel  <eric@webkit.org>
4705         Reviewed by beth.
4707         Rename Frame::renderer() to contentRenderer() and fix uses.
4709         * Misc/WebCoreStatistics.mm:
4710         * WebView/WebRenderNode.mm:
4711         (-[WebRenderNode initWithWebFrameView:]):
4713 2008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
4715         Reviewed by mrowe.
4717         * WebView/WebFrame.mm: Remove temporary build fix.
4719 2008-04-17  Mark Rowe  <mrowe@apple.com>
4721         Reviewed by Dan Bernstein.
4723         Fix <rdar://problem/5863552> REGRESSION (r30741): Attachments don't appear in the iChat message window after sending
4725         The order of arguments to -[NSDictionary initWithObjects:andKeys:] had been transposed accidentally during refactoring.
4727         * WebCoreSupport/WebFrameLoaderClient.mm:
4728         (WebFrameLoaderClient::createPlugin): Pass the arguments in the correct order.
4730 2008-04-17  Mark Rowe  <mrowe@apple.com>
4732         Rubber-stamped by Dan Bernstein.
4734         Fix the Mac build.
4736         * WebView/WebFrame.mm: Define HAVE_ACCESSIBILITY before including AccessibilityObject.h and AXObjectCache.h to get things building
4737         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
4738         for this to live going forward.
4740 2008-04-15  Kevin Decker  <kdecker@apple.com>
4742         Reviewed by Anders.
4744         <rdar://problem/5412759> CrashTracer: [USER] 22 crashes in Safari at com.apple.quicktime.webplugin: NPN_SetValue + 15403
4745         
4746         In certain situations, code in WebBasePluginPackage would load a plug-in only for the explicit reason of asking it to create a
4747         preference file, but wouldn't actually unload the bundle. This created problems for the QuickTime WebKit plug-in by unloading
4748         a bundle out from underneath itself.
4750         * Plugins/WebBasePluginPackage.h: Added unload method.
4751         * Plugins/WebBasePluginPackage.m:
4752         (-[WebBasePluginPackage unload]): Added new method. Currently, only Netscape plug-ins support unload.
4753         (-[WebBasePluginPackage pListForPath:createFile:]): Added a call to unload.
4754         * Plugins/WebNetscapePluginPackage.m:
4755         (-[WebNetscapePluginPackage unload]): Added.
4757 2008-04-15  Anders Carlsson  <andersca@apple.com>
4759         Reviewed by Adam.
4761         Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
4763         * Configurations/WebKit.xcconfig:
4765 2008-04-15  Brady Eidson  <beidson@apple.com>
4767         Reviewed by John Sullivan
4769         Do a more complete job adding the "WebArchiveDebugMode" pref
4771         * WebView/WebPreferences.m: Add both getter *and* setter
4772         (-[WebPreferences webArchiveDebugModeEnabled]):
4773         (-[WebPreferences setWebArchiveDebugModeEnabled:]):
4774         * WebView/WebPreferencesPrivate.h:
4776         * WebView/WebView.mm:
4777         (-[WebView _preferencesChangedNotification:]): Call the renamed getter
4779 2008-04-14  Brady Eidson  <beidson@apple.com>
4781         Reviewed by Anders
4783         Add a hidden pref to debug WebArchive loading.  With this pref on, when loading a WebArchive,
4784         if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the 
4785         network and will instead fail the load as "cancelled."
4787         * WebView/WebPreferenceKeysPrivate.h:
4789         * WebView/WebPreferences.m:
4790         (+[WebPreferences initialize]):
4791         (-[WebPreferences _webArchiveDebugModeEnabled]):
4792         * WebView/WebPreferencesPrivate.h:
4794         * WebView/WebView.mm:
4795         (-[WebView _preferencesChangedNotification:]):
4797 2008-04-11  David Hyatt  <hyatt@apple.com>
4799         Rename CachedResource ref/deref methods to addClient/removeClient.
4801         Reviewed by olliej
4803         * WebView/WebHTMLView.mm:
4804         (-[WebHTMLViewPrivate dealloc]):
4805         (-[WebHTMLViewPrivate finalize]):
4806         (-[WebHTMLViewPrivate clear]):
4807         (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
4809 2008-04-07  Brady Eidson  <beidson@apple.com>
4811         Add "ENABLE_DOM_STORAGE" to keep in sync with the rest of the project
4813         * Configurations/WebKit.xcconfig:
4815 2008-04-04  Adam Roben  <aroben@apple.com>
4817         Use WebCore's ICU headers instead of our own copy
4819         Rubberstamped by Tim Hatcher.
4821         * Configurations/WebKit.xcconfig: Pick up ICU headers from WebCore's
4822         PrivateHeaders.
4824 2008-04-04  Adam Roben  <aroben@apple.com>
4826         Fix <rdar://problem/5804776> Would like to use WebCore's
4827         ForwardingHeaders in WebKit without manually creating copies
4829         Patch by Tim Hatcher, typed by me.
4831         * Configurations/WebKit.xcconfig: Use the copy of ForwardingHeaders in
4832         WebCore's PrivateHeaders instead of our own copy.
4834 2008-04-04  Ada Chan  <adachan@apple.com>
4836         Now we pass width and height directly as integers to format
4837         the window title for a standalone image.
4839         Reviewed by Dan.
4841         * WebCoreSupport/WebViewFactory.mm:
4842         (-[WebViewFactory imageTitleForFilename:width:height:]):
4844 2008-04-03  Nicholas Shanks  <webkit@nickshanks.com>
4846         Updated by Dan Bernstein. Reviewed by Dave Hyatt.
4848         - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=6484
4849           font-weight does not properly support graded weights
4851         * WebView/WebHTMLView.mm:
4852         (-[WebHTMLView _styleFromFontAttributes:]):
4853         (-[WebHTMLView _originalFontB]):
4854         (-[WebHTMLView _addToStyle:fontA:fontB:]):
4856 2008-04-02  Mark Rowe  <mrowe@apple.com>
4858         Reviewed by Oliver Hunt.
4860         Ensure that debug symbols are generated for x86_64 and ppc64 builds.
4862         * Configurations/Base.xcconfig:
4864 2008-03-31  Alice Liu  <alice.liu@apple.com>
4866         Reviewed by Darin Adler.
4868         * WebView/WebFrame.mm:
4869         (-[WebFrame _accessibilityTree]):
4870         The syntax for fetching an object from the AXObjectCache changed slightly
4872 2008-03-31  Brady Eidson  <beidson@apple.com>
4874         Reviewed by Jon Honeycutt
4875         
4876         Move a WebArchive loading check into WebCore
4878         * WebView/WebHTMLRepresentation.mm:
4879         (-[WebHTMLRepresentation receivedData:withDataSource:]): Don't check "isDisplayingWebArchive" as WebCore is now
4880           responsible for checking that state
4882 2008-03-31  Brady Eidson  <beidson@apple.com>
4884         Reviewed by Darin and Mitz's rubber stamp
4886         Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore
4888         * WebCoreSupport/WebEditorClient.mm:
4889         * WebCoreSupport/WebEditorClient.h:
4891 2008-03-28  Brady Eidson  <beidson@apple.com>
4893         Rubberstamped by Darin Adler
4895         Remove WebArchiver.h/mm
4897         * WebView/WebArchiver.h: Removed.
4898         * WebView/WebArchiver.mm: Removed.
4900         * DOM/WebDOMOperations.mm:
4901         * WebCoreSupport/WebDragClient.mm:
4902         * WebCoreSupport/WebEditorClient.mm:
4903         * WebView/WebDataSource.mm:
4904         * WebView/WebHTMLView.mm:
4906 2008-03-28  Brady Eidson  <beidson@apple.com>
4908         Reviewed by Darin Adler
4910         Now that WebCore can create archives from a frame selection directly, we don't need it in WebArchiver anymore
4912         * WebCoreSupport/WebEditorClient.mm:
4913         (WebEditorClient::dataForArchivedSelection):
4915         * WebView/WebArchiver.h: Nuke archiveSelectionInFrame, as there are no remaining users
4916         * WebView/WebArchiver.mm: Ditto
4918         * WebView/WebHTMLView.mm:
4919         (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
4921 2008-03-28  Brady Eidson  <beidson@apple.com>
4923         Reviewed by Darin Adler
4925         More Kit->Core WebArchive changes.
4927         Create an archive from the current selection in a frame
4929         * WebView/WebArchiver.mm: Remove one more *undeclared* method, the last method will drop off
4930           easily in a followup
4932 2008-03-28  Brady Eidson  <beidson@apple.com>
4934         Reviewed by Sam Weinig
4936         WebArchive saga continues - Can now make archives from ranges in WebCore
4938         * DOM/WebDOMOperations.mm:
4939         (-[DOMRange webArchive]):
4940         (-[DOMRange markupString]):
4942         * WebView/WebArchiver.h: Remove newly obsolete [WebArchiver archiveRange:]
4943         * WebView/WebArchiver.mm:
4945 2008-03-28  Brady Eidson  <beidson@apple.com>
4947         Reviewed by Sam Weinig
4949         More Kit->Core webarchive code movement
4951         * DOM/WebDOMOperations.mm:
4952         (-[DOMNode markupString]): Call createFullMarkup() instead
4954         * WebView/WebFrame.mm: Remove obsolete _markupStringFromNode
4955         * WebView/WebFrameInternal.h: Ditto
4957 2008-03-28  Brady Eidson  <beidson@apple.com>
4959         Reviewed by Sam Weinig
4961         Fold [WebArchiver archiveFrame:] into WebDataSource - the last remaining caller
4963         * WebView/WebArchiver.h:
4964         * WebView/WebArchiver.mm:
4965         * WebView/WebDataSource.mm:
4966         (-[WebDataSource webArchive]):
4968 2008-03-28  Brady Eidson  <beidson@apple.com>
4970         Reviewed by Sam Weinig
4972         Remove unused [WebArchiver archiveNode:], made obsolete in r31400
4974         * WebView/WebArchiver.h:
4975         * WebView/WebArchiver.mm:
4977 2008-03-28  Brady Eidson  <beidson@apple.com>
4979         Reviewed by Darin
4981         "Yet another transitional step" to empty out WebKit-based code for archiving.
4983         With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
4984         entirely within WebCore, and opens the door to saving WebArchives on Windows.
4986         * DOM/WebDOMOperations.mm:
4987         * WebView/WebArchiver.mm:
4988         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
4990 2008-03-27  Brady Eidson  <beidson@apple.com>
4992         Reviewed by Adam Roben
4994         Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
4995         as the push to core-ify WebArchives continues.
4997         This patch also introduces a behavior change.  WebCore allows ArchiveResources with null or empty data.  
4998         WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.  
4999         Since WebResource is API, I decided to leave it be to avoid a behavior change.  But internally created resources 
5000         (as in "while archiving a page") are accepting of null or empty data.
5002         This actually fixes a bug where not all subframes are archived, and resulted in a layout test change. 
5004         * WebView/WebDataSource.mm:
5005         (-[WebDataSource mainResource]): Call DocumentLoader implementation
5006         (-[WebDataSource subresources]): Ditto
5007         * WebView/WebFrame.mm: Remove [WebFrame _getAllResourceDatas:andResponses:] as its only caller is obsolete
5008         * WebView/WebFrameInternal.h:
5010 2008-03-27  Brady Eidson  <beidson@apple.com>
5012         Reviewed by Adam
5014         Change the "init from WebCore resource" version of WebResource to take PassRefPtr
5015         (more efficient)
5017         * WebView/WebResource.mm:
5018         (-[WebResource _initWithCoreResource:]):
5019         * WebView/WebResourceInternal.h:
5021 2008-03-26  Brady Eidson  <beidson@apple.com>
5023         Build fix - accidentally checked in this change which was work in progress
5025         * DOM/WebDOMOperations.mm:
5027 2008-03-26  Brady Eidson  <beidson@apple.com>
5029         Reviewed by Darin
5031         When we create a WebArchive, we walk every node from some starting point, asking each node
5032         along the way "What are your subresource URLs?"
5034         That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into
5035         WebCore::Node
5037         * DOM/WebDOMOperations.mm:
5038         (-[DOMNode _subresourceURLs]): One generic DOMNode method can now handle all DOMNodes by
5039           calling into individual WebCore::Node implementations
5040         * DOM/WebDOMOperationsPrivate.h:
5042 2008-03-26  Brady Eidson  <beidson@apple.com>
5044         Reviewed by Mark Rowe
5046         Part of the continued push to move WebArchive-related code down to WebCore, this
5047         moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource()
5049         * WebView/WebDataSource.mm:
5050         (-[WebDataSource subresourceForURL:]): Call through to the DocumentLoader 
5052         * WebView/WebFrame.mm: Remove [WebFrame _getData:andResponse:forURL:], as its only use
5053           has now been ported down to WebCore
5054         * WebView/WebFrameInternal.h:
5056 2008-03-26  Mark Rowe  <mrowe@apple.com>
5058         Rubber-stamped by Brady Eidson.
5060         Update FEATURE_DEFINES to be consistent with the other locations in which it is defined.
5062         * Configurations/WebKit.xcconfig:
5064 2008-03-26  Mark Rowe  <mrowe@apple.com>
5066         Reviewed by David Hyatt.
5068         Make the Ahem font antialias correctly on Acid3 on Tiger.
5070         * WebCoreSupport/WebSystemInterface.m:
5071         (InitWebCoreSystemInterface):
5073 2008-03-26  Mark Rowe  <mrowe@apple.com>
5075         Fix the Mac build.
5077         * MigrateHeaders.make: Copy the newly generated header into the right place.
5079 2008-03-25  Brady Eidson  <beidson@apple.com>
5081         Reviewed by Beth Dakin
5083         Remove entirely unused internal method
5085         * WebView/WebArchiver.h:
5086         * WebView/WebArchiver.mm:
5088 2008-03-25  Brady Eidson  <beidson@apple.com>
5090         Reviewed by Adam Roben
5092         <rdar://problem/5819308> - View Source is empty when view webarchives
5094         * WebCore.base.exp:
5095         * loader/DocumentLoader.cpp:
5096         (WebCore::DocumentLoader::setParsedArchiveData):
5097         (WebCore::DocumentLoader::parsedArchiveData):
5098         * loader/DocumentLoader.h:
5100         * loader/FrameLoader.cpp:
5101         (WebCore::FrameLoader::finishedLoadingDocument): Set the archive's MainResource data as the parsedArchiveData
5102           in the DocumentLoader
5104 2008-03-25  Dan Bernstein  <mitz@apple.com>
5106         Reviewed by Darin Adler.
5108         - fix http://bugs.webkit.org/show_bug.cgi?id=17933
5109           Reopen All Windows From Last Session causes crash
5111         * WebView/WebHTMLView.mm:
5112         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Added null
5113         check.
5115 2008-03-25  Brady Eidson  <beidson@apple.com>
5117         Reviewed by Jon Honeycutt's rubberstamp
5119         Fix a leak with the new WebArchive setup
5121         * WebView/WebArchive.mm:
5122         (-[WebArchivePrivate setCoreArchive:]): Deref() the old WebArchive
5124 2008-03-25  Brady Eidson  <beidson@apple.com>
5126         Reviewed by Darin
5128         Removed the concept of "pending archive resources" and the "archive resources delivery timer"
5129         from WebFrameLoaderClient, as those concepts have been pushed into WebCore
5131         * WebCoreSupport/WebFrameLoaderClient.h:
5132         * WebCoreSupport/WebFrameLoaderClient.mm:
5133         (WebFrameLoaderClient::WebFrameLoaderClient):
5135 2008-03-25  Brady Eidson  <beidson@apple.com>
5137         Reviewed by Darin
5139         Remove newly obsolete FrameLoaderClient methods
5141         * WebCoreSupport/WebFrameLoaderClient.h:
5142         * WebCoreSupport/WebFrameLoaderClient.mm:
5144 2008-03-25  Brady Eidson  <beidson@apple.com>
5146         Release build fix
5148         * WebView/WebArchive.mm:
5149         (-[WebArchive subresources]):
5150         (-[WebArchive subframeArchives]):
5152 2008-03-25  Brady Eidson  <beidson@apple.com>
5154         Reviewed by Darin
5156         <rdar://problem/4516169> - Support WebArchives on Windows
5157         And paves the way for many future WebArchive bug fixes and enhancements
5159         This change moves most of the real workhorse code about WebArchives into WebCore.  It maintains 
5160         1-to-1 relationships between a few objects in WebCore and WebKit.  Such as:
5161          * WebArchive <-> LegacyWebArchive
5162          * WebResource <-> ArchiveResource
5163          * WebUnarchivingState <-> ArchiveResourceCollection
5165         The other biggest changes involve many FrameLoaderClient methods that existed soley for WebArchives 
5166         and now exist in WebCore
5168         * WebCoreSupport/WebFrameLoaderClient.mm:
5169         (WebFrameLoaderClient::clearUnarchivingState): Emptied - to be removed in a followup patch
5170         (WebFrameLoaderClient::finalSetupForReplace):
5171         (WebFrameLoaderClient::setDefersLoading):
5172         (WebFrameLoaderClient::willUseArchive):
5173         (WebFrameLoaderClient::isArchiveLoadPending):
5174         (WebFrameLoaderClient::cancelPendingArchiveLoad):
5175         (WebFrameLoaderClient::clearArchivedResources):
5176         (WebFrameLoaderClient::createFrame):
5178         * WebView/WebArchive.mm:
5179         (+[WebArchivePrivate initialize]):
5180         (-[WebArchivePrivate init]):
5181         (-[WebArchivePrivate initWithCoreArchive:]):
5182         (-[WebArchivePrivate coreArchive]):
5183         (-[WebArchivePrivate setCoreArchive:]):
5184         (-[WebArchivePrivate dealloc]):
5185         (-[WebArchivePrivate finalize]):
5186         (-[WebArchive init]):
5187         (-[WebArchive initWithMainResource:subresources:subframeArchives:]):
5188         (-[WebArchive initWithData:]):
5189         (-[WebArchive initWithCoder:]):
5190         (-[WebArchive encodeWithCoder:]):
5191         (-[WebArchive mainResource]):
5192         (-[WebArchive subresources]):
5193         (-[WebArchive subframeArchives]):
5194         (-[WebArchive data]):
5195         (-[WebArchive _initWithCoreLegacyWebArchive:WebCore::]):
5196         (-[WebArchive WebCore::]):
5197         * WebView/WebArchiveInternal.h: Added.
5199         * WebView/WebDataSource.mm:
5200         (-[WebDataSourcePrivate dealloc]):
5201         (-[WebDataSource _addSubframeArchives:]):
5202         (-[WebDataSource _documentFragmentWithArchive:]):
5203         (-[WebDataSource subresourceForURL:]):
5204         (-[WebDataSource addSubresource:]):
5205         * WebView/WebDataSourceInternal.h:
5207         * WebView/WebFrame.mm:
5208         (-[WebFrame loadArchive:]):
5209         * WebView/WebFrameInternal.h:
5211         * WebView/WebHTMLRepresentation.mm:
5212         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
5214         * WebView/WebResource.mm:
5215         (+[WebResourcePrivate initialize]):
5216         (-[WebResourcePrivate init]):
5217         (-[WebResourcePrivate initWithCoreResource:]):
5218         (-[WebResourcePrivate dealloc]):
5219         (-[WebResourcePrivate finalize]):
5220         (-[WebResource initWithCoder:]):
5221         (-[WebResource encodeWithCoder:]):
5222         (-[WebResource data]):
5223         (-[WebResource URL]):
5224         (-[WebResource MIMEType]):
5225         (-[WebResource textEncodingName]):
5226         (-[WebResource frameName]):
5227         (-[WebResource _initWithCoreResource:WebCore::]):
5228         (-[WebResource WebCore::]):
5229         (-[WebResource _ignoreWhenUnarchiving]):
5230         (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
5231         (-[WebResource _fileWrapperRepresentation]):
5232         (-[WebResource _response]):
5233         (-[WebResource _stringValue]):
5234         * WebView/WebResourceInternal.h: Added.
5235         * WebView/WebResourcePrivate.h:
5237         * WebView/WebUnarchivingState.h: Removed.
5238         * WebView/WebUnarchivingState.m: Removed.
5240 2008-03-24  Oliver Hunt  <oliver@apple.com>
5242         Reviewed by Mark Rowe.
5244         Bug 18030: REGRESSION(r31236): Space bar fails to scroll down page
5245         <http://bugs.webkit.org/show_bug.cgi?id=18030>
5247         Rollout keyDown changes from r31236 -- fix for keyDown behaviour is
5248         tracked by Bug 18057: keyDown incorrectly propagates up the frame tree
5249         <http://bugs.webkit.org/show_bug.cgi?id=18057>
5251         * WebView/WebHTMLView.mm:
5252         (-[WebHTMLView keyDown:]):
5254 2008-03-24  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
5256         Reviewed by Maciej, landed by Brady
5258         Bug 3580: iFrames Appear to be Cached
5259         <http://bugs.webkit.org/show_bug.cgi?id=3580>
5261         Bug 15486: REGRESSION: Reload causes WebKit to *forget* fragment URLs
5262         <http://bugs.webkit.org/show_bug.cgi?id=15486>
5264         Bug 15554: Reload causes <object> to use old data
5265         <http://bugs.webkit.org/show_bug.cgi?id=15554>
5267         If a page is reloaded, a child frame's URL can not be taken from a history item.
5269         * WebView/WebFrame.mm:
5270         (-[WebFrame _loadURL:referrer:intoChild:]):
5272 2008-03-24  Darin Adler  <darin@apple.com>
5274         Reviewed by Beth.
5276         - fix <rdar://problem/5817067> -[WebDataSource unreachableURL] invokes KURL's copy constructor
5278         * History/WebHistoryItem.mm:
5279         (-[WebHistoryItem URL]): Use a reference to avoid making a copy.
5280         * WebView/WebDataSource.mm:
5281         (-[WebDataSource _URL]): Ditto.
5282         (-[WebDataSource unreachableURL]): Ditto.
5283         * WebView/WebHTMLView.mm:
5284         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
5286         * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
5287         * History/WebHistory.mm:
5288         * Misc/WebElementDictionary.mm:
5289         * Misc/WebNSAttributedStringExtras.mm:
5290         Remove unneeded imports of KURL.h.
5292 2008-03-24  Brady Eidson  <beidson@apple.com>
5294         Reviewed by Darin's rubberstamp
5296         Rename this file for upcoming work.
5298         * WebView/WebArchive.m: Removed.
5299         * WebView/WebArchive.mm: Copied from WebKit/mac/WebView/WebArchive.m.
5301 2008-03-24  Alexey Proskuryakov  <ap@webkit.org>
5303         Build fix.
5305         * MigrateHeaders.make: Added DOMSVGAltGlyphElement.h and DOMSVGAltGlyphElementInternal.h.
5307 2008-03-23  Oliver Hunt  <oliver@apple.com>
5309         Reviewed by Maciej.
5311         Bug 17670: Key events may improperly propagate from iframe to parent frame
5312         <http://bugs.webkit.org/show_bug.cgi?id=17670>
5313         Bug 16381: REGRESSION: Shift, command, option, ctrl keys in Gmail Rich Text changes focus
5314         <http://bugs.webkit.org/show_bug.cgi?id=16381>
5316         Prevent the Cocoa event system from propagating key events to the parent WebHTMLView,
5317         as that results in us dispatching the key events for each frame going up the frame
5318         tree.
5320         * WebView/WebHTMLView.mm:
5321         (-[WebHTMLView keyDown:]):
5322         (-[WebHTMLView keyUp:]):
5323         (-[WebHTMLView flagsChanged:]):
5325 2008-03-21  Timothy Hatcher  <timothy@apple.com>
5327         Bug 17980: Regression: Inspector highlighting of webpage not cleared when going to new URL
5328         http://bugs.webkit.org/show_bug.cgi?id=17980
5330         Reviewed by Adam.
5332         The new highlight drawing was not honoring the fade value, so it was
5333         always drawing at full opacity. The animation code didn't match Windows
5334         and the new highlight anyway, so it has been removed. The highlight
5335         how just detaches when it is hidden.
5337         * WebCoreSupport/WebInspectorClient.mm:
5338         (-[WebInspectorWindowController windowShouldClose:]): Call hideHighlight.
5339         (-[WebInspectorWindowController close]): Ditto.
5340         (-[WebInspectorWindowController highlightNode:]): Call attach.
5341         (-[WebInspectorWindowController hideHighlight]): Call detach and release _currentHighlight.
5342         * WebInspector/WebNodeHighlight.h:
5343         * WebInspector/WebNodeHighlight.m:
5344         (-[WebNodeHighlight initWithTargetView:inspectorController:]):
5345         (-[WebNodeHighlight dealloc]): Assert we have no _highlightView.
5346         (-[WebNodeHighlight attach]): Renamed from attachHighlight.
5347         (-[WebNodeHighlight detach]): Renamed from detachHighlight.
5348         (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Renamed from setHolesNeedUpdateInTargetViewRect:.
5349         * WebInspector/WebNodeHighlightView.h:
5350         * WebInspector/WebNodeHighlightView.m:
5351         (-[WebNodeHighlightView setNeedsDisplayInRect:]): Renamed from setHolesNeedUpdateInRect:.
5353 2008-03-20  Mark Rowe  <mrowe@apple.com>
5355         Reviewed by Sam Weinig.
5357         Ensure that the defines in FEATURE_DEFINES are sorted so that they will match the default settings of build-webkit.
5358         This will prevent the world from being rebuilt if you happen to switch between building in Xcode and with build-webkit on the
5359         command-line.
5361         * Configurations/WebKit.xcconfig:
5363 2008-03-20  Adam Roben  <aroben@apple.com>
5365         Make WebNodeHighlightView use InspectorController to do its painting
5367         Reviewed by Tim Hatcher.
5369         * WebCoreSupport/WebInspectorClient.mm:
5370         (-[WebInspectorWindowController highlightNode:]): Pass the
5371         InspectorController to the WebNodeHighlight, and don't call
5372         setHighlightedNode: (which has been removed).
5373         (-[WebInspectorWindowController hideHighlight]): Removed call to
5374         setHighlightedNode:.
5375         * WebInspector/WebNodeHighlight.h:
5376           - Replaced _highlightNode with _inspectorController
5377           - Removed _highlightedNode accessors
5378           - Added -inspectorController method
5379         * WebInspector/WebNodeHighlight.m:
5380         (-[WebNodeHighlight initWithTargetView:inspectorController:]): Now
5381         takes an InspectorController* and stores it in _inspectorController.
5382         (-[WebNodeHighlight dealloc]): Removed code dealing with
5383         _highlightedNode.
5384         (-[WebNodeHighlight inspectorController]): Added.
5385         * WebInspector/WebNodeHighlightView.m: Removed FileInternal category.
5386         (-[WebNodeHighlightView isFlipped]): Added. WebCore expects all
5387         GraphicsContexts to be based on a flipped CGContext, so we have to
5388         specify that this view is flipped.
5389         (-[WebNodeHighlightView drawRect:]): Changed to create a
5390         GraphicsContext and pass it to InspectorController::drawNodeHighlight.
5392 2008-03-18  David Hyatt  <hyatt@apple.com>
5394         Add support for a preference in WebKit that can be used in nightly builds to test full page
5395         zoom.
5397         Reviewed by Antti
5399         * WebView/WebPreferenceKeysPrivate.h:
5400         * WebView/WebView.mm:
5401         (-[WebView setTextSizeMultiplier:]):
5402         (-[WebView canMakeTextSmaller]):
5403         (-[WebView makeTextSmaller:]):
5404         (-[WebView canMakeTextLarger]):
5405         (-[WebView makeTextLarger:]):
5406         (-[WebView canMakeTextStandardSize]):
5407         (-[WebView makeTextStandardSize:]):
5409 2008-03-17  Eric Seidel  <eric@webkit.org>
5411         Reviewed by darin.
5413         Export _NPN_IntFromIdentifier as part of our NPAPI interface
5415         * Plugins/WebNetscapePluginPackage.m:
5416         (-[WebNetscapePluginPackage load]):
5418 2008-03-14  Brady Eidson  <beidson@apple.com>
5420         Reviewed by Brian Dash's rubberstamp
5422         Remove a class declaration for a class that has never existed
5424         * WebView/WebResource.h:
5426 2008-03-14  David D. Kilzer  <ddkilzer@apple.com>
5428         Unify concept of enabling the Mac Java bridge.
5430         Reviewed by Darin and Anders.
5432         * Plugins/WebPluginJava.h: Removed unused file.
5433         * WebCoreSupport/WebFrameLoaderClient.h:
5434         (WebFrameLoaderClient::javaApplet): Added #if ENABLE(MAC_JAVA_BRIDGE) guard.
5435         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto for #import and NSView SPI method.
5436         (WebFrameLoaderClient::javaApplet): Ditto.
5438 2008-03-13  Antti Koivisto  <antti@apple.com>
5440         Reviewed by Darin Adler.
5442         * ForwardingHeaders/wtf/Deque.h: Added.
5444 2008-03-13  Anders Carlsson  <andersca@apple.com>
5446         Reviewed by Adam.
5448         Call originalRequest, not initialRequest.
5449         
5450         * WebView/WebDataSource.mm:
5451         (-[WebDataSource initialRequest]):
5453 2008-03-12  Darin Adler  <darin@apple.com>
5455         Reviewed by John Sullivan.
5457         - cleanup after removing the bridge
5459         * DOM/WebDOMOperations.mm:
5460         (-[DOMDocument URLWithAttributeString:]): Call computeURL directly.
5462         * Misc/WebCoreStatistics.mm:
5463         (-[WebFrame renderTreeAsExternalRepresentation]): Call externalRepresentation directly.
5465         * Plugins/WebBaseNetscapePluginView.mm:
5466         (-[WebBaseNetscapePluginView loadPluginRequest:]): Use core function instead of
5467         _frameLoader method.
5468         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
5469         Ditto.
5470         * Plugins/WebPluginController.mm:
5471         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Ditto.
5473         * WebCoreSupport/WebFrameLoaderClient.mm:
5474         (WebFrameLoaderClient::frameLoaderDestroyed): Added a call to the new _clearCoreFrame
5475         method. Without this we could leave a stale frame pointer around.
5476         (WebFrameLoaderClient::dispatchDidReceiveIcon): Rewrote assertion so it's not the single
5477         caller of the _isMainFrame method.
5478         (WebFrameLoaderClient::transitionToCommittedForNewPage): Use core function instead of
5479         _frameLoader method.
5480         (WebFrameLoaderClient::createFrame): Moved code here from _addChild.
5482         * WebView/WebFrame.mm: Removed lots of methods. Some were moved elsewhere, others
5483         turned out to be unused.
5484         (core): Added overload for DocumentFragment.
5485         (kit): Ditto.
5486         (-[WebFrame _loadURL:referrer:intoChild:]): Get to Frame using _private->coreFrame and
5487         to FrameLoader with _private->coreFrame->loader().
5488         (-[WebFrame _attachScriptDebugger]): Ditto.
5489         (-[WebFrame _clearCoreFrame]): Added.
5490         (-[WebFrame _updateBackground]): More of the same.
5491         (-[WebFrame _unmarkAllBadGrammar]): Ditto.
5492         (-[WebFrame _unmarkAllMisspellings]): Ditto.
5493         (-[WebFrame _hasSelection]): Ditto.
5494         (-[WebFrame _atMostOneFrameHasSelection]): Ditto.
5495         (-[WebFrame _findFrameWithSelection]): Ditto.
5496         (-[WebFrame _dataSource]): Ditto.
5497         (-[WebFrame _addData:]): Streamlined code a bit.
5498         (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
5499         (-[WebFrame _receivedData:textEncodingName:]): Ditto.
5500         (-[WebFrame _isDescendantOfFrame:]): Ditto.
5501         (-[WebFrame _bodyBackgroundColor]): Ditto.
5502         (-[WebFrame _isFrameSet]): Ditto.
5503         (-[WebFrame _firstLayoutDone]): Ditto.
5504         (-[WebFrame _loadType]): Ditto.
5505         (-[WebFrame _isDisplayingStandaloneImage]): Ditto.
5506         (-[WebFrame name]): Ditto.
5507         (-[WebFrame DOMDocument]): Ditto.
5508         (-[WebFrame frameElement]): Ditto.
5509         (-[WebFrame provisionalDataSource]): Ditto.
5510         (-[WebFrame dataSource]): Ditto.
5511         (-[WebFrame loadRequest:]): Ditto.
5512         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Ditto.
5513         (-[WebFrame loadArchive:]): Ditto.
5514         (-[WebFrame stopLoading]): Ditto.
5515         (-[WebFrame reload]): Ditto.
5516         (-[WebFrame findFrameNamed:]): Ditto.
5517         (-[WebFrame parentFrame]): Ditto.
5518         (-[WebFrame childFrames]): Ditto.
5519         (-[WebFrame windowObject]): Ditto.
5520         (-[WebFrame globalContext]): Ditto.
5522         * WebView/WebFrameInternal.h: Added overloads of core and kit.
5523         Removed method declarations.
5525         * WebView/WebHTMLRepresentation.mm:
5526         (-[WebHTMLRepresentation documentSource]): Moved code here from WebFrame.
5527         (formElementFromDOMElement): Ditto.
5528         (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
5529         (inputElementFromDOMElement): Ditto.
5530         (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
5531         (-[WebHTMLRepresentation elementIsPassword:]): Ditto.
5532         (-[WebHTMLRepresentation formForElement:]): Ditto.
5533         (-[WebHTMLRepresentation currentForm]): Ditto.
5534         (-[WebHTMLRepresentation controlsInForm:]): Ditto.
5535         (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
5536         (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
5538         * WebView/WebHTMLView.mm:
5539         (-[WebHTMLView _frameOrBoundsChanged]): Moved sendScrollEvent code here from WebFrame.
5540         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
5541         Call createFragmentFromText directly instead of via WebFrame.
5542         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
5543         Moved layout calls here from WebFrame.
5544         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
5545         (-[WebHTMLView _updateFontPanel]): Ditto, but with fontForSelection.
5546         (-[WebHTMLView _canSmartCopyOrDelete]): Ditto, but with selectionGranularity.
5547         (-[WebHTMLView markedRange]): Moved code here from _markedTextNSRange.
5548         (-[WebHTMLView attributedSubstringFromRange:]): Tweaked code a bit.
5549         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
5550         Moved code here from WebFrame.
5551         (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.
5552         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
5553         (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
5554         (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
5555         (-[WebHTMLView unmarkAllTextMatches]): Ditto.
5556         (-[WebHTMLView rectsForTextMatches]): Ditto.
5558         * WebView/WebHTMLViewInternal.h: Removed unused method declarations.
5560         * WebView/WebPDFView.mm:
5561         (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Use core function instead of
5562         _frameLoader method.
5564         * WebView/WebRenderNode.mm:
5565         (copyRenderNode): Moved code here from WebFrame.
5566         (-[WebRenderNode initWithWebFrameView:]): Ditto.
5568         * WebView/WebResource.mm:
5569         (-[WebResource _stringValue]): Moved code here from WebFrame.
5571         * WebView/WebView.mm:
5572         (-[WebView _close]): Use core function intsead of _frameLoader method.
5573         (-[WebView setCustomTextEncodingName:]): Ditto.
5574         (-[WebView setHostWindow:]): Moved code here from WebFrame.
5575         (aeDescFromJSValue): Moved this here from WebFrame.
5576         (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Moved code here from WebFrame.
5578 2008-03-12  Darin Adler  <darin@apple.com>
5580         Reviewed by Anders.
5582         - http://bugs.webkit.org/show_bug.cgi?id=17640
5583           eliminate WebCoreFrameBridge
5585         Moved all the code from the bridge into WebFrame. This need not be the final
5586         home of these methods -- they can be moved closer to their callers and improved
5587         further -- but it eliminates the bridge without requiring a rewrite of the code.
5588         It's a fairly mechanical process (just adding underscores to method names really).
5590         There's even a chance that some of the methods are unused. Those we can remove
5591         after checking if that's so.
5593         * DOM/WebDOMOperations.mm:
5594         (-[DOMNode markupString]): Use WebFrame rather than bridge.
5595         (-[DOMDocument webFrame]): Changed to use the core and kit functions
5596         instead of using the bridge.
5597         (-[DOMDocument URLWithAttributeString:]): Use WebFrame rather than bridge.
5598         (-[DOMRange markupString]): Ditto.
5599         * DOM/WebDOMOperationsPrivate.h: Removed _bridge methods.
5601         * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded import.
5602         * History/WebHistoryItem.mm: Ditto.
5604         * MigrateHeaders.make: Added DOMDocumentFragmentInternal.h.
5605         * Misc/WebCoreStatistics.mm:
5606         (-[WebFrame renderTreeAsExternalRepresentation]): Use WebFrame rather than bridge.
5608         * Misc/WebElementDictionary.mm: Removed unneeded import.
5610         * Misc/WebKitStatistics.m:
5611         (+[WebKitStatistics bridgeCount]): Removed WebBridgeCount and just return 0.
5612         * Misc/WebKitStatisticsPrivate.h: Ditto.
5614         * Misc/WebNSAttributedStringExtras.mm: Removed unneeded import.
5615         * Misc/WebNSPasteboardExtras.mm: Ditto.
5617         * Plugins/WebBaseNetscapePluginView.mm:
5618         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Use WebFrame
5619         rather than bridge.
5621         * Plugins/WebNetscapePluginEmbeddedView.mm: Removed unneeded import.
5622         * Plugins/WebNetscapePluginStream.mm: Ditto.
5624         * Plugins/WebPluginContainerCheck.mm:
5625         (-[WebPluginContainerCheck _isForbiddenFileLoad]): Use WebFrame rather than
5626         bridge to get to the WebCore::Frame.
5628         * Plugins/WebPluginController.h: Declare webFrame method and remove bridge method.
5629         * Plugins/WebPluginController.mm:
5630         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Use WebFrame
5631         rather than bridge.
5633         * WebCoreSupport/WebEditorClient.mm:
5634         (selectorForKeyEvent): Tweaked comment.
5636         * WebCoreSupport/WebFrameBridge.h: Removed.
5637         * WebCoreSupport/WebFrameBridge.mm: Removed.
5639         * WebCoreSupport/WebFrameLoaderClient.mm:
5640         (WebFrameLoaderClient::frameLoaderDestroyed): Removed bridge assertion.
5641         (WebFrameLoaderClient::detachedFromParent4): Removed bridge teardown code.
5642         I could remove this function entirely, but it looks like the Qt port is using it.
5644         * WebCoreSupport/WebViewFactory.mm: Removed unneeded import.
5646         * WebView/WebArchiver.mm:
5647         (+[WebArchiver archiveRange:]): Use WebFrame rather than bridge.
5648         (+[WebArchiver archiveNode:]): Ditto.
5649         (+[WebArchiver archiveSelectionInFrame:]): Ditto.
5651         * WebView/WebDataSource.mm:
5652         (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): Ditto.
5653         (-[WebDataSource _documentFragmentWithArchive:]): Ditto.
5654         (-[WebDataSource subresources]): Ditto.
5655         (-[WebDataSource subresourceForURL:]): Ditto.
5657         * WebView/WebDataSourceInternal.h: Removed _bridge method.
5659         * WebView/WebFrame.mm:
5660         (-[WebFramePrivate dealloc]): Removed code to release the bridge.
5661         (core): Go directly to the core frame, not via the bridge.
5662         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
5663         Remove the code to deal with the bridge.
5664         (-[WebFrame _initWithWebFrameView:webView:]): Ditto. Also added code to set the
5665         shouldCreateRenderers flag, formerly on the bridge.
5666         (-[WebFrame _updateBackground]): Change to call mehods on self, not bridge.
5667         (aeDescFromJSValue): Moved here from bridge.
5668         (-[WebFrame _domain]): Ditto.
5669         (-[WebFrame _addData:]): Ditto.
5670         (-[WebFrame _stringWithDocumentTypeStringAndMarkupString:]): Ditto.
5671         (-[WebFrame _nodesFromList:]): Ditto.
5672         (-[WebFrame _markupStringFromNode:nodes:]): Ditto.
5673         (-[WebFrame _markupStringFromRange:nodes:]): Ditto.
5674         (-[WebFrame _selectedString]): Ditto.
5675         (-[WebFrame _stringForRange:]): Ditto.
5676         (-[WebFrame _forceLayoutAdjustingViewSize:]): Ditto.
5677         (-[WebFrame _forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
5678         (-[WebFrame _sendScrollEvent]): Ditto.
5679         (-[WebFrame _drawRect:]): Ditto.
5680         (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]): Ditto.
5681         (-[WebFrame _adjustPageHeightNew:top:bottom:limit:]): Ditto.
5682         (-[WebFrame _copyRenderNode:copier:]): Ditto.
5683         (-[WebFrame _copyRenderTree:]): Ditto.
5684         (inputElementFromDOMElement): Ditto.
5685         (formElementFromDOMElement): Ditto.
5686         (-[WebFrame _elementWithName:inForm:]): Ditto.
5687         (-[WebFrame _elementDoesAutoComplete:]): Ditto.
5688         (-[WebFrame _elementIsPassword:]): Ditto.
5689         (-[WebFrame _formForElement:]): Ditto.
5690         (-[WebFrame _currentForm]): Ditto.
5691         (-[WebFrame _controlsInForm:]): Ditto.
5692         (-[WebFrame _searchForLabels:beforeElement:]): Ditto.
5693         (-[WebFrame _matchLabels:againstElement:]): Ditto.
5694         (-[WebFrame _URLWithAttributeString:]): Ditto.
5695         (-[WebFrame _searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
5696         (-[WebFrame _markAllMatchesForText:caseSensitive:limit:]): Ditto.
5697         (-[WebFrame _markedTextMatchesAreHighlighted]): Ditto.
5698         (-[WebFrame _setMarkedTextMatchesAreHighlighted:]): Ditto.
5699         (-[WebFrame _unmarkAllTextMatches]): Ditto.
5700         (-[WebFrame _rectsForTextMatches]): Ditto.
5701         (-[WebFrame _stringByEvaluatingJavaScriptFromString:]): Ditto.
5702         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Ditto.
5703         (-[WebFrame _aeDescByEvaluatingJavaScriptFromString:]): Ditto.
5704         (-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto.
5705         (-[WebFrame _firstRectForDOMRange:]): Ditto.
5706         (-[WebFrame _scrollDOMRangeToVisible:]): Ditto.
5707         (-[WebFrame _baseURL]): Ditto.
5708         (-[WebFrame _stringWithData:]): Ditto.
5709         (+[WebFrame _stringWithData:textEncodingName:]): Ditto.
5710         (-[WebFrame _needsLayout]): Ditto.
5711         (-[WebFrame _renderTreeAsExternalRepresentation]): Ditto.
5712         (-[WebFrame _accessibilityTree]): Ditto.
5713         (-[WebFrame _setBaseBackgroundColor:]): Ditto.
5714         (-[WebFrame _setDrawsBackground:]): Ditto.
5715         (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
5716         Ditto.
5717         (-[WebFrame _selectionGranularity]): Ditto.
5718         (-[WebFrame _convertToNSRange:]): Ditto.
5719         (-[WebFrame _convertToDOMRange:]): Ditto.
5720         (-[WebFrame _convertNSRangeToDOMRange:]): Ditto.
5721         (-[WebFrame _convertDOMRangeToNSRange:]): Ditto.
5722         (-[WebFrame _markDOMRange]): Ditto.
5723         (-[WebFrame _markedTextNSRange]): Ditto.
5724         (-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto.
5725         (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
5726         (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto.
5727         (-[WebFrame _documentFragmentWithText:inContext:]): Ditto.
5728         (-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto.
5729         (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto.
5730         (-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto.
5731         (-[WebFrame _replaceSelectionWithMarkupString:baseURLString:selectReplacement:smartReplace:]): Ditto.
5732         (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
5733         (-[WebFrame _insertParagraphSeparatorInQuotedContent]): Ditto.
5734         (-[WebFrame _visiblePositionForPoint:]): Ditto.
5735         (-[WebFrame _characterRangeAtPoint:]): Ditto.
5736         (-[WebFrame _typingStyle]): Ditto.
5737         (-[WebFrame _setTypingStyle:withUndoAction:]): Ditto.
5738         (-[WebFrame _fontForSelection:]): Ditto.
5739         (-[WebFrame _dragSourceMovedTo:]): Ditto.
5740         (-[WebFrame _dragSourceEndedAt:operation:]): Ditto.
5741         (-[WebFrame _getData:andResponse:forURL:]): Ditto.
5742         (-[WebFrame _getAllResourceDatas:andResponses:]): Ditto.
5743         (-[WebFrame _canProvideDocumentSource]): Ditto.
5744         (-[WebFrame _canSaveAsWebArchive]): Ditto.
5745         (-[WebFrame _receivedData:textEncodingName:]): Ditto.
5746         (-[WebFrame _setShouldCreateRenderers:]): Put the code from the bridge in this preexisting
5747         function. Couldn't just keep the bridge method because this was already here with the same name.
5748         (-[WebFrame _selectedNSRange]): Ditto.
5749         (-[WebFrame _selectNSRange:]): Ditto.
5750         (-[WebFrame dealloc]): Remove bridge-related code.
5751         (-[WebFrame finalize]): Ditto.
5753         * WebView/WebFrameInternal.h: Added all the method declarations from the bridge.
5754         Removed the bridge parameter from the init method. Removed the #if blocks that
5755         tried to make this header work in non-C++ ObjC files -- they were broken and unused.
5756         Removed the _bridge method.
5758         * WebView/WebFrameView.mm: Removed the _bridge method.
5760         * WebView/WebHTMLRepresentation.mm:
5761         (-[WebHTMLRepresentation setDataSource:]): Removed the code to set up the bridge
5762         field.
5763         (-[WebHTMLRepresentation receivedData:withDataSource:]): Use WebFrame instead of bridge.
5764         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Ditto.
5765         (-[WebHTMLRepresentation canProvideDocumentSource]): Ditto.
5766         (-[WebHTMLRepresentation canSaveAsWebArchive]): Ditto.
5767         (-[WebHTMLRepresentation documentSource]): Ditto.
5768         (-[WebHTMLRepresentation DOMDocument]): Ditto.
5769         (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
5770         (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
5771         (-[WebHTMLRepresentation elementIsPassword:]): Ditto.
5772         (-[WebHTMLRepresentation formForElement:]): Ditto.
5773         (-[WebHTMLRepresentation currentForm]): Ditto.
5774         (-[WebHTMLRepresentation controlsInForm:]): Ditto.
5775         (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
5776         (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
5778         * WebView/WebHTMLRepresentationPrivate.h: Removed the _bridge method.
5780         * WebView/WebHTMLView.mm:
5781         (-[WebHTMLView _documentFragmentWithPaths:]): Use WebFrame instead of bridge.
5782         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Ditto.
5783         (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto.
5784         (-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
5785         (-[WebHTMLView _frameOrBoundsChanged]): Ditto.
5786         (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
5787         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto.
5788         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
5789         (-[WebHTMLView drawSingleRect:]): Ditto.
5790         (-[WebHTMLView draggedImage:movedTo:]): Ditto.
5791         (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
5792         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
5793         (-[WebHTMLView knowsPageRange:]): Ditto.
5794         (-[WebHTMLView accessibilityAttributeValue:]): Ditto.
5795         (-[WebHTMLView accessibilityFocusedUIElement]): Ditto.
5796         (-[WebHTMLView accessibilityHitTest:]): Ditto.
5797         (-[WebHTMLView _accessibilityParentForSubview:]): Ditto.
5798         (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
5799         (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto.
5800         (-[WebHTMLView _changeSpellingToWord:]): Ditto.
5801         (-[WebHTMLView startSpeaking:]): Ditto.
5802         (-[WebHTMLView _updateFontPanel]): Ditto.
5803         (-[WebHTMLView _canSmartCopyOrDelete]): Ditto.
5804         (-[WebHTMLView _layoutIfNeeded]): Ditto.
5805         (-[WebHTMLView characterIndexForPoint:]): Ditto.
5806         (-[WebHTMLView firstRectForCharacterRange:]): Ditto.
5807         (-[WebHTMLView selectedRange]): Ditto.
5808         (-[WebHTMLView markedRange]): Ditto.
5809         (-[WebHTMLView attributedSubstringFromRange:]): Ditto.
5810         (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
5811         (-[WebHTMLView insertText:]): Ditto.
5812         (-[WebTextCompleteController _insertMatch:]): Ditto.
5813         (-[WebTextCompleteController doCompletion]): Ditto.
5814         (-[WebTextCompleteController endRevertingChange:moveLeft:]): Ditto.
5815         (-[WebHTMLView string]): Ditto.
5816         (-[WebHTMLView selectedString]): Ditto.
5817         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
5818         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
5819         (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
5820         (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
5821         (-[WebHTMLView unmarkAllTextMatches]): Ditto.
5822         (-[WebHTMLView rectsForTextMatches]): Ditto.
5823         * WebView/WebRenderNode.mm:
5824         (-[WebRenderNode initWithWebFrameView:]): Ditto.
5825         * WebView/WebResource.mm:
5826         (-[WebResource _stringValue]): Ditto.
5828         * WebView/WebScriptDebugDelegate.mm: Removed unneeded include.
5830         * WebView/WebView.mm:
5831         (-[WebView _dashboardRegions]): Use WebFrame instead of bridge.
5832         (-[WebView setProhibitsMainFrameScrolling:]): Ditto.
5833         (-[WebView _setInViewSourceMode:]): Ditto.
5834         (-[WebView _inViewSourceMode]): Ditto.
5835         (-[WebView _executeCoreCommandByName:value:]): Ditto.
5836         (-[WebView stringByEvaluatingJavaScriptFromString:]): Ditto.
5837         (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
5838         (-[WebView scrollDOMRangeToVisible:]): Ditto.
5839         (-[WebView setSelectedDOMRange:affinity:]): Ditto.
5840         (-[WebView setEditable:]): Ditto.
5841         (-[WebView setTypingStyle:]): Ditto.
5842         (-[WebView typingStyle]): Ditto.
5843         (-[WebView replaceSelectionWithNode:]): Ditto.
5844         (-[WebView replaceSelectionWithText:]): Ditto.
5845         (-[WebView replaceSelectionWithMarkupString:]): Ditto.
5846         (-[WebView replaceSelectionWithArchive:]): Ditto.
5847         (-[WebView _insertNewlineInQuotedContent]): Ditto.
5848         (-[WebView _replaceSelectionWithNode:matchStyle:]): Ditto.
5850 2008-03-12  David Hyatt  <hyatt@apple.com>
5852         Make the zoom factor a float and not a percent.
5854         Reviewed by antti
5856         * WebView/WebView.mm:
5857         (-[WebView _setZoomMultiplier:isTextOnly:]):
5859 2008-03-11  David Hyatt  <hyatt@apple.com>
5861         This patch prepares Mac WebKit to handle two different zooming modes (full page zoom and text only zoom).
5862         New API is added that is parallel to the text zoom public API.  You can get/set a pageSizeMultiplier and you
5863         can zoom the page in, out or reset it to the standard size.
5865         In the implementation only one zoom factor is stored, and setting one multiplier will shift you into that mode
5866         and set the common zoom factor.  In other words you can't combine text zoom and page zoom.  One will always
5867         win.
5869         Reviewed by Tim H.
5871         * WebCoreSupport/WebFrameBridge.mm:
5872         (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
5873         * WebView/WebDocumentInternal.h:
5874         * WebView/WebHTMLView.mm:
5875         (-[WebHTMLView viewDidMoveToSuperview]):
5876         * WebView/WebPDFView.h:
5877         * WebView/WebPDFView.mm:
5878         (-[WebPDFView _zoomOut:]):
5879         (-[WebPDFView _zoomIn:]):
5880         (-[WebPDFView _resetZoom:]):
5881         (-[WebPDFView _canZoomOut]):
5882         (-[WebPDFView _canZoomIn]):
5883         (-[WebPDFView _canResetZoom]):
5884         * WebView/WebView.mm:
5885         (-[WebViewPrivate init]):
5886         (-[WebView setTextSizeMultiplier:]):
5887         (-[WebView textSizeMultiplier]):
5888         (-[WebView _setZoomMultiplier:isTextOnly:]):
5889         (-[WebView _zoomMultiplier:]):
5890         (-[WebView _realZoomMultiplier]):
5891         (-[WebView _realZoomMultiplierIsTextOnly]):
5892         (-[WebView _canZoomOut:]):
5893         (-[WebView _canZoomIn:]):
5894         (-[WebView _zoomOut:isTextOnly:]):
5895         (-[WebView _zoomIn:isTextOnly:]):
5896         (-[WebView _canResetZoom:]):
5897         (-[WebView _resetZoom:isTextOnly:]):
5898         (-[WebView canMakeTextSmaller]):
5899         (-[WebView makeTextSmaller:]):
5900         (-[WebView canMakeTextLarger]):
5901         (-[WebView makeTextLarger:]):
5902         (-[WebView canMakeTextStandardSize]):
5903         (-[WebView makeTextStandardSize:]):
5904         (-[WebView setPageSizeMultiplier:]):
5905         (-[WebView pageSizeMultiplier]):
5906         (-[WebView canZoomPageIn]):
5907         (-[WebView zoomPageIn:]):
5908         (-[WebView canZoomPageOut]):
5909         (-[WebView zoomPageOut:]):
5910         (-[WebView canResetPageZoom]):
5911         (-[WebView resetPageZoom:]):
5912         (-[WebView _searchWithSpotlightFromMenu:]):
5913         * WebView/WebViewInternal.h:
5914         * WebView/WebViewPrivate.h:
5916 2008-03-12  Dan Bernstein  <mitz@apple.com>
5918         Reviewed by Darin Adler and Sam Weinig.
5920         - <rdar://problem/4433248> use CoreText API instead of SPI on Leopard
5922         * WebCoreSupport/WebSystemInterface.m:
5923         (InitWebCoreSystemInterface): Made WKGetCGFontFromNSFont and
5924         WKGetNSFontATSUFontId Tiger-only.
5926 2008-03-12  Darin Adler  <darin@apple.com>
5928         - fix http://bugs.webkit.org/show_bug.cgi?id=17794
5929           REGRESSION (r30980): 23 tests hanging on the Mac buildbot
5931         * WebView/WebFrame.mm:
5932         (-[WebFrame _initWithWebFrameView:webView:bridge:]): Added missing call to set
5933         up pointer from the bridge to the frame. (My next check-in removes the bridge
5934         entirely, but we need this until then.)
5936 2008-03-11  Darin Adler  <darin@apple.com>
5938         Reviewed by Sam.
5940         - remove all bridge-related things from WebCore except the bridge itself
5942         * DOM/WebDOMOperations.mm:
5943         (-[DOMNode _bridge]): Reimplemented to not use the bridgeForDOMDocument: method.
5945         * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded include.
5947         * Plugins/WebPluginController.mm: Ditto.
5949         * WebCoreSupport/WebFrameBridge.h: Removed unneeded things, including the
5950         init and close methods. Added a setWebFrame: method.
5952         * WebCoreSupport/WebFrameBridge.mm:
5953         (-[WebFrameBridge setWebFrame:]): Added.
5955         * WebCoreSupport/WebFrameLoaderClient.mm:
5956         (WebFrameLoaderClient::frameLoaderDestroyed): Added an assertion.
5957         (WebFrameLoaderClient::detachedFromParent4): Moved the call to close on the
5958         bridge here. Soon we will be able to remove this entirely!
5959         (WebFrameLoaderClient::createFrame): Rewrote this to use the method moved
5960         into WebFrame from the bridge.
5962         * WebView/WebFrame.mm:
5963         (-[WebFramePrivate dealloc]): Added code to release the bridge, because it's
5964         now owned by the frame.
5965         (-[WebFramePrivate finalize]): Added this missing method. We'd leak the script
5966         debugger under GC without this!
5967         (kit): Rewrote the function that maps from a WebCore::Frame to a WebFrame to
5968         use WebFrameLoaderClient instead of the bridge.
5969         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Added.
5970         This is code that used to live in the bridge's init function.
5971         (+[WebFrame _createMainFrameWithPage:frameName:frameView:]): Ditto.
5972         (+[WebFrame WebCore::_createSubframeWithOwnerElement:frameName:frameView:]): Ditto.
5973         (-[WebFrame _initWithWebFrameView:webView:bridge:]): Retain the bridge, since
5974         the WebView is now the bridge's owner.
5975         (-[WebFrame _updateBackground]): Changed this one call site that was calling the
5976         WebCore::Frame::bridge function directly to use the kit function instead.
5977         (-[WebFrame dealloc]): Added code to clear the WebFrame pointer in the bridge.
5978         This code won't last long -- we're eliminating the bridge soon.
5979         (-[WebFrame finalize]): Ditto.
5981         * WebView/WebFrameInternal.h: Added a coreFrame backpointer and two new methods
5982         for creating frames.
5984         * WebView/WebView.mm:
5985         (-[WebView _commonInitializationWithFrameName:groupName:]): Rewrote this to use
5986         the method moved into WebFrame from the bridge. Gets rid of the unpleasant idiom
5987         where we have to allocate a WebFrameBridge and then immediately release it.
5989 2008-03-11  Darin Adler  <darin@apple.com>
5991         Reviewed by Anders.
5993         - remove code depending on the bridge to get from an NSView to a WebCore::Frame
5995         * WebCoreSupport/WebFrameLoaderClient.mm:
5996         (WebFrameLoaderClient::transitionToCommittedForNewPage): Remove incorrect call
5997         to setView. A couple lines later, there is a call to _install, which sets the
5998         view to the scroll view.
6000         * WebCoreSupport/WebViewFactory.mm: Removed bridgeForView method.
6002         * WebView/WebDynamicScrollBarsView.h: Moved most of the declarations out of
6003         this file, since it's used by Safari.
6004         * WebView/WebDynamicScrollBarsViewInternal.h: Added.
6005         * WebView/WebDynamicScrollBarsView.m:
6006         (-[WebDynamicScrollBarsView updateScrollers]): Ditto.
6007         (-[WebDynamicScrollBarsView setAllowsScrolling:]): Ditto.
6008         (-[WebDynamicScrollBarsView allowsScrolling]): Ditto.
6009         (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]): Ditto.
6010         (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]): Ditto.
6011         (-[WebDynamicScrollBarsView allowsHorizontalScrolling]): Ditto.
6012         (-[WebDynamicScrollBarsView allowsVerticalScrolling]): Ditto.
6013         (-[WebDynamicScrollBarsView horizontalScrollingMode]): Ditto.
6014         (-[WebDynamicScrollBarsView verticalScrollingMode]): Ditto.
6015         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]): Ditto.
6016         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]): Ditto.
6017         (-[WebDynamicScrollBarsView setVerticalScrollingMode:]): Ditto.
6018         (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]): Ditto.
6019         (-[WebDynamicScrollBarsView setScrollingMode:]): Ditto.
6020         (-[WebDynamicScrollBarsView setScrollingMode:andLock:]): Ditto.
6022         * WebView/WebFrameView.mm:
6023         (-[WebFrameView _web_frame]): Added. Replaces the webCoreBridge method.
6025         * WebView/WebView.mm:
6026         (-[WebView setAlwaysShowVerticalScroller:]): Updated for changes to WebCoreFrameView.h.
6027         (-[WebView alwaysShowVerticalScroller]): Ditto.
6028         (-[WebView setAlwaysShowHorizontalScroller:]): Ditto.
6029         (-[WebView alwaysShowHorizontalScroller]): Ditto.
6031 2008-03-11  Darin Adler  <darin@apple.com>
6033         Reviewed by Sam.
6035         - eliminate the remaining parts of WebCoreBridge used for calls to WebKit from WebCore
6037         * WebCoreSupport/WebChromeClient.h: Added new virtual functions that replace
6038         bridge methods.
6039         * WebCoreSupport/WebChromeClient.mm: Added lots of BEGIN_BLOCK_OBJC_EXCEPTIONS
6040         to recently-created functions.
6041         (WebChromeClient::firstResponder): Moved code here from the bridge.
6042         (WebChromeClient::makeFirstResponder): Ditto.
6043         (WebChromeClient::runOpenPanel): Ditto.
6044         (WebChromeClient::willPopUpMenu): Ditto.
6046         * WebCoreSupport/WebFrameBridge.h: Removed almost everything. What's left
6047         is related to creating the bridge and connecting it to WebCore, which will
6048         go next when I eliminate use of the bridge to get to/from the Frame*.
6049         * WebCoreSupport/WebFrameBridge.mm:
6050         (-[WebFrameBridge close]): Moved the code to track the bridge count here
6051         instead of the dealloc and finalize methods.
6053 2008-03-11  Darin Adler  <darin@apple.com>
6055         Reviewed by Mitz.
6057         - update code affected by Range changes
6059         * Misc/WebNSAttributedStringExtras.mm:
6060         (+[NSAttributedString _web_attributedStringFromRange:]): Update for name changes.
6061         * WebView/WebHTMLRepresentation.mm:
6062         (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
6063         Use Range::create.
6064         * WebView/WebHTMLView.mm:
6065         (-[WebHTMLView attributedString]): Ditto.
6067 2008-03-10  Darin Adler  <darin@apple.com>
6069         Reviewed by Sam.
6071         - eliminate keyboard UI mode method from WebCoreFrameBridge
6073         * WebCoreSupport/WebChromeClient.h: Added keyboardUIMode function.
6074         * WebCoreSupport/WebChromeClient.mm:
6075         (WebChromeClient::keyboardUIMode): Ditto. Calls WebView.
6076         * WebCoreSupport/WebFrameBridge.h: Removed unused things, including the
6077         fields for keyboard UI mode.
6078         * WebCoreSupport/WebFrameBridge.mm:
6079         (-[WebFrameBridge dealloc]): Removed unneeded code; eliminated the fini
6080         method.
6081         (-[WebFrameBridge finalize]): Ditto.
6082         * WebView/WebView.mm: Moved the keyboard mode code in here.
6083         (-[WebView _close]): Remove observer from the distributed notification
6084         center as well as the normal one.
6085         (-[WebView _retrieveKeyboardUIModeFromPreferences:]): Added. Code moved
6086         here from the bridge.
6087         (-[WebView _keyboardUIMode]): Ditto.
6088         * WebView/WebViewInternal.h: Added _keyboardUIMode method.
6090 2008-03-10  Darin Adler  <darin@apple.com>
6092         Reviewed by Sam.
6094         - eliminate Java applet methods from WebCoreFrameBridge
6096         * WebCoreSupport/WebChromeClient.mm: Removed unneeded headers and declarations.
6097         * WebCoreSupport/WebFrameBridge.mm: Ditto. Also removed unneeded methods, including
6098         the ones that load Java applets.
6099         * WebCoreSupport/WebFrameLoaderClient.h: Added javaApplet function.
6100         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
6102 2008-03-07  Simon Hausmann  <hausmann@webkit.org>
6104         Reviewed by Darin Adler.
6106         Done with Lars.
6108         Simplified WebViewFactory's refreshPlugins method to only refresh the
6109         plugins and not reload the frames anymore since that's now done in a
6110         platform independent manner by WebCore::Page.
6112         Also removed the now unused pluginNameForMIMEType and
6113         pluginSupportsMIMEType methods.
6115         * WebCoreSupport/WebViewFactory.mm:
6116         * WebView/WebFrame.mm:
6117         * WebView/WebFrameInternal.h:
6118         * WebView/WebView.mm:
6120 2008-03-08  Mark Rowe  <mrowe@apple.com>
6122         Reviewed by Darin Adler.
6124         Fix 64-bit build with GCC 4.2.
6126         * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Use NSUInteger in place of unsigned where required.
6127         * DefaultDelegates/WebDefaultUIDelegate.m: Ditto.
6128         * History/WebHistoryItem.mm: Ditto.
6129         * Misc/WebElementDictionary.mm: Ditto.
6130         * WebCoreSupport/WebFrameLoaderClient.mm:
6131         (WebFrameLoaderClient::objectContentType): Move variable declaration outside of if to avoid warning about the
6132         variable being unused in 64-bit.
6133         * WebCoreSupport/WebInspectorClient.mm: Use NSUInteger in place of unsigned where required.
6134         * WebView/WebHTMLView.mm:
6135         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Use CGFloat in place of float where required.
6136         (-[WebTextCompleteController numberOfRowsInTableView:]): Use NSInteger in place of int where required.
6138 2008-03-08  Darin Adler  <darin@apple.com>
6140         Reviewed by Adele.
6142         - eliminate custom highlight methods from WebCoreFrameBridge
6144         * WebCoreSupport/WebChromeClient.h: Added custom highlight functions.
6145         * WebCoreSupport/WebChromeClient.mm:
6146         (WebChromeClient::customHighlightRect): Moved code here from bridge.
6147         (WebChromeClient::paintCustomHighlight): Ditto.
6148         * WebCoreSupport/WebFrameBridge.mm: Removed code here.
6150 2008-03-07  David D. Kilzer  <ddkilzer@apple.com>
6152         Unify concept of enabling Netscape Plug-in API (NPAPI).
6154         Reviewed by Darin Adler.
6156         * WebKit.exp: Removed unused class export for WebBaseNetscapePluginView.
6158         * WebKitPrefix.h: Removed WTF_USE_NPOBJECT since we now use
6159         ENABLE(NETSCAPE_PLUGIN_API) as defined in Platform.h.
6161         * Plugins/WebBaseNetscapePluginStream.h: Replaced #ifndef __LP64__ with
6162         #if ENABLE(NETSCAPE_PLUGIN_API).
6163         * Plugins/WebBaseNetscapePluginStream.mm: Ditto.
6164         * Plugins/WebBaseNetscapePluginView.h: Ditto.
6165         * Plugins/WebBaseNetscapePluginView.mm: Ditto.
6166         * Plugins/WebBaseNetscapePluginViewInternal.h: Ditto.
6167         * Plugins/WebBaseNetscapePluginViewPrivate.h: Ditto.
6168         * Plugins/WebBasePluginPackage.h: Ditto.
6169         * Plugins/WebBasePluginPackage.m: Ditto.
6170         (+[WebBasePluginPackage pluginWithPath:]):
6171         * Plugins/WebNetscapeDeprecatedFunctions.c: Ditto.
6172         * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
6173         * Plugins/WebNetscapePluginEmbeddedView.h: Ditto.
6174         * Plugins/WebNetscapePluginEmbeddedView.mm: Ditto.
6175         * Plugins/WebNetscapePluginPackage.h: Ditto.
6176         * Plugins/WebNetscapePluginPackage.m: Ditto.
6177         * Plugins/WebNetscapePluginStream.h: Ditto.
6178         * Plugins/WebNetscapePluginStream.mm: Ditto.
6179         * Plugins/WebPluginDatabase.m: Ditto.
6180         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
6181         * Plugins/npapi.m: Ditto.
6182         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
6183         (WebFrameLoaderClient::objectContentType):
6184         (WebFrameLoaderClient::createPlugin):
6185         * WebView/WebHTMLView.mm: Ditto.
6186         (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
6187         * WebView/WebHTMLViewInternal.h: Ditto.
6189         * WebView/WebFrame.mm: Replaced #ifndef __LP64__ with
6190         #if ENABLE(NETSCAPE_PLUGIN_API). Moved methods below from (WebPrivate)
6191         category to (WebInternal) category so we don't expose the ENABLE() macro
6192         from the private header.
6193         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
6194         (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
6195         * WebView/WebFrameInternal.h: Ditto.
6196         * WebView/WebFramePrivate.h: Ditto.
6198 2008-03-07  Alexey Proskuryakov  <ap@webkit.org>
6200         Reviewed by Darin Adler.
6202         <rdar://problem/5579292> REGRESSION: (safari 2-3): "Default default" encoding for Korean
6203         changed from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites
6205         * WebView/WebPreferences.m:
6206         (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Make encoding name match
6207         the one used in Safari.
6209 2008-03-07  Mark Rowe  <mrowe@apple.com>
6211         Reviewed by Oliver Hunt.
6213         Fix WebKit build with GCC 4.2.
6215         * Plugins/WebBaseNetscapePluginView.mm: Use the correct return type in method signature.
6217 2008-03-07  Darin Adler  <darin@apple.com>
6219         Reviewed by Adam.
6221         - eliminated WebCoreFrameBridge runOpenPanel
6223         * WebCoreSupport/WebChromeClient.h: Added runOpenPanel.
6224         * WebCoreSupport/WebChromeClient.mm:
6225         (WebChromeClient::runOpenPanel): Added.
6226         (-[WebOpenPanelResultListener initWithChooser:]): Added. Used to wrap the
6227         FileChooser so it can get a result from the UI delegate.
6228         (-[WebOpenPanelResultListener dealloc]): Added.
6229         (-[WebOpenPanelResultListener finalize]): Added.
6230         (-[WebOpenPanelResultListener cancel]): Added.
6231         (-[WebOpenPanelResultListener chooseFilename:]): Added.
6233 2008-03-06  Darin Adler  <darin@apple.com>
6235         Reviewed by Mitz.
6237         - fix regression test failures from the visited-link change
6239         * History/WebHistory.mm:
6240         (+[WebHistory setOptionalSharedHistory:]): Call PageGroup::setShouldTrackVisitedLinks
6241         to turn off visited links if there is no history object. Also call
6242         removeAllVisitedLinks so we can start over from scratch with the new history.
6244 2008-03-06  Dan Bernstein  <mitz@apple.com>
6246         Reviewed by Darin Adler.
6248         - fix a regression from r30741: a crash under
6249           WebFrameLoaderClient::createPlugin() when showing a Mail message with
6250           an attachment
6252         * WebCoreSupport/WebFrameLoaderClient.mm:
6253         (WebFrameLoaderClient::createPlugin):
6255 2008-03-06  Darin Adler  <darin@apple.com>
6257         - fix Tiger build
6259         * History/WebHistory.mm: Added include of WebTypesInternal.h.
6261 2008-03-06  Darin Adler  <darin@apple.com>
6263         - fix Release build
6265         * History/WebHistory.mm:
6266         (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]): Removed underscore.
6267         (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]): Added #if.
6268         (-[WebHistoryPrivate saveToURL:error:]): Ditto.
6270 2008-03-06  Darin Adler  <darin@apple.com>
6272         Reviewed by Mitz.
6274         - fix http://bugs.webkit.org/show_bug.cgi?id=17526
6275           REGRESSION: iframes are added to Safari's History menu
6276           by separating the visited link machinery from global history
6278         * History/WebHistory.mm: Moved WebHistoryPrivate inside this file.
6279         (-[WebHistoryPrivate removeItemFromDateCaches:]): Removed the underscore from this
6280         method name, since it's on a private object.
6281         (-[WebHistoryPrivate removeItemForURLString:]): Added a call to the
6282         PageGroup::removeAllVisitedLinks function if the last URL was removed.
6283         (-[WebHistoryPrivate addItemToDateCaches:]): Removed the underscore from this
6284         method name, since it's on a private object.
6285         (-[WebHistoryPrivate removeAllItems]): Call PageGroup::removeAllVisitedLinks.
6286         (-[WebHistoryPrivate ageLimitDate]): Removed the underscore from this
6287         method name, since it's on a private object.
6288         (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
6289         Ditto.
6290         (-[WebHistoryPrivate saveHistoryGuts:URL:error:]): Ditto. Also changed this
6291         to correctly return the error by using the newer version of writeToURL: and
6292         removed the FIXME about that.
6293         (-[WebHistoryPrivate addVisitedLinksToPageGroup:]): Added. Calls addVisitedLink
6294         for every link in the history.
6295         (-[WebHistory saveToURL:error:]): Removed the FIXME, since we do get the error now.
6296         (-[WebHistory addItem:]): Moved into the WebPrivate category.
6297         (-[WebHistory addItemForURL:]): Ditto.
6298         (-[WebHistory _addItemForURL:title:]): Added. Used for the normal case where we
6299         create an item and already know its title.
6300         (-[WebHistory ageLimitDate]): Moved into the WebPrivate category.
6301         (-[WebHistory containsItemForURLString:]): Ditto.
6302         (-[WebHistory removeItem:]): Ditto.
6303         (-[WebHistory setLastVisitedTimeInterval:forItem:]): Ditto.
6304         (-[WebHistory _itemForURLString:]): Ditto.
6305         (-[WebHistory _addVisitedLinksToPageGroup:]): Added. For use only inside WebKit.
6307         * History/WebHistoryInternal.h: Added.
6308         * History/WebHistoryItemInternal.h: Tweaked formatting and includes.
6309         * History/WebHistoryPrivate.h: Moved the WebHistoryPrivate class out of this header.
6310         Also reorganized what was left behind.
6312         * WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks.
6313         * WebCoreSupport/WebChromeClient.mm:
6314         (WebChromeClient::populateVisitedLinks): Added a call to the new
6315         -[WebHistory _addVisitedLinksToPageGroup:] method.
6317         * WebCoreSupport/WebFrameLoaderClient.mm:
6318         (WebFrameLoaderClient::updateGlobalHistory): Changed code to use the new
6319         -[WebHistory _addItemForURL:title:] method.
6321 2008-03-05  Adam Roben  <aroben@apple.com>
6323         Rename WebCoreScriptDebuggerImp.{h,mm} to WebScriptDebugger.{h,mm}
6325         Reviewed by Kevin M.
6327         * WebView/WebFrame.mm:
6328         * WebView/WebScriptDebugDelegate.mm:
6329         * WebView/WebScriptDebugger.h: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.h.
6330         * WebView/WebScriptDebugger.mm: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.mm.
6332 2008-03-05  Adam Roben  <aroben@apple.com>
6334         Rename WebCoreScriptDebuggerImp to WebScriptDebugger
6336         Reviewed by Kevin M.
6338         * WebView/WebCoreScriptDebuggerImp.h:
6339         * WebView/WebCoreScriptDebuggerImp.mm:
6340         * WebView/WebFrame.mm:
6341         (-[WebFrame _attachScriptDebugger]):
6342         * WebView/WebFrameInternal.h:
6344 2008-03-05  Adam Roben  <aroben@apple.com>
6346         Remove WebScriptDebugger
6348         Uses of WebScriptDebugger have been replaced with
6349         WebCoreScriptDebuggerImp.
6351         Reviewed by Kevin M.
6353         * WebView/WebFrame.mm:
6354         (-[WebFramePrivate dealloc]): Use delete instead of release since
6355         WebCoreScriptDebuggerImp is a C++ class.
6356         (-[WebFrame _attachScriptDebugger]): Updated to use early returns and
6357         WebCoreScriptDebuggerImp.
6358         (-[WebFrame _detachScriptDebugger]): Ditto.
6359         * WebView/WebFrameInternal.h:
6360         * WebView/WebScriptDebugDelegate.mm: Removed WebScriptDebugger
6361         * WebView/WebScriptDebugDelegatePrivate.h: Removed.
6362         * WebView/WebView.mm:
6364 2008-03-05  Adam Roben  <aroben@apple.com>
6366         Remove -webFrame and -globalObject from WebScriptDebugger
6368         WebCoreScriptDebuggerImp is now unaware of WebScriptDebugger
6370         Reviewed by Kevin M.
6372         * WebView/WebCoreScriptDebuggerImp.h: Removed WebScriptDebugger*
6373         parameter to the constructor.
6374         * WebView/WebCoreScriptDebuggerImp.mm:
6375         (toWebFrame): Added.
6376         (WebCoreScriptDebuggerImp::sourceParsed): Call toWebFrame.
6377         (WebCoreScriptDebuggerImp::callEvent): Ditto, and get the Frame's
6378         WindowScriptObject ourselves instead of asking WebScriptDebugger for
6379         it.
6380         (WebCoreScriptDebuggerImp::atStatement): Call toWebFrame.
6381         (WebCoreScriptDebuggerImp::returnEvent): Ditto.
6382         (WebCoreScriptDebuggerImp::exception): Ditto.
6383         * WebView/WebScriptDebugDelegate.mm:
6384         (-[WebScriptDebugger initWithWebFrame:]): Updated for change to
6385         WebScriptDebuggerImp's constructor.
6386         * WebView/WebScriptDebugDelegatePrivate.h: Removed
6387         -webFrame/-globalObject.
6389 2008-03-05  Adam Roben  <aroben@apple.com>
6391         Remove -enterFrame: and -leaveFrame from WebScriptDebugger
6393         Reviewed by Kevin M.
6395         * WebView/WebCoreScriptDebuggerImp.h: Changed to store m_topCallFrame
6396         in a RetainPtr, now that WebCoreScriptDebuggerImp is in charge of its
6397         lifetime.
6398         * WebView/WebCoreScriptDebuggerImp.mm:
6399           - Added declaration of -[WebScriptCallFrame
6400             _initWithGlobalObject:caller:state:].
6401           - Changed most uses of m_topCallFrame to m_topCallFrame.get()
6402         (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Removed
6403         now-unnecessary initialization of m_topCallFrame.
6404         (WebCoreScriptDebuggerImp::callEvent): Replaced call to enterFrame:
6405         with its implementation. The one difference between this
6406         implementation and the old enterFrame: method is that we don't hand
6407         our reference to m_topCallFrame to _initWithGlobalObject: -- that
6408         method must now retain the passed-in WebScriptCallFrame manually.
6409         (WebCoreScriptDebuggerImp::atStatement):
6410         (WebCoreScriptDebuggerImp::returnEvent): Replaced call to leaveFrame
6411         with its implementation.
6412         (WebCoreScriptDebuggerImp::exception):
6413         * WebView/WebScriptDebugDelegate.mm: Removed declaration of
6414         -[WebScriptCallFrame _initWithGlobalObject:caller:state:].
6415         (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Changed
6416         to retain the passed-in caller.
6417         * WebView/WebScriptDebugDelegatePrivate.h:
6418           - Removed _current ivar
6419           - Removed enterFrame:/leaveFrame declarations.
6421 2008-03-05  Adam Roben  <aroben@apple.com>
6423         Remove -parsedSource: from WebScriptDebugger
6425         Reviewed by Kevin M.
6427         * WebView/WebCoreScriptDebuggerImp.mm:
6428         (WebCoreScriptDebuggerImp::sourceParsed): Moved code here from
6429         -[WebScriptDebugger parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]
6430         * WebView/WebScriptDebugDelegate.mm: Removed -parsedSource:.
6431         * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
6433 2008-03-05  Adam Roben  <aroben@apple.com>
6435         Remove -enteredFrame:, -leavingFrame:, and -exceptionRaised: from WebScriptDebugger
6437         Reviewed by Kevin M.
6439         * WebView/WebCoreScriptDebuggerImp.mm:
6440         (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Changed to call
6441         trhough to callEvent instead of duplicating its code here.
6442         (WebCoreScriptDebuggerImp::callEvent): Moved code from
6443         -[WebScriptDebugger enteredFrame:sourceId:line:] here.
6444         (WebCoreScriptDebuggerImp::returnEvent): Moved code from
6445         -[WebScriptDebugger leavingFrame:sourceId:line:] here.
6446         (WebCoreScriptDebuggerImp::exception): Moved code from
6447         -[WebScriptDebugger exceptionRaised:sourceId:line:] here.
6448         * WebView/WebScriptDebugDelegate.mm: Removed -enteredFrame:,
6449         -leavingFrame:, and -exceptionRaised:.
6450         * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
6452 2008-03-05  Adam Roben  <aroben@apple.com>
6454         Remove -[WebScriptDebugger hitStatement:sourceId:line:]
6456         Reviewed by Kevin M.
6458         * WebView/WebCoreScriptDebuggerImp.mm:
6459         (WebCoreScriptDebuggerImp::atStatement): Moved code here from
6460         -[WebScriptDebugger hitStatement:sourceId:line:].
6461         * WebView/WebScriptDebugDelegate.mm:
6462         (-[WebScriptDebugger webFrame]): Added.
6463         * WebView/WebScriptDebugDelegatePrivate.h:
6465 2008-03-05  Adam Roben  <aroben@apple.com>
6467         Remove WebCoreScriptDebugger
6469         Reviewed by Kevin M.
6471         * WebView/WebCoreScriptDebugger.h: Removed.
6472         * WebView/WebCoreScriptDebugger.mm: Removed.
6473         * WebView/WebCoreScriptDebuggerImp.h: Replaced WebCoreScriptDebugger
6474         with WebScriptDebugger.
6475         * WebView/WebCoreScriptDebuggerImp.mm: Ditto, and replaced [m_debugger
6476         delegate] with just m_debugger.
6477         (toNSString): Moved here from WebCoreScriptDebugger.mm.
6478         (toNSURL): Ditto.
6479         (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
6480         (WebCoreScriptDebuggerImp::sourceParsed):
6481         (WebCoreScriptDebuggerImp::callEvent):
6482         (WebCoreScriptDebuggerImp::atStatement):
6483         (WebCoreScriptDebuggerImp::returnEvent):
6484         (WebCoreScriptDebuggerImp::exception):
6485         * WebView/WebScriptDebugDelegate.mm:
6486         (-[WebScriptDebugger initWithWebFrame:]): _debugger now holds a
6487         WebCoreScriptDebuggerImp, so initialize it properly.
6488         * WebView/WebScriptDebugDelegatePrivate.h: Changed _debugger to hold a
6489         WebCoreScriptDebuggerImp.
6491 2008-03-05  Adam Roben  <aroben@apple.com>
6493         Move WebCoreScriptDebuggerImp to its own source files
6495         Also changed WebCoreScriptDebuggerImp coding style to match our style
6496         guidelines.
6498         Reviewed by Kevin M.
6500         * WebView/WebCoreScriptDebugger.h: Added declaration of toNSURL
6501         function.
6502         * WebView/WebCoreScriptDebugger.mm: Removed WebCoreScriptDebuggerImp
6503         implementation.
6504         (toNSURL): Made no longer static.
6505         * WebView/WebCoreScriptDebuggerImp.h: Added.
6506         * WebView/WebCoreScriptDebuggerImp.mm: Added. Code was moved here from
6507         WebCoreScriptDebugger.mm and cleaned up.
6508         (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
6509         (WebCoreScriptDebuggerImp::sourceParsed):
6510         (WebCoreScriptDebuggerImp::callEvent):
6511         (WebCoreScriptDebuggerImp::atStatement):
6512         (WebCoreScriptDebuggerImp::returnEvent):
6513         (WebCoreScriptDebuggerImp::exception):
6515 2008-03-05  Adam Roben  <aroben@apple.com>
6517         Move -_enterFrame and -_leaveFrame from WebCoreScriptDebugger to WebScriptDebugger
6519         Reviewed by Kevin M.
6521         * WebView/WebCoreScriptDebugger.h:
6522           - Removed newFrameWithGlobalObject:caller:state: from
6523             WebScriptDebugger protocol
6524           - Added enterFrame: and leaveFrame: to WebScriptDebugger protocol
6525           - Removed _current ivar from WebCoreScriptDebugger
6526         * WebView/WebCoreScriptDebugger.mm:
6527         (WebCoreScriptDebuggerImp::callEvent): Changed to call enterFrame on
6528         the delegate.
6529         (WebCoreScriptDebuggerImp::returnEvent): Ditto for leaveFrame.
6530         * WebView/WebScriptDebugDelegate.mm:
6531         (-[WebScriptDebugger dealloc]): Added code to release _current.
6532         (-[WebScriptDebugger enterFrame:]): Added. Code came from
6533         WebCoreScriptDebugger.
6534         (-[WebScriptDebugger leaveFrame]): Ditto.
6535         * WebView/WebScriptDebugDelegatePrivate.h: Added _current ivar.
6537 2008-03-05  Adam Roben  <aroben@apple.com>
6539         Remove WebCoreScriptCallFrame
6541         Reviewed by Tim.
6543         * WebView/WebCoreScriptDebugger.h:
6544           - Replaced WebCoreScriptCallFrame with WebScriptCallFrame
6545           - Replaced -newWrapperForFrame: with
6546             -newFrameWithGlobalObject:caller:state:
6547           - Removed WebCoreScriptCallFrame interface.
6548         * WebView/WebCoreScriptDebugger.mm: Replaced WebCoreScriptCallFrame
6549         with WebScriptCallFrame.
6550         (-[WebCoreScriptDebugger _enterFrame:]): Changed to call
6551         -newFrameWithGlobalObject:caller:state.
6552         (-[WebCoreScriptDebugger _leaveFrame]):
6553         * WebView/WebScriptDebugDelegate.h: Changed WebScriptCallFrame's
6554         _private ivar to be of type WebScriptCallFramePrivate*.
6555         * WebView/WebScriptDebugDelegate.mm:
6556           - Replaced WebCoreScriptCallFrame with WebScriptCallFrame
6557           - Added WebScriptCallFramePrivate
6558         (-[WebScriptDebugger enteredFrame:sourceId:line:]):
6559         (-[WebScriptDebugger hitStatement:sourceId:line:]):
6560         (-[WebScriptDebugger leavingFrame:sourceId:line:]):
6561         (-[WebScriptDebugger exceptionRaised:sourceId:line:]):
6562         (-[WebScriptCallFramePrivate dealloc]): Added.
6563         (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Added.
6564         Code came from WebCoreScriptCallFrame.
6565         (-[WebScriptCallFrame dealloc]): Added a call to release the _private
6566         ivar.
6567         (-[WebScriptCallFrame _convertValueToObjcValue:]): Replaced calls to
6568         _private with direct access of _private's ivars.
6569         (-[WebScriptCallFrame caller]): Ditto.
6570         (-[WebScriptCallFrame scopeChain]): Ditto.
6571         (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
6573 2008-03-05  Adam Roben  <aroben@apple.com>
6575         Move -_convertValueToObjcValue to WebScriptCallFrame
6577         Reviewed by Darin Adler.
6579         * WebView/WebCoreScriptDebugger.h: Removed declaration of
6580         -_convertValueToObjcValue.
6581         * WebView/WebCoreScriptDebugger.mm: Removed -_convertValueToObjcValue.
6582         * WebView/WebScriptDebugDelegate.mm:
6583         (-[WebScriptCallFrame _convertValueToObjcValue:]): Added. Code came
6584         from -[WebCoreScriptCallFrame _convertValueToObjcValue].
6585         (-[WebScriptCallFrame scopeChain]): Changed to call
6586         -_convertValueToObjcValue on self instead of _private.
6587         (-[WebScriptCallFrame exception]): Ditto.
6588         (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
6590 2008-03-05  Adam Roben  <aroben@apple.com>
6592         Move -exception and -evaluateWebScript: to WebScriptCallFrame
6594         Reviewed by Darin Adler.
6596         * WebView/WebCoreScriptDebugger.h: Removed declarations of -exception
6597         and -evaluateWebScript:.
6598         * WebView/WebCoreScriptDebugger.mm: Removed -exception and
6599         -evaluateWebScript:.
6600         * WebView/WebScriptDebugDelegate.mm:
6601         (-[WebScriptCallFrame exception]): Added. Code came from
6602         -[WebCoreScriptCallFrame exception].
6603         (-[WebScriptCallFrame evaluateWebScript:]): Added. Code came from
6604         -[WebCoreScriptCallFrame evaluateWebScript:].
6606 2008-03-05  Adam Roben  <aroben@apple.com>
6608         Move -scopeChain to WebScriptCallFrame
6610         Reviewed by Darin Adler.
6612         * WebView/WebCoreScriptDebugger.h:
6613           - Added declarations of -globalObject and -_convertValueToObjcValue:
6614             to WebCoreScriptCallFrame
6615           - Removed declaration of -scopeChain.
6616         * WebView/WebCoreScriptDebugger.mm: Moved -_convertValueToObjcValue
6617         within the main WebCoreScriptCallFrame implementation.
6618         (-[WebCoreScriptCallFrame globalObject]): Added.
6619         * WebView/WebScriptDebugDelegate.mm:
6620         (-[WebScriptCallFrame scopeChain]): Added. Code came from
6621         -[WebCoreScriptCallFrame scopeChain].
6623 2008-03-05  Adam Roben  <aroben@apple.com>
6625         Move -functionName from WebCoreScriptCallFrame to WebScriptCallFrame
6627         Reviewed by Darin Adler.
6629         * WebView/WebCoreScriptDebugger.h:
6630           - Removed #else case of #ifdef __cplusplus since this file is only
6631             ever used by C++ Objective-C files
6632           - Removed 'using KJS::ExecState' statement since we prefer not to
6633             have using statements in header files
6634           - Consequently prefixed uses of ExecState with KJS::
6635           - Added declaration of toNSString method that takes a const
6636             UString&
6637           - Added declaration of -[WebCoreScriptCallFrame state]
6638           - Removed declaration of -[WebCoreScriptCallFrame functionName]
6639         * WebView/WebCoreScriptDebugger.mm:
6640         (toNSString): Made this no longer static.
6641         (-[WebCoreScriptCallFrame state]): Added.
6642         * WebView/WebScriptDebugDelegate.mm:
6643         (-[WebScriptCallFrame functionName]): Added. Code came from
6644         -[WebCoreScriptCallFrame functionName], though I changed some nested
6645         ifs into early returns.
6647 2008-03-05  Adam Roben  <aroben@apple.com>
6649         Move WebCoreScriptDebugger to WebKit
6651         Reviewed by Darin Adler.
6653         * WebView/WebCoreScriptDebugger.h: Renamed from WebCore/page/mac/WebCoreScriptDebugger.h.
6654         * WebView/WebCoreScriptDebugger.mm: Renamed from WebCore/page/mac/WebCoreScriptDebugger.mm.
6655         (toNSString):
6656         (toNSURL):
6657         (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
6658         (WebCoreScriptDebuggerImp::sourceParsed):
6659         (WebCoreScriptDebuggerImp::callEvent):
6660         (WebCoreScriptDebuggerImp::atStatement):
6661         (WebCoreScriptDebuggerImp::returnEvent):
6662         (WebCoreScriptDebuggerImp::exception):
6663         (+[WebCoreScriptDebugger initialize]):
6664         (-[WebCoreScriptDebugger initWithDelegate:]):
6665         (-[WebCoreScriptDebugger dealloc]):
6666         (-[WebCoreScriptDebugger finalize]):
6667         (-[WebCoreScriptDebugger delegate]):
6668         (-[WebCoreScriptDebugger _enterFrame:]):
6669         (-[WebCoreScriptDebugger _leaveFrame]):
6670         (-[WebCoreScriptCallFrame _initWithGlobalObject:caller:state:]):
6671         (-[WebCoreScriptCallFrame _setWrapper:]):
6672         (-[WebCoreScriptCallFrame _convertValueToObjcValue:]):
6673         (-[WebCoreScriptCallFrame dealloc]):
6674         (-[WebCoreScriptCallFrame wrapper]):
6675         (-[WebCoreScriptCallFrame caller]):
6676         (-[WebCoreScriptCallFrame scopeChain]):
6677         (-[WebCoreScriptCallFrame functionName]):
6678         (-[WebCoreScriptCallFrame exception]):
6679         (-[WebCoreScriptCallFrame evaluateWebScript:]):
6680         * WebView/WebScriptDebugDelegate.mm: Updated header path.
6681         * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
6683 2008-03-05  Anders Carlsson  <andersca@apple.com>
6685         Reviewed by Geoff.
6687         Include file changes.
6688         
6689         * Plugins/WebBaseNetscapePluginView.mm:
6690         * Plugins/WebNetscapePluginPackage.m:
6692 2008-03-04  Timothy Hatcher  <timothy@apple.com>
6694         Reviewed by Darin Adler.
6696         <rdar://problem/5720160> Browser windows "do nothing" while modal
6697         dialog or menu is up due to run loop modes (or while scrolling)
6699         Add new API that lets a WebView be scheduled with multiple runloops and modes.
6700         This lets loading continue when in a nested runloop or in a different mode.
6702         * Misc/WebKitVersionChecks.h: Add a new version define:
6703         WEBKIT_FIRST_VERSION_WITH_LOADING_DURING_COMMON_RUNLOOP_MODES.
6704         * WebView/WebView.mm:
6705         (-[WebView _commonInitializationWithFrameName:groupName:]): Schedule in the main runloop and with
6706         the default runloop mode if we are linked on an earlier WebKit version, use common modes otherwise.
6707         (-[WebView scheduleInRunLoop:forMode:]): New API, that calls through to Page.
6708         (-[WebView unscheduleFromRunLoop:forMode:]): Ditto.
6709         * WebView/WebViewPrivate.h: Add the new pending API methods.
6711 2008-03-04  Anders Carlsson  <andersca@apple.com>
6713         Reviewed by Darin Adler.
6715         Fix crash that happens when trying to load a page with a Java applet.
6716         
6717         * WebCoreSupport/WebFrameLoaderClient.mm:
6718         Don't release the names and values array - the kit method returns an autoreleased array.
6720 2008-03-04  Darin Adler  <darin@apple.com>
6722         Reviewed by Adam.
6724         - fix 200+ failing regression tests
6725         - fix http://bugs.webkit.org/show_bug.cgi?id=17668
6726           Vertical scrollbar at slashdot.org is randomly not shown
6728         * WebCoreSupport/WebFrameLoaderClient.mm:
6729         (WebFrameLoaderClient::transitionToCommittedForNewPage): Changed the refcounting
6730         code here to exactly match the way it was before it was moved from WebCore. I had
6731         introduced a storage leak and that was causing problems with scroll bars!
6733 2008-03-04  Darin Adler  <darin@apple.com>
6735         Reviewed by Adam.
6737         - remove WebCoreFrameBridge reapplyStyles method
6739         * WebView/WebHTMLView.mm:
6740         (-[WebHTMLView reapplyStyles]): Moved code to reapply styles here from the bridge.
6742 2008-03-04  Darin Adler  <darin@apple.com>
6744         Reviewed by Adam.
6746         - eliminate WebCoreFrameBridge createFrameViewWithNSView
6748         * WebCoreSupport/WebFrameLoaderClient.mm:
6749         (WebFrameLoaderClient::transitionToCommittedForNewPage):
6750         Moved code here from createFrameViewWithNSView.
6752 2008-03-04  Darin Adler  <darin@apple.com>
6754         Reviewed by Adam.
6756         - removed WebCoreFrameBridge scrollOverflowInDirection
6758         * WebView/WebFrameView.mm:
6759         (-[WebFrameView _scrollOverflowInDirection:granularity:]): Changed to call
6760         EventHandler directly instead of using the bridge.
6761         (-[WebFrameView scrollToBeginningOfDocument:]): Updated to use WebCore enums instead
6762         of the ones from the bridge.
6763         (-[WebFrameView scrollToEndOfDocument:]): Ditto.
6764         (-[WebFrameView _pageVertically:]): Ditto.
6765         (-[WebFrameView _pageHorizontally:]): Ditto.
6766         (-[WebFrameView _scrollLineVertically:]): Ditto.
6767         (-[WebFrameView _scrollLineHorizontally:]): Ditto.
6769 2008-03-04  Darin Adler  <darin@apple.com>
6771         Reviewed by Adam.
6773         - remove WebCoreFrameBridge installInFrame: method
6775         * WebCoreSupport/WebFrameLoaderClient.mm:
6776         (WebFrameLoaderClient::transitionToCommittedForNewPage): Call
6777         -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
6778         * WebView/WebFrameView.mm:
6779         (-[WebFrameView _install]): Added. Has code from -[WebCoreFrameBridge installInFrame:].
6780         (-[WebFrameView _setCustomScrollViewClass:]): Used early return idiom so the entire
6781         method isn't nested inside an if statement. Call
6782         -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
6783         * WebView/WebFrameViewInternal.h: Added declaration of _install method so it can be
6784         used in WebFrameLoaderClient.mm.
6786 2008-03-04  Darin Adler  <darin@apple.com>
6788         Reviewed by Adam.
6790         - remove WebCoreFrameBridge window method
6792         * WebCoreSupport/WebFrameBridge.mm: Removed window method.
6794 2008-03-04  Darin Adler  <darin@apple.com>
6796         Reviewed by Adam.
6798         - move code from WebFrameBridge into WebFrameLoaderClient
6800         * WebCoreSupport/WebFrameBridge.h: Removed unused fields, changed frame name parameters
6801         to use WebCore::String instead of NSString, add initSubframeWithOwnerElement declaration,
6802         removed viewForPluginWithFrame, viewForJavaAppletWithFrame, createChildFrameNamed,
6803         redirectDataToPlugin, determineObjectFromMIMEType, and windowObjectCleared methods.
6804         * WebCoreSupport/WebFrameBridge.mm:
6805         (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
6806         Changed to use WebCore::String.
6807         (-[WebFrameBridge initMainFrameWithPage:frameName:WebCore::frameView:]): Ditto.
6808         (-[WebFrameBridge initSubframeWithOwnerElement:frameName:WebCore::frameView:]): Ditto.
6810         * WebCoreSupport/WebFrameLoaderClient.mm:
6811         (WebFrameLoaderClient::setOriginalURLForDownload): Removed some dead code I found here
6812         and added a FIXME.
6813         (WebFrameLoaderClient::createFrame): Moved the code from WebFrameBridge here.
6814         (WebFrameLoaderClient::objectContentType): Ditto.
6815         (parameterValue): Added.  Helper function, based on code originally in WebFrameBridge.
6816         (pluginView): Ditto.
6817         (WebFrameLoaderClient::createPlugin): Moved the code from WebFrameBridge here.
6819 2008-03-04  Darin Adler  <darin@apple.com>
6821         Reviewed by Adam.
6823         - remove -[WebCoreFrameBridge dashboardRegionsChanged:]
6825         * WebCoreSupport/WebChromeClient.h:
6826         * WebCoreSupport/WebChromeClient.mm:
6827         (WebChromeClient::dashboardRegionsChanged): Moved code here from the bridge.
6828         The WebCore side now calls this only when there's an actual change.
6829         * WebCoreSupport/WebFrameBridge.h: Removed lastDashboardRegions.
6830         * WebCoreSupport/WebFrameBridge.mm:
6831         (-[WebFrameBridge dealloc]): Removed code to release lastDashboardRegions.
6832         Removed _compareDashboardRegions: and dashboardRegionsChanged: methods.
6834 2008-03-04  Darin Adler  <darin@apple.com>
6836         Reviewed by Adam.
6838         - remove WebCoreFrameBridge issuePasteComand method
6840         * WebCoreSupport/WebFrameBridge.mm: Removed issuePasteCommand method.
6841         * WebView/WebHTMLViewInternal.h: Removed declaration of paste: method.
6843 2008-03-03  Darin Adler  <darin@apple.com>
6845         Reviewed by Adam.
6847         - some "cleanup" on the path to removing WebCoreFrameBridge
6849         * Storage/WebDatabaseManager.mm: Tweak includes.
6850         * Storage/WebDatabaseTrackerClient.mm: Ditto.
6851         * Storage/WebSecurityOrigin.mm: Ditto.
6852         * Storage/WebSecurityOriginInternal.h: Ditto.
6854         * WebView/WebFrame.mm:
6855         (core): Changed to get rid of the requirement that WebKitEditableLinkBehavior exactly
6856         match WebCore::EditableLinkBehavior.
6857         * WebView/WebFrameInternal.h: Removed unused kit function.
6859         * WebView/WebHTMLView.mm: Moved WebHTMLViewPrivate class in here.
6860         * WebView/WebHTMLViewInternal.h: Moved WebHTMLVewPrivate class out of here.
6861         * WebView/WebHTMLViewPrivate.h: Tweaked formatting and removed some unneeded declarations.
6863         * WebView/WebPreferencesPrivate.h: Removed a no-longer-needed comment.
6865 2008-03-01  Mark Rowe  <mrowe@apple.com>
6867         Reviewed by Tim Hatcher.
6869         Update Xcode configuration to support building debug and release from the mysterious future.
6871         * Configurations/DebugRelease.xcconfig:
6873 2008-02-29  Mark Rowe  <mrowe@apple.com>
6875         Reviewed by Anders Carlsson.
6877         Replace use of WKPathFromFont with implementation in terms of public API.
6879         * WebCoreSupport/WebSystemInterface.m:
6880         (InitWebCoreSystemInterface): Remove unused symbol.
6882 2008-02-29  Mark Rowe  <mrowe@apple.com>
6884         Reviewed by Oliver Hunt.
6886         Fix spelling of "request" in name of WKNSURLProtocolClassForRequest.
6888         * Misc/WebNSURLExtras.mm:
6889         (-[NSURL _webkit_canonicalize]):
6890         * WebKit.order:
6892 2008-02-29  Mark Rowe  <mrowe@apple.com>
6894         Reviewed by Oliver Hunt.
6896         Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
6898         * WebCoreSupport/WebSystemInterface.m:
6899         (InitWebCoreSystemInterface):
6901 2008-02-29  Mark Rowe  <mrowe@apple.com>
6903         Reviewed by Oliver Hunt.
6905         Remove obsolete code that had been left intact to support users running WebKit with older versions of Safari.
6907         * Misc/WebNSViewExtras.m:  Remove _web_superviewOfClass:stoppingAtClass:.
6908         * Misc/WebNSWindowExtras.m:  Remove _webkit_displayThrottledWindows.
6909         * Misc/WebSearchableTextView.m:  Remove selectionImageForcingWhiteText:.
6910         * WebCoreSupport/WebImageRendererFactory.m:  Update comment to mention the last version of Safari that
6911         requires this class.
6912         * WebInspector/WebInspector.mm:  Remove sharedWebInspector and update comments to mention the last version
6913         of Safari that calls other obsolete methods.
6914         * WebView/WebDocumentPrivate.h:  Remove selectionImageForcingWhiteText:.
6915         * WebView/WebHTMLView.mm:  Ditto.
6916         * WebView/WebPDFView.mm:  Ditto.
6917         * WebView/WebView.mm:  Update comment to mentoin the last version of Safari that requires the obsolete method.
6919 2008-02-29  Mark Rowe  <mrowe@apple.com>
6921         Rubber-stamped by Eric Seidel.
6923         Remove unneeded includes of WebKitSystemInterface.h.
6925         * History/WebHistoryItem.mm:
6926         * Misc/WebNSViewExtras.m:
6927         * WebCoreSupport/WebFrameLoaderClient.mm:
6928         * WebView/WebDataSource.mm:
6929         * WebView/WebPDFView.mm:
6931 2008-02-29  Mark Rowe  <mrowe@apple.com>
6933         Reviewed by Oliver Hunt and Oliver Hunt.
6935         <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
6937         * WebCoreSupport/WebSystemInterface.m:
6938         (InitWebCoreSystemInterface):  Remove unused symbol.
6939         * WebKit.order:  Ditto.
6941 2008-02-28  Mark Rowe  <mrowe@apple.com>
6943         Reviewed by Dave Hyatt.
6945         Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
6947         * WebCoreSupport/WebSystemInterface.m:
6948         (InitWebCoreSystemInterface): Only initialize wkGetFontMetrics on Tiger.
6950 2008-02-27  Brady Eidson  <beidson@apple.com>
6952         Reviewed by Mark Rowe (code) and Darin (concept)
6954         Much better fix for <rdar://problem/4930688> (see r19549)
6955         Original fix for <rdar://problem/3947312> (and 14 dupes)
6956         
6957         Let me tell you a story:
6958         A long time ago, in a cvs repository far, far away, loader code was almost all up in WebKit.
6959         WebArchive code was intertwined with that code in bizarre and complex ways.
6960         During the months long loader re-factoring where we pushed much loader code down into WebCore,
6961         many portions of the WebKit loader were thinned out until they ceased to exist.  Others remained
6962         with a sole purpose.
6964         One such section of code whose lineage traces back from WebFrameLoaderClient to WebFrameLoader
6965         to WebLoader was originally rooted in the method [WebLoader loadRequest:].  This method was the 
6966         single entry point for almost all loading (network or web archives)
6968         This method would check various headers and other fields on the NSURLRequest and NSURLResponse 
6969         to make decisions about the load.  If the cache control fields were expired or other conditions 
6970         in the headers were met, the load would be forced to go out to the network.
6972         As the loader was moved and tweaked repeatedly, most of this code was pruned or re-factored.  
6973         At some point, all that remained was the special cases for loading WebArchives.  
6974         
6975         Somewhere in the r16,000s, this remaining responsibility was noticed and related methods we renamed
6976         to be WebArchive specific, further cementing the assumed design.
6978         Problem is, the design was bad.  A WebArchive is meant to be a static snapshot of a WebPage at a
6979         specific point in time.  Referring to the request to see if the resource should be reloaded seems
6980         nonsensical, as does referring to the response headers to see if the resource is "expired".  In the 
6981         context of loading a WebArchive, available data should *always* be loaded from the WebArchive, at least
6982         during the initial load!
6984         After discovering the secret to reproducing all of these bugs is both emptying our your Foundation 
6985         cache and disconnecting your network, it was easy to reproduce the 16 individually reported cases 
6986         that were all symptoms of this bug, and easy to verify that they are fixed with this patch.
6988         * WebCoreSupport/WebFrameLoaderClient.h:
6989         * WebCoreSupport/WebFrameLoaderClient.mm:
6990         (WebFrameLoaderClient::willUseArchive): Do not call either form of "canUseArchivedResource()" that
6991           inspect the request or response objects - We are loading from a WebArchive, and we should never
6992           make the decision to go out to the network when we actually have the resource available.
6994         * WebCoreSupport/WebSystemInterface.m:
6995         (InitWebCoreSystemInterface):  Remove two methods that are no longer used anywhere in WebKit
6997 2008-02-27  Matt Lilek  <webkit@mattlilek.com>
6999         Reviewed by Adam Roben.
7001         Bug 14348: Messing up the inspector by dragging an URL into it
7002         http://bugs.webkit.org/show_bug.cgi?id=14348
7003         <rdar://problem/5283620> and <rdar://problem/5712808>
7005         * WebCoreSupport/WebInspectorClient.mm:
7006         (-[WebInspectorWindowController init]): Remove duplicate preference setting.
7007         (-[WebInspectorWindowController webView:dragDestinationActionMaskForDraggingInfo:]):
7009 2008-02-25  Darin Adler  <darin@apple.com>
7011         Reviewed by Adam.
7013         * WebView/WebArchiver.mm:
7014         (+[WebArchiver archiveSelectionInFrame:]): Use blankURL.
7015         * WebView/WebFrame.mm:
7016         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Avoid the
7017         variable name URL to avoid clashing with the renamed KURL in the future. Also use
7018         blankURL.
7019         (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): Ditto.
7020         (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]): Ditto.
7021         (-[WebFrame loadHTMLString:baseURL:]): Ditto.
7022         (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto.
7024 2008-02-24  Darin Adler  <darin@apple.com>
7026         Reviewed by Sam.
7028         - remove separate client calls for "standard" and "reload' history
7030         * WebCoreSupport/WebFrameLoaderClient.h:
7031         * WebCoreSupport/WebFrameLoaderClient.mm:
7032         (WebFrameLoaderClient::updateGlobalHistory):
7034 2008-02-23  Alexey Proskuryakov  <ap@webkit.org>
7036         Reviewed by Darin Adler.
7038         Move basic threading support from WebCore to WTF.
7040         * ForwardingHeaders/wtf/Threading.h: Added.
7041         * ForwardingHeaders/wtf/Locker.h: Added.
7043 2008-02-23  David Kilzer  <ddkilzer@apple.com>
7045         Please clarify licensing for some files
7046         <http://bugs.webkit.org/show_bug.cgi?id=14970>
7048         Reviewed by Darin Adler.
7050         * Plugins/WebNetscapeDeprecatedFunctions.c: Updated copyright statement
7051         and added Apple BSD-style license.
7052         * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
7054 2008-02-22  John Sullivan  <sullivan@apple.com>
7056         Reviewed by Adam Roben
7057         
7058         Reverted the changed from yesterday to add pasteAndMatchStyle:, as the existing
7059         pasteAsPlainText: has the same behavior.
7061         * WebView/WebHTMLView.mm:
7062         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
7063         (-[WebHTMLView readSelectionFromPasteboard:]):
7064         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
7065         (-[WebHTMLView pasteAsRichText:]):
7066         (-[WebHTMLView paste:]):
7067         * WebView/WebView.mm:
7068         * WebView/WebViewPrivate.h:
7070 2008-02-21  Anders Carlsson  <andersca@apple.com>
7072         Reviewed by Sam.
7074         Use BackForwardList::create instead.
7075         
7076         * History/WebBackForwardList.mm:
7077         (-[WebBackForwardList init]):
7079 2008-02-21  John Sullivan  <sullivan@apple.com>
7081         Reviewed by Jessica Kahn
7082         
7083         support for pasteAndMatchStyle: command (see <rdar://problem/5723952>)
7085         * WebView/WebHTMLView.mm:
7086         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:matchStyle:]):
7087         added matchStyle parameter, passed along to bridge (formerly always passed NO to bridge)
7088         (-[WebHTMLView readSelectionFromPasteboard:]):
7089         pass NO for new matchStyle parameter to match old behavior
7090         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
7091         validate pasteAndMatchStyle the same way as pasteAsRichText
7092         (-[WebHTMLView pasteAndMatchStyle:]):
7093         just like pasteAsRichText but passes YES for matchStyle
7094         (-[WebHTMLView pasteAsRichText:]):
7095         pass NO for new matchStyle parameter to match old behavior
7096         (-[WebHTMLView paste:]):
7097         ditto
7098         
7099         * WebView/WebView.mm:
7100         added macro(pasteAndMatchStyle)
7101         
7102         * WebView/WebViewPrivate.h:
7103         added pasteAndMatchStyle: to WebViewEditingActionsPendingPublic category
7105 2008-02-20  Sam Weinig  <sam@webkit.org>
7107         Reviewed by Darin and Geoff.
7109         - WebKit part of <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
7111         * WebView/WebView.mm:
7112         (-[WebView _preferencesChangedNotification:]): Added a call to Settings::setNeedsSiteSpecificQuirks.
7113         There are currently no site-specific quirks on Mac, but we will propagate the state
7114         to WebCore to avoid possible mistakes later.
7116 2008-02-19  Anders Carlsson  <andersca@apple.com>
7118         Reviewed by Darin Adler.
7120         Move back WebKit methods that were unused in WebCore.
7121         
7122         * Misc/WebNSURLExtras.mm:
7123         (+[NSURL _web_URLWithData:]):
7124         (+[NSURL _web_URLWithData:relativeToURL:]):
7125         (-[NSURL _web_originalData]):
7126         (-[NSURL _web_originalDataAsString]):
7127         (-[NSURL _web_isEmpty]):
7128         (-[NSURL _webkit_canonicalize]):
7129         (-[NSURL _webkit_URLByRemovingComponent:]):
7130         (-[NSURL _webkit_URLByRemovingFragment]):
7131         (-[NSURL _webkit_URLByRemovingResourceSpecifier]):
7132         (-[NSURL _webkit_isFileURL]):
7133         (-[NSString _webkit_isFileURL]):
7134         * WebCoreSupport/WebFrameLoaderClient.mm:
7135         (WebFrameLoaderClient::setTitle):
7136         * WebCoreSupport/WebSystemInterface.m:
7137         (InitWebCoreSystemInterface):
7139 2008-02-18  Darin Adler  <darin@apple.com>
7141         Reviewed by Sam.
7143         * Misc/WebNSAttributedStringExtras.mm:
7144         (+[NSAttributedString _web_attributedStringFromRange:]): Eliminate use of
7145         DeprecatedString.
7147 2008-02-17  Sam Weinig  <sam@webkit.org>
7149         Reviewed by Dan Bernstein.
7151         Fix for http://bugs.webkit.org/show_bug.cgi?id=17365
7152         document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR
7154         * MigrateHeaders.make: Migrate DOMProgressEvent.h and DOMTextPrivate.h which were
7155         mistakenly not migrated.
7157 2008-02-15  Dan Bernstein  <mitz@apple.com>
7159         Reviewed by Alexey Proskuryakov.
7161         - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360
7162           <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html
7164         * WebView/WebDataSource.mm:
7165         (+[WebDataSource _representationClassForMIMEType:]):
7166         (-[WebDataSource _responseMIMEType]):
7167         (-[WebDataSource subresources]):
7168         (-[WebDataSource subresourceForURL:]):
7169         * WebView/WebResource.mm:
7170         (-[WebResource _initWithData:URL:response:]):
7171         * WebView/WebResourcePrivate.h:
7173 2008-02-15  Adam Roben  <aroben@apple.com>
7175         Make WebKit's FEATURE_DEFINES match WebCore's
7177         Reviewed by Mark.
7179         * Configurations/WebKit.xcconfig:
7181 2008-02-14  Darin Adler  <darin@apple.com>
7183         Reviewed by Eric Seidel.
7185         - updated for WebCore KURL changes
7187         * History/WebHistoryItem.mm:
7188         (-[WebHistoryItem URL]): Removed getNSURL call.
7189         * Misc/WebElementDictionary.mm:
7190         (-[WebElementDictionary _absoluteImageURL]): Ditto.
7191         (-[WebElementDictionary _absoluteLinkURL]): Ditto.
7192         * Misc/WebNSAttributedStringExtras.mm:
7193         (fileWrapperForElement): Ditto.
7194         (+[NSAttributedString _web_attributedStringFromRange:]): Ditto.
7195         * Misc/WebNSURLExtras.mm:
7196         (-[NSString _webkit_stringByReplacingValidPercentEscapes]): Updated
7197         for function name change.
7198         * WebCoreSupport/WebContextMenuClient.mm:
7199         (WebContextMenuClient::downloadURL): Removed getNSURL call.
7200         * WebCoreSupport/WebDragClient.mm:
7201         (WebDragClient::createDragImageForLink): Ditto.
7202         * WebCoreSupport/WebFrameLoaderClient.mm:
7203         (WebFrameLoaderClient::dispatchWillPerformClientRedirect): Ditto.
7204         (WebFrameLoaderClient::startDownload): Ditto.
7205         (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad): Ditto.
7206         (WebFrameLoaderClient::updateGlobalHistoryForReload): Ditto.
7207         (WebFrameLoaderClient::cancelledError): Ditto.
7208         (WebFrameLoaderClient::blockedError): Ditto.
7209         (WebFrameLoaderClient::cannotShowURLError): Ditto.
7210         (WebFrameLoaderClient::interruptForPolicyChangeError): Ditto.
7211         (WebFrameLoaderClient::cannotShowMIMETypeError): Ditto.
7212         (WebFrameLoaderClient::fileDoesNotExistError): Ditto.
7213         (WebFrameLoaderClient::willUseArchive): Ditto.
7214         (WebFrameLoaderClient::setTitle): Ditto.
7215         (WebFrameLoaderClient::actionDictionary): Ditto.
7216         (WebFrameLoaderClient::createFrame): Ditto.
7217         (WebFrameLoaderClient::objectContentType): Ditto.
7218         (WebFrameLoaderClient::createPlugin): Ditto.
7219         (WebFrameLoaderClient::createJavaAppletWidget): Ditto.
7220         * WebView/WebDataSource.mm:
7221         (-[WebDataSource _URL]): Ditto.
7222         (-[WebDataSource _initWithDocumentLoader:]): Ditto.
7223         (-[WebDataSource unreachableURL]): Ditto.
7224         * WebView/WebHTMLView.mm:
7225         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
7227 2008-02-14  Stephanie Lewis  <slewis@apple.com>
7229         Reviewed by Geoff.
7231         Update order files.
7233         * WebKit.order:
7235 2008-02-14  Alexey Proskuryakov  <ap@webkit.org>
7237         Reviewed by Adam Roben.
7239         http://bugs.webkit.org/show_bug.cgi?id=17207
7240         Database example doesn't work (requires not-yet-released Safari)
7242         * WebCoreSupport/WebChromeClient.mm:
7243         (WebChromeClient::exceededDatabaseQuota): Check Safari version, and allow 5 megabytes of storage
7244         if it's too old.
7246 2008-02-11  Darin Adler  <darin@apple.com>
7248         - roll out fix for <rdar://problem/5726016> REGRESSION: Xcode News window renders
7249           incorrectly due to visibility fix
7251         Removed the Xcode-specific quirk at the request of some folks on the Xcode team.
7253         * Misc/WebKitVersionChecks.h: Removed the constant.
7255         * WebView/WebView.mm:
7256         (-[WebView _needsXcodeVisibilityQuirk]): Removed.
7257         (-[WebView _preferencesChangedNotification:]): Removed call to
7258         setNeedsXcodeVisibilityQuirk.
7260 2008-02-12  Anders Carlsson  <andersca@apple.com>
7262         Reviewed by Mitz.
7264         * WebCoreSupport/WebFrameBridge.mm:
7265         * WebCoreSupport/WebViewFactory.mm:
7266         (-[WebViewFactory imageTitleForFilename:size:]):
7267         Move implementation from WebFrameBridge to WebViewFactory.
7269 2008-02-11  Darin Adler  <darin@apple.com>
7271         Reviewed by Mitz.
7273         - fix <rdar://problem/5726016> REGRESSION: Xcode News window renders
7274           incorrectly due to visibility fix
7276         Added an Xcode-specific quirk.
7278         * Misc/WebKitVersionChecks.h: Added a constant for the "linked on or after"
7279         part of the check.
7281         * WebView/WebView.mm:
7282         (-[WebView _needsXcodeVisibilityQuirk]): Added.
7283         (-[WebView _preferencesChangedNotification:]): Added a call to
7284         setNeedsXcodeVisibilityQuirk based on _needsXcodeVisibilityQuirk.
7286 2008-02-10  Darin Adler  <darin@apple.com>
7288         - fix http://bugs.webkit.org/show_bug.cgi?id=17274
7289           REGRESSION: User Agent string broken in r30119
7291         * WebView/WebView.mm:
7292         (-[WebView _userAgentWithApplicationName:andWebKitVersion:]):
7293         Fix wrong variable name. Doh!
7295 2008-02-09  Darin Adler  <darin@apple.com>
7297         Reviewed by Tim Hatcher.
7299         - fix <rdar://problem/5725996> crash every time you open the Xcode documentation window
7301         * WebView/WebView.mm:
7302         (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Work around a bug in the
7303         garbage collector's Objective C++ support by not initializing a static to an object
7304         that needs to be marked when running under GC.
7306 2008-02-05  Dan Bernstein  <mitz@apple.com>
7308         Reviewed by Darin Adler.
7310         - WebKit part of <rdar://problem/5724303> Should implement writing direction shortcuts
7312         The key bindings are Command-Control-left arrow and
7313         Command-Control-right arrow. To match AppKit, the bindings are enabled
7314         only when certain user defaults are set.
7316         * WebView/WebHTMLView.mm:
7317         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
7318         (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
7319         Frame::baseWritingDirectionForSelectionStart() and
7320         Editor::setBaseWritingDirection() directly.
7321         (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
7322         (writingDirectionKeyBindingsEnabled): Added.
7323         (-[WebHTMLView _changeBaseWritingDirectionTo:]): Added this helper
7324         method.
7325         (-[WebHTMLView changeBaseWritingDirectionToLTR:]): Added.
7326         (-[WebHTMLView changeBaseWritingDirectionToRTL:]): Added.
7327         * WebView/WebView.mm:
7329 2008-02-05  Mark Rowe  <mrowe@apple.com>
7331         Unreviewed build fix.
7333         * WebView/WebView.mm: Add missing #import.
7335 2008-02-05  Mark Rowe  <mrowe@apple.com>
7337         Reviewed by Oliver Hunt.
7339         Update versioning to support the mysterious future.
7341         * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
7343 2008-01-30  Justin Garcia  <justin.garcia@apple.com>
7345         Reviewed by Darin Adler.
7346         
7347         <rdar://problem/5708115> REGRESSION: Words selected with a double click and copied won't paste into Mail
7349         * WebView/WebHTMLView.mm:
7350         (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Brought 
7351         this back, it's used by Mail.
7352         (-[WebHTMLView _canSmartReplaceWithPasteboard:]): This WebInternal method is
7353         also used by Mail.  Moved to WebPrivate.
7354         * WebView/WebHTMLViewPrivate.h: Expose two methods that Mail uses here, so that we don't
7355         accidently remove them in the future.
7357 2008-01-30  Mark Rowe  <mrowe@apple.com>
7359         Reviewed by Oliver Hunt.
7361         Move off deprecated NSTableView methods.
7363         * WebView/WebHTMLView.mm:
7364         (-[WebTextCompleteController _buildUI]): Switch from -setDrawsGrid: to -setGridStyleMask:.
7365         (-[WebTextCompleteController _placePopupWindow:]): Switch from -selectRow:byExtendingSelection: to -selectRowIndexes:byExtendingSelection:.
7366         (-[WebTextCompleteController filterKeyDown:]): Ditto.
7368 2008-01-26  Mark Rowe  <mrowe@apple.com>
7370         Reviewed by Darin Adler.
7372         Fix leaks seen after loading <http://www.funnyordie.com/videos/d70b5a11cb>.
7374         * Misc/WebNSDataExtras.m:
7375         (-[NSString _web_capitalizeRFC822HeaderFieldName]): Transfer ownerhip of the allocated buffers
7376         to the new CFString so that they will be freed when no longer needed.
7378 2008-01-26  Greg Bolsinga  <bolsinga@apple.com>
7380         <rdar://problem/5708388> WebDashboardRegion.h duplicated between WebCore / WebKit
7382         Reviewed by Darin Adler.
7384         * WebCoreSupport/WebDashboardRegion.h: Removed.
7385         * WebView/WebView.mm: Updated #import to use copy of WebDashboardRegion.h from WebCore.
7387 2008-01-21  Darin Adler  <darin@apple.com>
7389         Reviewed by John Sullivan.
7391         - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases
7392         - add a missing export of WebDatabaseExpectedSizeKey
7393         - implement deleteOrigin: and remove deleteDatabasesWithOrigin:
7395         * Storage/WebDatabaseManager.mm:
7396         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Updated to check for a null
7397         name instead of calling isValid().
7398         (-[WebDatabaseManager deleteOrigin:]): Implemented.
7399         (WebKitInitializeDatabasesIfNecessary): Updated for name change.
7401         * Storage/WebDatabaseManagerPrivate.h: Removed deleteDatabasesWithOrigin:.
7403         * WebCoreSupport/WebChromeClient.h: Updated for changes to ChromeClient.
7404         * WebCoreSupport/WebChromeClient.mm:
7405         (WebChromeClient::exceededDatabaseQuota): Replaced the two different client functions
7406         we had before with a single one.
7408         * WebKit.exp: Added missing export for WebDatabaseExpectedSizeKey.
7410         * WebView/WebPreferenceKeysPrivate.h: Removed WebKitDefaultDatabaseQuotaKey.
7411         * WebView/WebPreferences.m:
7412         (+[WebPreferences initialize]): Removed the default for WebKitDefaultDatabaseQuotaKey.
7413         * WebView/WebPreferencesPrivate.h: Removed defaultDatabaseQuota and
7414         setDefaultDatabaseQuota:.
7416         * WebView/WebUIDelegatePrivate.h: Replaced the two different database quota delegate
7417         methods we had before with a single one.
7419         * WebView/WebView.mm:
7420         (-[WebView _preferencesChangedNotification:]): Removed the code to set the
7421         default database origin quota in WebCore::Settings based on WebPreferences.
7423         * WebView/WebViewInternal.h: Removed delegate method dispatch functions for unusual
7424         types of parameters that the database UI delegate methods had before.
7426 2008-01-20  Mark Rowe  <mrowe@apple.com>
7428         Reviewed by Dan Bernstein.
7430         Remove code bracketed by REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM as we are no longer
7431         interested in supporting Safari 2 with TOT WebKit.
7433         * WebView/WebView.mm:
7434         (+[WebView initialize]):
7436 2008-01-17  Timothy Hatcher  <timothy@apple.com>
7438         Reviewed by Adam Roben.
7440         <rdar://problem/5693558> REGRESSION (r29581): no form field focus rings
7441         and inactive text selection after loading a page
7442         Bug 16917: REGRESSION (r29581/2): Google Maps search box loses focused appearance
7444         The problem was other frames were changing the FocusController's active
7445         status to false after the first responder frame set it to true. The last
7446         frame to call _updateActiveState would win.
7448         * WebView/WebHTMLView.mm:
7449         (-[WebHTMLView _updateActiveState]): Only call page->focusController()->setActive()
7450         if the first responder is the current WebHTMLView or the WebFrameView.
7451         (-[WebHTMLView _web_firstResponderCausesFocusDisplay]): Removed, inlined code in _updateActiveState.
7453 2008-01-18  Adam Roben  <aroben@apple.com>
7455         Rename _updateActiveState to _updateFocusedAndActiveState
7457         Also renamed any related methods/members similarly.
7459         Reviewed by Adele.
7461         * WebView/WebHTMLView.mm:
7462         (-[WebHTMLViewPrivate dealloc]):
7463         (-[WebHTMLView _cancelUpdateFocusedAndActiveStateTimer]):
7464         (-[WebHTMLView close]):
7465         (_updateFocusedAndActiveStateTimerCallback):
7466         (-[WebHTMLView viewWillMoveToWindow:]):
7467         (-[WebHTMLView viewDidMoveToWindow]):
7468         (-[WebHTMLView windowDidBecomeKey:]):
7469         (-[WebHTMLView windowDidResignKey:]):
7470         (-[WebHTMLView becomeFirstResponder]):
7471         (-[WebHTMLView resignFirstResponder]):
7472         * WebView/WebHTMLViewInternal.h:
7473         * WebView/WebHTMLViewPrivate.h:
7475 2008-01-17  John Sullivan  <sullivan@apple.com>
7477         Reviewed by Darin
7478         
7479         - fixed <rdar://problem/5692068> -1 WebFrameView world leaks reported after closing view source window
7481         * WebView/WebFrameView.mm:
7482         (-[WebFrameView initWithCoder:]):
7483         override to bump the global WebFrameView count
7485 2008-01-16  Adam Roben  <aroben@apple.com>
7487         Updated for renames/removal of WebCore methods.
7489         Reviewed by Darin Adler.
7491         * Plugins/WebPluginController.mm:
7492         (-[WebPluginController webPlugInContainerSelectionColor]): Changed to
7493         ask isFocusedAndActive directly, instead of going through the frame
7494         bridge.
7495         * WebView/WebHTMLView.mm:
7496         (-[WebHTMLView _updateActiveState]): Updated for method renames.
7498 2008-01-16  John Sullivan  <sullivan@apple.com>
7500         Reviewed by Adam and Dan
7501         
7502         - cleaned up some existing logging
7504         * WebView/WebHTMLView.mm:
7505         (-[WebHTMLView setNeedsDisplay:]):
7506         add method name to log, use "YES" and "NO" instead of (int)flag
7507         (-[WebHTMLView setNeedsLayout:]):
7508         ditto
7509         (-[WebHTMLView setNeedsToApplyStyles:]):
7510         ditto
7512 2008-01-15  Geoffrey Garen  <ggaren@apple.com>
7514         Reviewed by Andre Boule.
7516         Fixed <rdar://problem/5667627> [WebCache empty] implementation should
7517         not disable/enable the cache
7518         
7519         Toggle the cache model instead -- toggling disable/enable just causes
7520         the cache to forget about resources, not reclaim their memory.
7522         * Misc/WebCache.mm:
7523         (+[WebCache empty]):
7524         * WebView/WebView.mm:
7525         * WebView/WebViewInternal.h:
7527 2008-01-15  Adele Peterson  <adele@apple.com>
7529         Reviewed by Adam and Antti.
7531         WebKit part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
7533         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
7534           Removed initialization for GetMediaControlBackgroundImageData.  Added initialization for DrawMediaSliderTrack.
7536 2008-01-10  Geoffrey Garen  <ggaren@apple.com>
7538         Reviewed by John Sullivan.
7540         Fixed some world leak reports:
7541         * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
7542         Interpreter after running cvs-base suite
7544         * <rdar://problem/5669423> PLT complains about world leak if browser
7545         window is open when PLT starts
7546         
7547         These were both bugs in the reporting mechanism, so I took the
7548         opportunity to do some house cleaning there.
7550         * Misc/WebCoreStatistics.h: Did a little renaming, to match
7551         JavaScriptCore better. I kept the methods with the old names around,
7552         though, because old versions of Safari need them.
7554         * Misc/WebCoreStatistics.mm: Removed dependence on
7555         WebCore::JavaScriptStatistics, which is gone now. 
7556         
7557         These two methods are now distinct, for the sake of world leak reporting:
7558         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
7559         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
7561 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
7563         Not reviewed. Build fix.
7564         
7565         - Attempt to fix mac build.
7567         * Storage/WebDatabaseManager.mm:
7569 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
7571         Reviewed by Sam.
7573         - remove SecurityOriginData and fold its functionality into SecurityOrigin
7575         * Storage/WebDatabaseManager.mm:
7576         (-[WebDatabaseManager origins]):
7577         (-[WebDatabaseManager databasesWithOrigin:]):
7578         (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
7579         (-[WebDatabaseManager deleteDatabasesWithOrigin:]):
7580         (-[WebDatabaseManager deleteDatabase:withOrigin:]):
7581         * Storage/WebDatabaseTrackerClient.h:
7582         * Storage/WebDatabaseTrackerClient.mm:
7583         (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
7584         (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
7585         * Storage/WebSecurityOrigin.mm:
7586         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
7587         (-[WebSecurityOrigin protocol]):
7588         (-[WebSecurityOrigin domain]):
7589         (-[WebSecurityOrigin port]):
7590         (-[WebSecurityOrigin usage]):
7591         (-[WebSecurityOrigin quota]):
7592         (-[WebSecurityOrigin setQuota:]):
7593         (-[WebSecurityOrigin isEqual:]):
7594         (-[WebSecurityOrigin dealloc]):
7595         (-[WebSecurityOrigin finalize]):
7596         (-[WebSecurityOrigin _initWithWebCoreSecurityOrigin:]):
7597         (-[WebSecurityOrigin _core]):
7598         * Storage/WebSecurityOriginInternal.h:
7599         * WebCoreSupport/WebChromeClient.h:
7600         * WebCoreSupport/WebChromeClient.mm:
7601         (WebChromeClient::requestQuotaIncreaseForNewDatabase):
7602         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
7604 2008-01-10  Sam Weinig  <sam@webkit.org>
7606         Reviewed by Anders Carlsson.
7608         Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
7609         <rdar://problem/5657355>
7611         * Plugins/WebBaseNetscapePluginView.mm:
7612         (-[WebBaseNetscapePluginView loadPluginRequest:]): call findFrameForNavigation
7613         to ensure the shouldAllowNavigation check is made.
7615 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
7617         Reviewed by Mark.
7619         Enable SVG_FONTS by default.
7621         * Configurations/WebKit.xcconfig:
7623 2008-01-07  Adele Peterson  <adele@apple.com>
7625         Reviewed by Antti, Adam, and Mitz.
7627         WebKit part of fix for 
7628         <rdar://problem/5619073> Updated look for <video> controls
7629         <rdar://problem/5619057> Add volume control to video controls
7631         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
7633 2008-01-07  Dan Bernstein  <mitz@apple.com>
7635         Reviewed by Dave Hyatt.
7637         - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
7639         * Misc/WebNSAttributedStringExtras.mm:
7641 2008-01-03  Alexey Proskuryakov  <ap@webkit.org>
7643         Reviewed by Darin Adler.
7645         <rdar://problem/5463489> A number of layout tests should be using execCommand instead of textInputController
7647         * WebView/WebView.mm:
7648         (-[WebView _executeCoreCommandByName:value:]):
7649         * WebView/WebViewPrivate.h:
7650         Added an SPI to implement layoutTestController.execCommand.
7652 2008-01-03  Kevin Decker  <kdecker@apple.com>
7654         Reviewed by Darin Adler.
7656         Fixed: <rdar://problem/4106190> Include "Where from" metadata in drag-and-dropped images
7657         
7658         * Misc/WebNSFileManagerExtras.h:
7659         * Misc/WebNSFileManagerExtras.m:
7660         (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Added new method. Uses WebKitSystemInterface to set
7661         "Where from:" metadata information.
7662         * WebView/WebHTMLView.mm:
7663         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Added "Where from:" metadata for drag and dropped images.
7664         
7665 2008-01-03  Alice Liu  <alice.liu@apple.com>
7667         Reviewed by Darin Adler.
7669         This fixes pageup/down in iframes.  test for this is fast/frames/iframe-scroll-page-up-down.html
7671         * WebView/WebHTMLView.mm:
7672         (-[WebHTMLView doCommandBySelector:]):
7673         Have the editor handle all the commands it supports instead of just text commands.
7674         If not handled by the editor, the webview will handle the command. 
7676 2008-01-02  Kevin Decker  <kdecker@apple.com>
7678         Reviewed by Darin Adler.
7679         
7680         Fixed: <rdar://problem/5660603> QuickDraw plug-ins can cause a 100% reproducible assertion failure in AppKit (breaks Safari UI)
7682         * Plugins/WebBaseNetscapePluginView.mm:
7683         (-[WebBaseNetscapePluginView updateAndSetWindow]): Simplified an early return for non-QuickDraw plug-ins and switched
7684         to using the more NSView friendly version of lockFocus, lockFocusIfCanDraw.
7686 2008-01-01  David D. Kilzer  <ddkilzer@webkit.org>
7688         Reviewed by Dan.
7690         - fix http://bugs.webkit.org/show_bug.cgi?id=16700
7691           Fix -[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]
7693         * DefaultDelegates/WebDefaultPolicyDelegate.m: Check return value of
7694         -[NSFileManager fileExistsAtPath:isDirectory:] before using the value
7695         of isDirectory.
7697 2007-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
7699         Reviewed by Eric.
7701         Add DOMSVGFontElement/DOMSVGGlyphElement/DOMSVGMissingGlyphElement to MigrateHeaders.make
7703         * MigrateHeaders.make:
7705 2007-12-25  Dan Bernstein  <mitz@apple.com>
7707         Reviewed by Oliver Hunt.
7709         - fix an assertion failure when pressing the num lock key
7711         * WebView/WebHTMLView.mm:
7712         (-[WebHTMLView flagsChanged:]): Avoid passing key code 10 down to
7713         WebCore.
7715 2007-12-20  Darin Adler  <darin@apple.com>
7717         Reviewed by Oliver.
7719         - fix <rdar://problem/5658787> Selector -[WebView insertLineBreak:] is not implemented
7721         * WebView/WebView.mm: Added all selectors implemented by WebHTMLView to the list of
7722         selectors to forward here. The new ones are: changeBaseWritingDirection:, changeSpelling:,
7723         deleteToMark:, insertLineBreak:, moveParagraphBackwardAndModifySelection:,
7724         moveParagraphForwardAndModifySelection:, pageDownAndModifySelection:, pageUpAndModifySelection:,
7725         selectToMark:, setMark:, swapWithMark:, takeFindStringFromSelection:, toggleBaseWritingDirection:,
7726         and transpose:.
7728 2007-12-20  Kevin Decker  <kdecker@apple.com>
7730         Reviewed by Anders.
7731         
7732         Fixed: <rdar://problem/5638288> REGRESSION: Flash movies show up in other tabs above the page (16373)
7734         * Plugins/WebBaseNetscapePluginView.mm:
7735         (-[WebBaseNetscapePluginView updateAndSetWindow]): QuickDraw plug-ins must manually be told when to stop
7736          writing to the window backing store. The problem was that change-set 28400 introduced an early return 
7737          which prevented this necessary operation. The fix is to limit the scope of the early return to CG and GL
7738          plug-ins and to tweak the needsFocus check to prevent an exception from occurring in QuickDraw-based plug-ins.
7740 2007-12-19  Geoffrey Garen  <ggaren@apple.com>
7742         Reviewed by Oliver Hunt.
7744         Build fix.
7746         * ForwardingHeaders/kjs/SymbolTable.h: Added.
7747         * ForwardingHeaders/wtf/VectorTraits.h: Added.
7749 2007-12-16  Mark Rowe  <mrowe@apple.com>
7751         Reviewed by Maciej Stachowiak.
7753         Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation.
7755         * Plugins/WebBaseNetscapePluginStream.h:
7756         * Plugins/WebNetscapePluginStream.h:
7757         * Plugins/WebNetscapePluginStream.mm:
7758         (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
7759         (-[WebNetscapePluginStream dealloc]):
7760         (-[WebNetscapePluginStream finalize]):
7761         * Plugins/WebPlugInStreamLoaderDelegate.h: Moved from WebCore.
7762         * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h: Added.
7763         (WebNetscapePlugInStreamLoaderClient::WebNetscapePlugInStreamLoaderClient):
7764         * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm: Added.
7765         (WebNetscapePlugInStreamLoaderClient::didReceiveResponse): Call through to the equivalent WebPlugInStreamLoaderDelegate method.
7766         (WebNetscapePlugInStreamLoaderClient::didReceiveData): Ditto.
7767         (WebNetscapePlugInStreamLoaderClient::didFail): Ditto.
7768         (WebNetscapePlugInStreamLoaderClient::didFinishLoading): Ditto.
7770 2007-12-16  Alexey Proskuryakov  <ap@webkit.org>
7772         Reviewed by Darin Adler.
7774         http://bugs.webkit.org/show_bug.cgi?id=14140
7775         <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
7777         * WebView/WebHTMLView.mm:
7778         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Made command replaying work
7779         when handling keypress, too.
7780         (-[WebHTMLView doCommandBySelector:]): Adapted for the new way to store commands in events.
7781         (-[WebHTMLView insertText:]): Append a command, not replace the whole existing vector. Also,
7782         restore the state for additional commands to be saved correctly.
7784 2007-12-14  David D. Kilzer  <ddkilzer@apple.com>
7786         <rdar://problem/5647272> Remove user agent string hack for flickr.com
7788         Reviewed by Darin Adler.
7790         * WebView/WebView.mm:
7791         (-[WebView _userAgentForURL:]): Removed hack.
7793 2007-12-14  David D. Kilzer  <ddkilzer@apple.com>
7795         <rdar://problem/5647261> Remove user agent string hack for yahoo.com
7797         Reviewed by Darin Adler.
7799         * WebView/WebView.mm:
7800         (-[WebView _userAgentForURL:]): Removed hack.
7802 2007-12-14  Darin Adler  <darin@apple.com>
7804         Reviewed by Brady.
7806         - fix http://bugs.webkit.org/show_bug.cgi?id=16296
7807           <rdar://problem/5635641> -[WebFrameLoadDelegate didReceiveIcon:forFrame:] never called
7809         * WebView/WebView.mm:
7810         (-[WebView setFrameLoadDelegate:]): Call [WebIconDatabase sharedIconDatabase] if the
7811         a didReceiveIcon method is present.
7813 2007-12-14  Darin Adler  <darin@apple.com>
7815         Reviewed by Alexey.
7817         - Changed a few more editing operations to use WebCore instead of WebKit.
7818         - Removed some obsolete unused code.
7820         * WebCoreSupport/WebFrameBridge.h: Moved declarations of methods that are both
7821         defined and used on the WebKit side to here. These no longer belong on the bridge
7822         and should be moved to the WebFrame class (or elsewhere).
7823         * WebCoreSupport/WebFrameBridge.mm: Removed some unused methods.
7825         * WebView/WebFrameView.mm:
7826         (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Fix typo in comment.
7828         * WebView/WebHTMLView.mm:
7829         (-[WebHTMLViewPrivate dealloc]): Removed unused firstResponderTextViewAtMouseDownTime.
7830         (-[WebHTMLViewPrivate clear]): Ditto.
7831         (-[WebHTMLView _setMouseDownEvent:]): Ditto.
7832         (commandNameForSelector): Added special cases for pageDown:, pageDownAndModifySelection:,
7833         pageUp:, and pageUpAndModifySelection:, since those names probably aren't specific enough
7834         to be used in WebCore (what AppKit calls scrollPageDown: vs. pageDown: needs to be
7835         disambiguated with the word "Move"). Added deleteBackward:,
7836         deleteBackwardByDecomposingPreviousCharacter:, deleteForward:, deleteToBeginningOfLine:,
7837         deleteToBeginningOfParagraph:, deleteToEndOfLine:, deleteToEndOfParagraph:, pageDown:,
7838         pageDownAndModifySelection:, pageUp:, pageUpAndModifySelection:, selectLine:,
7839         selectParagraph:, selectSentence:, and selectWord: to the list of commands that are
7840         forwarded to WebCore.
7841         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Eliminated the long list of
7842         operations that we forward to WebCore. Instead, look up any command that WebCore can
7843         handle, after any that we handle specially in WebHTMLView. Also fixed a bug where
7844         an item that's not a menu item with changeBaseWritingDirection:NSWritingDirectionNatural
7845         would end up enabled instead of disabled and streamlined the logic for toggleGrammarChecking:.
7846         (-[WebHTMLView mouseDown:]): Removed unused firstResponderTextViewAtMouseDownTime.
7847         (-[WebHTMLView becomeFirstResponder]): Removed unused willBecomeFirstResponderForNodeFocus.
7848         (-[WebHTMLView resignFirstResponder]): Ditto.
7849         (-[WebHTMLView checkSpelling:]): Took unneeded extra initialization of NSSpellChecker.
7851         * WebView/WebHTMLViewInternal.h: Removed unused willBecomeFirstResponderForNodeFocus,
7852         firstResponderTextViewAtMouseDownTime, _textViewWasFirstResponderAtMouseDownTime: and
7853         _willMakeFirstResponderForNodeFocus.
7855 2007-12-13  Alexey Proskuryakov  <ap@webkit.org>
7857         Reviewed by Darin Adler.
7859         Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
7861         * Misc/WebKitVersionChecks.h:
7862         * WebView/WebView.mm:
7863         (-[WebView _needsKeyboardEventHandlingQuirks]):
7864         (-[WebView _preferencesChangedNotification:]):
7866 2007-12-12  Brady Eidson  <beidson@apple.com>
7868         Reviewed by Sam Weinig
7870         Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
7872         * WebCoreSupport/WebCachedPagePlatformData.h: Added.
7873         (WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes a WebDocumentView for later restoration
7874         (WebCachedPagePlatformData::clear):
7875         (WebCachedPagePlatformData::webDocumentView):
7877         * WebCoreSupport/WebFrameLoaderClient.h:
7878         * WebCoreSupport/WebFrameLoaderClient.mm:
7879         (WebFrameLoaderClient::savePlatformDataToCachedPage):
7880         (WebFrameLoaderClient::transitionToCommittedFromCachedPage): Don't set the DocumentLoader to the Frame here, 
7881           because that is now done in WebCore.
7882         (WebFrameLoaderClient::transitionToCommittedForNewPage):
7884 2007-12-12  Mark Rowe  <mrowe@apple.com>
7886         Reviewed by Dave Kilzer.
7888         Remove abuse of projectDirPath from WebKit.xcodeproj to fix Production builds.
7890         * Configurations/WebKit.xcconfig:
7892 2007-12-11  Sam Weinig  <sam@webkit.org>
7894         Reviewed by Darin Adler.
7896         Scrub URL out of the tree in preparation for renaming KURL to URL.
7898         * WebCoreSupport/WebFrameLoaderClient.mm:
7899         (WebFrameLoaderClient::actionDictionary):
7900         * WebView/WebDataSource.mm:
7901         (-[WebDataSource _URL]):
7902         * WebView/WebView.mm:
7903         (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
7905 2007-12-11  Darin Adler  <darin@apple.com>
7907         Reviewed by Geoff.
7909         - change more editing commands to use WebCore::Editor
7910         - change to use the new WebCore::Editor::command() function
7912         * WebView/WebHTMLView.mm: Changed alignCenter, alignJustified, alignLeft,
7913         alignRight, cut, copy, deleteToMark, indent, insertNewlineIgnoringFieldEditor,
7914         insertTabIgnoringFieldEditor, outdent, selectAll, selectToMark, setMark,
7915         subscript, superscript, swapWithMark, underline, unscript, yank, and yankAndSelect
7916         to use the "forward to WebCore" macro instead of having hand-written implementations.
7917         (kit): Added function to change a TriState to an AppKit-style tri-state value.
7918         (-[WebHTMLView coreCommandBySelector:]): Added. No longer converts case of the
7919         first character or copies the selector name, since the Editor commands are not case
7920         sensitive any more. Returns a command object.
7921         (-[WebHTMLView coreCommandByName:]): Added.
7922         (-[WebHTMLView executeCoreCommandBySelector:]): Renamed from callWebCoreCommand:,
7923         and changed to use the new coreCommandBySelector: method.
7924         (-[WebHTMLView executeCoreCommandByName:]): Added.
7925         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Changed all the
7926         methods that call through to WebCore to also use the state() and isEnabled()
7927         functions on the commands for the menu item state and user interface item enabling.
7928         (-[WebHTMLView _handleStyleKeyEquivalent:]): Use ToggleBold and ToggleItalic by
7929         name rather than having local methods for them; no need for methods with a single
7930         call site.
7931         (-[WebHTMLView insertParagraphSeparator:]): Use executeCoreCommandByName: rather
7932         than the deprecated execCommand().
7933         (-[WebHTMLView doCommandBySelector:]): Changed to use command().execute() rather
7934         than the deprecated execCommand().
7935         * WebView/WebHTMLViewInternal.h: Removed some unneeded method declarations.
7937 2007-12-07  Alexey Proskuryakov  <ap@webkit.org>
7939         Reviewed by Darin Adler.
7941         <rdar://problem/5535636>
7942         Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
7944         http://bugs.webkit.org/show_bug.cgi?id=13916
7945         JavaScript detects Tab as a character input on a textfield validation
7947         * WebCoreSupport/WebEditorClient.h:
7948         Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
7949         Renamed handleInputMethodKeypress() to handleInputMethodKeydown().
7950         * WebCoreSupport/WebEditorClient.mm:
7951         (WebEditorClient::handleKeyboardEvent): This change makes sense only remotely, but it helped
7952         to get tests working. I guess Mac keyboard event handling needs further refactoring.
7954         * WebView/WebHTMLView.mm:
7955         (selectorToCommandName): Convert AppKit editing selector name to Editor command name - extracted
7956         from callWebCoreCommand:.
7957         (_interceptEditingKeyEvent:shouldSaveCommand:): Insert text from keypress.
7959         * WebView/WebPDFView.mm:
7960         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
7961         Convert incoming platform KeyDown into RawKeyDown, as this is what the view is interested in.
7963 2007-12-10  Brady Eidson  <beidson@apple.com>
7965         Reviewed by John Sullivan
7967         Fix for <rdar://problem/5640080> - Database UI delegate calls need to specify WebFrame
7969         This is because a common UI case is to want to know the originating URL of a Database
7971         * WebCoreSupport/WebChromeClient.mm:
7972         (WebChromeClient::requestQuotaIncreaseForNewDatabase):
7973         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
7975         * WebView/WebUIDelegatePrivate.h:
7977         * WebView/WebView.mm:
7978         (CallDelegateReturningUnsignedLongLong):
7979         (CallUIDelegateReturningUnsignedLongLong):
7980         * WebView/WebViewInternal.h:
7982 2007-12-10  Timothy Hatcher  <timothy@apple.com>
7984         Reviewed by Mark Rowe.
7986         <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
7988         * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
7989           so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
7991 2007-12-10  Kevin Decker  <kdecker@apple.com>
7993         Reviewed by Darin Adler.
7995         Fixed: <rdar://problem/4290098> Right-mouse click on element doesn't call onmousedown handler
7996         
7997         * WebView/WebHTMLView.mm:
7998         (-[WebHTMLView menuForEvent:]): Match behavior of other browsers by sending an onmousedown event for right clicks.
8000 2007-12-08  Oliver Hunt  <oliver@apple.com>
8002         Reviewed by Sam W.
8004         Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
8005         
8006         Fixes <rdar://problem/5620249> Must disable SVG animation
8007         <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
8008         
8009         Minor updates to the feature flags used.
8011         * Configurations/WebKit.xcconfig:
8012         * DOM/WebDOMOperations.mm:
8014 2007-12-07  Darin Adler  <darin@apple.com>
8016         Reviewed by Kevin Decker and Tim Hatcher.
8018         - speculative fix for <rdar://problem/5400159> CrashTracer: [USER] 726 crashes
8019           in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
8021         * WebView/WebHTMLView.mm:
8022         (-[WebHTMLView _frameOrBoundsChanged]): Only schedule the mouseover timer if we are in a window
8023         and not closed. That's because viewDidMoveToWindow and close are the entry points for cancelling.
8024         (-[WebHTMLView close]): Add code to cancel both timers. Needed for the case where the entire
8025         window goes away, and the view is never removed from the window.
8026         (-[WebHTMLView viewDidMoveToWindow]): Don't do work if the view is closed.
8028 2007-12-07  Darin Adler  <darin@apple.com>
8030         Reviewed by Mitz.
8032         - http://bugs.webkit.org/show_bug.cgi?id=15981
8033           speed up visited-link code a bit
8035         * History/WebHistory.mm: Removed unused Latin-1 code path.
8036         (-[_WebCoreHistoryProvider containsURL:length:]): Updated for method name change.
8038 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
8040         Reviewed by Sam Weinig.
8041         
8042         Added a forwarding header, since we now #include nodes.h through some
8043         JavaScriptCore headers.
8045         * ForwardingHeaders/wtf/ListRefPtr.h: Added.
8047 2007-12-06  Brady Eidson  <beidson@apple.com>
8049         Reviewed by Oliver's rubber stamp
8051         Let's go ahead and call the correct UI Delegate method, shall we?
8053         * WebCoreSupport/WebChromeClient.mm:
8054         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Call the correct UI delegate
8056 2007-12-06  Adam Roben  <aroben@apple.com>
8058         Remove some assertions we know can fire and replace them with a FIXME
8060         Reviewed by Anders.
8062         * WebCoreSupport/WebFrameLoaderClient.mm:
8064 2007-12-06  Timothy Hatcher  <timothy@apple.com>
8066         Change the ASSERT added for the previous fix. The ASSERT was firing for 10.5.0.
8067         Only assert if the major version is zero, since zero is handled in the other cases.
8069         * WebView/WebView.mm:
8070         (callGestalt): Remove the ASSERT.
8071         (createMacOSXVersionString): ASSERT that major is not zero.
8073 2007-12-06  Darin Adler  <darin@apple.com>
8075         Reviewed by Tim Hatcher.
8077         - fix <rdar://problem/5513394> No way to detect Tiger vs Leopard from Safari's user agent string
8079         * WebView/WebView.mm:
8080         (callGestalt): Added.
8081         (createMacOSXVersionString): Added.
8082         (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Added Mac OS X version string,
8083         right after the string "Mac OS X", but with underscores instead of dots to avoid the dreaded
8084         "4." problem (old libraries that think a "4." anywhere in the user agent means Netscape 4).
8085         (-[WebView _userAgentForURL:]): Fixed incorrect bug numbers.
8087 2007-12-04  Geoffrey Garen  <ggaren@apple.com>
8089         Reviewed by Darin Adler.
8091         Third step in refactoring JSGlobalObject: Moved data members and data
8092         member access from Interpreter to JSGlobalObject.
8093         
8094         * WebView/WebFrame.mm:
8095         (-[WebFrame _attachScriptDebugger]):
8097 2007-12-04  Kevin McCullough  <kmccullough@apple.com>
8099         Reviewed by Darin Adler.
8101         - <rdar://5621435>
8102         - Security Fix. Instead of having it off by default, WebKit now must
8103         explicitly turn off local-resource restriction when needed for backwards
8104         coimpatibility reasons.
8106         * WebView/WebView.mm:
8107         (-[WebView _commonInitializationWithFrameName:groupName:]):
8109 2007-12-05  Brady Eidson  <beidson@apple.com>
8111         Reviewed by Kevin Deckers rubberstamp
8113         Disclose and export the Databases Directory defaults key
8115         * Storage/WebDatabaseManager.mm:
8116         * Storage/WebDatabaseManagerPrivate.h:
8117         * WebKit.exp:
8119 2007-12-04  Kevin Decker  <kdecker@apple.com>
8121         Reviewed by Anders.
8123         <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
8125         * WebCoreSupport/WebViewFactory.mm:
8126         (-[WebViewFactory pluginNameForMIMEType:]): Added.
8128 2007-12-04  Brady Eidson  <beidson@apple.com>
8130         Reviewed by Mark Rowe
8132         Tweaked the way we typedef and cast these objc_msgSend calls
8134         * WebView/WebView.mm:
8135         (CallDelegateReturningUnsignedLongLong):
8137 2007-12-04  John Sullivan  <sullivan@apple.com>
8139         Reviewed by Brady Eidson (with help from Mark Rowe)
8140         
8141         Fixed return values for unsigned-long-long delegate methods
8143         * WebView/WebView.mm:
8144         (CallDelegateReturningUnsignedLongLong):
8145         redid the change that Brady did at home over the weekend but forgot to check in
8147 2007-11-27  Adam Roben  <aroben@apple.com>
8149         Remove -[WebFrameBridge setNeedsReapplyStyles]
8151         This functionality is now WebCore's responsibility.
8153         Reviewed by Hyatt.
8155         * WebCoreSupport/WebFrameBridge.mm:
8156         * WebKit.order:
8158 2007-12-04  John Sullivan  <sullivan@apple.com>
8160         Reviewed by Darin
8161         
8162         Added deleteOrigin: SPI, which isn't fully implemented
8164         * Storage/WebDatabaseManagerPrivate.h:
8165         * Storage/WebDatabaseManager.mm:
8166         (-[WebDatabaseManager deleteOrigin:]):
8167         just calls deleteDatabasesWithOrigin: for now, but needs to delete origin itself too
8169 2007-12-04  Timothy Hatcher  <timothy@apple.com>
8171         Reviewed by Mark Rowe.
8173         Remove a check for early versions of Leopard CFNetwork now that
8174         Leopard has shipped.
8176         * Misc/WebKitVersionChecks.h: Remove WEBKIT_FIRST_CFNETWORK_VERSION_WITH_LARGE_DISK_CACHE_FIX.
8177         * WebView/WebView.mm:
8178         (+[WebView _setCacheModel:]): Remove the early Leopard CFNetwork check.
8180 2007-12-04  Kevin Decker  <kdecker@apple.com>
8182         Reviewed by Darin Adler.
8184         Revised fix for: <rdar://problem/5586978> REGRESSION (Safari 2-3): WebKit sometimes doesn't invoke Flash's NPP_SetWindow function and causes a hang
8186         This fix is exactly the same as chageset 28359 with the exception of an added early return in
8187         updateAndSetWindow to cover the additional case of when a plug-in isn't drawable.
8188         
8189         The CG-based Flash player would sometimes hang because (for CoreGraphics-based plug-ins) our code would
8190         only call into the NPP_SetWindow() function when we tell the plug-in to draw. This created havoc with 
8191         Flash because Flash expects the browser to call NPP_SetWindow() and provide a valid graphics context 
8192         regardless of whether or not it actually needs to draw. 
8193         
8194         * Plugins/WebBaseNetscapePluginView.mm:
8195         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed an incorrect comment and toned
8196         down an ASSERT that was too strict. 
8197         (-[WebBaseNetscapePluginView updateAndSetWindow]): Removed an early return for CoreGraphics-based plug-ins
8198         which would sometimes altogether prevent updating the PortState and calling into a plug-ins NPP_SetWindow()
8199         function. Also tweaked a comment and added an early return if the plug-in can't draw.
8201 2007-12-04  Darin Adler  <darin@apple.com>
8203         Reviewed by Kevin Decker.
8205         * WebCoreSupport/WebFrameLoaderClient.h: Removed obsolete privateBrowsingEnabled.
8206         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
8207         * WebKit.order: Ditto.
8209 2007-12-03  Dan Bernstein  <mitz@apple.com>
8211         Reviewed by Dave Hyatt.
8213         - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
8215         * WebView/WebHTMLView.mm:
8216         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Removed the code
8217         that checked if the view had resized and sent the resize event, since
8218         FrameView sends resize events now.
8219         * WebView/WebHTMLViewInternal.h:
8221 2007-12-03  Timothy Hatcher  <timothy@apple.com>
8223         Reviewed by Darin Adler.
8225         Change WebViewGetResourceLoadDelegateImplementations and WebViewGetFrameLoadDelegateImplementations
8226         to return a pointer to the implementation struct instead of a copy of the struct. This changes
8227         all of the callers to dereference the pointer to access the struct fields.
8229         * Plugins/WebNullPluginView.mm:
8230         (-[WebNullPluginView reportFailure]):
8231         * WebCoreSupport/WebFrameBridge.mm:
8232         * WebCoreSupport/WebFrameLoaderClient.mm:
8233         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
8234         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
8235         (WebFrameLoaderClient::dispatchWillSendRequest):
8236         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
8237         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
8238         (WebFrameLoaderClient::dispatchDidReceiveResponse):
8239         (WebFrameLoaderClient::willCacheResponse):
8240         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
8241         (WebFrameLoaderClient::dispatchDidFinishLoading):
8242         (WebFrameLoaderClient::dispatchDidFailLoading):
8243         (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
8244         (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
8245         (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
8246         (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
8247         (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
8248         (WebFrameLoaderClient::dispatchWillClose):
8249         (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
8250         (WebFrameLoaderClient::dispatchDidReceiveTitle):
8251         (WebFrameLoaderClient::dispatchDidCommitLoad):
8252         (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
8253         (WebFrameLoaderClient::dispatchDidFailLoad):
8254         (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
8255         (WebFrameLoaderClient::dispatchDidFinishLoad):
8256         (WebFrameLoaderClient::dispatchDidFirstLayout):
8257         * WebView/WebView.mm:
8258         (WebViewGetResourceLoadDelegateImplementations):
8259         (WebViewGetFrameLoadDelegateImplementations):
8260         (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
8261         * WebView/WebViewInternal.h:
8263 2007-12-03  Timothy Hatcher  <timothy@apple.com>
8265         Reviewed by Brady Eidson.
8267         <rdar://problem/5539913> 188 crashes in WebViewGetFrameLoadDelegateImplementations
8268         <rdar://problem/5586095> CrashTracer: [USER] 5000+ crashes in Safari and Dashboard in dispatchDidFailLoading
8269         <rdar://problem/5607081> CrashTracer: [USER] 2150 crashes in Safari at com.apple.WebKit:
8270         WebViewGetResourceLoadDelegateImplementations + 28
8272         * WebView/WebView.mm:
8273         (-[WebView _cacheResourceLoadDelegateImplementations]): If the delegate is nil, bzero the
8274         implementation cache. This just prevents us from calling getMethod() multiple times just to zero.
8275         (-[WebView _cacheFrameLoadDelegateImplementations]): Ditto.
8276         (WebViewGetResourceLoadDelegateImplementations): Return a zeroed implementations struct
8277         if the WebView is nil. This fixes the crashes.
8278         (WebViewGetFrameLoadDelegateImplementations): Ditto.
8280 2007-12-02  Geoffrey Garen  <ggaren@apple.com>
8282         Reviewed by Eric Seidel.
8284         Updated to match the JavaScriptCore change to move virtual methods from
8285         Interpreter to JSGlobalObject.
8287         * WebView/WebFrame.mm:
8288         (-[WebFrame globalContext]): Use the toRef function instead of manually
8289         casting.
8291 2007-12-01  Brady Eidson  <beidson@apple.com>
8293         Reviewed by Tim
8295         Added a default database quota of 5mb to the default WebPreferences
8297         * WebView/WebPreferences.m:
8298         (+[WebPreferences initialize]):
8300 2007-11-30  John Sullivan  <sullivan@apple.com>
8302         Reviewed by Geoff Garen
8303         
8304         Added another symbol for WebDatabaseManager clients
8306         * WebKit.exp:
8307         added .objc_class_name_WebSecurityOrigin
8309 2007-11-30  Brady Eidson  <beidson@apple.com>
8311         Reviewed by Geoff
8313         Add isEqual operator to WebSecurityOrigin
8315         * Storage/WebSecurityOrigin.mm:
8316         (-[WebSecurityOrigin isEqual:]):
8318 2007-11-30  John Sullivan  <sullivan@apple.com>
8320         Reviewed by Darin
8321         
8322         Tweaks to newly-declared NSString * constants to make them usable from clients
8324         * Storage/WebDatabaseManagerPrivate.h:
8325         * Storage/WebDatabaseManager.mm:
8326         removed "const" from new NSNotification names and userInfo keys; these generate compiler warnings when used
8327         
8328         * WebKit.exp:
8329         export new NSNotification names and userInfo keys so clients can use them
8331 2007-11-29  Anders Carlsson  <andersca@apple.com>
8333         Reviewed by John.
8335         Rename WebKitShrinksStandaloneImagesToFitKey to WebKitShrinksStandaloneImagesToFit.
8336         
8337         This is safe to do because the preference is off by default and Safari 3, which is the only client that turns it on,
8338         is using the setter and not messing around with NSUserDefaults.
8339         
8340         * WebView/WebPreferenceKeysPrivate.h:
8341         * WebView/WebPreferences.m:
8342         (+[WebPreferences initialize]):
8343         (-[WebPreferences shrinksStandaloneImagesToFit]):
8344         (-[WebPreferences setShrinksStandaloneImagesToFit:]):
8346 2007-11-29  Brady Eidson  <beidson@apple.com>
8348         Reviewed by Anders
8350         Support for <rdar://problem/5556381> and <rdar://problem/5556379>
8352         Hook up UI Delegate calls for the database engine feature and other small tweaks
8354         * Storage/WebDatabaseManager.mm:
8355         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
8356         (-[WebDatabaseManager deleteDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
8357         * Storage/WebDatabaseManagerPrivate.h:
8359         * Storage/WebDatabaseTrackerClient.h:
8360         * Storage/WebDatabaseTrackerClient.mm:
8361         (WebDatabaseTrackerClient::dispatchDidModifyDatabase): Renamed databaseName parameter to databaseIdentifier for clarity
8363         * WebCoreSupport/WebChromeClient.h:
8364         * WebCoreSupport/WebChromeClient.mm:
8365         (WebChromeClient::requestQuotaIncreaseForNewDatabase): Call through to the UI Delegate
8366         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Ditto
8368         * WebView/WebUIDelegatePrivate.h: Added the two UI Delegate methods
8370         * WebView/WebView.mm:
8371         (CallDelegateReturningUnsignedLongLong):
8372         (CallUIDelegateReturningUnsignedLongLong):
8373         * WebView/WebViewInternal.h:
8375 2007-11-28  Kevin McCullough  <kmccullough@apple.com>
8377         Reviewed by Sam.
8379         - Added recursive runloop guards.
8381         * DefaultDelegates/WebScriptDebugServer.m:
8382         (-[WebScriptDebugServer suspendProcessIfPaused]):
8384 2007-11-29  Mark Rowe  <mrowe@apple.com>
8386         Reviewed by Oliver Hunt.
8388         Fix an assertion failure seen on the layout tests, and when closing the window after
8389         visiting <http://www.coudal.com/losalamos/>.
8391         * Plugins/WebBaseNetscapePluginStream.mm:
8392         (-[WebBaseNetscapePluginStream _destroyStream]): Unlink the file and close the file
8393         descriptor even when the stream is being destroyed without the load completing. This
8394         avoids leaking the path and file descriptor, and leaving the temporary file on disk.
8396 2007-11-28  Adele Peterson  <adele@apple.com>
8398         Reviewed by Darin Adler.
8400         Fix for <rdar://problem/5524216> CrashTracer: [USER] 496 crashes in Safari at com.apple.WebCore: WebCore::Frame::eventHandler const + 6
8402         The CrashTracer shows a variety of crashes in different methods (including keyDown and keyUp). This change adds nil checks for the frame in 
8403         WebHTMLView to prevent future problems in other methods as well.
8405         * WebView/WebHTMLView.mm:
8406         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
8407         (-[WebHTMLView keyDown:]):
8408         (-[WebHTMLView keyUp:]):
8409         (-[WebHTMLView flagsChanged:]):
8410         (-[WebHTMLView _selectionStartFontAttributesAsRTF]):
8411         (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
8412         (-[WebHTMLView checkSpelling:]):
8413         (-[WebHTMLView showGuessPanel:]):
8414         (-[WebHTMLView indent:]):
8415         (-[WebHTMLView outdent:]):
8416         (-[WebHTMLView paste:]):
8417         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
8418         (-[WebHTMLView insertText:]):
8419         (-[WebHTMLView selectionTextRects]):
8421 2007-11-28  Dan Bernstein  <mitz@apple.com>
8423         Reviewed by Maciej Stachowiak.
8425         - fix <rdar://problem/5596160> fast/events/objc-event-api.html fails when run alone (or first)
8427         * WebView/WebHTMLView.mm:
8428         (-[WebHTMLView setDataSource:]): This method calls addMouseMovedObserver
8429         because addMouseMovedObserver returns early if the dataSource
8430         is not nil. But if the dataSource is already set (which happens when
8431         a WebHTMLView is being reused) then addMouseMovedObserver must not
8432         be called again.
8434 2007-11-27  Anders Carlsson  <andersca@apple.com>
8436         Reviewed by Brady.
8438         * Storage/WebDatabaseManager.mm:
8439         * Storage/WebDatabaseManagerPrivate.h:
8440         * Storage/WebDatabaseTrackerClient.mm:
8441         (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
8442         (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
8443         * Storage/WebSecurityOrigin.mm:
8444         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
8445         * Storage/WebSecurityOriginInternal.h:
8447 2007-11-27  Kevin Decker  <kdecker@apple.com>
8449         Reviewed by Darin, landed by Anders.
8451         Fixed: <rdar://problem/4610818> CrashTracer: 1533 crashes in Safari at com.macromedia.Flash Player.plugin: native_ShockwaveFlash_TCallLabel + 271131
8453         The problem was that some Leopard users were still inadvertently using the old Flash 8 plug-in, even though Leopard
8454         shipped with Flash 9. To avoid loading an older version of a plug-in when a newer version is installed, the plug-in
8455         database will compare bundle versions and always load the latest version.
8457         * Plugins/WebBasePluginPackage.h:
8458         * Plugins/WebBasePluginPackage.m:
8459         (-[WebBasePluginPackage versionNumber]): New method. CFBundleGetVersionNumber doesn't work with all possible versioning schemes,
8460         but we think for now it's good enough for us.
8461         * Plugins/WebPluginDatabase.m:
8462         (considerCandidate): Added a C utility function which compares the current plug-in against a candidate plug-in's version number.
8463         If both plug-ins have the same bundle ID and the candiate is newer, the current plug-in becomes the candidate.
8464         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): Calls the new considerCandidate() function.
8466 2007-11-26  Timothy Hatcher  <timothy@apple.com>
8468         Reviewed by Dave Hyatt.
8470         <rdar://problem/5569233> Add the ability to disable author and user CSS styles
8472         * WebView/WebPreferenceKeysPrivate.h: Define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey.
8473         * WebView/WebPreferences.m:
8474         (+[WebPreferences initialize]): Default WebKitRespectStandardStyleKeyEquivalentsPreferenceKey to YES.
8475         (-[WebPreferences authorAndUserStylesEnabled]): Return the setting's BOOL value.
8476         (-[WebPreferences setAuthorAndUserStylesEnabled:]): Set the setting's BOOL value.
8477         * WebView/WebPreferencesPrivate.h: Add authorAndUserStylesEnabled and setAuthorAndUserStylesEnabled:.
8478         * WebView/WebView.mm:
8479         (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings::authorAndUserStylesEnabled.
8481 2007-11-26  Brady Eidson  <beidson@apple.com>
8483         Reviewed by Mark Rowe
8485         Provide API for setting the default storage quota per database origin
8487         * Misc/WebNSDictionaryExtras.h:
8488         * Misc/WebNSDictionaryExtras.m:
8489         (-[NSMutableDictionary _webkit_setUnsignedLongLong:forKey:]): Helper for UINT64 preferences
8491         * WebView/WebPreferenceKeysPrivate.h:
8492         * WebView/WebPreferences.m:
8493         (-[WebPreferences _unsignedLongLongValueForKey:]): Helper for UINT64 prefs
8494         (-[WebPreferences _setUnsignedLongLongValue:forKey:]): Ditto
8495         (-[WebPreferences defaultDatabaseQuota]):
8496         (-[WebPreferences setDefaultDatabaseQuota:]):
8497         * WebView/WebPreferencesPrivate.h:
8499         * WebView/WebView.mm:
8500         (-[WebView _preferencesChangedNotification:]): Set the WebCore Settings version of the default storage pref
8502 2007-11-26  Darin Adler  <darin@apple.com>
8504         Reviewed by Adele.
8506         - some middle-mouse-button-related fixes
8508         These don't affect Safari since it maps the middle mouse button to the command key,
8509         but that might not always be the case for future versions.
8511         * WebView/WebHTMLView.mm:
8512         (-[WebHTMLView otherMouseDown:]): Pass through middle mouse down events to WebCore.
8513         (-[WebHTMLView otherMouseDragged:]): Ditto, for drag events.
8514         (-[WebHTMLView otherMouseUp:]): Ditto, for up events.
8516         * WebView/WebPolicyDelegate.h: Fixed inaccurate documentation of WebActionButtonKey.
8518 2007-11-26  Anders Carlsson  <andersca@apple.com>
8520         Reviewed by Brady.
8522         Get rid of the WebSecurityOriginPrivate object and store 
8523         the WebCore::SecurityOriginData pointer in the _private field of
8524         the WebSecurityOrigin object instead.
8525         
8526         * Storage/WebDatabaseManager.mm:
8527         (-[WebDatabaseManager databasesWithOrigin:]):
8528         (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
8529         (-[WebDatabaseManager deleteDatabasesWithOrigin:]):
8530         (-[WebDatabaseManager deleteDatabase:withOrigin:]):
8531         * Storage/WebSecurityOrigin.mm:
8532         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
8533         (-[WebSecurityOrigin protocol]):
8534         (-[WebSecurityOrigin domain]):
8535         (-[WebSecurityOrigin port]):
8536         (-[WebSecurityOrigin usage]):
8537         (-[WebSecurityOrigin quota]):
8538         (-[WebSecurityOrigin setQuota:]):
8539         (-[WebSecurityOrigin dealloc]):
8540         (-[WebSecurityOrigin finalize]):
8541         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
8542         (-[WebSecurityOrigin _core]):
8543         * Storage/WebSecurityOriginInternal.h:
8545 2007-11-26  Timothy Hatcher  <timothy@apple.com>
8547         Reviewed by Adam Roben.
8549         Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
8550         http://bugs.webkit.org/show_bug.cgi?id=16137
8552         Create the Web Inspector window with the textured style. Set the content border
8553         thickness for the top of the window or the height of the toolbar. Also make the
8554         window's bottom corners square, since a normal textured window normally has
8555         rounded bottom corners.
8557         * WebCoreSupport/WebInspectorClient.mm:
8558         (-[WebInspectorWindowController window]):
8560 2007-11-24  Mark Rowe  <mrowe@apple.com>
8562         Tiger build fix.
8564         * Plugins/WebBaseNetscapePluginStream.mm:
8565         (CarbonPathFromPOSIXPath): Use WebCFAutorelease as this also works on Tiger.
8567 2007-11-24  Mark Rowe  <mrowe@apple.com>
8569         Reviewed by Tim Hatcher.
8571         Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
8572         http://bugs.webkit.org/show_bug.cgi?id=13705
8574         Have NP_ASFILE and NP_ASFILEONLY streams write the data to disk as they receive it rather than
8575         dumping the data to disk in a single go when the stream has completed loading.  On a test case
8576         involving a 150MB Flash movie being streamed from a local web server this reduces memory consumption
8577         on page load from around 400MB to 22MB.
8579         The only plugin I have found that uses NP_ASFILE or NP_ASFILEONLY on the Mac is our NetscapeMoviePlugin
8580         example code so the NP_ASFILE portion of this change has not had any testing with a real-world plugin.
8582         * Plugins/WebBaseNetscapePluginStream.h:
8583         * Plugins/WebBaseNetscapePluginStream.mm:
8584         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
8585         (-[WebBaseNetscapePluginStream dealloc]):
8586         (-[WebBaseNetscapePluginStream finalize]):
8587         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
8588         (-[WebBaseNetscapePluginStream _destroyStream]): Update to work with paths as NSStrings.
8589         (-[WebBaseNetscapePluginStream _deliverDataToFile:]): Open the file if it is not already open, and write any data
8590         to disk.
8591         (-[WebBaseNetscapePluginStream finishedLoading]): If the stream is NP_ASFILE or NP_ASFILEONLY we need to ensure
8592         that the file exists before _destroyStream passes it to the plugin.  Simulating the arrival of an empty data block
8593         ensure that the file will be created if it has not already.
8594         (-[WebBaseNetscapePluginStream receivedData:]):
8595         (CarbonPathFromPOSIXPath):
8596         * Plugins/WebBaseNetscapePluginView.mm:
8597         (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]): Data is dealt with incrementally so there's no need to pass
8598         it to finishedLoading.
8599         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Ditto.
8601 2007-11-23  Oliver Hunt  <oliver@apple.com>
8603         Reviewed by Mark Rowe.
8604         
8605         Fixed <rdar://problem/3759190> allow input methods the option of processing mouse events themselves
8607         * WebView/WebHTMLView.mm:
8608         (-[WebHTMLView mouseDown:]):
8610 2007-11-22  Dan Bernstein  <mitz@apple.com>
8612         Reviewed by Antti Koivisto.
8614         - http://bugs.webkit.org/show_bug.cgi?id=15811
8615           WebKit plug-ins can re-enter WebKit under attach()
8616           <rdar://problem/5577978>
8618         * Plugins/WebNullPluginView.mm:
8619         (-[WebNullPluginView viewDidMoveToWindow]): Removed workaround for the
8620         above bug that added as part of fixing
8621         <http://bugs.webkit.org/show_bug.cgi?id=15804>.
8623 2007-11-21  Mark Rowe  <mrowe@apple.com>
8625         Reviewed by Eric.
8627         Fix WebKit to build without warnings under GCC 4.2.
8629         * Configurations/Base.xcconfig:
8631 2007-11-21  Mark Rowe  <mrowe@apple.com>
8633         Reviewed by Tim Hatcher.
8635         Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
8637         Update format strings to use format specifiers that match the argument types.
8639         * Misc/WebGraphicsExtras.c:
8640         (WebConvertBGRAToARGB):
8642 2007-11-19  Brady Eidson <beidson@apple.com>
8644         Reviewed by Maciej
8646         Finished hooking up the WebKit API for database management.
8647         Most of the API is actually implemented in WebCore and some of those methods might
8648         only be stubs for now.
8650         * Storage/WebDatabaseManager.mm:
8651         (-[WebDatabaseManager origins]): Call through to the WebCore tracker and construct an API result
8652         (-[WebDatabaseManager databasesWithOrigin:]): Ditto
8653         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Ditto
8655         * Storage/WebSecurityOrigin.mm:
8656         (-[WebSecurityOrigin usage]): Call through to WebCore
8657         (-[WebSecurityOrigin quota]): Ditto
8658         (-[WebSecurityOrigin setQuota:]): Ditto
8659         (-[WebSecurityOrigin _core]): Get WebCore version of this object
8660         * Storage/WebSecurityOriginInternal.h:
8662 2007-11-17  Timothy Hatcher  <timothy@apple.com>
8664         Reviewed by Mark Rowe.
8666         Bug 13470: i18n: The Web Inspector is not localizable
8667         http://bugs.webkit.org/show_bug.cgi?id=13470
8669         Implement the localizedStringsURL() client method to return the
8670         localized URL of InspectorLocalizedStrings.js in WebCore.
8672         * WebCoreSupport/WebInspectorClient.h: Added localizedStringsURL.
8673         * WebCoreSupport/WebInspectorClient.mm:
8674         (WebInspectorClient::localizedStringsURL): Added.
8675         (WebInspectorClient::updateWindowTitle): Localized the window title.
8676         (-[WebInspectorWindowController init]): Remove a FIXME that dosen't make sense anymore.
8677         (-[WebInspectorWindowController initWithInspectedWebView:]): Code style cleanup.
8679 2007-11-17  Alexey Proskuryakov  <ap@webkit.org>
8681         Reviewed by Darin Adler.
8683         http://bugs.webkit.org/show_bug.cgi?id=15969
8684         Eliminate Editor::deleteRange()
8686         * WebView/WebHTMLView.mm:
8687         (+[WebHTMLView initialize]):
8688         (-[WebHTMLView yank:]):
8689         (-[WebHTMLView yankAndSelect:]):
8690         (-[WebHTMLView setMark:]):
8691         (-[WebHTMLView deleteToMark:]):
8692         (-[WebHTMLView selectToMark:]):
8693         (-[WebHTMLView swapWithMark:]):
8694         Pushed all kill ring methods to WebCore. They were guilty of using Editor::deleteRange()!
8696 2007-11-16  Mark Rowe  <mrowe@apple.com>
8698         Reviewed by Tim Hatcher.
8700         Build WebCore as a sub-framework of WebKit in all configurations.
8702         * Configurations/WebKit.xcconfig:
8704 2007-11-16  John Sullivan  <sullivan@apple.com>
8706         Reviewed by Brady
8708         * WebKit.exp:
8709         Exported some new database-related symbols
8711 2007-11-16  Brady Eidson  <beidson@apple.com>
8713         Reviewed by John
8715         Database management API tweaks
8717         Fleshed out "WebSecurityOrigin" to be the API object representing an origin.  This relieves some
8718         burden off WebDatabaseManager and allows usage/quota operations on the SecurityOrigin object itself
8720         Also added a new subdirectory for Storage related API - Why are we afraid to add new directories to
8721         the WebKit tree?
8723         * Misc/WebSecurityOrigin.mm: Removed.
8724         * Misc/WebSecurityOriginInternal.h: Removed.
8725         * Misc/WebSecurityOriginPrivate.h: Removed.
8727         * Storage/WebDatabaseManager.mm: Work in terms of WebSecurityOrigin
8728         * Storage/WebDatabaseManagerPrivate.h:
8730         * Storage/WebSecurityOrigin.mm: Added.
8731         (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
8732         (-[WebSecurityOriginPrivate initWithWebCoreSecurityOrigin:]):
8733         (-[WebSecurityOriginPrivate finalize]):
8734         (-[WebSecurityOriginPrivate dealloc]):
8735         (-[WebSecurityOrigin initWithProtocol:domain:]):
8736         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
8737         (-[WebSecurityOrigin protocol]):
8738         (-[WebSecurityOrigin domain]):
8739         (-[WebSecurityOrigin port]):
8740         (-[WebSecurityOrigin usage]): 
8741         (-[WebSecurityOrigin quota]):
8742         (-[WebSecurityOrigin setQuota:]): Clients will set quotas on the WebSecurityOrigin object itself
8743         (-[WebSecurityOrigin dealloc]):
8744         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
8745         * Storage/WebSecurityOriginInternal.h: Added.
8746         * Storage/WebSecurityOriginPrivate.h: Added.
8748 2007-11-15  Brady Eidson  <beidson@apple.com>
8750         Reviewed by John
8752         Stubbing out everything required for a WebKit API for databases
8754         These interfaces seem to provide everything we need for UI and management at the browser level
8756         * Misc/WebDatabaseManager.h: Removed.
8757         * Misc/WebDatabaseManager.mm: Removed.
8758         * Misc/WebDatabaseManagerPrivate.h: Removed.
8760         * Misc/WebSecurityOrigin.mm: Added. Object that acts as a container for the "SecurityOrigin tuple"
8761           (protocol, domain, and port)
8762         (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
8763         (-[WebSecurityOriginPrivate dealloc]):
8764         (-[WebSecurityOrigin initWithProtocol:domain:]):
8765         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
8766         (-[WebSecurityOrigin protocol]):
8767         (-[WebSecurityOrigin domain]):
8768         (-[WebSecurityOrigin port]):
8769         (-[WebSecurityOrigin dealloc]):
8770         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:WebCore::]):
8771         * Misc/WebSecurityOriginInternal.h: Added.
8772         * Misc/WebSecurityOriginPrivate.h: Added.
8774         * Storage/WebDatabaseManager.mm: Added.
8775         (+[WebDatabaseManager sharedWebDatabaseManager]):
8776         (-[WebDatabaseManager origins]):  Get a list of all origins currently tracked
8777         (-[WebDatabaseManager detailsForOrigin:]): Get the current usage and current quota for the given origin
8778         (-[WebDatabaseManager databasesWithOrigin:]): Get all databases for a certain origin
8779         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Get all details about a specific database
8780         (-[WebDatabaseManager setQuota:forOrigin:]): Change origin-wide quota
8781         (-[WebDatabaseManager deleteAllDatabases]):
8782         (-[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
8783         (-[WebDatabaseManager deleteDatabase:withOrigin:]):
8784         * Storage/WebDatabaseManagerPrivate.h: Added.
8785         * Storage/WebDatabaseManagerInternal.h: Added.
8786         (WebKitInitializeDatabasesIfNecessary): One-time initialization of database-related things
8788         * Storage/WebDatabaseTrackerClient.h: Added. Stubbed out client for notifications
8789         * Storage/WebDatabaseTrackerClient.mm: Added.
8790         (WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient):
8791         (WebDatabaseTrackerClient::WebDatabaseTrackerClient):
8792         (WebDatabaseTrackerClient::~WebDatabaseTrackerClient):
8793         (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
8794         (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
8796         * WebView/WebView.mm:
8797         (-[WebView _commonInitializationWithFrameName:groupName:]): Do one-time initialization of
8798           Database-related things here
8800 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
8802         Reviewed by Anders Carlsson.
8803         
8804         Renamed Shared to RefCounted.
8806         * ForwardingHeaders/wtf/RefCounted.h: Copied from WebKit/mac/ForwardingHeaders/wtf/Shared.h.
8807         * ForwardingHeaders/wtf/Shared.h: Removed.
8808         * WebCoreSupport/WebContextMenuClient.h:
8810 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
8812         Reviewed by Sam Weinig.
8814         Moved Shared.h into wtf so it could be used in more places.
8816         * ChangeLog:
8817         * WebCoreSupport/WebContextMenuClient.h:
8819 2007-11-13  John Sullivan  <sullivan@apple.com>
8821         Reviewed by Darin Adler.
8823         removed recently-added PreferredType concept; we found a better way to do what
8824         ths was accomplishing
8826         * WebCoreSupport/WebChromeClient.mm:
8827         (WebChromeClient::createWindow):
8828         removed use of PreferredType
8830 2007-11-13  John Sullivan  <sullivan@apple.com>
8832         Reviewed by Dan Bernstein.
8833         
8834         - fixed <rdar://problem/5567954> REGRESSION (Safari 2-3): Autofill no longer automatically fills in 
8835         form fields other than the one you're typing into
8837         * WebCoreSupport/WebEditorClient.mm:
8838         (selectorForKeyEvent):
8839         correct the key identifier strings for Tab and Esc; these were updated in WebCore as part of r21445
8840         but didn't get updated here.
8842 2007-11-12  Josh Aas  <joshmoz@gmail.com>
8844         Reviewed by Darin Adler.
8846         - http://bugs.webkit.org/show_bug.cgi?id=15946
8847           add NPPValue NPPVpluginDrawingModel (Mozilla bug 403418 compat)
8849         * Plugins/WebBaseNetscapePluginView.mm:
8850         (-[WebBaseNetscapePluginView setVariable:value:]):
8852 2007-11-12  Alexey Proskuryakov  <ap@webkit.org>
8854         Reviewed by Darin Adler.
8856         http://bugs.webkit.org/show_bug.cgi?id=15954
8857         Move DOM Selection operations out of SelectionController
8859         * WebView/WebHTMLView.mm:
8860         (-[WebHTMLView _expandSelectionToGranularity:]):
8861         (-[WebHTMLView selectToMark:]):
8862         (-[WebHTMLView swapWithMark:]):
8863         * WebView/WebView.mm:
8864         (-[WebView setSelectedDOMRange:affinity:]):
8865         Adapted for SelectionController::setSelectedRange() now returning a bool.
8867 2007-11-12  Oliver Hunt  <oliver@apple.com>
8869         Reviewed by Darin and Geoff.
8871         <rdar://problem/5522011> The content of the password field of 
8872         Safari is displayed by reconversion.
8874         Some input methods (notably Kotoeri) can incorrectly provide 
8875         access to the raw text of a password field.  To work around 
8876         this we forcefully override the inputContext whenever a password
8877         field is active.
8879         * WebView/WebHTMLView.mm:
8880         (-[WebHTMLView inputContext]):
8882 2007-11-12  John Sullivan  <sullivan@apple.com>
8884         Reviewed by Tim Hatcher
8885         
8886         - speculative fix for <rdar://problem/5509989> CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit: 
8887         -[WebPDFView(FileInternal) _updatePreferencesSoon] + 56
8888         
8889         The crash is probably due to messaging a dealloc'ed dataSource ivar. The dataSource ivar isn't retained
8890         by this class, but should be. (It is retained by WebHTMLView, e.g.).
8892         * WebView/WebPDFView.mm:
8893         (-[WebPDFView dealloc]):
8894         release dataSource ivar
8895         (-[WebPDFView setDataSource:]):
8896         retain dataSource ivar
8898 2007-11-09  Tristan O'Tierney  <tristan@apple.com>
8900         Reviewed by Timothy Hatcher.
8901         
8902         This patch is for the WebKit side of <rdar://problem/5591115>.
8903         We need a way to tell context menu navigations, such as "Open in New Window"
8904         to override any sort of browser preference for tab based navigation.
8906         * WebCoreSupport/WebChromeClient.mm:
8907         (WebChromeClient::createWindow):
8908         Pass up the new preferredType parameter as a string.
8909         
8910 2007-11-09  Timothy Hatcher  <timothy@apple.com>
8912         Reviewed by John.
8914         <rdar://problem/5103720> REGRESSION: [WebView stringByEvaluatingJavaScriptFromString:] fails if "return" is used
8916         Extend the linked on or after check to every application when a script passed to
8917         stringByEvaluatingJavaScriptFromString: has a return statement. Before the check
8918         was limited to VitalSource Bookshelf, but other developers are running into this.
8920         * Misc/WebKitVersionChecks.h: Add the WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK define.
8921         * WebView/WebDocumentLoaderMac.mm:
8922         (needsDataLoadWorkaround): Use WEBKIT_FIRST_VERSION_WITHOUT_ADOBE_INSTALLER_QUIRK sicne the
8923           WebKitLinkedOnOrAfter check here was about the Adobe installer, not VitalSource.
8924         * WebView/WebView.mm:
8925         (-[WebView stringByEvaluatingJavaScriptFromString:]): Remove the bundle ID check and use
8926           WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK for the WebKitLinkedOnOrAfter call.
8928 2007-11-08  Kevin McCullough  <kmccullough@apple.com>
8930         Build Fix.
8932         * WebCoreSupport/WebFrameLoaderClient.h:
8933         * WebCoreSupport/WebFrameLoaderClient.mm:
8934         (WebFrameLoaderClient::windowObjectCleared):
8936 2007-11-07  Darin Adler  <darin@apple.com>
8938         Reviewed by Steve.
8940         - removed some unused WebCore bridge methods
8942         * WebCoreSupport/WebFrameBridge.mm: Removed issueTransposeCommand and overrideMediaType.
8944         * WebCoreSupport/WebFrameLoaderClient.mm:
8945         (WebFrameLoaderClient::overrideMediaType): Changed to call WebView directly instead of
8946         using the bridge object.
8948 2007-11-06  Mark Rowe  <mrowe@apple.com>
8950         Rubber-stamped by Dave Kilzer.
8952         Move Mac files from WebKit into WebKit/mac.
8954         * Carbon: Copied from WebKit/Carbon.
8955         * ChangeLog: Copied from WebKit/ChangeLog.
8956         * ChangeLog-2002-12-03: Copied from WebKit/ChangeLog-2002-12-03.
8957         * ChangeLog-2006-02-09: Copied from WebKit/ChangeLog-2006-02-09.
8958         * ChangeLog-2007-10-14: Copied from WebKit/ChangeLog-2007-10-14.
8959         * Configurations: Copied from WebKit/Configurations.
8960         * DOM: Copied from WebKit/DOM.
8961         * DefaultDelegates: Copied from WebKit/DefaultDelegates.
8962         * ForwardingHeaders: Copied from WebKit/ForwardingHeaders.
8963         * History: Copied from WebKit/History.
8964         * Info.plist: Copied from WebKit/Info.plist.
8965         * MigrateHeaders.make: Copied from WebKit/MigrateHeaders.make.
8966         * Misc: Copied from WebKit/Misc.
8967         * Panels: Copied from WebKit/Panels.
8968         * Plugins: Copied from WebKit/Plugins.
8969         * PublicHeaderChangesFromTiger.txt: Copied from WebKit/PublicHeaderChangesFromTiger.txt.
8970         * Resources: Copied from WebKit/Resources.
8971         * WebCoreSupport: Copied from WebKit/WebCoreSupport.
8972         * WebInspector: Copied from WebKit/WebInspector.
8973         * WebKit.exp: Copied from WebKit/WebKit.exp.
8974         * WebKit.order: Copied from WebKit/WebKit.order.
8975         * WebKitPrefix.h: Copied from WebKit/WebKitPrefix.h.
8976         * WebView: Copied from WebKit/WebView.
8977         * icu: Copied from WebKit/icu.
8979 2007-11-06  Alexey Proskuryakov  <ap@webkit.org>
8981         Reviewed by Darin Adler.
8983         http://bugs.webkit.org/show_bug.cgi?id=15847
8984         Some editing cleanup
8986         No change in functionality.
8988         * WebView/WebHTMLView.mm:
8989         (-[WebHTMLView deleteToEndOfLine:]):
8990         (-[WebHTMLView deleteToEndOfParagraph:]):
8991         WebCore had a duplicate of the same logic already. We are passing a boundary value to
8992         a function that expects granularity, this may need to be straightened out in the future.
8994 2007-11-05  John Sullivan  <sullivan@apple.com>
8996         * WebView/WebView.mm:
8997         (-[WebView _searchWithSpotlightFromMenu:]):
8999         Teeny style tweak to test svn access on other machine
9001 2007-11-05  John Sullivan  <sullivan@apple.com>
9003         * WebView/WebView.mm:
9004         (-[WebView computedStyleForElement:pseudoElement:]):
9005         
9006         Teeny style tweak to test svn access
9008 2007-11-02  Tristan O'Tierney  <tristan@apple.com>
9010         Reviewed by Darin Adler.
9012         * DefaultDelegates/WebDefaultUIDelegate.m:
9013         (-[WebDefaultUIDelegate webView:createWebViewWithRequest:windowFeatures:]):
9014         Forward the UI delegate to call webView:createWebViewWithRequest: if
9015         this method doesn't exist.
9016         
9017         * WebCoreSupport/WebFrameLoaderClient.mm:
9018         (WebFrameLoaderClient::dispatchCreatePage):
9019         * Plugins/WebBaseNetscapePluginView.mm:
9020         (-[WebBaseNetscapePluginView loadPluginRequest:]):
9021         * WebView/WebView.mm:
9022         (-[WebView _openNewWindowWithRequest:]):
9023         Revised to use new webView:createWebViewWithRequest:windowFeatures: callback.
9024         
9025         * WebCoreSupport/WebChromeClient.h:
9026         * WebCoreSupport/WebChromeClient.mm:
9027         (WebChromeClient::createWindow):
9028         Added a new createWindow that accepts 3 parameters, so we can pass up windowFeatures to the chrome.
9029         Removed createModalDialog to use new createWindow function.
9030         
9031         * WebView/WebUIDelegatePrivate.h:
9032         Added new webView:createWebViewWithRequest:windowFeatures: method.
9034 2007-11-05  Geoffrey Garen  <ggaren@apple.com>
9036         Reviewed by Darin Adler.
9037         
9038         http://bugs.webkit.org/show_bug.cgi?id=15835
9040         Small adaptations to new KJS::List class.
9042         * ForwardingHeaders/kjs/value.h: Added.
9044 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
9046         Sort files(...); sections of Xcode project files.
9048         Rubber-stamped by Darin Adler.
9050         * WebKit.xcodeproj/project.pbxproj:
9052 2007-11-02  Antti Koivisto  <antti@apple.com>
9054         Reviewed by Darin Adler.
9055         
9056         Add method to enable video composition.
9058         * WebCoreSupport/WebSystemInterface.m:
9059         (InitWebCoreSystemInterface):
9061 2007-11-02  Darin Adler  <darin@apple.com>
9063         Reviewed by Mitz.
9065         - fix problem I ran into while doing some testing on Mac for
9066           <rdar://problem/5530185> WebKit does not show <object>
9067           fallback content when both URL and MIME type is omitted
9069         I don't know how to reproduce this failure in DumpRenderTree, so there is no
9070         regression test.
9072         * Plugins/WebNullPluginView.h: Removed some unneeded declarations, including
9073         the didSendError local variable. Instead we just set the error to nil once
9074         we've sent it.
9075         * Plugins/WebNullPluginView.mm:
9076         (-[WebNullPluginView initWithFrame:error:DOMElement:]): Refactored so that
9077         the null plug-in image code is separate from the rest of the function and
9078         so that the whole thing is not inside an if statement. Also don't hold a
9079         reference to the DOM element if there is no error to report.
9080         (-[WebNullPluginView reportFailure]): Added. Does the actual delegate
9081         callback. Happens back at the top level of the run loop so it doesn't
9082         fire deep inside layout. Also wrote this so that it is guaranteed not to
9083         reenter and so that it can handle the case where the delegate destroys
9084         the world (including this object). NOTE: This is not a real, general
9085         solution to the problem of plug-ins that do work inside layout. We will need
9086         a more general fix that works for other plug-ins, and we'll track that with
9087         a separate bug report.
9088         (-[WebNullPluginView viewDidMoveToWindow]): Removed most of the code;
9089         changed so it just does a performSelector:afterDelay:0.
9091 2007-11-02  Mark Rowe  <mrowe@apple.com>
9093         Reviewed by Darin Adler.
9095         Fix http://bugs.webkit.org/show_bug.cgi?id=15780
9096         Bug 15780: WebFrameLoaderClient: WebActionElementKey wrong if view is scrolled
9098         * WebCoreSupport/WebFrameLoaderClient.mm:
9099         (WebFrameLoaderClient::actionDictionary): Retrieve the mouse event coordinates
9100         in the page coordinate system rather than the client area coordinate system.
9102 2007-11-01  Dan Bernstein  <mitz@apple.com>
9104         Reviewed by Oliver Hunt.
9106         - fix an assertion failure when Command-Tabbing out of Safari
9108         * WebView/WebHTMLView.mm:
9109         (-[WebHTMLView flagsChanged:]): Avoid passing key code 0 down to
9110         WebCore.
9112 2007-11-01  Justin Garcia  <justin.garcia@apple.com>
9114         Reviewed by Oliver Hunt.
9115         
9116         <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
9117         
9118         No need to match style when pasting plain text, since the fragment we build for plain text
9119         won't have any style information on it.
9121         * WebView/WebHTMLView.mm:
9122         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]): There's no
9123         longer a need to know whether this function chosePlaintext.
9124         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
9125         (-[WebHTMLView _documentFragmentFromPasteboard:]):
9127 2007-10-31  Timothy Hatcher  <timothy@apple.com>
9129         Reviewed by John Sullivan.
9131         Move the developer extras preference to WebPreferences.
9133         * WebView/WebPreferenceKeysPrivate.h: Add WebKitDeveloperExtrasEnabledPreferenceKey
9134         * WebView/WebPreferences.m:
9135         (+[WebPreferences initialize]): Initialize WebKitDeveloperExtrasEnabledPreferenceKey to NO.
9136         (-[WebPreferences developerExtrasEnabled]): Check DisableWebKitDeveloperExtras, WebKitDeveloperExtras
9137           and IncludeDebugMenu in addition to WebKitDeveloperExtrasEnabledPreferenceKey.
9138         (-[WebPreferences setDeveloperExtrasEnabled:]): Set WebKitDeveloperExtrasEnabledPreferenceKey.
9139         * WebView/WebPreferencesPrivate.h: Add developerExtrasEnabled and setDeveloperExtrasEnabled:.
9140         * WebView/WebView.mm:
9141         (+[WebView _developerExtrasEnabled]): Removed.
9142         (-[WebView _preferencesChangedNotification:]): Check the WebPreferences object for developerExtrasEnabled.
9143         * WebView/WebViewPrivate.h: Removed _developerExtrasEnabled.
9145 2007-10-30  David D. Kilzer  <ddkilzer@webkit.org>
9147         Generated files missing from WebCore's Xcode project file
9148         <http://bugs.webkit.org/show_bug.cgi?id=15406>
9150         Reviewed by Darin Adler.
9152         Added the following private header files to MigrateHeaders.make:
9154         - DOMCSSStyleSheetPrivate.h
9155         - DOMEventPrivate.h
9156         - DOMHTMLCollectionPrivate.h
9157         - DOMHTMLEmbedElementPrivate.h
9158         - DOMHTMLIFrameElementPrivate.h
9159         - DOMHTMLObjectElementPrivate.h
9160         - DOMHTMLSelectElementPrivate.h
9162         * MigrateHeaders.make:
9164 2007-10-29  Antti Koivisto  <antti@apple.com>
9166         Reviewed by Maciej.
9167         
9168         Some SPIs for media support.
9170         * WebCoreSupport/WebSystemInterface.m:
9171         (InitWebCoreSystemInterface):
9173 2007-10-29  Timothy Hatcher  <timothy@apple.com>
9175         Reviewed by John Sullivan.
9177         Various semi-related changes:
9178         - A WebView can now be asked for it's WebInspector. There is one
9179           WebInspector per WebView. 
9180         - Refactor the WebInspector class and move obsolete methods to
9181           a special category.
9182         - Add new WebInspector methods to show, hide and show the
9183           console/timeline panels.
9184         - Add an isDisabled method to WebCache.
9185         - Allow WebLocalizableStrings.h to be used in C files.
9187         * Misc/WebCache.h: Add isDisabled.
9188         * Misc/WebCache.mm:
9189         (+[WebCache isDisabled]): New method.
9191         * Misc/WebLocalizableStrings.h: Changes to allow use in plain C files.
9193         * WebCoreSupport/WebInspectorClient.mm:
9194         (-[WebInspectorWindowController showWindow:]): Call super if already visible
9195           so the window will be ordered front.
9196         (-[WebInspectorWindowController showWebInspector:]): Method used by menu items,
9197           so they are enabled and work when the Inspector window is key.
9198         (-[WebInspectorWindowController showErrorConsole:]): Ditto.
9199         (-[WebInspectorWindowController showNetworkTimeline:]): Ditto.
9201         * WebInspector/WebInspector.h: Add and remove methods.
9202         * WebInspector/WebInspector.mm:
9203         (-[WebInspector webViewClosed]): Called when the WebView is closed/dealloced.
9204           Clears the _webView pointer.
9205         (-[WebInspector show:]): Calls thru to the Page's InspectorController.
9206         (-[WebInspector showConsole:]): Ditto.
9207         (-[WebInspector showTimeline:]): Ditto.
9208         (-[WebInspector close:]): Ditto.
9209         (-[WebInspector attach:]): Ditto.
9210         (-[WebInspector detach:]): Ditto.
9211         (+[WebInspector sharedWebInspector]): Moved to the obsolete category.
9212         (+[WebInspector webInspector]): Ditto.
9213         (-[WebInspector setWebFrame:]): Ditto.
9214         (-[WebInspector window]): Ditto.
9215         (-[WebInspector showWindow:]): Ditto.
9217         * WebView/WebView.mm:
9218         (-[WebViewPrivate dealloc]): Release the WebInspector.
9219         (-[WebView _close]): Call webViewClosed on the WebInspector.
9220         (-[WebView inspector]): Create a WebInspector if needed and return it.
9221         * WebView/WebViewPrivate.h: Add the inspector method.
9223 2007-10-30  Adele Peterson  <adele@apple.com>
9225         Reviewed by Darin Adler.
9227         WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
9228         <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
9230         * WebView/WebHTMLView.mm:
9231         (-[WebHTMLView flagsChanged:]): Call capsLockStateMayHaveChanged so WebCore knows it may have to update a password field.
9232         (+[WebHTMLView _postFlagsChangedEvent:]): Added a comment with a Radar number for why this isn't just in flagsChanged.
9233         (-[WebHTMLView scrollWheel:]): Instead of calling the next responder explicitly, we can just call super, which will take care of this.
9235 2007-10-27  Mark Ambachtsheer  <mark.a@apple.com>
9237         Reviewed by Darin Adler.
9239         Fix for bug 15710, When QD plugins draw to an offscreen bitmap and the plugin is not at 
9240         (0, 0) the clipping rectangle is not correct.
9241         Added the origin to the window clip rectangle coordinates to account for plugins that
9242         don't originate at (0,0); affects code for offscreen GWorlds only.
9244         * Plugins/WebBaseNetscapePluginView.mm:
9245         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
9247 2007-10-26  Adele Peterson  <adele@apple.com>
9249         Reviewed by Oliver.
9251         Adding WebKitSystemInterface support for the caps lock indicator
9253         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
9255 2007-10-25  David Hyatt  <hyatt@apple.com>
9257         Fix for bug 15672, backgrounds don't tile properly inside transforms.  This patch fixes tiling
9258         of backgrounds inside CSS transforms and also of HTML content with background images inside SVG
9259         transforms.
9261         Reviewed by aroben and mmitz
9263         * WebCoreSupport/WebSystemInterface.m:
9264         (InitWebCoreSystemInterface):
9265         * WebKit.xcodeproj/project.pbxproj:
9267 2007-10-25  John Sullivan  <sullivan@apple.com>
9269         Reviewed by Tim Hatcher
9270         
9271         Removed the support for toggling whether WebKit uses the 10.5 PDFKit improvements. Now it
9272         always does, when available.
9274         * WebView/WebPreferencesPrivate.h:
9275         removed _usePDFPreviewView and _setUsePDFPreviewView:. Note that these were guarded with
9276         a comment that says that they can be removed when no longer needed. That time is now.
9278         * WebView/WebPreferences.m:
9279         (+[WebPreferences initialize]):
9280         removed WebKitUsePDFPreviewViewPreferenceKey
9281         (-[WebPreferences _usePDFPreviewView]):
9282         removed
9283         (-[WebPreferences _setUsePDFPreviewView:]):
9284         removed
9286         * WebView/WebPDFView.mm:
9287         (-[WebPDFView initWithFrame:]):
9288         don't check _usePDFPreviewView
9289         
9290         * WebView/WebPreferenceKeysPrivate.h:
9291         removed WebKitUsePDFPreviewViewPreferenceKey
9292         
9293 2007-10-24  Timothy Hatcher  <timothy@apple.com>
9295         Reviewed by Mark Rowe.
9297         <rdar://problem/5069711> OpenSource version of libWebKitSystemInterface.a is Tiger only, causes issues if used on Leopard
9299         Use the WebKitSystemInterface that matches the system version.
9301         * Configurations/DebugRelease.xcconfig:
9302         * WebKit.xcodeproj/project.pbxproj:
9304 2007-10-24  Brady Eidson  <beidson@apple.com>
9306         Reviewed by Anders
9308         <rdar://problem/5554130> DatabaseTracker.o has a global initializer
9310         * Misc/WebDatabaseManager.mm:
9311         (WebKitSetWebDatabasesPathIfNecessary): Call the member function instead of a static one
9313 2007-10-23  Mark Rowe  <mrowe@apple.com>
9315         Build fix for Eric's build fix in r26916.
9317         * MigrateHeaders.make:
9319 2007-10-22  Eric Seidel  <eric@webkit.org>
9321         Reviewed by Maciej.
9323         * MigrateHeaders.make: copy over font-face related DOM headers
9325 2007-10-22  Andrew Wellington  <proton@wiretapped.net>
9327         Reviewed by Mark Rowe.
9328         
9329         Fix for local database support after r26879
9330         Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set
9332         * Configurations/WebKit.xcconfig:
9334 2007-10-19  Brady Eidson <beidson@apple.com>
9336         Reviewed by Tim Hatcher
9338         Added support for Chrome prompts required by the Storage API
9339         Added support API for future managing of databases from the WebKit client
9340         Added preference and initialization for the databases path
9342         * Misc/WebDatabaseManager.h: Added.  WebDatabaseManager is how a WebKit application can list and
9343           remove the current available databases
9344         * Misc/WebDatabaseManager.mm: Added.
9345         (+[WebDatabaseManager origins]):
9346         (+[WebDatabaseManager databasesWithOrigin:]):
9347         (+[WebDatabaseManager deleteAllDatabases]):
9348         (+[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
9349         (+[WebDatabaseManager deleteDatabaseWithOrigin:named:]):
9350         (WebKitSetWebDatabasesPathIfNecessary): Setup the database path
9351         * Misc/WebDatabaseManagerPrivate.h: Added.
9353         * WebCoreSupport/WebChromeClient.h: Support for calling the delegate to run the prompt for 
9354           an origin exceeding its size limit
9355         * WebCoreSupport/WebChromeClient.mm:
9356         (WebChromeClient::runDatabaseSizeLimitPrompt):
9357         * WebKit.xcodeproj/project.pbxproj:
9358         * WebView/WebUIDelegate.h:
9360         * WebView/WebView.mm:
9361         (-[WebView _commonInitializationWithFrameName:groupName:]): Setup the database path
9362         * WebView/WebViewInternal.h:
9364 2007-10-19  John Sullivan  <sullivan@apple.com>
9366         Reviewed by Tim Hatcher
9367         
9368         - fixed <rdar://problem/5540325> REGRESSION (2.0.4-3): History menu looks odd after clearing history
9370         * History/WebHistory.mm:
9371         (-[WebHistoryPrivate removeAllItems]):
9372         This was fallout from r25275. We need to clear the orderedLastVisitedDays cache here, in addition
9373         to the other places where it's cleared.
9375 2007-10-18  Dan Bernstein  <mitz@apple.com>
9377         Tiger build fix.
9379         * WebView/WebDataSource.mm:
9380         (-[WebDataSource _MIMETypeOfResponse:]):
9382 2007-10-18  Dan Bernstein  <mitz@apple.com>
9384         Reviewed by Adam Roben.
9386         - fix <rdar://problem/5313523>
9387         REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
9389         * WebCoreSupport/WebFrameLoaderClient.mm:
9390         (WebFrameLoaderClient::makeDocumentView): Changed to use _responseMIMEType.
9391         * WebView/WebDataSource.mm:
9392         (-[WebDataSource _MIMETypeOfResponse:]): Added. Works around
9393         <rdar://problem/5321972> by testing for the case of an NSHTTPURLResponse
9394         with a MIMEType of application/octet-stream and a Content-Type header
9395         starting with text/plain and returning text/plain as the MIME type in
9396         that case.
9397         (-[WebDataSource _responseMIMEType]): Added. Used to get the correct
9398         response MIME type.
9399         (-[WebDataSource _isDocumentHTML]): Changed to use _responseMIMEType.
9400         (-[WebDataSource _makeRepresentation]): Ditto.
9401         (-[WebDataSource mainResource]): Ditto.
9402         (-[WebDataSource subresources]): Changed to use _MIMETypeOfResponse and
9403         pass the MIME type explicitly.
9404         (-[WebDataSource subresourceForURL:]): Ditto.
9405         * WebView/WebDataSourcePrivate.h:
9406         * WebView/WebFrameView.mm:
9407         (-[WebFrameView _makeDocumentViewForDataSource:]): Changed to use
9408         _responseMIMEType.
9409         * WebView/WebResource.mm:
9410         (-[WebResource _initWithData:URL:response:MIMEType:]): Changed this
9411         method to take a MIME type instead of extracting it from the response,
9412         so that WebDataSource could pass the correct MIME type.
9413         * WebView/WebResourcePrivate.h:
9415 2007-10-17  Darin Adler  <darin@apple.com>
9417         Reviewed by Mark Rowe.
9419         - fix <rdar://problem/5183775> Uninitialized memory in -[WebDynamicScrollBarsView updateScrollers]
9421         * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]):
9422         Change code path so it doesn't dispatch a method that returns an NSSize passing a nil object.
9423         It's safe to do that for functions that return integers or pointers, but not structures.
9425 2007-10-16  David Kilzer  <ddkilzer@apple.com>
9427         Reviewed by Timothy.
9429         <rdar://problem/5544354> Wrong delegate method called in
9430         WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
9432         * WebCoreSupport/WebFrameLoaderClient.mm:
9433         (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Fixed selector name.
9435 2007-10-16  Darin Adler  <darin@apple.com>
9437         Reviewed by Adele.
9439         - moved transpose command implementation into WebCore
9441         * WebView/WebHTMLView.mm: Removed transpose: and replaced it with standard WebCore forwarding.
9443 2007-10-16  Darin Adler  <darin@apple.com>
9445         Reviewed by Maciej and Geoff (and looked over by Eric).
9447         - http://bugs.webkit.org/show_bug.cgi?id=15519
9448           eliminate use of <ctype.h> for processing ASCII
9450         * ForwardingHeaders/wtf/ASCIICType.h: Added.
9451         * ForwardingHeaders/wtf/DisallowCType.h: Added.
9453         * WebKitPrefix.h: Include DisallowCType.h.
9455         * Misc/WebNSURLExtras.mm: (-[NSURL _web_URLWithLowercasedScheme]): Use toASCIILower.
9456         * WebView/WebHTMLView.mm:
9457         (-[WebHTMLView callWebCoreCommand:]): Use toASCIIUpper.
9458         (-[WebTextCompleteController filterKeyDown:]): Add a list of specific character codes,
9459         instead of using ispunct.
9461 2007-10-16  John Sullivan  <sullivan@apple.com>
9463         Reviewed by Adam Roben
9464         
9465         Cleaned up localizable strings
9467         * English.lproj/Localizable.strings:
9468         updated
9469         * StringsNotToBeLocalized.txt:
9470         updated
9471         * WebKit.xcodeproj/project.pbxproj:
9472         StringsNotToBeLocalized.txt recently moved but project file wasn't updated to match; now it is
9474 2007-10-15  Kevin Decker  <kdecker@apple.com>
9476         Reviewed by Darin Adler.
9477         
9478         Fixed: <rdar://problem/5520541> REGRESSION: Broken image when forwarding certain email on Tiger
9479         
9480         * WebCoreSupport/WebFrameBridge.mm: The problem was that we were loading Mail's WebKit plug-in
9481         too soon, which borked some necessary housekeeping on behalf of Mail. The fix is to add a quirk
9482         that treats Tiger Mail's WebKit plug-in like a Netscape plug-in, thus ensuring the plug-in will
9483         load during first layout and not attach time. For this plug-in, loading at first layout is 
9484         expected and is consistent with Safari 2 behavior.
9486 2007-10-15  John Sullivan  <sullivan@apple.com>
9488         Reviewed by Geoff Garen
9489         
9490         Replaced NS_DURING/NS_HANDLER with @try/@catch throughout WebKit
9492         I made the following changes:
9493         - replaced NS_DURING with @try, and added opening brace if there wasn't one
9494         - replaced NS_HANDLER with @catch (NSException *localException), and added braces if there weren't any
9495         - removed NS_ENDHANDLER, and added a closing brace if there wasn't one
9496         - in a couple of places, fixed indentation therein
9498         * Misc/WebIconDatabase.mm:
9499         (objectFromPathForKey):
9500         * WebView/WebHTMLView.mm:
9501         (-[WebHTMLView drawSingleRect:]):
9502         (-[WebHTMLView beginDocument]):
9503         (-[WebHTMLView deleteToMark:]):
9504         * WebView/WebView.mm:
9505         (-[WebView initWithCoder:]):
9507 == Rolled over to ChangeLog-2007-10-14 ==