2008-10-06 Anders Carlsson <andersca@apple.com>
[webkit/qt.git] / WebKit / mac / ChangeLog
blob198d96615633ca6510c4d722b3f7d96299fc0545
1 2008-10-06  Anders Carlsson  <andersca@apple.com>
3         Reviewed by David Hyatt.
5         Convert more methods over to C++.
6         
7         * Plugins/WebBaseNetscapePluginStream.h:
8         * Plugins/WebBaseNetscapePluginStream.mm:
9         (WebNetscapePluginStream::ownerForStream):
10         (WebNetscapePluginStream::pluginCancelledConnectionError):
11         (WebNetscapePluginStream::errorForReason):
12         (-[WebBaseNetscapePluginStream errorForReason:]):
13         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
14         (WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError):
15         (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]):
16         (WebNetscapePluginStream::deliverData):
17         (WebNetscapePluginStream::deliverDataTimerFired):
18         (WebNetscapePluginStream::deliverDataToFile):
19         (-[WebBaseNetscapePluginStream finishedLoading]):
20         (-[WebBaseNetscapePluginStream receivedData:]):
21         * Plugins/WebBaseNetscapePluginView.mm:
22         (-[WebBaseNetscapePluginView destroyStream:reason:]):
24 2008-10-06  David Hyatt  <hyatt@apple.com>
26         Add SPI for a new viewless WebKit mode.  The idea is that when this flag is set there will be no
27         views created except for the outermost WebView.
29         Reviewed by Tim Hatcher
31         * WebView/WebView.mm:
32         * WebView/WebViewInternal.h:
34 2008-10-06  Anders Carlsson  <andersca@apple.com>
36         Reviewed by David Hyatt.
38         Convert more methods over to C++.
39         
40         * Plugins/WebBaseNetscapePluginStream.h:
41         * Plugins/WebBaseNetscapePluginStream.mm:
42         (WebNetscapePluginStream::reasonForError):
43         (WebNetscapePluginStream::destroyStreamWithReason):
44         (WebNetscapePluginStream::cancelLoadWithError):
45         (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
46         (WebNetscapePluginStream::destroyStreamWithError):
47         (-[WebBaseNetscapePluginStream destroyStreamWithError:]):
48         (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]):
49         (-[WebBaseNetscapePluginStream _deliverDataToFile:]):
50         (-[WebBaseNetscapePluginStream finishedLoading]):
51         * Plugins/WebBaseNetscapePluginView.mm:
52         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]):
54 2008-10-04  Darin Adler  <darin@apple.com>
56         Reviewed by Cameron Zwarich.
58         - https://bugs.webkit.org/show_bug.cgi?id=21295
59           Bug 21295: Replace ExecState with a call frame Register pointer
61         * WebView/WebScriptDebugger.mm:
62         (WebScriptDebugger::WebScriptDebugger): Remove 0 passed for ExecState.
64 2008-10-03  John Sullivan  <sullivan@apple.com>
66         Fixed Release build
68         * Plugins/WebBaseNetscapePluginStream.mm:
69         (WebNetscapePluginStream::destroyStream):
70         added !LOG_DISABLED guard around declaration of npErr used only in LOG
72 2008-10-03  Anders Carlsson  <andersca@apple.com>
74         Reviewed by David Hyatt.
75         
76         Convert destroyStream over to C++.
77         
78         * Plugins/WebBaseNetscapePluginStream.h:
79         * Plugins/WebBaseNetscapePluginStream.mm:
80         (WebNetscapePluginStream::destroyStream):
81         (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
82         (-[WebBaseNetscapePluginStream _deliverData]):
84 2008-10-03  Anders Carlsson  <andersca@apple.com>
86         Reviewed by David Hyatt.
88         Use a Timer instead of -[NSObject performSelector:withObject:afterDelay];
89         
90         * Plugins/WebBaseNetscapePluginStream.h:
91         (WebNetscapePluginStream::WebNetscapePluginStream):
92         * Plugins/WebBaseNetscapePluginStream.mm:
93         (-[WebBaseNetscapePluginStream _destroyStream]):
94         (-[WebBaseNetscapePluginStream _deliverData]):
95         (WebNetscapePluginStream::deliverDataTimerFired):
97 2008-10-03  Anders Carlsson  <andersca@apple.com>
99         Reviewed by David Hyatt.
101         More plug-in stream cleanup.
102         
103         * Plugins/WebBaseNetscapePluginStream.h:
104         (WebNetscapePluginStream::create):
105         (WebNetscapePluginStream::WebNetscapePluginStream):
106         * Plugins/WebBaseNetscapePluginStream.mm:
107         (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
108         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
109         (-[WebBaseNetscapePluginStream dealloc]):
110         (-[WebBaseNetscapePluginStream finalize]):
111         (-[WebBaseNetscapePluginStream setPlugin:]):
112         (WebNetscapePluginStream::setPlugin):
113         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
114         (-[WebBaseNetscapePluginStream _destroyStream]):
116 2008-10-03  David Hyatt  <hyatt@apple.com>
118         Remove addToDirtyRegion.
119         
120         Reviewed by Oliver Hunt
121         
122         * WebCoreSupport/WebChromeClient.h:
123         * WebCoreSupport/WebChromeClient.mm:
125 2008-10-02  David Hyatt  <hyatt@apple.com>
127         https://bugs.webkit.org/show_bug.cgi?id=21328
128         
129         Make widget invalidation more cross-platform.
130         
131         (1) Make invalidateRect a pure virtual function on Widget.  All leaf widgets must now implement this function.
132         
133         (2) Scrollbars now send invalidations through the ScrollbarClient.  windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
134         This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
135         
136         (3) Plugins now have the native window invalidation code for windowed plugins.  Windowless plugins do a repaintRectangle on the plugin's renderer.
137         
138         (4) FrameViews now do a repaintRectangle on their owner element's renderer.
140         Reviewed by Sam Weinig
142         * WebCoreSupport/WebFrameLoaderClient.mm:
143         (PluginWidget::PluginWidget):
144         (PluginWidget::invalidateRect):
145         (NetscapePluginWidget::NetscapePluginWidget):
146         (WebFrameLoaderClient::createPlugin):
148 2008-10-02  Darin Adler  <darin@apple.com>
150         Reviewed by Geoff Garen.
152         - https://bugs.webkit.org/show_bug.cgi?id=21321
153           Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
155         * Misc/WebCoreStatistics.mm:
156         (+[WebCoreStatistics javaScriptObjectsCount]): Use heap. instead of heap-> to
157         work with the heap.
158         (+[WebCoreStatistics javaScriptGlobalObjectsCount]): Ditto.
159         (+[WebCoreStatistics javaScriptProtectedObjectsCount]): Ditto.
160         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): Ditto.
161         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): Ditto.
162         (+[WebCoreStatistics javaScriptReferencedObjectsCount]): Ditto.
164 2008-10-02  David Hyatt  <hyatt@apple.com>
166         https://bugs.webkit.org/show_bug.cgi?id=21314
167         
168         Make scrollBackingStore cross-platform.
170         Reviewed by Sam Weinig
172         * WebCoreSupport/WebChromeClient.h:
173         * WebCoreSupport/WebChromeClient.mm:
174         (WebChromeClient::repaint):
175         (WebChromeClient::scroll):
177 2008-10-01  Geoffrey Garen  <ggaren@apple.com>
179         Reviewed by Darin Adler and Cameron Zwarich.
181         Updated for JavaScriptCore API changes: use a SourceCode instead of
182         broken out parameters; treat sourceId as intptr_t.
183         
184         We still treat sourceId as int in some cases because of DashCode. See
185         <rdar://problem/6263293> WebScriptDebugDelegate should use intptr_t for
186         sourceId, not int.
188         * WebView/WebScriptDebugger.h:
189         * WebView/WebScriptDebugger.mm:
190         (toNSString):
191         (WebScriptDebugger::sourceParsed):
192         (WebScriptDebugger::callEvent):
193         (WebScriptDebugger::atStatement):
194         (WebScriptDebugger::returnEvent):
195         (WebScriptDebugger::exception):
196         (WebScriptDebugger::willExecuteProgram):
197         (WebScriptDebugger::didExecuteProgram):
198         (WebScriptDebugger::didReachBreakpoint):
200 2008-10-01  David Hyatt  <hyatt@apple.com>
202         Move prohibitsScrolling from the Frame to the ScrollView.
204         Reviewed by Sam Weinig
206         * WebView/WebView.mm:
207         (-[WebView setProhibitsMainFrameScrolling:]):
209 2008-10-01  David Hyatt  <hyatt@apple.com>
211         https://bugs.webkit.org/show_bug.cgi?id=21282
212         
213         Make contentsToScreen/screenToContents cross-platform.  Only implemented by Mac/Win right now.
214         
215         Reviewed by Adam Roben
217         * WebCoreSupport/WebChromeClient.h:
218         * WebCoreSupport/WebChromeClient.mm:
219         (WebChromeClient::repaint):
220         (WebChromeClient::screenToWindow):
221         (WebChromeClient::windowToScreen):
223 2008-09-30   Dave Hyatt  <hyatt@apple.com>
225         https://bugs.webkit.org/show_bug.cgi?id=21269
226   
227         This patch makes the ScrollView::paint method cross-platform.  The paint method calls the base class
228         Widget paint on platforms with native widgets (Mac and wx).  Otherwise it calls a virtual function,
229         paintContents, to paint the ScrollView's contents, and then it paints each of the two scrollbars and
230         the scrollbar corner.
231         
232         The scrollbar themes are now responsible for painting scrollbar corners.  At the moment ScrollbarThemeWin still
233         paints white (which is incorrect), so a future patch will actually implement proper native scroll corner painting
234         for Windows.
235         
236         paintContents is implemented by FrameView, and replaces Frame::paint.  All of the FramePrivate member
237         variables used by Frame::paint have moved to FrameViewPrivate instead.  All callers of Frame::paint have
238         been patched to use FrameView::paintContents instead.
239        
240         Reviewed by Darin Adler
242         * WebView/WebFrame.mm:
243         (-[WebFrame _drawRect:]):
245 2008-09-30  Kevin Decker  <kdecker@apple.com>
247         Reviewed by Anders Carlsson.
249         Remove the NPDrawingModelOpenGL entirely. To my knowledge no shipping plug-in ever used it, and no other browser engine
250         ever supported it.
251                               
252         * Plugins/WebBaseNetscapePluginView.h: Removed AGL.h import and OpenGL related ivars.
253         * Plugins/WebBaseNetscapePluginView.mm: Removed soft linking for OpenGL and AGL frameworks. 
254         Also removed many methods AGL/CGL support methods that are no longer necessary.
255         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed NPDrawingModelOpenGL related code.
256         (-[WebBaseNetscapePluginView restorePortState:]): Ditto.
257         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): Ditto.
258         (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): Ditto.
259         (-[WebBaseNetscapePluginView setWindowIfNecessary]): Ditto.
260         (-[WebBaseNetscapePluginView stop]): Ditto.
261         (-[WebBaseNetscapePluginView dealloc]): Ditto.
262         (-[WebBaseNetscapePluginView drawRect:]): 
263         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Ditto.
264         (-[WebBaseNetscapePluginView invalidateRegion:]): Ditto.
265         (-[WebBaseNetscapePluginView getVariable:value:]): Tell plug-ins WebKit does not support NPDrawingModelOpenGL.
266         (-[WebBaseNetscapePluginView setVariable:value:]): Removed NPDrawingModelOpenGL related code. 
267         (-[WebBaseNetscapePluginView _viewHasMoved]): Ditto.
269 2008-09-30  Dave Hyatt  <hyatt@apple.com>
271         http://bugs.webkit.org/show_bug.cgi?id=21250
272         
273         Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
274         repaints up through the ChromeClient.
275         
276         Reviewed by Darin Adler
278         * WebCoreSupport/WebChromeClient.h:
279         * WebCoreSupport/WebChromeClient.mm:
280         (WebChromeClient::repaint):
282 2008-09-30  Anders Carlsson  <andersca@apple.com>
284         Reviewed by Mark Rowe and Adam Roben.
286         No need to use pointers to store C++ objects as pointers in WebViewPrivate, we can just
287         store them directly.
288         
289         * Configurations/Base.xcconfig:
290         Set GCC_OBJC_CALL_CXX_CDTORS to YES.
291         
292         * WebView/WebView.mm:
293         (-[WebViewPrivate init]):
294         (-[WebViewPrivate dealloc]):
295         (-[WebViewPrivate finalize]):
296         (-[WebView _preferencesChangedNotification:]):
297         (-[WebView setApplicationNameForUserAgent:]):
298         (-[WebView setCustomUserAgent:]):
299         (-[WebView customUserAgent]):
300         (-[WebView WebCore::_userAgentForURL:WebCore::]):
301         (-[WebView _addObject:forIdentifier:]):
302         (-[WebView _objectForIdentifier:]):
303         (-[WebView _removeObjectForIdentifier:]):
305 2008-09-29  Thiago Macieira  <thiago.macieira@nokia.com>
307         Reviewed by Simon.
309         Changed copyright from Trolltech ASA to Nokia.
310         
311         Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
312         
314         * WebCoreSupport/WebChromeClient.h:
315         * WebCoreSupport/WebChromeClient.mm:
316         * WebCoreSupport/WebEditorClient.h:
317         * WebCoreSupport/WebEditorClient.mm:
319 2008-09-28  Timothy Hatcher  <timothy@apple.com>
321         Improves the Web Inspector node highlight so it does not scroll
322         to reveal the node in the page. This makes the highlight less
323         invasive and causes less things to change on screen. Also makes
324         the highlight redraw when the WebView draws, so it stays current
325         if the node changes on the page for any reason.
327         <rdar://problem/6115804> Don't scroll when highlighting (21000)
328         https://bugs.webkit.org/show_bug.cgi?id=21000
330         Reviewed by Dan Bernstein.
332         * WebCoreSupport/WebInspectorClient.mm:
333         (-[WebInspectorWindowController highlightNode:]): Call setNeedsDisplay:YES
334         if there is an existing highlight.
335         (-[WebInspectorWindowController didAttachWebNodeHighlight:]): Set the current
336         highlight node on the inspected WebView.
337         (-[WebInspectorWindowController willDetachWebNodeHighlight:]): Set the current
338         highlight node on the inspected WebView to nil.
339         * WebInspector/WebNodeHighlight.m:
340         (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Disable screen updates
341         until flush for the inspected window. Invalidate the whole highlight view since
342         we don't know the rect that needs updated since the highlight can be larger than
343         the highlighted element due to the margins and other factors.
344         * WebInspector/WebNodeHighlightView.m:
345         * WebView/WebHTMLView.mm:
346         (-[WebHTMLView drawSingleRect:]): Call setNeedsUpdateInTargetViewRect: on the
347         current highlight node.
348         * WebView/WebView.mm:
349         (-[WebViewPrivate dealloc]): Release the current highlight node.
350         (-[WebView setCurrentNodeHighlight:]): Set the current highlight node.
351         (-[WebView currentNodeHighlight]): Return the current highlight node.
352         * WebView/WebViewInternal.h:
354 2008-09-28  David Kilzer  <ddkilzer@apple.com>
356         Fix build warning in WebDefaultUIDelegate.m
358         Reviewed by Dan Bernstein.
360         This fixes a warning noticed by the clang static analyzer:
361         .../WebDefaultUIDelegate.m: In function â€˜-[WebDefaultUIDelegate webViewFirstResponder:]’:
362         .../WebDefaultUIDelegate.m:92: warning: initialization from distinct Objective-C type
364         Note that this doesn't actually cause any change in behavior since
365         the gcc compiler ignores the semi-colon anyway.
367         * DefaultDelegates/WebDefaultUIDelegate.m:
368         (-[WebDefaultUIDelegate webViewFirstResponder:]): Removed semi-colon
369         from method signature.
371 2008-09-27  David Hyatt  <hyatt@apple.com>
373         Fix for https://bugs.webkit.org/show_bug.cgi?id=21182
375         Make sure Mac null checks the view like the other platforms do now that Mac goes through WebCore
376         to call setAllowsScrolling.
378         Reviewed by Mark Rowe
380         * WebCoreSupport/WebFrameLoaderClient.mm:
381         (WebFrameLoaderClient::createFrame):
383 2008-09-27  Anders Carlsson  <andersca@apple.com>
385         Reviewed by Sam Weinig.
387         https://bugs.webkit.org/show_bug.cgi?id=21178
388         <rdar://problem/6248651>
390         Check if the plug-in is allowed to load the resource. This matches Firefox.
391         
392         * Plugins/WebBaseNetscapePluginView.mm:
393         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
395 2008-09-26  Matt Lilek  <webkit@mattlilek.com>
397         Reviewed by Tim Hatcher.
399         Update FEATURE_DEFINES after ENABLE_CROSS_DOCUMENT_MESSAGING was removed.
401         * Configurations/WebKit.xcconfig:
403 2008-09-26  David Hyatt  <hyatt@apple.com>
405         https://bugs.webkit.org/show_bug.cgi?id=21164
407         Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
409         Reviewed by Sam Weinig
411         * WebCoreSupport/WebFrameLoaderClient.mm:
412         (WebFrameLoaderClient::createFrame):
413         * WebView/WebDynamicScrollBarsView.h:
414         * WebView/WebDynamicScrollBarsView.m:
415         * WebView/WebDynamicScrollBarsViewInternal.h:
416         * WebView/WebFrameView.mm:
417         (-[WebFrameView setAllowsScrolling:]):
418         (-[WebFrameView allowsScrolling]):
420 2008-09-26  David Hyatt  <hyatt@apple.com>
422         https://bugs.webkit.org/show_bug.cgi?id=21149
424         More refactoring to make scrollbar modes cross-platform.  Reduce the protocol that
425         WebDynamicScrollBarsView has to implement for communicating with WebCore to just three methods.
427         Reviewed by Sam Weinig
429         * WebView/WebDynamicScrollBarsView.m:
430         (-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]):
431         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]):
432         (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]):
433         (-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]):
434         * WebView/WebDynamicScrollBarsViewInternal.h:
435         * WebView/WebFrameView.mm:
436         (-[WebFrameView setAllowsScrolling:]):
437         * WebView/WebView.mm:
438         (-[WebView setAlwaysShowVerticalScroller:]):
439         (-[WebView setAlwaysShowHorizontalScroller:]):
441 2008-09-26  David Kilzer  <ddkilzer@apple.com>
443         Fix Mac build with XSLT disabled
445         Reviewed by Alexey.
447         * Misc/WebCache.mm:
448         (+[WebCache statistics]): Populate xslStyleSheet statistics with
449         zeros if XSLT is disabled.
451 2008-09-25  David Hyatt  <hyatt@apple.com>
453         https://bugs.webkit.org/show_bug.cgi?id=21101
455         Fix the updating of the active state to not be dumb, so that viewless scrollbars repaint properly.
457         Reviewed by Tim Hatcher
459         * WebView/WebHTMLView.mm:
460         (-[WebHTMLView _updateFocusedAndActiveState]):
462 2008-09-24  Darin Adler  <darin@apple.com>
464         Reviewed by Dan Bernstein.
466         - https://bugs.webkit.org/show_bug.cgi?id=21079
467           <rdar://problem/6203938> Disallow embedding Safari-generated pages
468           (e.g bookmarks collection) in subframes
470         * DefaultDelegates/WebDefaultPolicyDelegate.m:
471         (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
472         Use the new +[WebView _canHandleRequest:forMainFrame:] so we can give
473         a different answer for the main frame and subframes.
474         * WebCoreSupport/WebFrameLoaderClient.mm:
475         (WebFrameLoaderClient::canHandleRequest): Ditto.
477         * WebView/WebView.mm:
478         (+[WebView _canHandleRequest:forMainFrame:]): Added forMainFrame. Only look
479         for scheme-specific representations for the main frame, not subframes. 
480         (+[WebView _canHandleRequest:]): Give answer for main frame -- calls the
481         method above with YES for main frame.
483         * WebView/WebViewInternal.h: Added _canHandleRequest:forMainFrame:.
485 2008-09-23  David Hyatt  <hyatt@apple.com>
487         https://bugs.webkit.org/show_bug.cgi?id=21039
489         Teach the viewless Mac scrollbar how to avoid the NSWindow resizer.
491         Reviewed by Sam Weinig
493         * WebCoreSupport/WebChromeClient.mm:
494         (WebChromeClient::windowResizerRect):
496 2008-09-23  Dan Bernstein  <mitz@apple.com>
498         Reviewed by Beth Dakin.
500         - fix <rdar://problem/6233388> Crash beneath -[WebFrameView keyDown:]
502         Test: fast/events/keydown-remove-frame.html
504         * WebView/WebFrameView.mm:
505         (-[WebFrameView keyDown:]): Added a null check.
507 2008-09-21  Dirk Schulze  <vbs85@gmx.de>
509         Reviewed and landed by Eric Seidel.
511         Moved CGFloat definition to WebKitPrefix so CGFloat can be used more
512         freely throughout WebCore without worrying about breaking Tiger.
514         * Misc/WebTypesInternal.h: Removed it from here.
515         * WebKitPrefix.h: Added it here.
517 2008-09-20  Matt Lilek  <webkit@mattlilek.com>
519         Reviewed by Tim Hatcher.
521         Revert r35688. We use a textured window on Leopard, which does not have the
522         square corners of the standard Aqua window on Tiger.
524         * WebCoreSupport/WebInspectorClient.mm:
525         (-[WebInspectorWindowController window]): Add back the call to WKNSWindowMakeBottomCornersSquare.
527 2008-09-19  Darin Adler  <darin@apple.com>
529         Reviewed by Dan Bernstein.
531         - speculative fix for https://bugs.webkit.org/show_bug.cgi?id=20943
532           Assertion failure in RefCountedLeakCounter::cancelMessageSuppression() when closing a window
534         * WebView/WebView.mm:
535         (-[WebView _commonInitializationWithFrameName:groupName:]): Moved call to
536         RefCountedLeakCounter::suppressMessages in here.
537         (-[WebView initWithFrame:frameName:groupName:]): Moved it out of here.
539 2008-09-18  Mark Rowe  <mrowe@apple.com>
541         Reviewed by Dan Bernstein.
543         Add SPI to WebView to allow DRT to clear the main frame's name between tests.
545         * WebView/WebView.mm:
546         (-[WebView _clearMainFrameName]):
547         * WebView/WebViewPrivate.h:
549 2008-09-18  Darin Adler  <darin@apple.com>
551         Reviewed by Sam Weinig.
553         - fix https://bugs.webkit.org/show_bug.cgi?id=20925
554           LEAK messages appear every time I quit
556         * WebView/WebPreferences.mm:
557         (-[WebPreferences setFullDocumentTeardownEnabled:]): Removed unneeded call
558         to setLogLeakMessages.
559         * WebView/WebView.mm:
560         (-[WebView _closeWithFastTeardown]): Call RefCountedLeakCounter::suppressMessages,
561         telling it that we can't track leaks because at least one WebView was closed with
562         fast teardown.
563         (-[WebView _close]): Removed unneeded call to setLogLeakMessages. Added a call to
564         cancelMessageSuppression since the WebView is no longer open.
565         Added an explicit garbage collect to help with the case where we're closing during
566         the quit process -- the garbageCollectSoon() calls done inside WebCore won't help
567         us in that case.
568         (-[WebView initWithFrame:frameName:groupName:]): Call
569         RefCountedLeakCounter::suppressMessages telling it that we can't track leaks
570         because at least one WebView is currently open.
572 2008-09-18  Anders Carlsson  <andersca@apple.com>
574         Reviewed by Adam Roben.
576         Move the remainder of the stream ivars to the C++ object.
577         
578         * Plugins/WebBaseNetscapePluginStream.h:
579         (WebNetscapePluginStream::WebNetscapePluginStream):
580         * Plugins/WebBaseNetscapePluginStream.mm:
581         (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
582         (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
583         (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
584         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
585         (-[WebBaseNetscapePluginStream dealloc]):
586         (-[WebBaseNetscapePluginStream finalize]):
587         (-[WebBaseNetscapePluginStream setPlugin:]):
588         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
589         (-[WebBaseNetscapePluginStream start]):
590         (-[WebBaseNetscapePluginStream stop]):
591         (-[WebBaseNetscapePluginStream wantsAllStreams]):
592         (-[WebBaseNetscapePluginStream _destroyStream]):
593         (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
594         (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
595         (-[WebBaseNetscapePluginStream _deliverData]):
597 2008-09-17  David Hyatt  <hyatt@apple.com>
599         Make the notion of Widget having an underlying native widget cross-platform.
601         Reviewed by Sam Weinig
603         * WebCoreSupport/WebFrameLoaderClient.mm:
604         (NetscapePluginWidget::handleEvent):
605         * WebView/WebFrame.mm:
606         (-[WebFrame _dragSourceMovedTo:]):
607         (-[WebFrame _dragSourceEndedAt:operation:]):
608         * WebView/WebFrameView.mm:
609         (-[WebFrameView _install]):
610         * WebView/WebRenderNode.mm:
611         (copyRenderNode):
613 2008-09-16  Anders Carlsson  <andersca@apple.com>
615         Reviewed by Cameron Zwarich.
617         Move more instance variables down to the C++ class.
619         * Plugins/WebBaseNetscapePluginStream.h:
620         (WebNetscapePluginStream::WebNetscapePluginStream):
621         * Plugins/WebBaseNetscapePluginStream.mm:
622         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
623         (-[WebBaseNetscapePluginStream dealloc]):
624         (-[WebBaseNetscapePluginStream finalize]):
625         (-[WebBaseNetscapePluginStream transferMode]):
626         (-[WebBaseNetscapePluginStream plugin]):
627         (-[WebBaseNetscapePluginStream setPlugin:]):
628         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
629         (-[WebBaseNetscapePluginStream wantsAllStreams]):
630         (-[WebBaseNetscapePluginStream _destroyStream]):
631         (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
632         (-[WebBaseNetscapePluginStream _deliverData]):
633         (-[WebBaseNetscapePluginStream _deliverDataToFile:]):
634         (-[WebBaseNetscapePluginStream finishedLoading]):
635         (-[WebBaseNetscapePluginStream receivedData:]):
637 2008-09-16  Anders Carlsson  <andersca@apple.com>
639         Reviewed by Dave Hyatt.
641         Move a bunch of instance variables into the C++ class.
642         
643         * Plugins/WebBaseNetscapePluginStream.h:
644         * Plugins/WebBaseNetscapePluginStream.mm:
645         (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
646         (-[WebBaseNetscapePluginStream errorForReason:]):
647         (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
648         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
649         (-[WebBaseNetscapePluginStream dealloc]):
650         (-[WebBaseNetscapePluginStream setRequestURL:]):
651         (-[WebBaseNetscapePluginStream setResponseURL:]):
652         (-[WebBaseNetscapePluginStream setMIMEType:]):
653         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
654         (-[WebBaseNetscapePluginStream _destroyStream]):
655         (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
656         (-[WebBaseNetscapePluginStream _deliverData]):
657         (-[WebBaseNetscapePluginStream receivedData:]):
659 2008-09-16  Anders Carlsson  <andersca@apple.com>
661         Reviewed by Dave Hyatt.
663         Add a new WebNetscapePluginStream C++ class. The idea is that it is supposed to replace the Obj-C 
664         WebBaseNetscapePluginStream class. The plan is to gradually move/rewrite code from the Obj-C class to the C++ class
665         until the C++ class can replace the Obj-C class.
666         
667         * Plugins/WebBaseNetscapePluginStream.h:
668         (WebNetscapePluginStream::create):
669         (WebNetscapePluginStream::WebNetscapePluginStream):
670         * Plugins/WebBaseNetscapePluginStream.mm:
671         (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
672         (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
673         (-[WebBaseNetscapePluginStream dealloc]):
674         (-[WebBaseNetscapePluginStream finalize]):
676 2008-09-16  Anders Carlsson  <andersca@apple.com>
678         Reviewed by Dave Hyatt.
680         Instead of storing a pointer to NPP method individually, just store a pointer to the NPNetscapeFuncs vtable.
681         
682         * Plugins/WebBaseNetscapePluginStream.h:
683         * Plugins/WebBaseNetscapePluginStream.mm:
684         (-[WebBaseNetscapePluginStream setPlugin:]):
685         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
686         (-[WebBaseNetscapePluginStream wantsAllStreams]):
687         (-[WebBaseNetscapePluginStream _destroyStream]):
688         (-[WebBaseNetscapePluginStream _deliverData]):
689         * Plugins/WebNetscapePluginPackage.h:
690         * Plugins/WebNetscapePluginPackage.m:
691         (-[WebNetscapePluginPackage pluginFuncs]):
693 2008-09-16  Anders Carlsson  <andersca@apple.com>
695         Reviewed by Dave Hyatt.
697         Remove references to WebNetscapePluginStream.
698         
699         * Plugins/WebBaseNetscapePluginView.h:
700         * Plugins/WebNetscapePluginEmbeddedView.h:
702 2008-09-15  Dan Bernstein  <mitz@apple.com>
704         Reviewed by Dave Hyatt.
706         - fix https://bugs.webkit.org/show_bug.cgi?id=20860
707           REGRESSION: Crash in RenderLayer::hasVisibleContent() loading wavy.com
709         * WebView/WebFrame.mm:
710         (-[WebFrame _getVisibleRect:]): Changed to check if the RenderPart has
711         layout before accessing it, instead of checking if the frame inside it
712         has layout.
714 2008-09-15  Chris Fleizach  <cfleizach@apple.com>
716         Reviewed by Darin Adler, Beth Dakin
718         Support strings for AXLists
720         * WebCoreSupport/WebViewFactory.mm:
721         (-[WebViewFactory AXDefinitionListTermText]):
722         (-[WebViewFactory AXDefinitionListDefinitionText]):
724 2008-09-15  Anders Carlsson  <andersca@apple.com>
726         Reviewed by Mitz.
728         Merge WebNetscapePluginStream into WebBaseNetscapePluginStream.
730         * Plugins/WebBaseNetscapePluginStream.h:
731         * Plugins/WebBaseNetscapePluginStream.mm:
732         (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
733         (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
734         (-[WebBaseNetscapePluginStream dealloc]):
735         (-[WebBaseNetscapePluginStream finalize]):
736         (-[WebBaseNetscapePluginStream start]):
737         (-[WebBaseNetscapePluginStream stop]):
738         (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
739         * Plugins/WebBaseNetscapePluginView.mm:
740         (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
741         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
742         * Plugins/WebNetscapePluginEmbeddedView.mm:
743         * Plugins/WebNetscapePluginStream.h: Removed.
744         * Plugins/WebNetscapePluginStream.mm: Removed.
746 2008-09-12  John Sullivan  <sullivan@apple.com>
748         Fixed <rdar://problem/6110941> Clicking the print button in PDF content does nothing
750         Reviewed by Darin Adler
752         * WebView/WebPDFView.mm:
753         (-[WebPDFView PDFViewPerformPrint:]):
754         Implemented PDFKit delegate method that's called after a Print action in the PDF content
756 2008-09-12  Dan Bernstein  <mitz@apple.com>
758         Reviewed by John Sullivan.
760         - fix a crash in -visibleRect when it is called during WebFrameView deallocation
762         * WebView/WebFrameView.mm:
763         (-[WebFrameView visibleRect]): Added an early return if _private is 0.
765 2008-09-11  Dan Bernstein  <mitz@apple.com>
767         Reviewed by John Sullivan.
769         - eliminate excessive repainting when a clipped iframe is moved (noticed in <rdar://problem/6204032>)
771         * WebView/WebFrame.mm:
772         (-[WebFrame _getVisibleRect:]): Added. If the frame is in a RenderPart
773         and has layout, gets the visible rect of the RenderPart and returns
774         YES. Returns NO otherwise.
775         * WebView/WebFrameInternal.h:
776         * WebView/WebFrameView.mm:
777         (-[WebFrameView visibleRect]): Added. Overrides this NSView method to
778         take clipping in the render tree into account.
780 2008-09-09  Dan Bernstein  <mitz@apple.com>
782         - Tiger build fix
784         * WebCoreSupport/WebSystemInterface.m:
785         (InitWebCoreSystemInterface):
787 2008-09-09  Dan Bernstein  <mitz@apple.com>
789         Reviewed by Darin Adler.
791         - WebKit part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
793         * WebCoreSupport/WebSystemInterface.m:
794         (InitWebCoreSystemInterface):
796 2008-09-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
798         Reviewed by Maciej Stachowiak.
800         Bug 20704: Replace the KJS namespace
801         <https://bugs.webkit.org/show_bug.cgi?id=20704>
803         Rename the KJS namespace to JSC.
805         * Misc/WebCoreStatistics.mm:
806         * Plugins/WebBaseNetscapePluginStream.mm:
807         (-[WebBaseNetscapePluginStream wantsAllStreams]):
808         * Plugins/WebBaseNetscapePluginView.mm:
809         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
810         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
811         (-[WebBaseNetscapePluginView start]):
812         (-[WebBaseNetscapePluginView createPluginScriptableObject]):
813         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
814         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
815         (-[WebBaseNetscapePluginView loadPluginRequest:]):
816         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
817         * Plugins/WebPluginController.mm:
818         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
819         (-[WebPluginController startAllPlugins]):
820         (-[WebPluginController stopAllPlugins]):
821         (-[WebPluginController addPlugin:]):
822         (-[WebPluginController destroyPlugin:]):
823         (-[WebPluginController destroyAllPlugins]):
824         * WebView/WebFrame.mm:
825         * WebView/WebScriptDebugDelegate.mm:
826         * WebView/WebScriptDebugger.h:
827         * WebView/WebScriptDebugger.mm:
828         * WebView/WebView.mm:
829         (-[WebViewPrivate init]):
831 2008-09-05  Timothy Hatcher  <timothy@apple.com>
833         Correct a typo in the setApplicationChromeModeEnabledEnabled:
834         method name, remove the extra "Enabled".
836         * WebView/WebPreferences.mm:
837         * WebView/WebPreferencesPrivate.h:
839 2008-09-04  Mark Rowe  <mrowe@apple.com>
841         Reviewed by Eric Seidel.
843         Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
844         Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
846         * Configurations/WebKit.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
848 2008-09-03  Eric Seidel  <eric@webkit.org>
850         Reviewed by Sam.
852         Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
854         * Configurations/WebKit.xcconfig:
855         * WebKitPrefix.h: add rules for V8_BINDINGS
857 2008-09-01  Adam Barth  <abarth@webkit.org>
859         Reviewed by Sam Weinig.
861         https://bugs.webkit.org/show_bug.cgi?id=19760
863         Add a linked-on-or-after check to prevent substitute data from loading
864         local resources on newer users of WebKit.
866         * Misc/WebKitVersionChecks.h:
867         * WebView/WebView.mm:
868         (-[WebView _commonInitializationWithFrameName:groupName:]):
870 2008-08-29  Brady Eidson  <beidson@apple.com>
872         Reviewed by Anders
874         Fix regression I introducted in 35946
875         Already covered by media/video-click-dlbclick-standalone.html
877         * WebView/WebHTMLRepresentation.mm:
878         (-[WebHTMLRepresentation receivedData:withDataSource:]): Cancel the load here after
879           calling [WebFrame _receivedData:] which more closely follows the path taken by PluginDocuments
881 2008-08-28  Kevin McCullough  <kmccullough@apple.com>
883         Reviewed by Geoff.
885         <rdar://problem/6095949> REGRESSION (5525.8-6527.1?): "this" is null
886         when you first hit a breakpoint in Dashcode
887         - We wanted to reset the callframe whenever eval() was called but
888         dashcode uses eval() when broken to evaluate the state of the current
889         call frame.
891         * WebView/WebScriptDebugger.mm:
892         (WebScriptDebugger::willExecuteProgram):
893         (WebScriptDebugger::didExecuteProgram):
895 2008-08-27  Robert Kroeger  <rjkroege@liqui.org>
897         Tweaked by Sam Weinig.
899         Reviewed by Eric Seidel.
901         Fix https://bugs.webkit.org/show_bug.cgi?id=6595
902         <rdar://problem/4432150>
903         Right-click does not fire mouseup event
905         Adds a rightMouseUp handler to the WebHTMLView.
907         The added method generates mouseup events for button 2.  The result
908         is that webkit will deliver mousedown and mouseup events for button
909         2 in a fashion identical to FireFox and will retain event ordering
910         identical to Internet Explorer.
912         Test: fast/events/mouseup-from-button2.html
914         * WebView/WebHTMLView.mm:
915         (-[WebHTMLView rightMouseUp:]):
917 2008-08-27  Timothy Hatcher  <timothy@apple.com>
919         Add support for support for -webkit-appearance: default-button on the Mac platform.
921         <rdar://problem/6173530>
923         Reviewed by Dave Hyatt.
925         * WebCoreSupport/WebSystemInterface.m:
926         (InitWebCoreSystemInterface): Init AdvanceDefaultButtonPulseAnimation.
927         * WebView/WebPreferenceKeysPrivate.h: Added WebKitApplicationChromeModeEnabledPreferenceKey.
928         * WebView/WebPreferences.mm:
929         (+[WebPreferences initialize]): Set WebKitApplicationChromeModeEnabledPreferenceKey to NO.
930         (-[WebPreferences applicationChromeModeEnabled]): Added.
931         (-[WebPreferences setApplicationChromeModeEnabledEnabled:]): Added.
932         * WebView/WebPreferencesPrivate.h:
933         * WebView/WebView.mm:
934         (-[WebView _preferencesChangedNotification:]): Call Settings::setApplicationChromeMode
935         with the value of -[WebPreferences applicationChromeModeEnabled].
937 2008-08-27  Brady Eidson  <beidson@apple.com>
939         Reviewed by Anders
941         <rdar://problem/6134133> - Crash when loading large movie as a standalone document
943         * WebCoreSupport/WebFrameLoaderClient.h:
944         * WebCoreSupport/WebFrameLoaderClient.mm:
945         (WebFrameLoaderClient::pluginWillHandleLoadError):
947 2008-08-20  Dan Bernstein  <mitz@apple.com>
949         Rubber-stamped by John Sullivan.
951         - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen,
952           rename related methods and variables accordingly, and make
953           -setShouldUpdateWhileOffscreen: and -shouldUpdateWhileOffscreen
954           WebView API.
956         * WebCoreSupport/WebFrameLoaderClient.mm:
957         (WebFrameLoaderClient::transitionToCommittedForNewPage):
958         * WebView/WebFrame.mm:
959         (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]):
960         * WebView/WebFrameInternal.h:
961         * WebView/WebHTMLView.mm:
962         (-[WebHTMLView windowWillOrderOnScreen:]):
963         * WebView/WebView.h:
964         * WebView/WebView.mm:
965         (-[WebViewPrivate init]):
966         (-[WebView setBackgroundColor:]):
967         (-[WebView setDrawsBackground:]):
968         (-[WebView setShouldUpdateWhileOffscreen:]):
969         (-[WebView shouldUpdateWhileOffscreen]):
970         * WebView/WebViewPrivate.h:
972 2008-08-18  Mark Rowe  <mrowe@apple.com>
974         Reviewed by Darin Adler.
976         Switch to non-deprecated NSFileManager API.
978         In order to minimize #if's the new NSFileManager APIs have been implemented for
979         Tiger and call sites updated to use the new methods.
981         * Misc/WebIconDatabase.mm:
982         (importToWebCoreFormat):
983         * Misc/WebKitNSStringExtras.m:
984         (-[NSString _webkit_fixedCarbonPOSIXPath]):
985         * Misc/WebKitSystemBits.m:
986         * Misc/WebNSFileManagerExtras.h:
987         * Misc/WebNSFileManagerExtras.m: Remove implementations of methods that are not used.
988         (-[NSFileManager _webkit_backgroundRemoveFileAtPath:]):
989         (-[NSFileManager attributesOfFileSystemForPath:error:]): Implement new API for Tiger in terms of Tiger API.
990         (-[NSFileManager contentsOfDirectoryAtPath:error:]): Ditto.
991         (-[NSFileManager moveItemAtPath:toPath:error:]): Ditto.
992         (-[NSFileManager removeItemAtPath:error:]): Ditto.
993         * Plugins/WebPluginDatabase.mm:
994         (-[WebPluginDatabase _scanForNewPlugins]):
996 2008-08-20  Josh Aas  <joshmoz@gmail.com>
998         Reviewed and landed by Anders.
1000         <rdar://problem/6163636> 
1001         rename NPCocoaEvent's "event" struct to "data" (20446)
1003         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
1004         (WebNetscapePluginEventHandlerCocoa::drawRect):
1005         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
1006         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
1007         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
1008         (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
1009         (WebNetscapePluginEventHandlerCocoa::focusChanged):
1011 2008-08-20  Beth Dakin  <bdakin@apple.com>
1013         Reviewed by Darin Adler.
1015         Fix for <rdar://problem/6145626>
1016         Allows a WebKit client to mark a frame as not-text-searchable 
1017         through SPI.
1019         * WebView/WebFrame.mm:
1020         (-[WebFrame _setExcludeFromTextSearch:]):
1021         * WebView/WebFramePrivate.h:
1023 2008-08-19  Alexey Proskuryakov  <ap@webkit.org>
1025         Reviewed by Geoff Garen.
1027         Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
1029         * ForwardingHeaders/kjs/JSLock.h: Added.
1030         * Misc/WebCoreStatistics.mm:
1031         (+[WebCoreStatistics javaScriptObjectsCount]):
1032         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
1033         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
1034         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
1035         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
1036         (+[WebCoreStatistics shouldPrintExceptions]):
1037         (+[WebCoreStatistics setShouldPrintExceptions:]):
1038         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
1039         * Plugins/WebBaseNetscapePluginStream.mm:
1040         (-[WebBaseNetscapePluginStream wantsAllStreams]):
1041         * Plugins/WebBaseNetscapePluginView.mm:
1042         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
1043         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
1044         (-[WebBaseNetscapePluginView start]):
1045         (-[WebBaseNetscapePluginView createPluginScriptableObject]):
1046         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
1047         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
1048         (-[WebBaseNetscapePluginView loadPluginRequest:]):
1049         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
1050         * Plugins/WebPluginController.mm:
1051         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
1052         (-[WebPluginController startAllPlugins]):
1053         (-[WebPluginController stopAllPlugins]):
1054         (-[WebPluginController addPlugin:]):
1055         (-[WebPluginController destroyPlugin:]):
1056         (-[WebPluginController destroyAllPlugins]):
1057         * WebView/WebFrame.mm:
1058         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
1059         * WebView/WebScriptDebugDelegate.mm:
1060         (-[WebScriptCallFrame evaluateWebScript:]):
1061         * WebView/WebView.mm:
1062         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
1064 2008-08-19  Timothy Hatcher  <timothy@apple.com>
1066         Fixes the Web Inspector flashing white while resizing after
1067         highlighting a page element. Calling disableScreenUpdatesUntilFlush
1068         when attaching and detaching the Inspector page highlight is bad,
1069         since the browser window might not flush again for a while. So screen
1070         updates could be disabled for long periods of time, causing backing store
1071         flashing while resizing. There is no need to call disableScreenUpdatesUntilFlush
1072         when attaching or detaching the child window.
1074         Reviewed by John Sullivan and Kevin McCullough.
1076         * WebInspector/WebNodeHighlight.m:
1077         (-[WebNodeHighlight attach]): Remove the call to disableScreenUpdatesUntilFlush.
1078         (-[WebNodeHighlight detach]): Ditto.
1080 2008-08-19  Timothy Hatcher  <timothy@apple.com>
1082         Correctly remembers the attached state of the Web Inspector so
1083         it opens in that state for the next window, or next launch.
1085         Reviewed by Kevin McCullough.
1087         * WebCoreSupport/WebInspectorClient.mm:
1088         (-[WebInspectorWindowController attach]): Set WebKitInspectorAttachedKey
1089         to YES in the user defaults.
1090         (-[WebInspectorWindowController detach]): Set WebKitInspectorAttachedKey
1091         to NO in the user defaults.
1093 2008-08-18  Alexey Proskuryakov  <ap@webkit.org>
1095         Reviewed by Dan Bernstein.
1097         https://bugs.webkit.org/show_bug.cgi?id=19347
1098         <rdar://problem/5977562> Input methods do not work after switching to a password field
1099         and back.
1101         Fix <rdar://problem/5522011> (The content of the password field of Safari is displayed by
1102         reconversion) in a different way which doesn't conflict with context caching performed
1103         by AppKit.
1105         This original bug does not really occur in ToT or shipping Safari under Mac OS X 10.5.4,
1106         because input methods are disabled in password fields. Attempting to reconvert text typed
1107         with Romaji only yields a string of bullets. Still, it is probably better to match Cocoa
1108         password field behavior and disable reconversion completely.
1110         * WebView/WebHTMLView.mm:
1111         (isInPasswordField): Factored out code to determine that the current selection is in
1112         a password field.
1113         (inputContext): Removed a hack that was breaking TSMGetActiveDocument().
1114         (-[WebHTMLView attributedSubstringFromRange:]): Check for password fields.
1115         (-[WebHTMLView textStorage]): Ditto.
1117 2008-08-12  Darin Adler  <darin@apple.com>
1119         Reviewed by Geoff.
1121         - eliminate JSValue::type()
1123         * WebView/WebView.mm:
1124         (aeDescFromJSValue): Rewrite to use the JSValue::is functions instead
1125         of a switch on JSValue::type().
1127 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
1129         Reviewed by Cameron Zwarich.
1131         Made room for a free word in JSCell.
1132         
1133         (Updated for JavaScriptCore changes.)
1135 2008-08-15  Mark Rowe  <mrowe@apple.com>
1137         Rubber-stamped by Geoff Garen.
1139         <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
1141         * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
1142         between the Debug configuration and debug Production variant.
1144 2008-08-14  Sam Weinig  <sam@webkit.org>
1146         Reviewed by Geoffrey Garen and Timothy Hatcher.
1148         Add WebView SPI to set HTMLTokenizer yielding parameters.
1150         * WebView/WebView.mm:
1151         (-[WebView _setCustomHTMLTokenizerTimeDelay:]):
1152         (-[WebView _setCustomHTMLTokenizerChunkSize:]):
1153         * WebView/WebViewPrivate.h:
1155 2008-08-13  Timothy Hatcher  <timothy@apple.com>
1157         Fixes a bug where Safari's find banner would be permanently hidden
1158         when attaching or closing the Web Inspector while attached.
1160         https://bugs.webkit.org/show_bug.cgi?id=20376
1162         Reviewed by Kevin McCullough.
1164         * WebCoreSupport/WebInspectorClient.mm:
1165         (-[WebInspectorWindowController close]):
1166         Carefully manipulate the WebFrameView's frame when closing to
1167         not assume the WebFrameView's frame fills the inspected WebView.
1168         (-[WebInspectorWindowController setAttachedWindowHeight:]):
1169         Carefully manipulate the WebFrameView's frame when docking to
1170         not assume the WebFrameView plus the Web Inspector WebViews fills
1171         the full inspected WebView.
1173 2008-08-13  Stephanie Lewis  <slewis@apple.com>
1175         fix 64bit build
1177         * WebCoreSupport/WebInspectorClient.mm:
1179 2008-08-13  Timothy Hatcher  <timothy@apple.com>
1181         Remember the docked state of the Web Inspector, so it can be
1182         reopened docked if it was last docked.
1184         https://bugs.webkit.org/show_bug.cgi?id=14271
1186         Reviewed by Kevin McCullough.
1188         * WebCoreSupport/WebInspectorClient.mm:
1189         (-[WebInspectorWindowController init]): Initialize _shouldAttach
1190         to the value stored in the user defaults. If there has never
1191         been a value stored, default to being attached.
1192         (-[WebInspectorWindowController showWindow:]): Pass the attached
1193         state to InspectorController::setWindowVisible.
1195 2008-08-12  Timothy Hatcher  <timothy@apple.com>
1197         Remove the Inspector's WebView for the view hierarchy when closed
1198         while attached. This prevents it from showing in the background
1199         while the page changes.
1201         Reviewed by Kevin McCullough.
1203         * WebCoreSupport/WebInspectorClient.mm:
1204         (-[WebInspectorWindowController close:]): Call removeFromSuperview
1205         on the Inspector's WebView if it isn't attached, so it will not
1206         be visible when navigating pages while closed.
1208 2008-08-12  Timothy Hatcher  <timothy@apple.com>
1210         Make the docked Web Inspector resizable.
1212         https://bugs.webkit.org/show_bug.cgi?id=14282
1214         Reviewed by Kevin McCullough.
1216         * WebCoreSupport/WebInspectorClient.h:
1217         * WebCoreSupport/WebInspectorClient.mm:
1218         (WebInspectorClient::setAttachedWindowHeight): Call setAttachedWindowHeight:
1219         on the WebInspectorWindowController.
1220         (-[WebInspectorWindowController showWindow:]): Call setAttachedWindowHeight:.
1221         (-[WebInspectorWindowController setAttachedWindowHeight:]): Moved code
1222         from showWindow: and generalized to allow being called multiple times.
1223         Remembers the last height passed, which is used by showWindow: the next
1224         time the Inspector attaches.
1226 2008-08-12  Timothy Hatcher  <timothy@apple.com>
1228         Remove unneeded header imports from some Web Inspector files.
1230         Reviewed by Adam Roben.
1232         * WebCoreSupport/WebInspectorClient.mm:
1233         * WebInspector/WebInspector.mm:
1234         * WebInspector/WebNodeHighlightView.m:
1236 2008-08-12  Timothy Hatcher  <timothy@apple.com>
1238         Remove the call to WKNSWindowMakeBottomCornersSquare on the
1239         Web Inspector's window. This isn't needed anymore since the
1240         window style masks used always have square bottom corners.
1242         Reviewed by Adam Roben.
1244         * WebCoreSupport/WebInspectorClient.mm:
1245         (-[WebInspectorWindowController window]): Remove the call
1246         to WKNSWindowMakeBottomCornersSquare.
1248 2008-08-12  Timothy Hatcher  <timothy@apple.com>
1250         Make attaching and detaching the Web Inspector instantaneous.
1251         This also preserves the current view, other state, and keeps
1252         the script debugger attached.
1254         https://bugs.webkit.org/show_bug.cgi?id=19301
1256         Reviewed by Adam Roben.
1258         * WebCoreSupport/WebInspectorClient.mm:
1259         (-[WebInspectorWindowController close]): Only call setWindowVisible(false)
1260         when not moving windows.
1262 2008-08-12  Dan Bernstein  <mitz@apple.com>
1264         Reviewed by John Sullivan.
1266         - replace -[WebPreferences updatesWhenOffscreen] with -[WebView shouldUpdateWhileHidden]
1268         * WebCoreSupport/WebFrameLoaderClient.mm:
1269         (WebFrameLoaderClient::transitionToCommittedForNewPage):
1270         * WebView/WebFrame.mm:
1271         (-[WebFrame _updateBackgroundAndUpdatesWhileHidden]):
1272         * WebView/WebFrameInternal.h:
1273         * WebView/WebHTMLView.mm:
1274         (-[WebHTMLView windowWillOrderOnScreen:]):
1275         * WebView/WebPreferenceKeysPrivate.h:
1276         * WebView/WebPreferences.mm:
1277         (+[WebPreferences initialize]):
1278         * WebView/WebPreferencesPrivate.h:
1279         * WebView/WebView.mm:
1280         (-[WebViewPrivate init]):
1281         (-[WebView _preferencesChangedNotification:]):
1282         (-[WebView setBackgroundColor:]):
1283         (-[WebView setDrawsBackground:]):
1284         (-[WebView shouldUpdateWhileHidden]):
1285         (-[WebView setShouldUpdateWhileHidden:]):
1286         * WebView/WebViewPrivate.h:
1288 2008-08-08  Dan Bernstein  <mitz@apple.com>
1290         Reviewed by John Sullivan.
1292         - fix <rdar://problem/6130216> Exception "windowRegionBeingDrawn != nil" in NSView when caching image of a subframe
1294         This change reintroduces <https://bugs.webkit.org/show_bug.cgi?id=5195> on Leopard.
1296         * WebView/WebHTMLView.mm:
1297         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]): Removed an
1298         unsuccessful workaround for <rdar://problem/5668489>, because invoking
1299         layout may change the view hierarchy during the drawing operation,
1300         which is not supported on Leopard.
1302 2008-08-08  Maxime Britto  <britto@apple.com>
1304         Reviewed by Adele.
1306         * WebView/WebFrame.mm:
1307         (-[WebFrame _scrollDOMRangeToVisible:]):
1309 2008-08-08  Brady Eidson  <beidson@apple.com>
1311         Reviewed by Sam Weinig
1313         Fix for <rdar://problem/5865504>
1315         This bug was actually *largely* fixed by http://trac.webkit.org/changeset/35538.
1316         But with that same patch, it became possible for a WebResource to fail to initialize.  
1317         Therefore we were trying to add nil to an NSCFArray for certain situations, which is bad.
1318         Lets fix that, shall we?
1320         * WebView/WebArchive.mm:
1321         (-[WebArchive subresources]): 
1323 2008-08-06  Eric Seidel  <eric@webkit.org>
1325         Reviewed by Cameron Zwarich.
1327         Move more methods from Frame into ScriptController
1328         https://bugs.webkit.org/show_bug.cgi?id=20294
1330         The WebKit side of this move.  Calls to frame() are now frame()->script()
1332         * Plugins/WebBaseNetscapePluginView.mm:
1333         (-[WebBaseNetscapePluginView getVariable:value:]):
1334         (-[WebBaseNetscapePluginView _destroyPlugin]):
1335         * Plugins/WebPluginController.mm:
1336         (-[WebPluginController destroyPlugin:]):
1337         (-[WebPluginController destroyAllPlugins]):
1338         * WebCoreSupport/WebFrameLoaderClient.mm:
1339         * WebView/WebFrame.mm:
1340         (-[WebFrame windowObject]):
1341         * WebView/WebScriptDebugger.mm:
1342         (WebScriptDebugger::callEvent):
1343         * WebView/WebView.mm:
1344         (-[WebView windowScriptObject]):
1346 2008-08-06  Dan Bernstein  <mitz@apple.com>
1348         Reviewed by Mark Rowe.
1350         - fix an assertion failure in Cache::setCapacities()
1352         * Misc/WebKitSystemBits.h: Changed the return type of WebMemorySize()
1353         to uint64_t.
1354         * Misc/WebKitSystemBits.m:
1355         (WebMemorySize):
1356         * WebView/WebView.mm:
1357         (+[WebView _setCacheModel:]):
1359 2008-08-05  Anders Carlsson  <andersca@apple.com>
1361         Pass in the correct class here.
1362         
1363         * WebView/WebResource.mm:
1364         (-[WebResourcePrivate dealloc]):
1366 2008-08-05  Anders Carlsson  <andersca@apple.com>
1368         Reviewed by Darin Adler.
1370         <rdar://problem/6037398>
1371         ER: Deallocate WebKit objects on the main thread, even if released on secondary thread
1372         
1373         Add calls to WebCoreObjCScheduleDeallocateOnMainThread in dealloc methods of objects we expose.
1375         * Carbon/CarbonWindowAdapter.m:
1376         (-[CarbonWindowAdapter dealloc]):
1377         * History/WebBackForwardList.mm:
1378         (-[WebBackForwardList dealloc]):
1379         * History/WebHistoryItem.mm:
1380         (-[WebHistoryItem dealloc]):
1381         * Misc/WebElementDictionary.mm:
1382         (+[WebElementDictionary initialize]):
1383         (-[WebElementDictionary dealloc]):
1384         * WebCoreSupport/WebEditorClient.mm:
1385         (-[WebEditCommand dealloc]):
1386         * WebCoreSupport/WebFrameLoaderClient.mm:
1387         * WebView/WebArchive.mm:
1388         (-[WebArchivePrivate dealloc]):
1389         * WebView/WebDataSource.mm:
1390         (-[WebDataSourcePrivate dealloc]):
1391         * WebView/WebHTMLView.mm:
1392         (-[WebHTMLViewPrivate dealloc]):
1393         (-[WebHTMLView dealloc]):
1394         * WebView/WebResource.mm:
1395         (-[WebResourcePrivate dealloc]):
1397 2008-08-05  Anders Carlsson  <andersca@apple.com>
1399         Reviewed by Darin Adler.
1401         Remove MainThreadObjectDeallocator.{h|mm}.
1403         * WebView/MainThreadObjectDeallocator.h: Removed.
1404         * WebView/MainThreadObjectDeallocator.mm: Removed.
1405         
1406         * WebView/WebView.mm:
1407         (-[WebView dealloc]):
1408         Call WebCoreObjCScheduleDeallocateOnMainThread instead.
1410 2008-08-05  Anders Carlsson  <andersca@apple.com>
1412         Reviewed by Darin Adler.
1414         Make the main thread object deallocator work with subclasses.
1415         
1416         * WebView/MainThreadObjectDeallocator.h:
1417         * WebView/MainThreadObjectDeallocator.mm:
1418         (deallocCallback):
1419         Call the correct dealloc method.
1420                 
1421         (scheduleDeallocateOnMainThread):
1422         Store both the class and the instance, so we know which dealloc method to call.
1423         
1424         * WebView/WebView.mm:
1425         (-[WebViewPrivate dealloc]):
1426         Schedule deallocation on the main thread.
1428 2008-08-05  Dan Bernstein  <mitz@apple.com>
1430         Reviewed by Mark Rowe and Anders Carlsson.
1432         - fix WebMemorySize() reporting a value capped at 2GB
1434         * misc/WebKitSystemBits.m:
1435         (WebMemorySize): Changed to return the max_mem field, which, unlike
1436         memory_size, is not capped at 2GB.
1437         * WebView/WebView.mm:
1438         (+[WebView _setCacheModel:]): Made the cache sizes for over 2GB RAM the
1439         same as for 2GB, so that behavior on machines that have more than 2GB
1440         RAM is not affected by the fix to WebMemorySize().
1442 2008-08-04  Mark Rowe  <mrowe@apple.com>
1444         Build fix.
1446         * WebView/WebHTMLView.mm:
1448 2008-08-04  Mark Rowe  <mrowe@apple.com>
1450         Reviewed by Kevin Decker.
1452         Adopt the formal protocols where necessary.
1453         Final part of fix for <rdar://problem/5853147>.
1455         * WebCoreSupport/WebInspectorClient.mm:
1456         * WebView/WebHTMLView.mm:
1457         * WebView/WebView.mm:
1458         (-[WebView _openFrameInNewWindowFromMenu:]):
1460 2008-08-04  Mark Rowe  <mrowe@apple.com>
1462         Reviewed by Darin Adler.
1464         Declare empty protocols when using versions of AppKit that do not use formal protocols for delegates and data sources.
1465         Part one of fix for <rdar://problem/5853147>.
1467         * Misc/EmptyProtocolDefinitions.h:
1468         * WebKitPrefix.h:
1470 2008-08-04  Brady Eidson  <beidson@apple.com>
1472         Reviewed by Mitz Pettel
1474         Fix <rdar://problem/5820157> - Saving WebArchives of Mail attachments broken.
1476         This broke in r31355 when we stopped returning nil WebResources when there was nil
1477         resource data.
1479         * WebView/WebResource.mm:
1480         (-[WebResource _initWithCoreResource:]): Restore previous behavior of returning nil
1481           when the resource data is null.
1483 2008-08-02  Matt Lilek  <webkit@mattlilek.com>
1485         Reviewed by Tim Hatcher.
1487         Update the window gradient offset to match the inspector toolbar's new height.
1489         * WebCoreSupport/WebInspectorClient.mm:
1490         (-[WebInspectorWindowController window]):
1492 2008-08-01  Anders Carlsson  <andersca@apple.com>
1494         Reviewed by Jon.
1496         <rdar://problem/6120206>
1497         Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams.
1498         
1499         Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack.
1501         * Plugins/WebBaseNetscapePluginStream.mm:
1502         (-[WebBaseNetscapePluginStream wantsAllStreams]):
1504 2008-07-31  Anders Carlsson  <andersca@apple.com>
1506         Reviewed by Darin Adler.
1508         <rdar://problem/5949410>
1509         Add the ability to transfer a given application cache to a new database.
1511         * Misc/WebKitNSStringExtras.h:
1512         * Misc/WebKitNSStringExtras.m:
1513         (+[NSString _webkit_applicationCacheDirectoryWithBundleIdentifier:]):
1514         New method which returns the appopriate cache directory for a given bundle identifier.
1515         
1516         * WebView/WebDataSource.mm:
1517         (-[WebDataSource _transferApplicationCache:]):
1518         Transfer the application cache.
1519         
1520         * WebView/WebDataSourcePrivate.h:
1521         * WebView/WebView.mm:
1522         (WebKitInitializeApplicationCachePathIfNecessary):
1523         Change this to use _webkit_applicationCacheDirectoryWithBundleIdentifier.
1525 2008-07-31  John Sullivan  <sullivan@apple.com>
1527         WebKit part of <rdar://problem/6116650> Text-only zoom setting should be stored in WebKit prefs
1529         Reviewed by Hyatt
1531         * WebView/WebPreferenceKeysPrivate.h:
1532         added WebKitZoomsTextOnlyPreferenceKey
1533         
1534         * WebView/WebPreferences.mm:
1535         (+[WebPreferences initialize]):
1536         default value of YES for WebKitZoomsTextOnlyPreferenceKey
1537         (-[WebPreferences zoomsTextOnly]):
1538         getter for WebKitZoomsTextOnlyPreferenceKey
1539         (-[WebPreferences setZoomsTextOnly:]):
1540         setter for WebKitZoomsTextOnlyPreferenceKey
1541         
1542         * WebView/WebPreferencesPrivate.h:
1543         declare zoomsTextOnly/setZoomsTextOnly:
1544         
1545         * WebView/WebView.mm:
1546         (-[WebView _preferencesChangedNotification:]):
1547         update WebCore::Settings value for zoomsTextOnly
1549 2008-07-31  David D. Kilzer  <ddkilzer@webkit.org>
1551         Fix layout test results for webarchive/test-xml-stylesheet.xml
1553         Reviewed by Darin Adler.
1555         Needed to expose -[WebHTMLRepresentation supportedNonImageMIMETypes]
1556         for DumpRenderTree.
1558         * WebView/WebHTMLRepresentationInternal.h: Added.
1560 2008-07-31  Alexey Proskuryakov  <ap@webkit.org>
1562         Release build fix.
1564         * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView setWindowIfNecessary]):
1565         Don't define to npErr in release builds, as it is only used for logging.
1567 2008-07-31  John Sullivan  <sullivan@apple.com>
1569         Fixed <https://bugs.webkit.org/show_bug.cgi?id=5195>
1570         drawing with cacheDisplayInRect:toBitmapImageRep: doesn't trigger layout on Leopard
1572         Reviewed by Dan
1574         * WebView/WebHTMLView.mm:
1575         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
1576         include Leopard in the #ifdef that forces a layout if needed
1578 2008-07-30  Brady Eidson  <beidson@apple.com>
1580         Reviewed by Adam and Hyatt
1582         Fix for <rdar://problem/6099748>
1584         * WebView/WebView.mm:
1585         (-[WebView _preferencesChangedNotification:]): Set the "don't enforce CSS mime type in strict mode" 
1586           quirk when running under iWeb 2
1588 2008-07-31  Alexey Proskuryakov  <ap@webkit.org>
1590         Rubber-stamped by Maciej.
1592         Eliminate JSLock (it was already disabled, removing the stub implementaion and all
1593         call sites now).
1595         * ForwardingHeaders/kjs/JSLock.h: Removed.
1596         * Misc/WebCoreStatistics.mm:
1597         (+[WebCoreStatistics javaScriptObjectsCount]):
1598         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
1599         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
1600         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
1601         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
1602         (+[WebCoreStatistics shouldPrintExceptions]):
1603         (+[WebCoreStatistics setShouldPrintExceptions:]):
1604         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
1605         * Plugins/WebBaseNetscapePluginStream.mm:
1606         (-[WebBaseNetscapePluginStream wantsAllStreams]):
1607         * Plugins/WebBaseNetscapePluginView.mm:
1608         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
1609         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
1610         (-[WebBaseNetscapePluginView start]):
1611         (-[WebBaseNetscapePluginView createPluginScriptableObject]):
1612         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
1613         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
1614         (-[WebBaseNetscapePluginView loadPluginRequest:]):
1615         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
1616         * Plugins/WebPluginController.mm:
1617         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
1618         (-[WebPluginController startAllPlugins]):
1619         (-[WebPluginController stopAllPlugins]):
1620         (-[WebPluginController addPlugin:]):
1621         (-[WebPluginController destroyPlugin:]):
1622         (-[WebPluginController destroyAllPlugins]):
1623         * WebView/WebFrame.mm:
1624         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
1625         * WebView/WebScriptDebugDelegate.mm:
1626         (-[WebScriptCallFrame evaluateWebScript:]):
1627         * WebView/WebView.mm:
1628         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
1630 2008-07-30  Beth Dakin  <bdakin@apple.com>
1632         Reviewed by Anders Carlsson.
1634         Fixes <rdar://problem/6041390>
1636         Adds the ability to have a frame that is "disconnected" from the 
1637         main frame from the perspective of top and parent in 
1638         Javascript.
1640         * WebView/WebFrame.mm:
1641         (-[WebFrame _setIsDisconnectedFrame]):
1642         * WebView/WebFramePrivate.h:
1644 2008-07-29  Mark Rowe  <mrowe@apple.com>
1646         Tweak to the build fix to keep Dan happy.
1648         * Plugins/WebBaseNetscapePluginView.mm:
1649         * WebView/WebHTMLView.mm:
1651 2008-07-29  Mark Rowe  <mrowe@apple.com>
1653         Build fix.
1655         * Plugins/WebBaseNetscapePluginView.mm:
1656         (-[WebBaseNetscapePluginView inputContext]):
1657         * WebView/WebHTMLView.mm:
1659 2008-07-28  Anders Carlsson  <andersca@apple.com>
1661         Reviewed by Kevin Decker.
1663         Based on a patch by Dimcho Balev.
1664         
1665         https://bugs.webkit.org/show_bug.cgi?id=18676
1666         <rdar://problem/6106578>
1667         Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
1669         * Plugins/WebBaseNetscapePluginStream.h:
1670         Add NPP_GetValue pointer.
1671         
1672         * Plugins/WebBaseNetscapePluginStream.mm:
1673         (-[WebBaseNetscapePluginStream setPlugin:]):
1674         Initialize NPP_GetValue.
1675         
1676         (-[WebBaseNetscapePluginStream wantsAllStreams]):
1677         Call NPP_GetValue.
1678         
1679         * Plugins/WebPlugInStreamLoaderDelegate.h:
1680         * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h:
1681         * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm:
1682         (WebNetscapePlugInStreamLoaderClient::wantsAllStreams):
1683         Implement this and call down to the stream.
1685 2008-07-28  Anders Carlsson  <andersca@apple.com>
1687         Reviewed by Adam.
1689         <rdar://problem/6105529> 
1690         https://bugs.webkit.org/show_bug.cgi?id=19659
1691         Turning off plugins causes crash
1692         
1693         When an active page has plug-ins, and plug-ins are disabled, they will be stopped and will
1694         end up in a state where they don't have an event handler. Because of this, we need to 
1695         check that the plug-in has been started before calling the event handler.
1696         
1697         * Plugins/WebBaseNetscapePluginView.mm:
1698         (-[WebBaseNetscapePluginView sendActivateEvent:]):
1699         (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
1700         (-[WebBaseNetscapePluginView setHasFocus:]):
1701         (-[WebBaseNetscapePluginView mouseDown:]):
1702         (-[WebBaseNetscapePluginView mouseUp:]):
1703         (-[WebBaseNetscapePluginView mouseEntered:]):
1704         (-[WebBaseNetscapePluginView mouseExited:]):
1705         (-[WebBaseNetscapePluginView handleMouseMoved:]):
1706         (-[WebBaseNetscapePluginView mouseDragged:]):
1707         (-[WebBaseNetscapePluginView scrollWheel:]):
1708         (-[WebBaseNetscapePluginView keyUp:]):
1709         (-[WebBaseNetscapePluginView keyDown:]):
1710         (-[WebBaseNetscapePluginView flagsChanged:]):
1711         (-[WebBaseNetscapePluginView cut:]):
1712         (-[WebBaseNetscapePluginView copy:]):
1713         (-[WebBaseNetscapePluginView paste:]):
1714         (-[WebBaseNetscapePluginView selectAll:]):
1715         (-[WebBaseNetscapePluginView drawRect:]):
1716         (-[WebBaseNetscapePluginView inputContext]):
1718 2008-07-26  Daniel Jalkut  <jalkut@red-sweater.com>
1720         Reviewed by Geoff Garen.
1722         Changes to accommodate newly named/signatured loading methods in WebCore.
1724         * Plugins/WebNetscapePluginStream.mm:
1725         (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
1726         * Plugins/WebPluginContainerCheck.mm:
1727         (-[WebPluginContainerCheck _isForbiddenFileLoad]):
1728         * WebView/WebPDFView.mm:
1729         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
1731 2008-07-21  Mark Rowe  <mrowe@apple.com>
1733         Reviewed by Sam Weinig.
1735         <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
1737         * Configurations/Version.xcconfig:
1738         * Info.plist:
1740 2008-07-21  Anders Carlsson  <andersca@apple.com>
1742         Reviewed by Geoff.
1744         <rdar://problem/5820667> 
1745         CrashTracer: [USER] 3759 crashes in Safari at FrameLoader::activeDocumentLoader const + 6 while canceling plug-in load
1746         
1747         Don't allow URLs to be loaded in response to an NPP_DestroyStream that happens when tearing down the plug-in.
1748         
1749         * Plugins/WebBaseNetscapePluginView.mm:
1750         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
1752 2008-07-21  Mark Rowe  <mrowe@apple.com>
1754         Reviewed by Adam Roben.
1756         <rdar://problem/5624143> WebView printing doesn't work correctly in x86_64
1758         Fix the return type of an NSView method that we override so that the correct data type is used in 64-bit.
1759         This prevents a garbage value being used for the scale factor that the NSView print machinery applies.
1761         * WebView/WebHTMLView.mm:
1763 2008-07-21  Mark Rowe  <mrowe@apple.com>
1765         Reviewed by Adam Roben.
1767         Fix CallDelegateReturningFloat for x86_64.  The x86_64 Objective-C runtime
1768         only uses objc_msgSend_fpret for long double return values.  For float return
1769         values the standard objc_msgSend is used, as on ppc and ppc64.
1771         * WebView/WebView.mm: Use objc_msgSend_float_return as the name of our version of
1772         objc_msgSend with the correct return type.  We can no longer call it objc_msgSend_fpret
1773         as that method is defined by the Objective-C runtime for x86_64.
1774         (CallDelegateReturningFloat):
1776 2008-07-14  Dan Bernstein  <mitz@apple.com>
1778         Reviewed by John Sullivan.
1780         - WebKit part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
1782         * Plugins/WebBaseNetscapePluginView.mm:
1783         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Changed
1784         to account for the case of being drawn into a bitmap context that is not
1785         a window's backing store. In that case, there are no valid "rects being
1786         drawn" to clip to.
1787         * WebView/WebHTMLView.mm:
1788         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
1789         Added an override of this NSView method which is used in for
1790         -cacheDisplayInRect:toBitmapImageRep:. Like two existing NSView drawing
1791         machinery overrides, it sets subviews aside before invoking the
1792         superclass implementation. On Tiger, it also updates the layout.
1794 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
1796         Reviewed by Geoff Garen.
1798         Eliminate per-thread JavaScript global data instance support and make arbitrary
1799         global data/global object combinations possible.
1801         * Misc/WebCoreStatistics.mm:
1802         (+[WebCoreStatistics javaScriptObjectsCount]):
1803         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
1804         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
1805         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
1806         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
1807         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
1808         Ask WebCore for its instance of JSGlobalData, now that it is not in per-thread storage.
1810 2008-07-11  Stephanie Lewis  <slewis@apple.com>
1812         Reviewed by Darin Adler.
1814         Disable WTF leak messages when using fast teardown.  Use full document teardown while running in debug.
1816         * WebView/WebPreferences.m: Removed.
1817         * WebView/WebPreferences.mm: Copied from http:/svn.webkit.org/repository/webkit/trunk/WebKit/mac/WebView/WebPreferences.m.
1818         (+[WebPreferences initialize]): if running in Default enable full  document teardown
1819         (-[WebPreferences editableLinkBehavior]):
1820         (-[WebPreferences setFullDocumentTeardownEnabled:]):
1821         * WebView/WebView.mm:
1822         (-[WebView _close]): disable leak messages if using fast teardown
1824 2008-07-10  Mark Rowe  <mrowe@apple.com>
1826         Reviewed by Sam Weinig.
1828         Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
1830         * Configurations/WebKit.xcconfig:
1832 2008-07-10  Mark Rowe  <mrowe@apple.com>
1834         Reviewed by Sam Weinig.
1836         Fix the Tiger build by omitting annotations from methods declared in categories when using old versions of GCC.
1838         * Plugins/WebPlugin.h: Wrap annotations on methods declared in categories in the WEBKIT_CATEGORY_METHOD_ANNOTATION macro.
1839         * WebView/WebFrameLoadDelegate.h: Ditto.
1840         * WebView/WebUIDelegate.h: Ditto.
1842 2008-07-10  Anders Carlsson  <andersca@apple.com>
1844         Reviewed by Mark.
1845         
1846         Add availability macros for the new WebPlugin methods.
1848         * Plugins/WebPlugin.h:
1849         * Plugins/WebPluginViewFactory.h:
1851 2008-07-09  Mark Rowe  <mrowe@apple.com>
1853         Reviewed by Geoff Garen.
1855         Don't warn about deprecated functions in production builds.
1857         * Configurations/Base.xcconfig:
1858         * Configurations/DebugRelease.xcconfig:
1860 2008-07-09  Brady Eidson  <beidson@apple.com>
1862         Reviewed by Darin
1864         <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
1865         has been installed in a frame tree.
1867         The root of this problem was that calling init() on a new frame could end up calling arbitrary
1868         javascript that might end up removing the frame from the tree.  This opened up a small can of worms
1869         such as the frame not having yet been installed in its frame tree, and other assumed behavior while
1870         destroying the frame.
1872         Note that each platforms WebKit API layer needs to make this new guarantee:
1873         "The new Frame must be installed in its FrameTree before newCoreFrame->init() is called"
1874         I am fixing Mac, and Windows and GTK already have this property.  Wx currently has subframes disabled
1875         but will need to add this guarantee when re-enabling, and Qt is currently vulnerable to this same bug.
1877         Alternately, the way frames are created right now is roundabout and asinine, and this is a key
1878         architectural improvement we can make in the future so the individual platform clients are no longer
1879         vulnerable to this problem, which should really have been a WebCore issue.
1881         * WebCoreSupport/WebFrameLoaderClient.mm:
1882         (WebFrameLoaderClient::createFrame):  Don't bother null checking the newCoreFrame - can't be NULL.
1883           Don't appendChild() the new frame here.
1884           Null-check the new frame's page before loading the URL into it, as it might already have been
1885           removed from the page.
1887         * WebView/WebFrame.mm:
1888         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):  If there is an ownerElement,
1889           go ahead and install the new frame in the frame tree *before* calling init() on it.
1891 2008-07-09  Anders Carlsson  <andersca@apple.com>
1893         Reviewed by Darin Adler.
1895         Make some WebPlugin and WebPluginFactory SPI public.
1896         
1897         * Plugins/WebPlugin.h:
1898         * Plugins/WebPluginPrivate.h:
1899         * Plugins/WebPluginViewFactory.h:
1900         * Plugins/WebPluginViewFactoryPrivate.h:
1902 2008-07-08  Jon Honeycutt  <jhoneycutt@apple.com>
1904         Reviewed by Anders.
1906         Port r34988 to Mac: don't call NPP_DestroyStream if NPP_NewStream was
1907         unsuccessful.
1909         * Plugins/WebBaseNetscapePluginStream.h: Added new member,
1910         newStreamSuccessful.
1911         * Plugins/WebBaseNetscapePluginStream.mm:
1912         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): Initialize new member.
1913         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): If NPP_NewStream is successful, set
1914         newStreamSuccessful to YES.
1915         (-[WebBaseNetscapePluginStream _destroyStream]): Only call
1916         NPP_DestroyStream if newStreamSuccessful is true.
1918 2008-07-08  Dan Bernstein  <mitz@apple.com>
1920         Reviewed by John Sullivan.
1922         - WebKit part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
1924         * WebView/WebHTMLView.mm:
1925         (-[WebHTMLView addWindowObservers]): Added code to observe when the
1926         window goes onscreen.
1927         (-[WebHTMLView removeWindowObservers]): Added.
1928         (-[WebHTMLView windowWillOrderOnScreen:]): Added. If the view is set to
1929         not update when offscreen, calls -setNeedsDisplay: just before it comes
1930         onscreen.
1931         * WebView/WebPreferenceKeysPrivate.h: Added preference key.
1932         * WebView/WebPreferences.m:
1933         (+[WebPreferences initialize]): Made updates when offscreen on by
1934         default.
1935         (-[WebPreferences updatesWhenOffscreen]): Added.
1936         (-[WebPreferences setUpdatesWhenOffscreen:]): Added.
1937         * WebView/WebPreferencesPrivate.h:
1938         * WebView/WebView.mm:
1939         (-[WebView _preferencesChangedNotification:]): Added code to update the
1940         updatesWhenOffscreen setting in WebCore.
1942 2008-07-07  Anders Carlsson  <andersca@apple.com>
1944         Reviewed by Darin Adler.
1946         Speculative fix for     
1947         <rdar://problem/5839800>
1948         CrashTracer: [USER] 5802 crashes in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
1949         
1950         Set _private->closed to YES before calling -[WebPluginController destroyAllPlugins].
1951         
1952         My theory is that the plug-in destruction callbacks could end up rescheduling timers or re-adding notifications.
1953         This is usually protected by _private->closed, but in this case it might still be false.
1955         * WebView/WebHTMLView.mm:
1956         (-[WebHTMLView close]):
1958 2008-07-05  Mark Rowe  <mrowe@apple.com>
1960         Reviewed by John Sullivan.
1962         Remove WebSearchableTextView as it has been unused for some time now.
1964         * Misc/WebSearchableTextView.h: Removed.
1965         * Misc/WebSearchableTextView.m: Removed.
1967 2008-07-05  Mark Rowe  <mrowe@apple.com>
1969         Reviewed by John Sullivan.
1971         Don't leak the result of WKCopyCFLocalizationPreferredName when running under GC.
1973         * Misc/WebNSUserDefaultsExtras.m:
1974         (-[NSString _webkit_HTTPStyleLanguageCode]):
1976 2008-07-02  Alexey Proskuryakov  <ap@webkit.org>
1978         Inspired and reviewed by Mark Rowe.
1980         Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.
1982         * Carbon/HIViewAdapter.m:
1983         * DOM/WebDOMOperations.mm:
1984         * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
1985         * DefaultDelegates/WebDefaultPolicyDelegate.m:
1986         * History/WebBackForwardList.mm:
1987         * History/WebHistory.mm:
1988         * History/WebHistoryItem.mm:
1989         * History/WebHistoryItemInternal.h:
1990         * Misc/WebCoreStatistics.mm:
1991         * Misc/WebDownload.m:
1992         * Misc/WebGraphicsExtras.c:
1993         * Misc/WebKitLogging.h:
1994         * Misc/WebKitSystemBits.m:
1995         * Misc/WebLocalizableStrings.m:
1996         * Misc/WebNSArrayExtras.m:
1997         * Misc/WebNSDataExtras.m:
1998         * Misc/WebNSDictionaryExtras.m:
1999         * Misc/WebNSFileManagerExtras.m:
2000         * Misc/WebNSPasteboardExtras.mm:
2001         * Misc/WebNSURLExtras.mm:
2002         * Misc/WebNSUserDefaultsExtras.m:
2003         * Panels/WebAuthenticationPanel.m:
2004         * Panels/WebPanelAuthenticationHandler.m:
2005         * Plugins/WebBaseNetscapePluginView.mm:
2006         * Plugins/WebBasePluginPackage.m:
2007         * Plugins/WebNetscapePluginEmbeddedView.mm:
2008         * Plugins/WebPluginContainerCheck.mm:
2009         * Plugins/WebPluginController.mm:
2010         * Plugins/WebPluginDatabase.mm:
2011         * WebCoreSupport/WebJavaScriptTextInputPanel.m:
2012         * WebCoreSupport/WebKeyGenerator.m:
2013         * WebCoreSupport/WebViewFactory.mm:
2014         * WebKitPrefix.h:
2015         * WebView/WebHTMLRepresentation.mm:
2016         * WebView/WebPDFRepresentation.m:
2017         * WebView/WebPDFView.mm:
2018         * WebView/WebScriptDebugger.mm:
2020 2008-07-01  Alexey Proskuryakov  <ap@webkit.org>
2022         Reviewed by Darin Adler.
2024         Disable JSLock for per-thread contexts.
2026         * Misc/WebCoreStatistics.mm:
2027         (+[WebCoreStatistics javaScriptObjectsCount]):
2028         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
2029         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
2030         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
2031         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
2032         (+[WebCoreStatistics shouldPrintExceptions]):
2033         (+[WebCoreStatistics setShouldPrintExceptions:]):
2034         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
2035         * Plugins/WebBaseNetscapePluginView.mm:
2036         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
2037         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
2038         (-[WebBaseNetscapePluginView start]):
2039         (-[WebBaseNetscapePluginView createPluginScriptableObject]):
2040         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
2041         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
2042         (-[WebBaseNetscapePluginView loadPluginRequest:]):
2043         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
2044         * Plugins/WebPluginController.mm:
2045         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
2046         (-[WebPluginController startAllPlugins]):
2047         (-[WebPluginController stopAllPlugins]):
2048         (-[WebPluginController addPlugin:]):
2049         (-[WebPluginController destroyPlugin:]):
2050         (-[WebPluginController destroyAllPlugins]):
2051         * WebView/WebFrame.mm:
2052         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
2053         * WebView/WebScriptDebugDelegate.mm:
2054         (-[WebScriptCallFrame evaluateWebScript:]):
2055         * WebView/WebView.mm:
2056         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2057         Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebKit
2058         doesn't need locking. In the future, it may be possible to remove some of these if we
2059         establish that this won't make JSC assertions fail (and that we don't want to add such
2060         assertions either).
2061         Added includes that are now needed.
2063 2008-07-01  Kevin McCullough  <kmccullough@apple.com>
2065         Build fix.
2067         * WebView/WebView.mm:
2069 2008-07-01  Anders Carlsson  <andersca@apple.com>
2071         Reviewed by Darin Adler.
2073         Use the PluginMainThreadScheduler, and implement NPN_PluginThreadAsyncCall.
2074         
2075         * Plugins/WebBaseNetscapePluginView.mm:
2076         (-[WebBaseNetscapePluginView _createPlugin]):
2077         Register the plug-in instance.
2078         
2079         (-[WebBaseNetscapePluginView _destroyPlugin]):
2080         Unegister the plug-in instance.
2081         
2082         * Plugins/WebNetscapePluginPackage.m:
2083         (-[WebNetscapePluginPackage load]):
2084         Set NPN_PluginThreadAsyncCall.
2085         
2086         * Plugins/npapi.mm:
2087         (NPN_PluginThreadAsyncCall):
2088         Implement this.
2090 2008-07-01  Dan Bernstein  <mitz@apple.com>
2092         Reviewed by Darin Adler.
2094         - WebKit part of moving the method to set the base writing direction from Frame to Editor
2096         * WebView/WebHTMLView.mm:
2097         (-[WebHTMLView toggleBaseWritingDirection:]): Changed back to call the
2098         Editor method.
2099         (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
2100         (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.
2102 2008-07-01  Geoffrey Garen  <ggaren@apple.com>
2104         Build fix: forgot to check in this file.
2106         * WebView/WebScriptDebugger.mm:
2107         (WebScriptDebugger::WebScriptDebugger):
2109 2008-06-30  Dan Bernstein  <mitz@apple.com>
2111         Reviewed by Adele Peterson.
2113         - WebKit/mac part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari
2115         * WebView/WebHTMLView.mm:
2116         (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
2117         WebCore::Frame::setSelectionBaseWritingDirection() instead of
2118         WebCore::Editor::setBaseWritingDirection().
2119         (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
2120         (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.
2122 2008-06-28  Darin Adler  <darin@apple.com>
2124         - fix build
2126         * WebView/WebView.mm:
2127         (aeDescFromJSValue): Use get instead of getItem, which no longer exists.
2129 2008-06-26  Anders Carlsson  <andersca@apple.com>
2131         Reviewed by Darin Adler.
2133         Add a new MainThreadObjectDeallocator which can schedule dealloc calls on the main thread
2134         if necessary. Use this for the WebView class. 
2135                 
2136         * WebView/MainThreadObjectDeallocator.h: Added.
2137         * WebView/MainThreadObjectDeallocator.mm: Added.
2138         (deallocCallback):
2139         (scheduleDeallocateOnMainThread):
2140         * WebView/WebView.mm:
2141         (-[WebViewPrivate dealloc]):
2142         (+[WebView initialize]):
2144 2008-06-25  Anders Carlsson  <andersca@apple.com>
2146         Reviewed by Mark.
2148         <rdar://problem/5984270> 
2149         REGRESSION (Tiger only) : Mail crashes because message load is being processed on a secondary thread
2150         
2151         * WebView/WebView.mm:
2152         (tigerMailReleaseIMP):
2153         New method that makes sure that the final release happens on the main thread.
2154         
2155         (-[WebView release]):
2156         New method that just calls [super release];
2157         
2158         (+[WebView initialize]):
2159         When running under Tiger mail, replace the release method with tigerMailReleaseIMP.
2161 2008-06-19  Alexey Proskuryakov  <ap@webkit.org>
2163         Reviewed by Geoff.
2165         Make Machine per-JSGlobalData.
2167         * WebView/WebScriptDebugger.mm:
2168         (WebScriptDebugger::WebScriptDebugger):
2170 2008-06-17  Alexey Proskuryakov  <ap@webkit.org>
2172         Reviewed by Darin Adler.
2174         Prepare JavaScript heap for being per-thread.
2176         * Misc/WebCoreStatistics.mm:
2177         (+[WebCoreStatistics javaScriptObjectsCount]):
2178         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
2179         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
2180         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
2181         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
2182         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
2183         Use JSGlobalData::threadInstance()->heap instead of static Collector calls.
2185 2008-06-17  Darin Adler  <darin@apple.com>
2187         Reviewed by Sam.
2189         * WebView/WebHTMLView.mm:
2190         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Use create instead of new
2191         to create a CSSMutableStyleDeclaration.
2193 2008-06-16  Mark Rowe  <mrowe@apple.com>
2195         Reviewed by Darin Adler.
2197         <rdar://problem/5951874> WebHTMLHighlighter mistakenly gained two new methods, causing compile warnings
2199         _pauseNullEventsForAllNetscapePlugins and _resumeNullEventsForAllNetscapePlugins ended up being declared both in
2200         WebHTMLViewInternal.h and as members of the WebHTMLHighlighter protocol in WebHTMLViewPrivate.h.  They don't belong
2201         in the protocol, but they do need to be available outside of WebKit so they're being moved to the correct location
2202         in WebHTMLViewPrivate.h and removed from WebHTMLViewInternal.h.
2204         * WebView/WebHTMLView.mm:
2205         (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
2206         (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
2207         * WebView/WebHTMLViewInternal.h:
2208         * WebView/WebHTMLViewPrivate.h:
2210 2008-06-15  Darin Adler  <darin@apple.com>
2212         - give Frame object functions shorter names: scriptProxy() -> script(),
2213           selectionController() -> selection(), animationController() -> animation()
2215         * Plugins/WebPluginController.mm:
2216         (-[WebPluginController webPlugInContainerSelectionColor]):
2217         * WebView/WebFrame.mm:
2218         (-[WebFrame _attachScriptDebugger]):
2219         (-[WebFrame _hasSelection]):
2220         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
2221         (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
2222         (-[WebFrame _convertToNSRange:]):
2223         (-[WebFrame _convertToDOMRange:]):
2224         (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
2225         (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
2226         (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
2227         (-[WebFrame _selectedNSRange]):
2228         (-[WebFrame _selectNSRange:]):
2229         (-[WebFrame globalContext]):
2230         * WebView/WebHTMLView.mm:
2231         (-[WebHTMLView _selectedRange]):
2232         (-[WebHTMLView _hasSelection]):
2233         (-[WebHTMLView _hasSelectionOrInsertionPoint]):
2234         (-[WebHTMLView _hasInsertionPoint]):
2235         (-[WebHTMLView _isEditable]):
2236         (-[WebHTMLView _updateFocusedAndActiveState]):
2237         (-[WebHTMLView readSelectionFromPasteboard:]):
2238         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
2239         (-[WebHTMLView maintainsInactiveSelection]):
2240         (-[WebHTMLView paste:]):
2241         (isTextInput):
2242         (-[WebHTMLView inputContext]):
2243         (-[WebTextCompleteController doCompletion]):
2244         (-[WebHTMLView selectAll]):
2245         (-[WebHTMLView deselectAll]):
2246         (-[WebHTMLView selectedAttributedString]):
2247         * WebView/WebView.mm:
2248         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2249         (-[WebView setSelectedDOMRange:affinity:]):
2250         (-[WebView selectedDOMRange]):
2251         (-[WebView selectionAffinity]):
2253 2008-06-15  Darin Adler  <darin@apple.com>
2255         - rename KJS::List to KJS::ArgList
2257         * WebView/WebScriptDebugger.h:
2259 2008-06-15  Darin Adler  <darin@apple.com>
2261         - new names for more JavaScriptCore files
2263         * WebView/WebView.mm:
2265 2008-06-15  Darin Adler  <darin@apple.com>
2267         - new names for a few key JavaScriptCore files
2269         * ForwardingHeaders/kjs/JSFunction.h: Copied from WebKit/mac/ForwardingHeaders/kjs/function.h.
2270         * ForwardingHeaders/kjs/JSObject.h: Copied from WebKit/mac/ForwardingHeaders/kjs/object.h.
2271         * ForwardingHeaders/kjs/JSString.h: Copied from WebKit/mac/ForwardingHeaders/kjs/internal.h.
2272         * ForwardingHeaders/kjs/JSValue.h: Copied from WebKit/mac/ForwardingHeaders/kjs/value.h.
2273         * ForwardingHeaders/kjs/function.h: Removed.
2274         * ForwardingHeaders/kjs/internal.h: Removed.
2275         * ForwardingHeaders/kjs/object.h: Removed.
2276         * ForwardingHeaders/kjs/value.h: Removed.
2277         * WebView/WebScriptDebugDelegate.mm:
2279 2008-06-15  Darin Adler  <darin@apple.com>
2281         Rubber stamped by Sam.
2283         - use JS prefix and simpler names for basic JavaScriptCore types,
2284           to complement JSValue and JSObject
2286         * WebView/WebView.mm:
2287         (aeDescFromJSValue):
2289 2008-06-14  Darin Adler  <darin@apple.com>
2291         Rubber stamped by Sam.
2293         - new names for kjs_binding.h and kjs_proxy.h
2295         * WebView/WebFrame.mm:
2296         * WebView/WebScriptDebugDelegate.mm:
2297         * WebView/WebView.mm:
2299 2008-06-14  Darin Adler  <darin@apple.com>
2301         Rubber stamped by Sam.
2303         - renamed HTMLGenericFormElement to HTMLFormControlElement
2305         * WebView/WebHTMLRepresentation.mm:
2306         (-[WebHTMLRepresentation elementWithName:inForm:]):
2307         (-[WebHTMLRepresentation controlsInForm:]):
2309 2008-06-14  Darin Adler  <darin@apple.com>
2311         Reviewed by Sam.
2313         - more of https://bugs.webkit.org/show_bug.cgi?id=17257
2314           start ref counts at 1 instead of 0 for speed
2316         * WebCoreSupport/WebFrameLoaderClient.mm:
2317         (WebFrameLoaderClient::createDocumentLoader): Use create instead of new.
2318         (WebFrameLoaderClient::createFrame): Remove now-obsolete adoptRef that was balanced by
2319         a ref call inside the Frame constructor. The lifetime rules for Frame are now the
2320         conventional ones without a special case.
2322         * WebView/WebDataSource.mm:
2323         (-[WebDataSource _initWithDocumentLoader:]): Changed argument to be a PassRefPtr, since
2324         this function takes ownership of the DocumentLoader.
2325         (-[WebDataSource initWithRequest:]): Use create instead of new.
2326         * WebView/WebDataSourceInternal.h: Changed _initWithDocumentLoader argument to be a
2327         PassRefPtr and also cleaned up the header a bit.
2329         * WebView/WebDocumentLoaderMac.h:
2330         (WebDocumentLoaderMac::create): Added. Also made the constructor and a couple of virtual
2331         functions private.
2333         * WebView/WebFrame.mm:
2334         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Use create instead
2335         of new.
2337 2008-06-14  Darin Adler  <darin@apple.com>
2339         Reviewed by Sam.
2341         - more work on https://bugs.webkit.org/show_bug.cgi?id=17257
2342           start ref counts at 1 instead of 0 for speed
2344         * WebView/WebFrame.mm:
2345         (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
2346         * WebView/WebPDFView.mm:
2347         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
2349 2008-06-13  Darin Adler  <darin@apple.com>
2351         Reviewed by John Sullivan.
2353         - updated for addition of FormState argument to action policy functions
2354         - added WebActionFormKey
2356         * WebCoreSupport/WebFrameLoaderClient.h:
2357         * WebCoreSupport/WebFrameLoaderClient.mm:
2358         (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
2359         (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
2360         (WebFrameLoaderClient::actionDictionary):
2361         * WebKit.exp:
2362         * WebView/WebPolicyDelegate.mm:
2363         * WebView/WebPolicyDelegatePrivate.h:
2365 2008-06-12  John Sullivan  <sullivan@apple.com>
2367         Reviewed by Dan and Darin
2369         Clear up the confusion about _close (older private method) vs -close (newer public method).
2371         * WebView/WebView.mm:
2372         (-[WebView _isClosed]):
2373         simplified style
2374         (-[WebView _close]):
2375         added a comment about how clients and subclasses should use -close instead
2376         (-[WebView dealloc]):
2377         call -close instead of _close, so subclasses that override the public method will have the intended behavior
2378         (-[WebView close]):
2379         added a comment
2380         (-[WebView _windowWillClose:]):
2381         call -close instead of _close, so subclasses that override the public method will have the intended behavior
2383         * WebView/WebViewPrivate.h:
2384         added a comment about how clients and subclasses should use -close instead
2386 2008-06-07  Darin Adler  <darin@apple.com>
2388         Reviewed by Mitz.
2390         - work on https://bugs.webkit.org/show_bug.cgi?id=17257
2391           start ref counts at 1 instead of 0 for speed
2393         * History/WebHistoryItem.mm:
2394         (-[WebHistoryItem init]):
2395         (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
2396         (-[WebHistoryItem initWithURL:target:parent:title:]):
2397         (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]):
2398         * WebView/WebView.mm:
2399         (+[WebView _decodeData:]):
2401 2008-06-03  Oliver Hunt  <oliver@apple.com>
2403         Reviewed by Tim.
2405         Bug 12983: Web Inspector break on the debugger keyword
2406         <https://bugs.webkit.org/show_bug.cgi?id=12983>
2408         Add stubs to allow old webkit debugger interface to build.
2410         * WebView/WebScriptDebugger.h:
2411         * WebView/WebScriptDebugger.mm:
2413 2008-06-03  Anders Carlsson  <andersca@apple.com>
2415         Reviewed by Darin Adler.
2417         <rdar://problem/5980961>
2418         
2419         In 64-bit Web Kit, converting between float and double, can cause rounding errors which in turn causes
2420         newBottom to be larger than oldBottom which is illegal.
2421         
2422         * WebView/WebHTMLView.mm:
2423         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
2425 2008-06-02  Anders Carlsson  <andersca@apple.com>
2427         Reviewed by Mitz.
2429         Speculative fix for <rdar://problem/5661112> 
2430         CrashTracer: [USER] 49 crashes in DashboardClient at com.apple.WebCore: WebCore::RenderPart::setWidget + 62
2431         
2432         Defer loads while calling NPP_New. Some plug-ins start a run-loop inside NPP_New and finished loads could cause
2433         layouts to be triggered.
2434         
2435         * Plugins/WebBaseNetscapePluginView.mm:
2436         (-[WebBaseNetscapePluginView _createPlugin]):
2438 2008-05-29  Justin Garcia  <justin.garcia@apple.com>
2440         Reviewed by Darin Adler.
2441         
2442         <rdar://problem/5949462> REGRESSION: Can't paste screen captures into Mail
2443         
2444         AppKit started putting PNG instead of PICT onto the pasteboard for screen 
2445         captures.  Added support for PNG with kUTTypePNG.  Tiger doesn't support
2446         setting and retrieving pasteboard types with UTIs, but we don't know of any
2447         applications on Tiger that put only PNG on the pasteboard.
2449         * WebView/WebHTMLView.mm:
2450         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
2451         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
2453 2008-05-29  Anders Carlsson  <andersca@apple.com>
2455         Reviewed by Brady.
2457         <rdar://problem/5970312> 
2458         icon file specified for stand alone web app causes crash if the icon can't be found
2459         
2460         Handle the case where iconData is null.
2461         
2462         * Misc/WebIconFetcher.mm:
2463         (WebIconFetcherClient::finishedFetchingIcon):
2465 2008-05-29  Anders Carlsson  <andersca@apple.com>
2467         Reviewed by Mitz.
2469         <rdar://problem/5971845>
2470         https://bugs.webkit.org/show_bug.cgi?id=19313
2471         Add version member to NPCocoaEvent
2473         Initialize the version member to 0 for all events.
2474         
2475         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
2476         (initializeEvent):
2477         (WebNetscapePluginEventHandlerCocoa::drawRect):
2478         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
2479         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
2480         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
2481         (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
2482         (WebNetscapePluginEventHandlerCocoa::focusChanged):
2484 2008-05-29  Dan Bernstein  <mitz@apple.com>
2486         Reviewed by Jessica Kahn.
2488         - fix <rdar://problem/5965013> Page 2 does not print correctly
2490         When printing, _recursiveDisplayRectIfNeededIgnoringOpacity:... and
2491         _recursiveDisplayAllDirtyWithLockFocus:... can be invoked without
2492         -viewWillDraw being sent first, which could lead to painting without
2493         valid layout. The fix is to ensure up-to-date layout in those methods
2494         when printing.
2496         * WebView/WebHTMLView.mm:
2497         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
2498         (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
2500 2008-05-28  Anders Carlsson  <andersca@apple.com>
2502         Reviewed by Jon.
2504         Remove workaround, this is no longer a problem.
2505         
2506         * WebView/WebView.mm:
2507         (-[WebView _removeObjectForIdentifier:]):
2509 2008-05-27  Geoffrey Garen  <ggaren@apple.com>
2511         Reviewed by Tim Hatcher.
2512         
2513         Fixed https://bugs.webkit.org/show_bug.cgi?id=19183
2514         REGRESSION (r33979): Crash in DebuggerCallFrame::functionName when
2515         clicking button in returnEvent-crash.html
2516         
2517         Added implementations for willExecuteProgram and didExecuteProgram, which
2518         take care of making sure we're not hanging on to stale data.
2520 2008-05-27  Timothy Hatcher  <timothy@apple.com>
2522         Fixes a bug where unplugging the monitor from a video card and
2523         moving it to another video card would no longer show OpenGL plugins
2524         until you relaunched Safari.
2526         <rdar://problem/5790983> Add AllowOfflineDisplays pixel format
2527         attribute to OpenGL contexts
2529         Reviewed by Kevin Decker.
2531         * Plugins/WebBaseNetscapePluginView.mm:
2532         (-[WebBaseNetscapePluginView _createWindowedAGLContext]): Added
2533         AGL_ALLOW_OFFLINE_RENDERERS for non-Tiger builds.
2534         (-[WebBaseNetscapePluginView _createWindowlessAGLContext]): Ditto.
2536 2008-05-25  Mark Rowe  <mrowe@apple.com>
2538         Reviewed by Darin Adler.
2540         <rdar://problem/5840884> _recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined
2542         Follow-up for r33052.  _recursive_resumeNullEventsForAllNetscapePlugins and _recursive_pauseNullEventsForAllNetscapePlugins
2543         need to be declared in WebFramePrivate.h rather than WebFrameInternal.h so they can be used from outside of WebKit.
2545         * WebView/WebFrame.mm:
2546         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
2547         (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
2548         * WebView/WebFrameInternal.h:
2549         * WebView/WebFramePrivate.h:
2551 2008-05-23  Timothy Hatcher  <timothy@apple.com>
2553         Fix attaching and detaching the Web Inspector. This change removes
2554         the clunky animation that never looked right and was causing issues
2555         where the inspected WebView would get into a no useable state.
2557         <rdar://problem/5958812> Attaching and Detaching the Web Inspector
2558         can cause the inspected WebVIew to be unusable
2560         Reviewed by Adam Roben.
2562         * WebCoreSupport/WebInspectorClient.mm:
2563         (-[WebInspectorWindowController close]): Removes animation code.
2564         Sets the frame directly and does a displayIfNeeded to prevent
2565         showing the Inspector in the page and in the Inspector window.
2566         (-[WebInspectorWindowController showWindow:]): Removes animation code.
2567         Sets the frame directly.
2568         (-[WebInspectorWindowController attach]): Simplified.
2569         (-[WebInspectorWindowController detach]): Ditto.
2571 2008-05-22  Dan Bernstein  <mitz@apple.com>
2573         Reviewed by Darin Adler.
2575         - fix broken documentation of
2576           webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
2578         * WebView/WebUIDelegate.h: Fixed method name in HeaderDoc for
2579         -webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
2581 2008-05-22  Timothy Hatcher  <timothy@apple.com>
2583         <rdar://problem/5956403> Update the Develop menu to match the new Inspector items
2585         Reviewed by Adam Roben.
2587         * WebCoreSupport/WebInspectorClient.mm:
2588         (-[WebInspectorWindowController showWebInspector:]):
2589         (-[WebInspectorWindowController showErrorConsole:]):
2590         (-[WebInspectorWindowController toggleDebuggingJavaScript:]):
2591         (-[WebInspectorWindowController toggleProfilingJavaScript:]):
2592         (-[WebInspectorWindowController validateUserInterfaceItem:]):
2593         * WebInspector/WebInspector.h:
2594         * WebInspector/WebInspector.mm:
2595         (-[WebInspector showConsole:]):
2596         (-[WebInspector showTimeline:]):
2597         (-[WebInspector isDebuggingJavaScript]):
2598         (-[WebInspector toggleDebuggingJavaScript:]):
2599         (-[WebInspector startDebuggingJavaScript:]):
2600         (-[WebInspector stopDebuggingJavaScript:]):
2601         (-[WebInspector isProfilingJavaScript]):
2602         (-[WebInspector toggleProfilingJavaScript:]):
2603         (-[WebInspector startProfilingJavaScript:]):
2604         (-[WebInspector stopProfilingJavaScript:]):
2606 2008-05-22  Josh Aas  <joshmoz@gmail.com>
2608         Reviewed by Anders.
2610         <rdar://problem/5956429> 
2611         https://bugs.webkit.org/show_bug.cgi?id=19192
2612         remove NPNVpluginEventModel, fix example plugin
2613         
2614         * Plugins/WebBaseNetscapePluginView.mm:
2615         (-[WebBaseNetscapePluginView getVariable:value:]):
2617 2008-05-21  Anders Carlsson  <andersca@apple.com>
2619         Reviewed by Maciej.
2621         Add WebIconFetcher.
2622         
2623         * Misc/WebIconFetcher.h: Added.
2624         * Misc/WebIconFetcher.mm: Added.
2625         (WebIconFetcherClient::WebIconFetcherClient):
2626         (WebIconFetcherClient::finishedFetchingIcon):
2627         (WebIconFetcherClient::setFetcher):
2628         (-[WebIconFetcher init]):
2629         (-[WebIconFetcher dealloc]):
2630         (-[WebIconFetcher finalize]):
2631         (-[WebIconFetcher cancel]):
2632         (-[WebIconFetcher _initWithIconFetcher:client:]):
2633         (+[WebIconFetcher _fetchApplicationIconForFrame:target:selector:]):
2634         * Misc/WebIconFetcherInternal.h: Added.
2635         * WebView/WebFrame.mm:
2636         (-[WebFrame fetchApplicationIcon:selector:]):
2637         * WebView/WebFramePrivate.h:
2639 === End merge of squirrelfish ===
2641 2008-05-21  Geoffrey Garen  <ggaren@apple.com>
2643         Reviewed by Tim Hatcher.
2644         
2645         Updated for API changes from merging with trunk WebCore's new debugger.
2647         * WebView/WebScriptDebugDelegate.mm:
2648         (-[WebScriptCallFrame evaluateWebScript:]): Explicitly check for an
2649         exception return, since the DebuggerCallFrame no longer automatically
2650         substitutes the exception for the return value.
2652         * WebView/WebScriptDebugger.mm: Use the dynamic global object, not the
2653         lexical global object, since the debugger attaches based on dynamic
2654         global object.
2656 2008-05-17  Geoffrey Garen  <ggaren@apple.com>
2658         Reviewed by Oliver Hunt.
2659         
2660         Re-enabled previously disabled debugging functionality.
2661         
2662         There are two major changes from how the WebKit debugger used to work:
2663         
2664         (1) All the interesting bits are implemented down in JavaScriptCore. The
2665         debugger just calls through to KJS::DebuggerCallFrame for everything.
2666         
2667         (2) Instead of copyihng a pointer to an ExecState once, the debugger
2668         copies the DebuggerCallFrame passed to it in each callback. This is
2669         because the VM no longer maintains a fully transparent execution state
2670         to which you can hold a pointer, and the DebuggerCallFrames it vends
2671         are temporaries.
2672         
2673         Also, we NULL out a WebScriptCallFrame's DebuggerCallFrame upon return
2674         from its function. This is safer than the old method, which was to
2675         hold a stale ExecState* and hope for the best.
2677 2008-05-13  Geoffrey Garen  <ggaren@apple.com>
2679         Reviewed by Oliver Hunt.
2681         Updated for API changes in KJS::Debugger.
2683         * WebView/WebFrame.mm:
2684         (-[WebFrame _attachScriptDebugger]): Changed the order of operations to
2685         fix an ASSERT that can happen when re-entering _attachScriptDebugger.
2687 2008-05-13  Geoffrey Garen  <ggaren@apple.com>
2689         Reviewed by Oliver Hunt.
2690         
2691         Updated WebScriptDebugger API to accept a SourceProvider instead
2692         of a WebCore::String, to avoid copying.
2694         (WebScriptDebugger::sourceParsed): Updated this function not to return
2695         a value.
2697 2008-04-30  Geoffrey Garen  <ggaren@apple.com>
2699         Build fix: #ifdef'd out some code that doesn't work anymore.
2701 2008-04-30  Geoffrey Garen  <ggaren@apple.com>
2703         Reviewed by Oliver Hunt.
2704         
2705         #ifdef'd out some debugger code that doesn't work anymore.
2707         * WebView/WebScriptDebugDelegate.mm:
2708         (-[WebScriptCallFrame scopeChain]):
2710 2008-04-21  Geoffrey Garen  <ggaren@apple.com>
2712         Build fix.
2714         * ChangeLog:
2715         * WebView/WebScriptDebugDelegate.mm:
2716         (-[WebScriptCallFrame scopeChain]):
2718 2008-03-30  Geoffrey Garen  <ggaren@apple.com>
2720         Reviewed by Oliver Hunt.
2721         
2722         Build fix.
2724 === Start merge of squirrelfish ===
2726 2008-05-21  Darin Adler  <darin@apple.com>
2728         - fix build
2730         * WebView/WebViewPrivate.h: Remove declaration of closeWithFastTeardown. We can add it back later
2731         if we want, but if we do, we should probably make some refinements like checking _private->closed
2732         and applicationIsTerminating.
2734 2008-05-21  Darin Adler  <darin@apple.com>
2736         Reviewed by Anders and Kevin Decker.
2738         - fix <rdar://problem/5951130> REGRESSION: crash on quit after reopening windows from previous session
2740         * WebView/WebView.mm:
2741         (-[WebViewPrivate dealloc]): Fix assertions to not complain when fast teardown is used.
2742         (-[WebView _closePluginDatabases]): Factored out some common code from both versions of close.
2743         (-[WebView _closeWithFastTeardown]): Added an underscore to this method's name, since it's internal.
2744         Streamlined the code a bit. Added a line of code to set _private->closed (this is the bug fix).
2745         (-[WebView _close]): Changed for new method name and to use _closePluginDatabases.
2747 2008-05-19  Stephanie Lewis  <slewis@apple.com>
2749         Reviewed by Darin Adler.
2750     
2751         more fast teardown performance work
2753         * Misc/WebDownload.m:
2754         (-[WebDownloadInternal downloadDidBegin:]):
2755         (-[WebDownloadInternal downloadDidFinish:]):
2756         (-[WebDownloadInternal download:didFailWithError:]):
2757         * WebCoreSupport/WebChromeClient.h:
2758         * WebCoreSupport/WebChromeClient.mm:
2759         (WebChromeClient::disableSuddenTermination):
2760         (WebChromeClient::enableSuddenTermination):
2762 2008-05-18  Dan Bernstein  <mitz@apple.com>
2764         Reviewed by Sam Weinig.
2766         - fix <rdar://problem/5944596> IDNs are displayed as punycode in the authentication panel
2768         * Panels/WebAuthenticationPanel.m:
2769         (-[WebAuthenticationPanel setUpForChallenge:]):
2771 2008-05-16  Timothy Hatcher  <timothy@apple.com>
2773         Removes WebScriptDebugServer files and related calls. This removes
2774         the hooks that Drosera uses for debugging. Now that the Web Inspector
2775         has a better debugger, we don't need these anymore.
2777         Reviewed by Sam Weinig.
2779         * DefaultDelegates/WebScriptDebugServer.h: Removed.
2780         * DefaultDelegates/WebScriptDebugServer.m: Removed.
2781         * DefaultDelegates/WebScriptDebugServerPrivate.h: Removed.
2782         * WebCoreSupport/WebFrameLoaderClient.mm:
2783         * WebKit.exp:
2784         * WebView/WebScriptDebugDelegate.mm:
2785         * WebView/WebScriptDebugger.mm:
2786         (WebScriptDebugger::sourceParsed):
2787         (WebScriptDebugger::callEvent):
2788         (WebScriptDebugger::atStatement):
2789         (WebScriptDebugger::returnEvent):
2790         (WebScriptDebugger::exception):
2791         * WebView/WebView.mm:
2792         (-[WebView _commonInitializationWithFrameName:groupName:]):
2793         * WebView/WebViewPrivate.h:
2795 2008-05-16  Brady Eidson  <beidson@apple.com>
2797         Reviewed by Anders
2799         <rdar://problem/5942616> - Need to standardize LocalStorage persistence path
2801         Took the opportunity to touch up another pref that needs the same standardization.
2802         That pref is currently not in use on Mac.
2804         * WebView/WebPreferences.m:
2805         (-[WebPreferences _setFTPDirectoryTemplatePath:]):
2806         (-[WebPreferences _localStorageDatabasePath]):
2807         (-[WebPreferences _setLocalStorageDatabasePath:]):
2808         (-[WebPreferences _ftpDirectoryTemplatePath]):
2810 2008-05-16  Chris Fleizach  <cfleizach@apple.com>
2812         Reviewed by Alice Liu
2814         <rdar://problem/5710317> REGRESSION:Selecting ranges of text should be possible using the keyboard (15310)
2816         * WebView/WebFrame.mm:
2817         (-[WebFrame _accessibilityTree]):
2819 2008-05-15  Stephanie Lewis  <slewis@apple.com>
2820         
2821         fix mac build
2823         * WebView/WebView.mm:
2824         (-[WebView closeWithFastTeardown]):
2826 2008-05-15  Stephanie Lewis  <slewis@apple.com>
2828         Reviewed by Anders.
2830         Turn on fast teardown.  I added a preference for using full teardown because 
2831         the LEAKS output will be useless without a full teardown.  
2833         preference for fullteardown
2834         * WebView/WebPreferenceKeysPrivate.h:
2835         * WebView/WebPreferences.m:
2836         (-[WebPreferences setFullDocumentTeardownEnabled:]):
2837         (-[WebPreferences fullDocumentTeardownEnabled]):
2838         * WebView/WebPreferencesPrivate.h:
2839         
2840         on application quit dispatch unload events and destroy plugins then exit
2841         * WebView/WebView.mm:
2842         (-[WebView closeWithFastTeardown]):
2843         (-[WebView _close]):
2844         * WebView/WebViewPrivate.h:
2846 2008-05-15  Stephanie Lewis  <slewis@apple.com>
2848         Reviewed by Anders.
2850         get the pending frame unload count from WebCore
2852         * WebView/WebFrame.mm:
2853         (-[WebFrame _pendingFrameUnloadEventCount]):
2854         * WebView/WebFramePrivate.h:
2856 2008-05-15  John Sullivan  <sullivan@apple.com>
2858         Reviewed by Kevin Decker
2859         
2860         - fixed <rdar://problem/5940275> Inspector highlighting moves to bottom-left corner of 
2861           screen when new tab appears
2862           
2863         The highlight should go away entirely, but this simple patch just makes it not jump away.
2864         The issue with it not going away entirely is harder to fix and covered by <rdar://problem/5322306>
2866         * WebInspector/WebNodeHighlight.m:
2867         (-[WebNodeHighlight _repositionHighlightWindow]):
2868         Bail out if target view isn't in a window
2870 2008-05-15  Stephanie Lewis  <slewis@apple.com>
2872         Reviewed by Anders.
2874         Track views that contain plugin instances so that they can be destroyed at application
2875         quit without walking the entire document tree.
2877         Add/Remove Netscape plugin views from instance list.  Start/stop are when netscape
2878         plugins are created and destroyed
2879         * Plugins/WebBaseNetscapePluginView.mm:
2880         (-[WebBaseNetscapePluginView start]):
2881         (-[WebBaseNetscapePluginView stop]):
2883         Add/remove WebKit plugin views from instance list
2884         * Plugins/WebPluginController.mm:
2885         (-[WebPluginController addPlugin:]):
2886         (-[WebPluginController destroyPlugin:]):
2887         (-[WebPluginController destroyAllPlugins]):
2889         Add a set of views with plugin instances to the WebPluginDatabase
2890         * Plugins/WebPluginDatabase.h:
2891         * Plugins/WebPluginDatabase.mm:
2892         (-[WebPluginDatabase init]):
2893         (-[WebPluginDatabase dealloc]):
2894         (-[WebPluginDatabase addPluginInstanceView:]):
2895         (-[WebPluginDatabase removePluginInstanceView:]):
2896         (-[WebPluginDatabase removePluginInstanceViewsFor:]):
2897         (-[WebPluginDatabase destroyAllPluginInstanceViews]):
2898         
2899         Handle cases where plugin views are detached before the plugin is destroyed.
2900         * WebCoreSupport/WebFrameLoaderClient.mm:
2901         (WebFrameLoaderClient::detachedFromParent2):
2902         (WebFrameLoaderClient::transitionToCommittedFromCachedPage):
2903         (WebFrameLoaderClient::transitionToCommittedForNewPage):
2905         Add plugin instances to the set in the WebPluginDatabase by way of the WebView
2906         * WebView/WebHTMLView.mm:
2907         (-[WebHTMLView _destroyAllWebPlugins]):
2908         * WebView/WebHTMLViewInternal.h:
2909         * WebView/WebView.mm:
2910         (-[WebView addPluginInstanceView:]):
2911         (-[WebView removePluginInstanceView:]):
2912         (-[WebView removePluginInstanceViewsFor:]):
2913         * WebView/WebViewInternal.h:
2915 2008-05-15  Brady Eidson  <beidson@apple.com>
2917         Reviewed by Tim Hatcher
2919         Until the settings/preferences equation can be reworked, we'll need to manually set the local storage path
2920         before setting the page group of the new page.
2921         
2922         * WebView/WebView.mm:
2923         (-[WebView _commonInitializationWithFrameName:groupName:]): Set the LocalStorage path 
2924           immediately after creating the page so it is in place for initializing the LocalStorageThread
2926 2008-05-15  Timothy Hatcher  <timothy@apple.com>
2928         Fixes the bug where the Web Inspector would flash white while resizing.
2929         This was cause by deferring the window creation.
2931         <rdar://problem/5873549> REGRESSION: Inspector flickers horribly while resizing (17979)
2933         Reviewed by Darin Adler.
2935         * WebCoreSupport/WebInspectorClient.mm:
2936         (-[WebInspectorWindowController window]): Don't defer the window creation.
2938 2008-05-15  Alexey Proskuryakov  <ap@webkit.org>
2940         Tiger build fix.
2942         * Misc/WebNSAttributedStringExtras.mm: Import WebTypesInternal.h for NSUInteger.
2944 2008-05-15  Adele Peterson  <adele@apple.com>
2946         Reviewed and landed by Alexey.
2948         Use TextIterator in +[NSAttributedString _web_attributedStringFromRange:].
2950         * Misc/WebNSAttributedStringExtras.mm:
2951         (+[NSAttributedString _web_attributedStringFromRange:]):
2953 2008-05-14  Eric Seidel  <eric@webkit.org>
2955         Reviewed by Oliver.
2957         Add missing NULL check to match rest of file, this was found by the editing fuzzer.
2959         * WebView/WebResource.mm:
2960         (-[WebResource data]):
2962 2008-05-14  Alexey Proskuryakov  <ap@webkit.org>
2964         Reviewed by Dan Bernstein.
2966         NPP_ValidAttributesForMarkedText should return NSArray*, not NSArray.
2968         * Plugins/nptextinput.h:
2970 2008-05-13  Anders Carlsson  <andersca@apple.com>
2972         Reviewed by Sam.
2974         Don't empty the application cache in _setCacheModel, since it will be called during initialization.
2975         Instead, do it in [WebCache empty].
2976         
2977         * Misc/WebCache.mm:
2978         (+[WebCache empty]):
2979         * WebView/WebView.mm:
2980         (+[WebView _setCacheModel:]):
2982 2008-05-13  chris fleizach  <cfleizach@apple.com>
2984         Reviewed by Beth Dakin
2986         <rdar://problem/4780592> WebKit application has its window announced as HTML content
2988         * WebCoreSupport/WebViewFactory.mm:
2989         (-[WebViewFactory AXWebAreaText]):
2991 2008-05-13  Timothy Hatcher  <timothy@apple.com>
2993         Fixes a crash seen in Xcode where CallUIDelegateReturningBoolean
2994         was referencing a nil WebView under validateUserInterfaceItem.
2995         The validateUserInterfaceItem methods was being called at a time
2996         when the WebHTMLView is being torndown.
2998         <rdar://problem/5806229> A crash occurs at CallUIDelegateReturningBoolean()
2999         while mousing down on menu bar after Xcode News window is opened
3001         Reviewed by Ada Chan.
3003         * WebView/WebHTMLView.mm:
3004         (-[WebHTMLView validateUserInterfaceItem:]): NULL check the WebView and
3005         return NO when it is nil. Adds a comment.
3006         * WebView/WebPDFView.mm:
3007         (-[WebPDFView validateUserInterfaceItem:]): Ditto.
3009 2008-05-13  Mark Rowe  <mrowe@apple.com>
3011         Reviewed by John Sullivan.
3013         <rdar://problem/5926425> HIWebViewCreateWithClass declared as API in HIWebView.h but never exported from WebKit.framework
3015         * Carbon/HIWebView.h: Remove HIWebViewCreateWithClass.
3016         * Carbon/HIWebView.m: Ditto.
3017         (HIWebViewCreate):
3018         (HIWebViewConstructor):
3020 2008-05-12  Dan Bernstein  <mitz@apple.com>
3022         Reviewed by Ada Chan.
3024         - WebKit/mac changes for https://bugs.webkit.org/show_bug.cgi?id=17097
3025           <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
3027         Added font cache statistics and a function to purge inactive font data.
3029         * Misc/WebCoreStatistics.h:
3030         * Misc/WebCoreStatistics.mm:
3031         (+[WebCoreStatistics cachedFontDataCount]):
3032         (+[WebCoreStatistics cachedFontDataInactiveCount]):
3033         (+[WebCoreStatistics purgeInactiveFontData]):
3034         (+[WebCoreStatistics glyphPageCount]):
3036 2008-05-12  Mark Rowe  <mrowe@apple.com>
3038         Reviewed by Tim Hatcher.
3040         Decorate some deprecated delegate methods with the availability macros.
3042         The compiler doesn't appear to warn if a delegate implements these methods, but using the availability
3043         macros is good for consistency and documentation.
3045         * WebView/WebFrameLoadDelegate.h:
3046         * WebView/WebUIDelegate.h:
3048 2008-05-12  Mark Rowe  <mrowe@apple.com>
3050         Reviewed by Tim Hatcher.
3052         <rdar://problem/5835604> Deprecate HIWebView
3054         Use of HIWebView is deprecated in favor of embedding a WebView in a HICocoaView.
3056         * Carbon/CarbonUtils.h: Include the availability macro header and decorate the functions appropriately.
3057         * Carbon/HIWebView.h: Ditto.
3059 2008-05-12  Kevin Decker  <kdecker@apple.com>
3061         Reviewed by Anders.
3063         Fixed: <rdar://problem/5840884>_recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined
3064         
3065         Re-added these SPI methods because they are needed by some clients. They were accidentally removed
3066         in changeset <http://trac.webkit.org/changeset/31028>
3067         
3068         * Plugins/WebBaseNetscapePluginView.h: Added stopTimers, restartTimers to the header.
3069         * WebView/WebFrame.mm:
3070         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): Re-addd.
3071         (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): Ditto.
3072         * WebView/WebFrameInternal.h: Ditto.
3073         * WebView/WebHTMLView.mm: Ditto.
3074         (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): Ditto.
3075         (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]): Ditto.
3076         * WebView/WebHTMLViewInternal.h: Ditto.
3077         * WebView/WebHTMLViewPrivate.h: Ditto.
3079 2008-05-12  Anders Carlsson  <andersca@apple.com>
3081         Reviewed by Alexey.
3083         Empty the application cache when changing the cache model.
3084         
3085         * WebView/WebView.mm:
3086         (+[WebView _setCacheModel:]):
3088 2008-05-12  Anders Carlsson  <andersca@apple.com>
3090         Reviewed by Oliver.
3092         <rdar://problem/5774495> Make Unicode text input possible in Netscape-style plug-ins
3093         
3094         * Plugins/WebBaseNetscapePluginView.h:
3095         * Plugins/WebBaseNetscapePluginView.mm:
3096         (-[WebBaseNetscapePluginView start]):
3097         Get the plug-in text input vtable pointer.
3098         
3099         (-[WebBaseNetscapePluginView stop]):
3100         Set the plug-in text input vtable pointer to 0.
3101         
3102         (-[WebBaseNetscapePluginView inputContext]):
3103         Return 0 for Carbon plug-ins since we don't want Cocoa to handle text input for them.
3104         
3105         (-[WebBaseNetscapePluginView hasMarkedText]):        
3106         (-[WebBaseNetscapePluginView insertText:]):
3107         (-[WebBaseNetscapePluginView markedRange]):
3108         (-[WebBaseNetscapePluginView selectedRange]):
3109         (-[WebBaseNetscapePluginView setMarkedText:selectedRange:]):
3110         (-[WebBaseNetscapePluginView unmarkText]):
3111         (-[WebBaseNetscapePluginView validAttributesForMarkedText]):
3112         (-[WebBaseNetscapePluginView attributedSubstringFromRange:]):
3113         (-[WebBaseNetscapePluginView characterIndexForPoint:]):
3114         (-[WebBaseNetscapePluginView doCommandBySelector:]):
3115         (-[WebBaseNetscapePluginView firstRectForCharacterRange:]):
3116         (-[WebBaseNetscapePluginView conversationIdentifier]):
3117         Implement NSTextInput and call into the plug-in text input vtable.
3118         
3119         (browserTextInputFuncs):
3120         New method which returns the browser input vtable.
3121         
3122         (-[WebBaseNetscapePluginView getVariable:value:]):
3123         Support getting the browser input vtable pointer.
3124         
3125         * Plugins/WebNetscapePluginEventHandlerCocoa.h:
3126         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
3127         (WebNetscapePluginEventHandlerCocoa::keyDown):
3128         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
3129         If the plug-in returns 0 when a NPCocoaEventKeyDown is passed to NPP_HandleEvent,
3130         it means that the event should be passed on to the input manager.
3131          
3132         * Plugins/npapi.mm:
3133         (NPN_MarkedTextAbandoned):
3134         (NPN_MarkedTextSelectionChanged):
3135         Add implementations of browser input method methods.
3136         
3137         * Plugins/nptextinput.h: Added.
3138         Add file with new text input API.
3140 2008-05-12  Alexey Proskuryakov  <ap@webkit.org>
3142         Roll out recent  threading changes (r32807, r32810, r32819, r32822) to simplify
3143         SquirrelFish merging.
3145         * Misc/WebCoreStatistics.mm:
3146         (+[WebCoreStatistics javaScriptObjectsCount]):
3147         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
3148         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
3149         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
3150         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
3151         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
3152         * WebView/WebScriptDebugDelegate.mm:
3153         (-[WebScriptCallFrame evaluateWebScript:]):
3155 2008-05-07  Anders Carlsson  <andersca@apple.com>
3157         Reviewed by Mitz.
3159         REGRESSION (3.1.1-TOT): Arrow keys are sticky in Google Maps street view
3160         https://bugs.webkit.org/show_bug.cgi?id=18880
3161         <rdar://problem/5909513>
3163         Stop suspending key up events before calling handleEvent.
3164         
3165         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
3166         (WebNetscapePluginEventHandlerCarbon::sendEvent):
3168 2008-05-06  Stephanie Lewis  <slewis@apple.com>
3170         Reviewed by Andersca.
3172         prepare for plugin fast teardown work - make WebPluginDatabase a objective C++ file.
3174         * Plugins/WebPluginDatabase.m: Removed.
3175         * Plugins/WebPluginDatabase.mm: Copied from WebKit/mac/Plugins/WebPluginDatabase.m.
3176         * Plugins/npapi.m: Removed.
3177         * Plugins/npapi.mm: Copied from WebKit/mac/Plugins/npapi.m.
3179 2008-05-06  Anders Carlsson  <andersca@apple.com>
3181         Reviewed by Darin Adler.
3183         Initialize numArchs to 0.
3184         
3185         * Plugins/WebBasePluginPackage.m:
3186         (-[WebBasePluginPackage isNativeLibraryData:]):
3188 2008-05-06  Anders Carlsson  <andersca@apple.com>
3190         Reviewed by Darin Adler.
3192         Add implementation of NPN_PopUpContextMenu.
3193         
3194         * Plugins/WebBaseNetscapePluginView.mm:
3195         (-[WebBaseNetscapePluginView popUpContextMenu:]):
3196         * Plugins/WebBaseNetscapePluginViewPrivate.h:
3197         * Plugins/WebNetscapePluginPackage.m:
3198         (-[WebNetscapePluginPackage load]):
3199         * Plugins/npapi.m:
3200         (NPN_PopUpContextMenu):
3202 2008-05-06  Anders Carlsson  <andersca@apple.com>
3204         Fix typo (don't read random memory).
3205         
3206         * Plugins/WebBasePluginPackage.m:
3207         (-[WebBasePluginPackage isNativeLibraryData:]):
3209 2008-05-05  Anders Carlsson  <andersca@apple.com>
3211         Reviewed by Darin Adler.
3213         Change the isNativeLibraryData: method to handle universal binaries.
3214         
3215         * Plugins/WebBasePluginPackage.m:
3216         (swapIntsInHeader):
3217         (-[WebBasePluginPackage isNativeLibraryData:]):
3219 2008-05-06  Brady Eidson  <beidson@apple.com>
3221         Reviewed by Darin Adler
3223         Preparation for upcoming work making LocalStorage persistent.
3225         When the application terminates, all LocalStorage areas must be sync'ed out to disk first.
3227         * WebView/WebView.mm:
3228         (+[WebView _applicationWillTerminate]):  Close all LocalStorage areas before quitting.
3230 2008-05-05  Sam Weinig  <sam@webkit.org>
3232         Reviewed by Darin Adler.
3234         Fix for <rdar://problem/5884383>
3235         Escape look-a-like characters from the the entire url.
3237         * Misc/WebNSURLExtras.mm:
3238         (escapeUnsafeCharacters):
3239         (-[NSURL _web_userVisibleString]):
3241 2008-05-05  Justin Garcia  <justin.garcia@apple.com>
3243         Reviewed by Darin Adler.
3244         
3245         <rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end
3247         * WebView/WebView.mm:
3248         (-[WebView _updateSettingsFromPreferences:]): Disable Range mutation on changes to
3249         the document for Tiger and Leopard Mail.  There is code in Mail that does it, and
3250         the two interfere.
3252 2008-05-05  Sam Weinig  <sam@webkit.org>
3254         Reviewed by Tim Hatcher.
3256         Make the Inspector's localizable strings file match the format used by Dashboard widgets.
3258         * WebCoreSupport/WebInspectorClient.mm:
3259         (WebInspectorClient::localizedStringsURL):
3261 2008-05-05  Anders Carlsson  <andersca@apple.com>
3263         Reviewed by Jess.
3265         Apparently preflighting can cause hangs for some reason. Revert this for now.
3266         
3267         * Plugins/WebNetscapePluginPackage.m:
3268         (-[WebNetscapePluginPackage _initWithPath:]):
3269         * Plugins/WebPluginPackage.m:
3270         (-[WebPluginPackage initWithPath:]):
3272 2008-05-05  Darin Adler  <darin@apple.com>
3274         Reviewed by Mitz.
3276         - https://bugs.webkit.org/show_bug.cgi?id=18789
3277           fix some shouldCloseWithWindow edge cases
3279         * WebView/WebView.mm:
3280         (-[WebView viewWillMoveToWindow:]): Fix bug where we would stop observing the
3281         NSWindowWillCloseNotification if the view was moved out of the window but still
3282         had that window set as the host window. Also make sure this function doesn't do
3283         anything if the WebView is already closed.
3284         (-[WebView setHostWindow:]): Ditto.
3286 2008-05-04  David Kilzer  <ddkilzer@apple.com>
3288         Make parameters match for WebChromeClient::addMessageToConsole()
3290         Reviewed by John.
3292         * WebCoreSupport/WebChromeClient.h:
3293         (WebChromeClient::addMessageToConsole): Renamed sourceID parameter
3294         to sourceURL to match implementation in WebChromeClient.mm.
3296 2008-05-02  Anders Carlsson  <andersca@apple.com>
3298         Reviewed by Mark.
3300         Various Cocoa event model and 64-bit plug-in fixes.
3301         
3302         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
3303         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
3304         Set click count.
3305         
3306         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
3307         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
3308         Don't try to get the mouse location for keyboard events.
3309         
3310         * Plugins/WebPluginPackage.m:
3311         (-[WebPluginPackage initWithPath:]):
3312         Preflight the bundle so we won't show 32-bit WebKit plug-ins when running as 64-bit.
3314 2008-05-02  Anders Carlsson  <andersca@apple.com>
3316         Reviewed by Sam.
3318         The event union is now named.
3319         
3320         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
3321         (WebNetscapePluginEventHandlerCocoa::drawRect):
3322         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
3323         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
3324         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
3325         (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
3326         (WebNetscapePluginEventHandlerCocoa::focusChanged):
3328 2008-05-02  Anders Carlsson  <andersca@apple.com>
3330         Reviewed by Mark.
3332         Make sure that 32-bit only plug-ins aren't shown when running as 64-bit.
3333         
3334         Call preflightAndReturnError on the bundle, which will check if any of the architectures
3335         in the bundle match the current architecture.
3336         
3337         * Plugins/WebNetscapePluginPackage.m:
3338         (-[WebNetscapePluginPackage _initWithPath:]):
3340 2008-05-02  Alexey Proskuryakov  <ap@webkit.org>
3342         Reviewed by Geoffrey Garen.
3344         https://bugs.webkit.org/show_bug.cgi?id=18826
3345         Make JavaScript heap per-thread
3347         * Misc/WebCoreStatistics.mm:
3348         (+[WebCoreStatistics javaScriptObjectsCount]):
3349         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
3350         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
3351         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
3352         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
3353         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
3354         Replaced static Collector calls with calls to a current thread's instance.
3356         * WebView/WebScriptDebugDelegate.mm:
3357         (-[WebScriptCallFrame evaluateWebScript:]):
3358         Pass ExecState to jsString().
3360 2008-05-01  Anders Carlsson  <andersca@apple.com>
3362         Reviewed by Mark.
3364         64-bit NPAPI plugin build fixes.
3365         
3366         * Plugins/WebBaseNetscapePluginView.mm:
3367         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
3368         (-[WebBaseNetscapePluginView updateAndSetWindow]):
3369         (-[WebBaseNetscapePluginView start]):
3370         (-[WebBaseNetscapePluginView windowBecameKey:]):
3371         * Plugins/WebNetscapeDeprecatedFunctions.c:
3372         * Plugins/WebNetscapeDeprecatedFunctions.h:
3373         * Plugins/WebNetscapePluginEventHandler.mm:
3374         (WebNetscapePluginEventHandler::create):
3375         * Plugins/WebNetscapePluginEventHandlerCarbon.h:
3376         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
3377         * Plugins/WebPluginDatabase.m:
3378         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
3380 2008-05-01  Anders Carlsson  <andersca@apple.com>
3382         Reviewed by Tim.
3384         Remove duplicate npfunctions.h header from WebKit.
3386         * MigrateHeaders.make:
3387         Migrate npfunctions.h
3388         
3389         * Plugins/npfunctions.h: Removed.
3391 2008-05-01  Anders Carlsson  <andersca@apple.com>
3393         Reviewed by John.
3394         
3395         Add null checks for the event handler.
3396         
3397         * Plugins/WebBaseNetscapePluginView.mm:
3398         (-[WebBaseNetscapePluginView stopTimers]):
3399         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
3401 2008-05-01  Anders Carlsson  <andersca@apple.com>
3403         Fix 64-bit build.
3404         
3405         * Plugins/WebNetscapePluginEventHandlerCocoa.h:
3406         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
3407         * WebCoreSupport/WebFrameLoaderClient.mm:
3409 2008-05-01  Anders Carlsson  <andersca@apple.com>
3411         Fix build.
3412         
3413         * Plugins/npfunctions.h:
3415 2008-05-01  Anders Carlsson  <andersca@apple.com>
3417         Reviewed by Adam.
3419         Forward mouse move events to the Netscape plug-in view.
3420         
3421         * Plugins/WebBaseNetscapePluginView.h:
3422         * Plugins/WebBaseNetscapePluginView.mm:
3423         (-[WebBaseNetscapePluginView handleMouseMoved:]):
3424         New method that just calls the current event handler.
3425         
3426         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
3427         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
3428         NSFlagsChanged is not a regular keyboard event and some of the NSEvent accessors
3429         don't work on it so don't call them.
3430         
3431         * WebCoreSupport/WebFrameLoaderClient.mm:
3432         (NetscapePluginWidget::NetscapePluginWidget):
3433         New Widget subclass to be used for Netscape plug-ins.
3434         
3435         (NetscapePluginWidget::handleEvent):
3436         Forward NSMouseMoved events to the plug-in.
3437         
3438         (WebFrameLoaderClient::createPlugin):
3439         Wrap the plug-in view in a NetscapePluginWidget.
3441 2008-05-01  Alp Toker  <alp@nuanti.com>
3443         Rubber-stamped by Anders.
3445         GTK+ build fix for changes in r32752. Use int32, not int32_t types in
3446         npapi.h.
3448         Additional fix to use same signedness in npapi.h and Mac for the
3449         interval parameter.
3451         * Plugins/WebBaseNetscapePluginView.h:
3452         * Plugins/WebBaseNetscapePluginView.mm:
3453         (PluginTimer::PluginTimer):
3454         (-[WebBaseNetscapePluginView stopTimers]):
3455         (-[WebBaseNetscapePluginView restartTimers]):
3456         (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
3457         (-[WebBaseNetscapePluginView unscheduleTimer:]):
3458         * Plugins/WebBaseNetscapePluginViewPrivate.h:
3459         * Plugins/npapi.m:
3460         (NPN_ScheduleTimer):
3461         (NPN_UnscheduleTimer):
3462         * Plugins/npfunctions.h:
3464 2008-04-30  Anders Carlsson  <andersca@apple.com>
3466         Reviewed by Adam.
3468         Add new Cocoa event model and the NPN_ScheduleTimer/NPN_UnscheduleTimer methods.
3469         
3470         * Plugins/WebBaseNetscapePluginView.h:
3471         * Plugins/WebBaseNetscapePluginView.mm:
3472         (PluginTimer::PluginTimer):
3473         (PluginTimer::start):
3474         (PluginTimer::fired):
3475         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
3476         (-[WebBaseNetscapePluginView stopTimers]):
3477         (-[WebBaseNetscapePluginView restartTimers]):
3478         (-[WebBaseNetscapePluginView scrollWheel:]):
3479         (-[WebBaseNetscapePluginView flagsChanged:]):
3480         (-[WebBaseNetscapePluginView start]):
3481         (-[WebBaseNetscapePluginView eventModel]):
3482         (-[WebBaseNetscapePluginView fini]):
3483         (-[WebBaseNetscapePluginView getVariable:value:]):
3484         (-[WebBaseNetscapePluginView setVariable:value:]):
3485         (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
3486         (-[WebBaseNetscapePluginView unscheduleTimer:]):
3487         * Plugins/WebBaseNetscapePluginViewInternal.h:
3488         * Plugins/WebBaseNetscapePluginViewPrivate.h:
3489         * Plugins/WebNetscapePluginEventHandler.h:
3490         * Plugins/WebNetscapePluginEventHandler.mm:
3491         (WebNetscapePluginEventHandler::create):
3492         * Plugins/WebNetscapePluginEventHandlerCarbon.h:
3493         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
3494         (WebNetscapePluginEventHandlerCarbon::scrollWheel):
3495         (WebNetscapePluginEventHandlerCarbon::flagsChanged):
3496         (WebNetscapePluginEventHandlerCarbon::platformWindow):
3497         * Plugins/WebNetscapePluginEventHandlerCocoa.h: Added.
3498         (WebNetscapePluginEventHandlerCocoa::startTimers):
3499         (WebNetscapePluginEventHandlerCocoa::stopTimers):
3500         * Plugins/WebNetscapePluginEventHandlerCocoa.mm: Added.
3501         (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
3502         (WebNetscapePluginEventHandlerCocoa::drawRect):
3503         (WebNetscapePluginEventHandlerCocoa::mouseDown):
3504         (WebNetscapePluginEventHandlerCocoa::mouseDragged):
3505         (WebNetscapePluginEventHandlerCocoa::mouseEntered):
3506         (WebNetscapePluginEventHandlerCocoa::mouseExited):
3507         (WebNetscapePluginEventHandlerCocoa::mouseMoved):
3508         (WebNetscapePluginEventHandlerCocoa::mouseUp):
3509         (WebNetscapePluginEventHandlerCocoa::scrollWheel):
3510         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
3511         (WebNetscapePluginEventHandlerCocoa::keyDown):
3512         (WebNetscapePluginEventHandlerCocoa::keyUp):
3513         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
3514         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
3515         (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
3516         (WebNetscapePluginEventHandlerCocoa::focusChanged):
3517         (WebNetscapePluginEventHandlerCocoa::platformWindow):
3518         (WebNetscapePluginEventHandlerCocoa::sendEvent):
3519         * Plugins/WebNetscapePluginPackage.m:
3520         (-[WebNetscapePluginPackage load]):
3521         * Plugins/npapi.m:
3522         (NPN_ScheduleTimer):
3523         (NPN_UnscheduleTimer):
3524         * Plugins/npfunctions.h:
3526 2008-04-30  Brady Eidson  <beidson@apple.com>
3528         Fix my WebPreferences revert check-in
3530         * WebView/WebView.mm:
3531         (-[WebView _preferencesChangedNotification:]):
3533 2008-04-30  Brady Eidson  <beidson@apple.com>
3535         Rubberstamped by John Sullivan
3537         Revert the remainder of my original preferences changes from last week.
3538         They caused a massive PLT regression (too many notifications being sent out
3539         or listened to that weren't previously) and it's not in my schedule to refine
3540         the preferences code instead of working on my feature!
3542         * WebView/WebView.mm:
3543         (-[WebView _updateSettingsFromPreferences:]):
3544         (-[WebView _commonInitializationWithFrameName:groupName:]):
3546 2008-04-30  Anders Carlsson  <andersca@apple.com>
3548         Fix the 64-bit build.
3549         
3550         * Plugins/WebNetscapePluginEventHandler.h:
3551         * Plugins/WebNetscapePluginEventHandler.mm:
3552         * Plugins/WebNetscapePluginEventHandlerCarbon.h:
3553         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
3555 2008-04-29  David D. Kilzer  <ddkilzer@apple.com>
3557         BUILD FIX for Release build.
3559         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
3560         (WebNetscapePluginEventHandlerCarbon::drawRect): Declare acceptedEvent
3561         separately so the compiler doesn't complain about an unused variable.
3562         (WebNetscapePluginEventHandlerCarbon::TSMEventHandler): Ditto.
3564 2008-04-29  Anders Carlsson  <andersca@apple.com>
3566         Reviewed by Adam.
3568         Refactor the Carbon event handling code out into a separate class in preparation for adding
3569         the Cocoa event handling code.
3570         
3571         * Plugins/WebBaseNetscapePluginView.h:
3572         * Plugins/WebBaseNetscapePluginView.mm:
3573         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
3574         (-[WebBaseNetscapePluginView sendActivateEvent:]):
3575         (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
3576         (-[WebBaseNetscapePluginView stopTimers]):
3577         (-[WebBaseNetscapePluginView restartTimers]):
3578         (-[WebBaseNetscapePluginView setHasFocus:]):
3579         (-[WebBaseNetscapePluginView mouseDown:]):
3580         (-[WebBaseNetscapePluginView mouseUp:]):
3581         (-[WebBaseNetscapePluginView mouseEntered:]):
3582         (-[WebBaseNetscapePluginView mouseExited:]):
3583         (-[WebBaseNetscapePluginView mouseDragged:]):
3584         (-[WebBaseNetscapePluginView keyUp:]):
3585         (-[WebBaseNetscapePluginView keyDown:]):
3586         (-[WebBaseNetscapePluginView cut:]):
3587         (-[WebBaseNetscapePluginView copy:]):
3588         (-[WebBaseNetscapePluginView paste:]):
3589         (-[WebBaseNetscapePluginView selectAll:]):
3590         (-[WebBaseNetscapePluginView start]):
3591         (-[WebBaseNetscapePluginView stop]):
3592         (-[WebBaseNetscapePluginView fini]):
3593         (-[WebBaseNetscapePluginView drawRect:]):
3594         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
3595         (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
3596         (-[WebBaseNetscapePluginView windowBecameKey:]):
3597         (-[WebBaseNetscapePluginView windowResignedKey:]):
3598         (-[WebBaseNetscapePluginView windowDidMiniaturize:]):
3599         (-[WebBaseNetscapePluginView windowDidDeminiaturize:]):
3600         (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]):
3601         (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]):
3602         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
3603         (-[WebBaseNetscapePluginView _viewHasMoved]):
3604         * Plugins/WebBaseNetscapePluginViewInternal.h:
3605         * Plugins/WebNetscapePluginEmbeddedView.h:
3606         * Plugins/WebNetscapePluginEventHandler.h: Added.
3607         (WebNetscapePluginEventHandler::~WebNetscapePluginEventHandler):
3608         (WebNetscapePluginEventHandler::currentEventIsUserGesture):
3609         (WebNetscapePluginEventHandler::WebNetscapePluginEventHandler):
3610         * Plugins/WebNetscapePluginEventHandler.mm: Added.
3611         (WebNetscapePluginEventHandler::create):
3612         * Plugins/WebNetscapePluginEventHandlerCarbon.h: Added.
3613         * Plugins/WebNetscapePluginEventHandlerCarbon.mm: Added.
3614         (WebNetscapePluginEventHandlerCarbon::WebNetscapePluginEventHandlerCarbon):
3615         (getCarbonEvent):
3616         (modifiersForEvent):
3617         (WebNetscapePluginEventHandlerCarbon::sendNullEvent):
3618         (WebNetscapePluginEventHandlerCarbon::drawRect):
3619         (WebNetscapePluginEventHandlerCarbon::mouseDown):
3620         (WebNetscapePluginEventHandlerCarbon::mouseUp):
3621         (WebNetscapePluginEventHandlerCarbon::mouseEntered):
3622         (WebNetscapePluginEventHandlerCarbon::mouseExited):
3623         (WebNetscapePluginEventHandlerCarbon::mouseDragged):
3624         (WebNetscapePluginEventHandlerCarbon::mouseMoved):
3625         (WebNetscapePluginEventHandlerCarbon::keyDown):
3626         (keyMessageForEvent):
3627         (WebNetscapePluginEventHandlerCarbon::keyUp):
3628         (WebNetscapePluginEventHandlerCarbon::focusChanged):
3629         (WebNetscapePluginEventHandlerCarbon::windowFocusChanged):
3630         (WebNetscapePluginEventHandlerCarbon::TSMEventHandler):
3631         (WebNetscapePluginEventHandlerCarbon::installKeyEventHandler):
3632         (WebNetscapePluginEventHandlerCarbon::removeKeyEventHandler):
3633         (WebNetscapePluginEventHandlerCarbon::nullEventTimerFired):
3634         (WebNetscapePluginEventHandlerCarbon::startTimers):
3635         (WebNetscapePluginEventHandlerCarbon::stopTimers):
3636         (WebNetscapePluginEventHandlerCarbon::sendEvent):
3638 2008-04-29  Mark Rowe  <mrowe@apple.com>
3640         Reviewed by David Harrison.
3642         Ensure that WebDynamicScrollBarsView defines WebCoreScrollbarAlwaysOn to keep Mail building.
3644         * WebKit.exp:
3645         * WebView/WebDynamicScrollBarsView.h:
3646         * WebView/WebDynamicScrollBarsView.m:
3648 2008-04-29  Greg Bolsinga  <bolsinga@apple.com>
3650         Reviewed by Darin Adler.
3652         Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT)
3654         * WebCoreSupport/WebChromeClient.h:
3655         * WebCoreSupport/WebChromeClient.mm:
3656         * WebView/WebClipView.m:
3657         (-[WebClipView scrollWheel:]):
3658         * WebView/WebHTMLView.mm:
3659         (-[WebHTMLView addMouseMovedObserver]):
3660         (-[WebHTMLView removeMouseMovedObserver]):
3661         (-[WebHTMLView acceptsFirstMouse:]):
3662         * WebView/WebUIDelegatePrivate.h:
3663         * WebView/WebView.mm:
3664         (-[WebViewPrivate init]):
3665         * WebView/WebViewPrivate.h:
3667 2008-04-28  Rob Buis  <buis@kde.org>
3669         Reviewed by Maciej.
3671         Build fix for Tiger.
3673         * WebView/WebView.mm:
3674         (WebKitInitializeApplicationCachePathIfNecessary):
3676 2008-04-28  Adele Peterson  <adele@apple.com>
3678         Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler.
3680         WebKit part of fix for <rdar://problem/3709505>
3681         Safari should have a way to upload bundles from the file upload control (as zip)
3683         Added UIDelegate methods to let the application handle generating replacement files for uploads.
3684         In this case, Safari will create archived files for bundles so they can be uploaded properly.
3686         * DefaultDelegates/WebDefaultUIDelegate.m:
3687         (-[WebDefaultUIDelegate webView:shouldReplaceUploadFile:usingGeneratedFilename:]):
3688         (-[WebDefaultUIDelegate webView:generateReplacementFile:]):
3689         * WebCoreSupport/WebChromeClient.h:
3690         * WebCoreSupport/WebChromeClient.mm:
3691         (WebChromeClient::shouldReplaceWithGeneratedFileForUpload):
3692         (WebChromeClient::generateReplacementFile):
3693         * WebView/WebUIDelegatePrivate.h:
3695 2008-04-28  Anders Carlsson  <andersca@apple.com>
3697         Reviewed by Sam, Mark, Adele and Darin.
3699         Initialize the application cache path.
3700         
3701         * WebView/WebView.mm:
3702         (WebKitInitializeApplicationCachePathIfNecessary):
3703         (-[WebView _commonInitializationWithFrameName:groupName:]):
3705 2008-04-28  Alice Liu  <alice.liu@apple.com>
3707         Reviewed by Darin Adler.
3709         Fix <rdar://problem/4911289> Add tabindex property to all children 
3710         of HTMLElement (7138)
3711         http://bugs.webkit.org/show_bug.cgi?id=7138
3713         * MigrateHeaders.make:
3714         Removing DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h
3715         because now that focus() has been moved to DOMHTMLElement.h, these
3716         files are no longer needed.
3718 2008-04-25  Alexey Proskuryakov  <ap@webkit.org>
3720         Reviewed by Darin Adler.
3722         Fix run-webkit-tests --threading
3723         and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
3724         Proxy server issue in Sunday's Nightly
3726         * WebView/WebView.mm: (-[WebViewPrivate init]): Initialize threading. Previously, this was
3727         only done from icon database code, which is not robust enough.
3729 2008-04-20 Adam Barth <hk9565@gmail.com>
3731         Reviewed by Adam Roben and Sam Weinig.
3733         Updated WebSecurityOrigin to match new SecurityOrigin API.
3735         Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
3737         * Storage/WebSecurityOrigin.mm:
3738         (-[WebSecurityOrigin host]):
3739         (-[WebSecurityOrigin domain]):
3740         * Storage/WebSecurityOriginPrivate.h:
3742 2008-04-25  Mark Rowe  <mrowe@apple.com>
3744         Rubber-stamped by Sam Weinig.
3746         Add some content to an empty ICU header file to prevent verification errors.
3748         * icu/unicode/utf_old.h:
3750 2008-04-25  Anders Carlsson  <andersca@apple.com>
3752         Reviewed by Sam.
3754         Add offlineWebApplicationCacheEnabled preference.
3755         
3756         * WebView/WebPreferenceKeysPrivate.h:
3757         * WebView/WebPreferences.m:
3758         (+[WebPreferences initialize]):
3759         (-[WebPreferences offlineWebApplicationCacheEnabled]):
3760         (-[WebPreferences setOfflineWebApplicationCacheEnabled:]):
3761         * WebView/WebPreferencesPrivate.h:
3762         * WebView/WebView.mm:
3763         (-[WebView _updateSettingsFromPreferences:]):
3765 2008-04-24  Mark Rowe  <mrowe@apple.com>
3767         Reviewed by Sam Weinig.
3769         Remove code for calculating the glyph cache size.
3771         * WebCoreSupport/WebSystemInterface.m:
3772         (InitWebCoreSystemInterface): Remove unused symbol.
3774 2008-04-24  Mark Rowe  <mrowe@apple.com>
3776         Reviewed by Sam Weinig.
3778         Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER.
3780         * WebKitPrefix.h:
3782 2008-04-24  Brady Eidson  <beidson@apple.com>
3784         Reviewed by Darin
3786         Fix layout test regressions from my earlier preferences/settings tweak.
3788         * WebView/WebView.mm:
3789         (-[WebView _commonInitializationWithFrameName:groupName:]): Even if we're not posting
3790           the notification to update the settings, each WebView still needs to register for the
3791           notification - restore that behavior.
3793 2008-04-24  Dan Bernstein  <mitz@apple.com>
3795         Reviewed by Darin Adler.
3797         - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
3798           <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
3800         * WebView/WebFrame.mm:
3801         (-[WebFrame _caretRectAtNode:offset:affinity:]): Changed to use
3802         VisiblePosition::caretRect() instead of the RenderObject method which
3803         was removed.
3805 2008-04-24  Brady Eidson  <beidson@apple.com>
3807         Reviewed by Darin
3809         Rework the Settings population again.
3811         * WebView/WebView.mm:
3812         (-[WebView _updateSettingsFromPreferences:]): This method is called both from _preferencesChangedNotification
3813           and directly from WebView's common init function.
3814         (-[WebView _preferencesChangedNotification:]):
3815         (-[WebView _commonInitializationWithFrameName:groupName:]): Call _updateSettingsFromPreferences immediately
3816           after creating the new Page
3818 2008-04-24  Darin Adler  <darin@apple.com>
3820         Reviewed by Geoff.
3822         - fix crash in regression test where we'd ask a frame for a user agent string
3823           after the WebView was already closed
3825         * WebCoreSupport/WebFrameLoaderClient.mm:
3826         (WebFrameLoaderClient::userAgent): Assert that the WebView is not nil. Also
3827         added some code to prevent the crash in release builds if this problem happens
3828         again.
3830 2008-04-24  Anders Carlsson  <andersca@apple.com>
3832         Reviewed by Sam.
3834         Change some String arguments to be const references instead.
3836         * WebCoreSupport/WebEditorClient.h:
3837         * WebCoreSupport/WebEditorClient.mm:
3838         (WebEditorClient::shouldInsertText):
3840 2008-04-24  John Sullivan  <sullivan@apple.com>
3842         Mac build fix
3843         
3844         * WebCoreSupport/WebViewFactory.mm:
3845         (-[WebViewFactory AXButtonActionVerb]):
3846         implement this method using the text in WebCoreLocalizedStrings.cpp
3847         (-[WebViewFactory AXRadioButtonActionVerb]):
3848         ditto
3849         (-[WebViewFactory AXTextFieldActionVerb]):
3850         ditto
3851         (-[WebViewFactory AXCheckedCheckBoxActionVerb]):
3852         ditto
3853         (-[WebViewFactory AXUncheckedCheckBoxActionVerb]):
3854         ditto
3855         (-[WebViewFactory AXLinkActionVerb]):
3856         ditto
3858 2008-04-23  Brady Eidson  <beidson@apple.com>
3860         Reviewed by Sam Weinig
3862         In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings
3863         object before the Settings object is initialized.  It seems quite prudent to post the preferences changed notification,
3864         thereby populating the Settings object, immediately after the Page is created.
3866         * WebView/WebView.mm:
3867         (-[WebView _commonInitializationWithFrameName:groupName:]): Post the notification right after the Page is created
3869 2008-04-24  John Sullivan  <sullivan@apple.com>
3871         Reviewed by Jess
3872         
3873         - fixed <rdar://problem/5886655> JavaScript input panel automatic resizing doesn't work right with HiDPI
3875         * Misc/WebNSControlExtras.m:
3876         (-[NSControl sizeToFitAndAdjustWindowHeight]):
3877         deploy userSpaceScaleFactor when using view distances on the window
3879 2008-04-22  Anders Carlsson  <andersca@apple.com>
3881         Reviewed by Darin Adler.
3883         Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.
3884         
3885         * Plugins/npfunctions.h:
3887 2008-04-20  Matt Lilek  <webkit@mattlilek.com>
3889         Mysteriously reviewed by mitz|away.
3891         Bug 18111: Closing a tab while dragging crashes Safari
3892         https://bugs.webkit.org/show_bug.cgi?id=18111
3894         Null check the page before handling drag events.
3896         * WebView/WebView.mm:
3897         (-[WebView draggingUpdated:]):
3898         (-[WebView draggingExited:]):
3900 2008-04-19  Brady Eidson  <beidson@apple.com>
3902         Reviewed by Tim Hatcher
3904         Add a WebPreference for the path of the local storage persistent store.
3906         * WebView/WebPreferenceKeysPrivate.h:
3908         * WebView/WebPreferences.m:
3909         (-[WebPreferences _localStorageDatabasePath]):
3910         (-[WebPreferences _setLocalStorageDatabasePath:]):
3911         * WebView/WebPreferencesPrivate.h:
3913         * WebView/WebView.mm:
3914         (-[WebView _preferencesChangedNotification:]):
3916 2008-04-18  Brady Eidson  <beidson@apple.com>
3918         Reviewed by Sam Weinig
3920         Don't clear the PageGroup on _close, as the WebCore::Page destructor already does this.
3921         No reason to do the work twice...
3923         * WebView/WebView.mm:
3924         (-[WebView _close]):
3926 2008-04-17  Eric Seidel  <eric@webkit.org>
3928         Reviewed by beth.
3930         Rename Frame::renderer() to contentRenderer() and fix uses.
3932         * Misc/WebCoreStatistics.mm:
3933         * WebView/WebRenderNode.mm:
3934         (-[WebRenderNode initWithWebFrameView:]):
3936 2008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
3938         Reviewed by mrowe.
3940         * WebView/WebFrame.mm: Remove temporary build fix.
3942 2008-04-17  Mark Rowe  <mrowe@apple.com>
3944         Reviewed by Dan Bernstein.
3946         Fix <rdar://problem/5863552> REGRESSION (r30741): Attachments don't appear in the iChat message window after sending
3948         The order of arguments to -[NSDictionary initWithObjects:andKeys:] had been transposed accidentally during refactoring.
3950         * WebCoreSupport/WebFrameLoaderClient.mm:
3951         (WebFrameLoaderClient::createPlugin): Pass the arguments in the correct order.
3953 2008-04-17  Mark Rowe  <mrowe@apple.com>
3955         Rubber-stamped by Dan Bernstein.
3957         Fix the Mac build.
3959         * WebView/WebFrame.mm: Define HAVE_ACCESSIBILITY before including AccessibilityObject.h and AXObjectCache.h to get things building
3960         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
3961         for this to live going forward.
3963 2008-04-15  Kevin Decker  <kdecker@apple.com>
3965         Reviewed by Anders.
3967         <rdar://problem/5412759> CrashTracer: [USER] 22 crashes in Safari at com.apple.quicktime.webplugin: NPN_SetValue + 15403
3968         
3969         In certain situations, code in WebBasePluginPackage would load a plug-in only for the explicit reason of asking it to create a
3970         preference file, but wouldn't actually unload the bundle. This created problems for the QuickTime WebKit plug-in by unloading
3971         a bundle out from underneath itself.
3973         * Plugins/WebBasePluginPackage.h: Added unload method.
3974         * Plugins/WebBasePluginPackage.m:
3975         (-[WebBasePluginPackage unload]): Added new method. Currently, only Netscape plug-ins support unload.
3976         (-[WebBasePluginPackage pListForPath:createFile:]): Added a call to unload.
3977         * Plugins/WebNetscapePluginPackage.m:
3978         (-[WebNetscapePluginPackage unload]): Added.
3980 2008-04-15  Anders Carlsson  <andersca@apple.com>
3982         Reviewed by Adam.
3984         Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
3986         * Configurations/WebKit.xcconfig:
3988 2008-04-15  Brady Eidson  <beidson@apple.com>
3990         Reviewed by John Sullivan
3992         Do a more complete job adding the "WebArchiveDebugMode" pref
3994         * WebView/WebPreferences.m: Add both getter *and* setter
3995         (-[WebPreferences webArchiveDebugModeEnabled]):
3996         (-[WebPreferences setWebArchiveDebugModeEnabled:]):
3997         * WebView/WebPreferencesPrivate.h:
3999         * WebView/WebView.mm:
4000         (-[WebView _preferencesChangedNotification:]): Call the renamed getter
4002 2008-04-14  Brady Eidson  <beidson@apple.com>
4004         Reviewed by Anders
4006         Add a hidden pref to debug WebArchive loading.  With this pref on, when loading a WebArchive,
4007         if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the 
4008         network and will instead fail the load as "cancelled."
4010         * WebView/WebPreferenceKeysPrivate.h:
4012         * WebView/WebPreferences.m:
4013         (+[WebPreferences initialize]):
4014         (-[WebPreferences _webArchiveDebugModeEnabled]):
4015         * WebView/WebPreferencesPrivate.h:
4017         * WebView/WebView.mm:
4018         (-[WebView _preferencesChangedNotification:]):
4020 2008-04-11  David Hyatt  <hyatt@apple.com>
4022         Rename CachedResource ref/deref methods to addClient/removeClient.
4024         Reviewed by olliej
4026         * WebView/WebHTMLView.mm:
4027         (-[WebHTMLViewPrivate dealloc]):
4028         (-[WebHTMLViewPrivate finalize]):
4029         (-[WebHTMLViewPrivate clear]):
4030         (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
4032 2008-04-07  Brady Eidson  <beidson@apple.com>
4034         Add "ENABLE_DOM_STORAGE" to keep in sync with the rest of the project
4036         * Configurations/WebKit.xcconfig:
4038 2008-04-04  Adam Roben  <aroben@apple.com>
4040         Use WebCore's ICU headers instead of our own copy
4042         Rubberstamped by Tim Hatcher.
4044         * Configurations/WebKit.xcconfig: Pick up ICU headers from WebCore's
4045         PrivateHeaders.
4047 2008-04-04  Adam Roben  <aroben@apple.com>
4049         Fix <rdar://problem/5804776> Would like to use WebCore's
4050         ForwardingHeaders in WebKit without manually creating copies
4052         Patch by Tim Hatcher, typed by me.
4054         * Configurations/WebKit.xcconfig: Use the copy of ForwardingHeaders in
4055         WebCore's PrivateHeaders instead of our own copy.
4057 2008-04-04  Ada Chan  <adachan@apple.com>
4059         Now we pass width and height directly as integers to format
4060         the window title for a standalone image.
4062         Reviewed by Dan.
4064         * WebCoreSupport/WebViewFactory.mm:
4065         (-[WebViewFactory imageTitleForFilename:width:height:]):
4067 2008-04-03  Nicholas Shanks  <webkit@nickshanks.com>
4069         Updated by Dan Bernstein. Reviewed by Dave Hyatt.
4071         - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=6484
4072           font-weight does not properly support graded weights
4074         * WebView/WebHTMLView.mm:
4075         (-[WebHTMLView _styleFromFontAttributes:]):
4076         (-[WebHTMLView _originalFontB]):
4077         (-[WebHTMLView _addToStyle:fontA:fontB:]):
4079 2008-04-02  Mark Rowe  <mrowe@apple.com>
4081         Reviewed by Oliver Hunt.
4083         Ensure that debug symbols are generated for x86_64 and ppc64 builds.
4085         * Configurations/Base.xcconfig:
4087 2008-03-31  Alice Liu  <alice.liu@apple.com>
4089         Reviewed by Darin Adler.
4091         * WebView/WebFrame.mm:
4092         (-[WebFrame _accessibilityTree]):
4093         The syntax for fetching an object from the AXObjectCache changed slightly
4095 2008-03-31  Brady Eidson  <beidson@apple.com>
4097         Reviewed by Jon Honeycutt
4098         
4099         Move a WebArchive loading check into WebCore
4101         * WebView/WebHTMLRepresentation.mm:
4102         (-[WebHTMLRepresentation receivedData:withDataSource:]): Don't check "isDisplayingWebArchive" as WebCore is now
4103           responsible for checking that state
4105 2008-03-31  Brady Eidson  <beidson@apple.com>
4107         Reviewed by Darin and Mitz's rubber stamp
4109         Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore
4111         * WebCoreSupport/WebEditorClient.mm:
4112         * WebCoreSupport/WebEditorClient.h:
4114 2008-03-28  Brady Eidson  <beidson@apple.com>
4116         Rubberstamped by Darin Adler
4118         Remove WebArchiver.h/mm
4120         * WebView/WebArchiver.h: Removed.
4121         * WebView/WebArchiver.mm: Removed.
4123         * DOM/WebDOMOperations.mm:
4124         * WebCoreSupport/WebDragClient.mm:
4125         * WebCoreSupport/WebEditorClient.mm:
4126         * WebView/WebDataSource.mm:
4127         * WebView/WebHTMLView.mm:
4129 2008-03-28  Brady Eidson  <beidson@apple.com>
4131         Reviewed by Darin Adler
4133         Now that WebCore can create archives from a frame selection directly, we don't need it in WebArchiver anymore
4135         * WebCoreSupport/WebEditorClient.mm:
4136         (WebEditorClient::dataForArchivedSelection):
4138         * WebView/WebArchiver.h: Nuke archiveSelectionInFrame, as there are no remaining users
4139         * WebView/WebArchiver.mm: Ditto
4141         * WebView/WebHTMLView.mm:
4142         (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
4144 2008-03-28  Brady Eidson  <beidson@apple.com>
4146         Reviewed by Darin Adler
4148         More Kit->Core WebArchive changes.
4150         Create an archive from the current selection in a frame
4152         * WebView/WebArchiver.mm: Remove one more *undeclared* method, the last method will drop off
4153           easily in a followup
4155 2008-03-28  Brady Eidson  <beidson@apple.com>
4157         Reviewed by Sam Weinig
4159         WebArchive saga continues - Can now make archives from ranges in WebCore
4161         * DOM/WebDOMOperations.mm:
4162         (-[DOMRange webArchive]):
4163         (-[DOMRange markupString]):
4165         * WebView/WebArchiver.h: Remove newly obsolete [WebArchiver archiveRange:]
4166         * WebView/WebArchiver.mm:
4168 2008-03-28  Brady Eidson  <beidson@apple.com>
4170         Reviewed by Sam Weinig
4172         More Kit->Core webarchive code movement
4174         * DOM/WebDOMOperations.mm:
4175         (-[DOMNode markupString]): Call createFullMarkup() instead
4177         * WebView/WebFrame.mm: Remove obsolete _markupStringFromNode
4178         * WebView/WebFrameInternal.h: Ditto
4180 2008-03-28  Brady Eidson  <beidson@apple.com>
4182         Reviewed by Sam Weinig
4184         Fold [WebArchiver archiveFrame:] into WebDataSource - the last remaining caller
4186         * WebView/WebArchiver.h:
4187         * WebView/WebArchiver.mm:
4188         * WebView/WebDataSource.mm:
4189         (-[WebDataSource webArchive]):
4191 2008-03-28  Brady Eidson  <beidson@apple.com>
4193         Reviewed by Sam Weinig
4195         Remove unused [WebArchiver archiveNode:], made obsolete in r31400
4197         * WebView/WebArchiver.h:
4198         * WebView/WebArchiver.mm:
4200 2008-03-28  Brady Eidson  <beidson@apple.com>
4202         Reviewed by Darin
4204         "Yet another transitional step" to empty out WebKit-based code for archiving.
4206         With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
4207         entirely within WebCore, and opens the door to saving WebArchives on Windows.
4209         * DOM/WebDOMOperations.mm:
4210         * WebView/WebArchiver.mm:
4211         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
4213 2008-03-27  Brady Eidson  <beidson@apple.com>
4215         Reviewed by Adam Roben
4217         Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
4218         as the push to core-ify WebArchives continues.
4220         This patch also introduces a behavior change.  WebCore allows ArchiveResources with null or empty data.  
4221         WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.  
4222         Since WebResource is API, I decided to leave it be to avoid a behavior change.  But internally created resources 
4223         (as in "while archiving a page") are accepting of null or empty data.
4225         This actually fixes a bug where not all subframes are archived, and resulted in a layout test change. 
4227         * WebView/WebDataSource.mm:
4228         (-[WebDataSource mainResource]): Call DocumentLoader implementation
4229         (-[WebDataSource subresources]): Ditto
4230         * WebView/WebFrame.mm: Remove [WebFrame _getAllResourceDatas:andResponses:] as its only caller is obsolete
4231         * WebView/WebFrameInternal.h:
4233 2008-03-27  Brady Eidson  <beidson@apple.com>
4235         Reviewed by Adam
4237         Change the "init from WebCore resource" version of WebResource to take PassRefPtr
4238         (more efficient)
4240         * WebView/WebResource.mm:
4241         (-[WebResource _initWithCoreResource:]):
4242         * WebView/WebResourceInternal.h:
4244 2008-03-26  Brady Eidson  <beidson@apple.com>
4246         Build fix - accidentally checked in this change which was work in progress
4248         * DOM/WebDOMOperations.mm:
4250 2008-03-26  Brady Eidson  <beidson@apple.com>
4252         Reviewed by Darin
4254         When we create a WebArchive, we walk every node from some starting point, asking each node
4255         along the way "What are your subresource URLs?"
4257         That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into
4258         WebCore::Node
4260         * DOM/WebDOMOperations.mm:
4261         (-[DOMNode _subresourceURLs]): One generic DOMNode method can now handle all DOMNodes by
4262           calling into individual WebCore::Node implementations
4263         * DOM/WebDOMOperationsPrivate.h:
4265 2008-03-26  Brady Eidson  <beidson@apple.com>
4267         Reviewed by Mark Rowe
4269         Part of the continued push to move WebArchive-related code down to WebCore, this
4270         moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource()
4272         * WebView/WebDataSource.mm:
4273         (-[WebDataSource subresourceForURL:]): Call through to the DocumentLoader 
4275         * WebView/WebFrame.mm: Remove [WebFrame _getData:andResponse:forURL:], as its only use
4276           has now been ported down to WebCore
4277         * WebView/WebFrameInternal.h:
4279 2008-03-26  Mark Rowe  <mrowe@apple.com>
4281         Rubber-stamped by Brady Eidson.
4283         Update FEATURE_DEFINES to be consistent with the other locations in which it is defined.
4285         * Configurations/WebKit.xcconfig:
4287 2008-03-26  Mark Rowe  <mrowe@apple.com>
4289         Reviewed by David Hyatt.
4291         Make the Ahem font antialias correctly on Acid3 on Tiger.
4293         * WebCoreSupport/WebSystemInterface.m:
4294         (InitWebCoreSystemInterface):
4296 2008-03-26  Mark Rowe  <mrowe@apple.com>
4298         Fix the Mac build.
4300         * MigrateHeaders.make: Copy the newly generated header into the right place.
4302 2008-03-25  Brady Eidson  <beidson@apple.com>
4304         Reviewed by Beth Dakin
4306         Remove entirely unused internal method
4308         * WebView/WebArchiver.h:
4309         * WebView/WebArchiver.mm:
4311 2008-03-25  Brady Eidson  <beidson@apple.com>
4313         Reviewed by Adam Roben
4315         <rdar://problem/5819308> - View Source is empty when view webarchives
4317         * WebCore.base.exp:
4318         * loader/DocumentLoader.cpp:
4319         (WebCore::DocumentLoader::setParsedArchiveData):
4320         (WebCore::DocumentLoader::parsedArchiveData):
4321         * loader/DocumentLoader.h:
4323         * loader/FrameLoader.cpp:
4324         (WebCore::FrameLoader::finishedLoadingDocument): Set the archive's MainResource data as the parsedArchiveData
4325           in the DocumentLoader
4327 2008-03-25  Dan Bernstein  <mitz@apple.com>
4329         Reviewed by Darin Adler.
4331         - fix http://bugs.webkit.org/show_bug.cgi?id=17933
4332           Reopen All Windows From Last Session causes crash
4334         * WebView/WebHTMLView.mm:
4335         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Added null
4336         check.
4338 2008-03-25  Brady Eidson  <beidson@apple.com>
4340         Reviewed by Jon Honeycutt's rubberstamp
4342         Fix a leak with the new WebArchive setup
4344         * WebView/WebArchive.mm:
4345         (-[WebArchivePrivate setCoreArchive:]): Deref() the old WebArchive
4347 2008-03-25  Brady Eidson  <beidson@apple.com>
4349         Reviewed by Darin
4351         Removed the concept of "pending archive resources" and the "archive resources delivery timer"
4352         from WebFrameLoaderClient, as those concepts have been pushed into WebCore
4354         * WebCoreSupport/WebFrameLoaderClient.h:
4355         * WebCoreSupport/WebFrameLoaderClient.mm:
4356         (WebFrameLoaderClient::WebFrameLoaderClient):
4358 2008-03-25  Brady Eidson  <beidson@apple.com>
4360         Reviewed by Darin
4362         Remove newly obsolete FrameLoaderClient methods
4364         * WebCoreSupport/WebFrameLoaderClient.h:
4365         * WebCoreSupport/WebFrameLoaderClient.mm:
4367 2008-03-25  Brady Eidson  <beidson@apple.com>
4369         Release build fix
4371         * WebView/WebArchive.mm:
4372         (-[WebArchive subresources]):
4373         (-[WebArchive subframeArchives]):
4375 2008-03-25  Brady Eidson  <beidson@apple.com>
4377         Reviewed by Darin
4379         <rdar://problem/4516169> - Support WebArchives on Windows
4380         And paves the way for many future WebArchive bug fixes and enhancements
4382         This change moves most of the real workhorse code about WebArchives into WebCore.  It maintains 
4383         1-to-1 relationships between a few objects in WebCore and WebKit.  Such as:
4384          * WebArchive <-> LegacyWebArchive
4385          * WebResource <-> ArchiveResource
4386          * WebUnarchivingState <-> ArchiveResourceCollection
4388         The other biggest changes involve many FrameLoaderClient methods that existed soley for WebArchives 
4389         and now exist in WebCore
4391         * WebCoreSupport/WebFrameLoaderClient.mm:
4392         (WebFrameLoaderClient::clearUnarchivingState): Emptied - to be removed in a followup patch
4393         (WebFrameLoaderClient::finalSetupForReplace):
4394         (WebFrameLoaderClient::setDefersLoading):
4395         (WebFrameLoaderClient::willUseArchive):
4396         (WebFrameLoaderClient::isArchiveLoadPending):
4397         (WebFrameLoaderClient::cancelPendingArchiveLoad):
4398         (WebFrameLoaderClient::clearArchivedResources):
4399         (WebFrameLoaderClient::createFrame):
4401         * WebView/WebArchive.mm:
4402         (+[WebArchivePrivate initialize]):
4403         (-[WebArchivePrivate init]):
4404         (-[WebArchivePrivate initWithCoreArchive:]):
4405         (-[WebArchivePrivate coreArchive]):
4406         (-[WebArchivePrivate setCoreArchive:]):
4407         (-[WebArchivePrivate dealloc]):
4408         (-[WebArchivePrivate finalize]):
4409         (-[WebArchive init]):
4410         (-[WebArchive initWithMainResource:subresources:subframeArchives:]):
4411         (-[WebArchive initWithData:]):
4412         (-[WebArchive initWithCoder:]):
4413         (-[WebArchive encodeWithCoder:]):
4414         (-[WebArchive mainResource]):
4415         (-[WebArchive subresources]):
4416         (-[WebArchive subframeArchives]):
4417         (-[WebArchive data]):
4418         (-[WebArchive _initWithCoreLegacyWebArchive:WebCore::]):
4419         (-[WebArchive WebCore::]):
4420         * WebView/WebArchiveInternal.h: Added.
4422         * WebView/WebDataSource.mm:
4423         (-[WebDataSourcePrivate dealloc]):
4424         (-[WebDataSource _addSubframeArchives:]):
4425         (-[WebDataSource _documentFragmentWithArchive:]):
4426         (-[WebDataSource subresourceForURL:]):
4427         (-[WebDataSource addSubresource:]):
4428         * WebView/WebDataSourceInternal.h:
4430         * WebView/WebFrame.mm:
4431         (-[WebFrame loadArchive:]):
4432         * WebView/WebFrameInternal.h:
4434         * WebView/WebHTMLRepresentation.mm:
4435         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
4437         * WebView/WebResource.mm:
4438         (+[WebResourcePrivate initialize]):
4439         (-[WebResourcePrivate init]):
4440         (-[WebResourcePrivate initWithCoreResource:]):
4441         (-[WebResourcePrivate dealloc]):
4442         (-[WebResourcePrivate finalize]):
4443         (-[WebResource initWithCoder:]):
4444         (-[WebResource encodeWithCoder:]):
4445         (-[WebResource data]):
4446         (-[WebResource URL]):
4447         (-[WebResource MIMEType]):
4448         (-[WebResource textEncodingName]):
4449         (-[WebResource frameName]):
4450         (-[WebResource _initWithCoreResource:WebCore::]):
4451         (-[WebResource WebCore::]):
4452         (-[WebResource _ignoreWhenUnarchiving]):
4453         (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
4454         (-[WebResource _fileWrapperRepresentation]):
4455         (-[WebResource _response]):
4456         (-[WebResource _stringValue]):
4457         * WebView/WebResourceInternal.h: Added.
4458         * WebView/WebResourcePrivate.h:
4460         * WebView/WebUnarchivingState.h: Removed.
4461         * WebView/WebUnarchivingState.m: Removed.
4463 2008-03-24  Oliver Hunt  <oliver@apple.com>
4465         Reviewed by Mark Rowe.
4467         Bug 18030: REGRESSION(r31236): Space bar fails to scroll down page
4468         <http://bugs.webkit.org/show_bug.cgi?id=18030>
4470         Rollout keyDown changes from r31236 -- fix for keyDown behaviour is
4471         tracked by Bug 18057: keyDown incorrectly propagates up the frame tree
4472         <http://bugs.webkit.org/show_bug.cgi?id=18057>
4474         * WebView/WebHTMLView.mm:
4475         (-[WebHTMLView keyDown:]):
4477 2008-03-24  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
4479         Reviewed by Maciej, landed by Brady
4481         Bug 3580: iFrames Appear to be Cached
4482         <http://bugs.webkit.org/show_bug.cgi?id=3580>
4484         Bug 15486: REGRESSION: Reload causes WebKit to *forget* fragment URLs
4485         <http://bugs.webkit.org/show_bug.cgi?id=15486>
4487         Bug 15554: Reload causes <object> to use old data
4488         <http://bugs.webkit.org/show_bug.cgi?id=15554>
4490         If a page is reloaded, a child frame's URL can not be taken from a history item.
4492         * WebView/WebFrame.mm:
4493         (-[WebFrame _loadURL:referrer:intoChild:]):
4495 2008-03-24  Darin Adler  <darin@apple.com>
4497         Reviewed by Beth.
4499         - fix <rdar://problem/5817067> -[WebDataSource unreachableURL] invokes KURL's copy constructor
4501         * History/WebHistoryItem.mm:
4502         (-[WebHistoryItem URL]): Use a reference to avoid making a copy.
4503         * WebView/WebDataSource.mm:
4504         (-[WebDataSource _URL]): Ditto.
4505         (-[WebDataSource unreachableURL]): Ditto.
4506         * WebView/WebHTMLView.mm:
4507         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
4509         * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
4510         * History/WebHistory.mm:
4511         * Misc/WebElementDictionary.mm:
4512         * Misc/WebNSAttributedStringExtras.mm:
4513         Remove unneeded imports of KURL.h.
4515 2008-03-24  Brady Eidson  <beidson@apple.com>
4517         Reviewed by Darin's rubberstamp
4519         Rename this file for upcoming work.
4521         * WebView/WebArchive.m: Removed.
4522         * WebView/WebArchive.mm: Copied from WebKit/mac/WebView/WebArchive.m.
4524 2008-03-24  Alexey Proskuryakov  <ap@webkit.org>
4526         Build fix.
4528         * MigrateHeaders.make: Added DOMSVGAltGlyphElement.h and DOMSVGAltGlyphElementInternal.h.
4530 2008-03-23  Oliver Hunt  <oliver@apple.com>
4532         Reviewed by Maciej.
4534         Bug 17670: Key events may improperly propagate from iframe to parent frame
4535         <http://bugs.webkit.org/show_bug.cgi?id=17670>
4536         Bug 16381: REGRESSION: Shift, command, option, ctrl keys in Gmail Rich Text changes focus
4537         <http://bugs.webkit.org/show_bug.cgi?id=16381>
4539         Prevent the Cocoa event system from propagating key events to the parent WebHTMLView,
4540         as that results in us dispatching the key events for each frame going up the frame
4541         tree.
4543         * WebView/WebHTMLView.mm:
4544         (-[WebHTMLView keyDown:]):
4545         (-[WebHTMLView keyUp:]):
4546         (-[WebHTMLView flagsChanged:]):
4548 2008-03-21  Timothy Hatcher  <timothy@apple.com>
4550         Bug 17980: Regression: Inspector highlighting of webpage not cleared when going to new URL
4551         http://bugs.webkit.org/show_bug.cgi?id=17980
4553         Reviewed by Adam.
4555         The new highlight drawing was not honoring the fade value, so it was
4556         always drawing at full opacity. The animation code didn't match Windows
4557         and the new highlight anyway, so it has been removed. The highlight
4558         how just detaches when it is hidden.
4560         * WebCoreSupport/WebInspectorClient.mm:
4561         (-[WebInspectorWindowController windowShouldClose:]): Call hideHighlight.
4562         (-[WebInspectorWindowController close]): Ditto.
4563         (-[WebInspectorWindowController highlightNode:]): Call attach.
4564         (-[WebInspectorWindowController hideHighlight]): Call detach and release _currentHighlight.
4565         * WebInspector/WebNodeHighlight.h:
4566         * WebInspector/WebNodeHighlight.m:
4567         (-[WebNodeHighlight initWithTargetView:inspectorController:]):
4568         (-[WebNodeHighlight dealloc]): Assert we have no _highlightView.
4569         (-[WebNodeHighlight attach]): Renamed from attachHighlight.
4570         (-[WebNodeHighlight detach]): Renamed from detachHighlight.
4571         (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Renamed from setHolesNeedUpdateInTargetViewRect:.
4572         * WebInspector/WebNodeHighlightView.h:
4573         * WebInspector/WebNodeHighlightView.m:
4574         (-[WebNodeHighlightView setNeedsDisplayInRect:]): Renamed from setHolesNeedUpdateInRect:.
4576 2008-03-20  Mark Rowe  <mrowe@apple.com>
4578         Reviewed by Sam Weinig.
4580         Ensure that the defines in FEATURE_DEFINES are sorted so that they will match the default settings of build-webkit.
4581         This will prevent the world from being rebuilt if you happen to switch between building in Xcode and with build-webkit on the
4582         command-line.
4584         * Configurations/WebKit.xcconfig:
4586 2008-03-20  Adam Roben  <aroben@apple.com>
4588         Make WebNodeHighlightView use InspectorController to do its painting
4590         Reviewed by Tim Hatcher.
4592         * WebCoreSupport/WebInspectorClient.mm:
4593         (-[WebInspectorWindowController highlightNode:]): Pass the
4594         InspectorController to the WebNodeHighlight, and don't call
4595         setHighlightedNode: (which has been removed).
4596         (-[WebInspectorWindowController hideHighlight]): Removed call to
4597         setHighlightedNode:.
4598         * WebInspector/WebNodeHighlight.h:
4599           - Replaced _highlightNode with _inspectorController
4600           - Removed _highlightedNode accessors
4601           - Added -inspectorController method
4602         * WebInspector/WebNodeHighlight.m:
4603         (-[WebNodeHighlight initWithTargetView:inspectorController:]): Now
4604         takes an InspectorController* and stores it in _inspectorController.
4605         (-[WebNodeHighlight dealloc]): Removed code dealing with
4606         _highlightedNode.
4607         (-[WebNodeHighlight inspectorController]): Added.
4608         * WebInspector/WebNodeHighlightView.m: Removed FileInternal category.
4609         (-[WebNodeHighlightView isFlipped]): Added. WebCore expects all
4610         GraphicsContexts to be based on a flipped CGContext, so we have to
4611         specify that this view is flipped.
4612         (-[WebNodeHighlightView drawRect:]): Changed to create a
4613         GraphicsContext and pass it to InspectorController::drawNodeHighlight.
4615 2008-03-18  David Hyatt  <hyatt@apple.com>
4617         Add support for a preference in WebKit that can be used in nightly builds to test full page
4618         zoom.
4620         Reviewed by Antti
4622         * WebView/WebPreferenceKeysPrivate.h:
4623         * WebView/WebView.mm:
4624         (-[WebView setTextSizeMultiplier:]):
4625         (-[WebView canMakeTextSmaller]):
4626         (-[WebView makeTextSmaller:]):
4627         (-[WebView canMakeTextLarger]):
4628         (-[WebView makeTextLarger:]):
4629         (-[WebView canMakeTextStandardSize]):
4630         (-[WebView makeTextStandardSize:]):
4632 2008-03-17  Eric Seidel  <eric@webkit.org>
4634         Reviewed by darin.
4636         Export _NPN_IntFromIdentifier as part of our NPAPI interface
4638         * Plugins/WebNetscapePluginPackage.m:
4639         (-[WebNetscapePluginPackage load]):
4641 2008-03-14  Brady Eidson  <beidson@apple.com>
4643         Reviewed by Brian Dash's rubberstamp
4645         Remove a class declaration for a class that has never existed
4647         * WebView/WebResource.h:
4649 2008-03-14  David D. Kilzer  <ddkilzer@apple.com>
4651         Unify concept of enabling the Mac Java bridge.
4653         Reviewed by Darin and Anders.
4655         * Plugins/WebPluginJava.h: Removed unused file.
4656         * WebCoreSupport/WebFrameLoaderClient.h:
4657         (WebFrameLoaderClient::javaApplet): Added #if ENABLE(MAC_JAVA_BRIDGE) guard.
4658         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto for #import and NSView SPI method.
4659         (WebFrameLoaderClient::javaApplet): Ditto.
4661 2008-03-13  Antti Koivisto  <antti@apple.com>
4663         Reviewed by Darin Adler.
4665         * ForwardingHeaders/wtf/Deque.h: Added.
4667 2008-03-13  Anders Carlsson  <andersca@apple.com>
4669         Reviewed by Adam.
4671         Call originalRequest, not initialRequest.
4672         
4673         * WebView/WebDataSource.mm:
4674         (-[WebDataSource initialRequest]):
4676 2008-03-12  Darin Adler  <darin@apple.com>
4678         Reviewed by John Sullivan.
4680         - cleanup after removing the bridge
4682         * DOM/WebDOMOperations.mm:
4683         (-[DOMDocument URLWithAttributeString:]): Call computeURL directly.
4685         * Misc/WebCoreStatistics.mm:
4686         (-[WebFrame renderTreeAsExternalRepresentation]): Call externalRepresentation directly.
4688         * Plugins/WebBaseNetscapePluginView.mm:
4689         (-[WebBaseNetscapePluginView loadPluginRequest:]): Use core function instead of
4690         _frameLoader method.
4691         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
4692         Ditto.
4693         * Plugins/WebPluginController.mm:
4694         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Ditto.
4696         * WebCoreSupport/WebFrameLoaderClient.mm:
4697         (WebFrameLoaderClient::frameLoaderDestroyed): Added a call to the new _clearCoreFrame
4698         method. Without this we could leave a stale frame pointer around.
4699         (WebFrameLoaderClient::dispatchDidReceiveIcon): Rewrote assertion so it's not the single
4700         caller of the _isMainFrame method.
4701         (WebFrameLoaderClient::transitionToCommittedForNewPage): Use core function instead of
4702         _frameLoader method.
4703         (WebFrameLoaderClient::createFrame): Moved code here from _addChild.
4705         * WebView/WebFrame.mm: Removed lots of methods. Some were moved elsewhere, others
4706         turned out to be unused.
4707         (core): Added overload for DocumentFragment.
4708         (kit): Ditto.
4709         (-[WebFrame _loadURL:referrer:intoChild:]): Get to Frame using _private->coreFrame and
4710         to FrameLoader with _private->coreFrame->loader().
4711         (-[WebFrame _attachScriptDebugger]): Ditto.
4712         (-[WebFrame _clearCoreFrame]): Added.
4713         (-[WebFrame _updateBackground]): More of the same.
4714         (-[WebFrame _unmarkAllBadGrammar]): Ditto.
4715         (-[WebFrame _unmarkAllMisspellings]): Ditto.
4716         (-[WebFrame _hasSelection]): Ditto.
4717         (-[WebFrame _atMostOneFrameHasSelection]): Ditto.
4718         (-[WebFrame _findFrameWithSelection]): Ditto.
4719         (-[WebFrame _dataSource]): Ditto.
4720         (-[WebFrame _addData:]): Streamlined code a bit.
4721         (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
4722         (-[WebFrame _receivedData:textEncodingName:]): Ditto.
4723         (-[WebFrame _isDescendantOfFrame:]): Ditto.
4724         (-[WebFrame _bodyBackgroundColor]): Ditto.
4725         (-[WebFrame _isFrameSet]): Ditto.
4726         (-[WebFrame _firstLayoutDone]): Ditto.
4727         (-[WebFrame _loadType]): Ditto.
4728         (-[WebFrame _isDisplayingStandaloneImage]): Ditto.
4729         (-[WebFrame name]): Ditto.
4730         (-[WebFrame DOMDocument]): Ditto.
4731         (-[WebFrame frameElement]): Ditto.
4732         (-[WebFrame provisionalDataSource]): Ditto.
4733         (-[WebFrame dataSource]): Ditto.
4734         (-[WebFrame loadRequest:]): Ditto.
4735         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Ditto.
4736         (-[WebFrame loadArchive:]): Ditto.
4737         (-[WebFrame stopLoading]): Ditto.
4738         (-[WebFrame reload]): Ditto.
4739         (-[WebFrame findFrameNamed:]): Ditto.
4740         (-[WebFrame parentFrame]): Ditto.
4741         (-[WebFrame childFrames]): Ditto.
4742         (-[WebFrame windowObject]): Ditto.
4743         (-[WebFrame globalContext]): Ditto.
4745         * WebView/WebFrameInternal.h: Added overloads of core and kit.
4746         Removed method declarations.
4748         * WebView/WebHTMLRepresentation.mm:
4749         (-[WebHTMLRepresentation documentSource]): Moved code here from WebFrame.
4750         (formElementFromDOMElement): Ditto.
4751         (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
4752         (inputElementFromDOMElement): Ditto.
4753         (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
4754         (-[WebHTMLRepresentation elementIsPassword:]): Ditto.
4755         (-[WebHTMLRepresentation formForElement:]): Ditto.
4756         (-[WebHTMLRepresentation currentForm]): Ditto.
4757         (-[WebHTMLRepresentation controlsInForm:]): Ditto.
4758         (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
4759         (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
4761         * WebView/WebHTMLView.mm:
4762         (-[WebHTMLView _frameOrBoundsChanged]): Moved sendScrollEvent code here from WebFrame.
4763         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
4764         Call createFragmentFromText directly instead of via WebFrame.
4765         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
4766         Moved layout calls here from WebFrame.
4767         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
4768         (-[WebHTMLView _updateFontPanel]): Ditto, but with fontForSelection.
4769         (-[WebHTMLView _canSmartCopyOrDelete]): Ditto, but with selectionGranularity.
4770         (-[WebHTMLView markedRange]): Moved code here from _markedTextNSRange.
4771         (-[WebHTMLView attributedSubstringFromRange:]): Tweaked code a bit.
4772         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
4773         Moved code here from WebFrame.
4774         (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.
4775         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
4776         (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
4777         (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
4778         (-[WebHTMLView unmarkAllTextMatches]): Ditto.
4779         (-[WebHTMLView rectsForTextMatches]): Ditto.
4781         * WebView/WebHTMLViewInternal.h: Removed unused method declarations.
4783         * WebView/WebPDFView.mm:
4784         (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Use core function instead of
4785         _frameLoader method.
4787         * WebView/WebRenderNode.mm:
4788         (copyRenderNode): Moved code here from WebFrame.
4789         (-[WebRenderNode initWithWebFrameView:]): Ditto.
4791         * WebView/WebResource.mm:
4792         (-[WebResource _stringValue]): Moved code here from WebFrame.
4794         * WebView/WebView.mm:
4795         (-[WebView _close]): Use core function intsead of _frameLoader method.
4796         (-[WebView setCustomTextEncodingName:]): Ditto.
4797         (-[WebView setHostWindow:]): Moved code here from WebFrame.
4798         (aeDescFromJSValue): Moved this here from WebFrame.
4799         (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Moved code here from WebFrame.
4801 2008-03-12  Darin Adler  <darin@apple.com>
4803         Reviewed by Anders.
4805         - http://bugs.webkit.org/show_bug.cgi?id=17640
4806           eliminate WebCoreFrameBridge
4808         Moved all the code from the bridge into WebFrame. This need not be the final
4809         home of these methods -- they can be moved closer to their callers and improved
4810         further -- but it eliminates the bridge without requiring a rewrite of the code.
4811         It's a fairly mechanical process (just adding underscores to method names really).
4813         There's even a chance that some of the methods are unused. Those we can remove
4814         after checking if that's so.
4816         * DOM/WebDOMOperations.mm:
4817         (-[DOMNode markupString]): Use WebFrame rather than bridge.
4818         (-[DOMDocument webFrame]): Changed to use the core and kit functions
4819         instead of using the bridge.
4820         (-[DOMDocument URLWithAttributeString:]): Use WebFrame rather than bridge.
4821         (-[DOMRange markupString]): Ditto.
4822         * DOM/WebDOMOperationsPrivate.h: Removed _bridge methods.
4824         * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded import.
4825         * History/WebHistoryItem.mm: Ditto.
4827         * MigrateHeaders.make: Added DOMDocumentFragmentInternal.h.
4828         * Misc/WebCoreStatistics.mm:
4829         (-[WebFrame renderTreeAsExternalRepresentation]): Use WebFrame rather than bridge.
4831         * Misc/WebElementDictionary.mm: Removed unneeded import.
4833         * Misc/WebKitStatistics.m:
4834         (+[WebKitStatistics bridgeCount]): Removed WebBridgeCount and just return 0.
4835         * Misc/WebKitStatisticsPrivate.h: Ditto.
4837         * Misc/WebNSAttributedStringExtras.mm: Removed unneeded import.
4838         * Misc/WebNSPasteboardExtras.mm: Ditto.
4840         * Plugins/WebBaseNetscapePluginView.mm:
4841         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Use WebFrame
4842         rather than bridge.
4844         * Plugins/WebNetscapePluginEmbeddedView.mm: Removed unneeded import.
4845         * Plugins/WebNetscapePluginStream.mm: Ditto.
4847         * Plugins/WebPluginContainerCheck.mm:
4848         (-[WebPluginContainerCheck _isForbiddenFileLoad]): Use WebFrame rather than
4849         bridge to get to the WebCore::Frame.
4851         * Plugins/WebPluginController.h: Declare webFrame method and remove bridge method.
4852         * Plugins/WebPluginController.mm:
4853         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Use WebFrame
4854         rather than bridge.
4856         * WebCoreSupport/WebEditorClient.mm:
4857         (selectorForKeyEvent): Tweaked comment.
4859         * WebCoreSupport/WebFrameBridge.h: Removed.
4860         * WebCoreSupport/WebFrameBridge.mm: Removed.
4862         * WebCoreSupport/WebFrameLoaderClient.mm:
4863         (WebFrameLoaderClient::frameLoaderDestroyed): Removed bridge assertion.
4864         (WebFrameLoaderClient::detachedFromParent4): Removed bridge teardown code.
4865         I could remove this function entirely, but it looks like the Qt port is using it.
4867         * WebCoreSupport/WebViewFactory.mm: Removed unneeded import.
4869         * WebView/WebArchiver.mm:
4870         (+[WebArchiver archiveRange:]): Use WebFrame rather than bridge.
4871         (+[WebArchiver archiveNode:]): Ditto.
4872         (+[WebArchiver archiveSelectionInFrame:]): Ditto.
4874         * WebView/WebDataSource.mm:
4875         (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): Ditto.
4876         (-[WebDataSource _documentFragmentWithArchive:]): Ditto.
4877         (-[WebDataSource subresources]): Ditto.
4878         (-[WebDataSource subresourceForURL:]): Ditto.
4880         * WebView/WebDataSourceInternal.h: Removed _bridge method.
4882         * WebView/WebFrame.mm:
4883         (-[WebFramePrivate dealloc]): Removed code to release the bridge.
4884         (core): Go directly to the core frame, not via the bridge.
4885         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
4886         Remove the code to deal with the bridge.
4887         (-[WebFrame _initWithWebFrameView:webView:]): Ditto. Also added code to set the
4888         shouldCreateRenderers flag, formerly on the bridge.
4889         (-[WebFrame _updateBackground]): Change to call mehods on self, not bridge.
4890         (aeDescFromJSValue): Moved here from bridge.
4891         (-[WebFrame _domain]): Ditto.
4892         (-[WebFrame _addData:]): Ditto.
4893         (-[WebFrame _stringWithDocumentTypeStringAndMarkupString:]): Ditto.
4894         (-[WebFrame _nodesFromList:]): Ditto.
4895         (-[WebFrame _markupStringFromNode:nodes:]): Ditto.
4896         (-[WebFrame _markupStringFromRange:nodes:]): Ditto.
4897         (-[WebFrame _selectedString]): Ditto.
4898         (-[WebFrame _stringForRange:]): Ditto.
4899         (-[WebFrame _forceLayoutAdjustingViewSize:]): Ditto.
4900         (-[WebFrame _forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
4901         (-[WebFrame _sendScrollEvent]): Ditto.
4902         (-[WebFrame _drawRect:]): Ditto.
4903         (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]): Ditto.
4904         (-[WebFrame _adjustPageHeightNew:top:bottom:limit:]): Ditto.
4905         (-[WebFrame _copyRenderNode:copier:]): Ditto.
4906         (-[WebFrame _copyRenderTree:]): Ditto.
4907         (inputElementFromDOMElement): Ditto.
4908         (formElementFromDOMElement): Ditto.
4909         (-[WebFrame _elementWithName:inForm:]): Ditto.
4910         (-[WebFrame _elementDoesAutoComplete:]): Ditto.
4911         (-[WebFrame _elementIsPassword:]): Ditto.
4912         (-[WebFrame _formForElement:]): Ditto.
4913         (-[WebFrame _currentForm]): Ditto.
4914         (-[WebFrame _controlsInForm:]): Ditto.
4915         (-[WebFrame _searchForLabels:beforeElement:]): Ditto.
4916         (-[WebFrame _matchLabels:againstElement:]): Ditto.
4917         (-[WebFrame _URLWithAttributeString:]): Ditto.
4918         (-[WebFrame _searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
4919         (-[WebFrame _markAllMatchesForText:caseSensitive:limit:]): Ditto.
4920         (-[WebFrame _markedTextMatchesAreHighlighted]): Ditto.
4921         (-[WebFrame _setMarkedTextMatchesAreHighlighted:]): Ditto.
4922         (-[WebFrame _unmarkAllTextMatches]): Ditto.
4923         (-[WebFrame _rectsForTextMatches]): Ditto.
4924         (-[WebFrame _stringByEvaluatingJavaScriptFromString:]): Ditto.
4925         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Ditto.
4926         (-[WebFrame _aeDescByEvaluatingJavaScriptFromString:]): Ditto.
4927         (-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto.
4928         (-[WebFrame _firstRectForDOMRange:]): Ditto.
4929         (-[WebFrame _scrollDOMRangeToVisible:]): Ditto.
4930         (-[WebFrame _baseURL]): Ditto.
4931         (-[WebFrame _stringWithData:]): Ditto.
4932         (+[WebFrame _stringWithData:textEncodingName:]): Ditto.
4933         (-[WebFrame _needsLayout]): Ditto.
4934         (-[WebFrame _renderTreeAsExternalRepresentation]): Ditto.
4935         (-[WebFrame _accessibilityTree]): Ditto.
4936         (-[WebFrame _setBaseBackgroundColor:]): Ditto.
4937         (-[WebFrame _setDrawsBackground:]): Ditto.
4938         (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
4939         Ditto.
4940         (-[WebFrame _selectionGranularity]): Ditto.
4941         (-[WebFrame _convertToNSRange:]): Ditto.
4942         (-[WebFrame _convertToDOMRange:]): Ditto.
4943         (-[WebFrame _convertNSRangeToDOMRange:]): Ditto.
4944         (-[WebFrame _convertDOMRangeToNSRange:]): Ditto.
4945         (-[WebFrame _markDOMRange]): Ditto.
4946         (-[WebFrame _markedTextNSRange]): Ditto.
4947         (-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto.
4948         (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
4949         (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto.
4950         (-[WebFrame _documentFragmentWithText:inContext:]): Ditto.
4951         (-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto.
4952         (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto.
4953         (-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto.
4954         (-[WebFrame _replaceSelectionWithMarkupString:baseURLString:selectReplacement:smartReplace:]): Ditto.
4955         (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
4956         (-[WebFrame _insertParagraphSeparatorInQuotedContent]): Ditto.
4957         (-[WebFrame _visiblePositionForPoint:]): Ditto.
4958         (-[WebFrame _characterRangeAtPoint:]): Ditto.
4959         (-[WebFrame _typingStyle]): Ditto.
4960         (-[WebFrame _setTypingStyle:withUndoAction:]): Ditto.
4961         (-[WebFrame _fontForSelection:]): Ditto.
4962         (-[WebFrame _dragSourceMovedTo:]): Ditto.
4963         (-[WebFrame _dragSourceEndedAt:operation:]): Ditto.
4964         (-[WebFrame _getData:andResponse:forURL:]): Ditto.
4965         (-[WebFrame _getAllResourceDatas:andResponses:]): Ditto.
4966         (-[WebFrame _canProvideDocumentSource]): Ditto.
4967         (-[WebFrame _canSaveAsWebArchive]): Ditto.
4968         (-[WebFrame _receivedData:textEncodingName:]): Ditto.
4969         (-[WebFrame _setShouldCreateRenderers:]): Put the code from the bridge in this preexisting
4970         function. Couldn't just keep the bridge method because this was already here with the same name.
4971         (-[WebFrame _selectedNSRange]): Ditto.
4972         (-[WebFrame _selectNSRange:]): Ditto.
4973         (-[WebFrame dealloc]): Remove bridge-related code.
4974         (-[WebFrame finalize]): Ditto.
4976         * WebView/WebFrameInternal.h: Added all the method declarations from the bridge.
4977         Removed the bridge parameter from the init method. Removed the #if blocks that
4978         tried to make this header work in non-C++ ObjC files -- they were broken and unused.
4979         Removed the _bridge method.
4981         * WebView/WebFrameView.mm: Removed the _bridge method.
4983         * WebView/WebHTMLRepresentation.mm:
4984         (-[WebHTMLRepresentation setDataSource:]): Removed the code to set up the bridge
4985         field.
4986         (-[WebHTMLRepresentation receivedData:withDataSource:]): Use WebFrame instead of bridge.
4987         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Ditto.
4988         (-[WebHTMLRepresentation canProvideDocumentSource]): Ditto.
4989         (-[WebHTMLRepresentation canSaveAsWebArchive]): Ditto.
4990         (-[WebHTMLRepresentation documentSource]): Ditto.
4991         (-[WebHTMLRepresentation DOMDocument]): Ditto.
4992         (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
4993         (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
4994         (-[WebHTMLRepresentation elementIsPassword:]): Ditto.
4995         (-[WebHTMLRepresentation formForElement:]): Ditto.
4996         (-[WebHTMLRepresentation currentForm]): Ditto.
4997         (-[WebHTMLRepresentation controlsInForm:]): Ditto.
4998         (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
4999         (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
5001         * WebView/WebHTMLRepresentationPrivate.h: Removed the _bridge method.
5003         * WebView/WebHTMLView.mm:
5004         (-[WebHTMLView _documentFragmentWithPaths:]): Use WebFrame instead of bridge.
5005         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Ditto.
5006         (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto.
5007         (-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
5008         (-[WebHTMLView _frameOrBoundsChanged]): Ditto.
5009         (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
5010         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto.
5011         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
5012         (-[WebHTMLView drawSingleRect:]): Ditto.
5013         (-[WebHTMLView draggedImage:movedTo:]): Ditto.
5014         (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
5015         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
5016         (-[WebHTMLView knowsPageRange:]): Ditto.
5017         (-[WebHTMLView accessibilityAttributeValue:]): Ditto.
5018         (-[WebHTMLView accessibilityFocusedUIElement]): Ditto.
5019         (-[WebHTMLView accessibilityHitTest:]): Ditto.
5020         (-[WebHTMLView _accessibilityParentForSubview:]): Ditto.
5021         (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
5022         (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto.
5023         (-[WebHTMLView _changeSpellingToWord:]): Ditto.
5024         (-[WebHTMLView startSpeaking:]): Ditto.
5025         (-[WebHTMLView _updateFontPanel]): Ditto.
5026         (-[WebHTMLView _canSmartCopyOrDelete]): Ditto.
5027         (-[WebHTMLView _layoutIfNeeded]): Ditto.
5028         (-[WebHTMLView characterIndexForPoint:]): Ditto.
5029         (-[WebHTMLView firstRectForCharacterRange:]): Ditto.
5030         (-[WebHTMLView selectedRange]): Ditto.
5031         (-[WebHTMLView markedRange]): Ditto.
5032         (-[WebHTMLView attributedSubstringFromRange:]): Ditto.
5033         (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
5034         (-[WebHTMLView insertText:]): Ditto.
5035         (-[WebTextCompleteController _insertMatch:]): Ditto.
5036         (-[WebTextCompleteController doCompletion]): Ditto.
5037         (-[WebTextCompleteController endRevertingChange:moveLeft:]): Ditto.
5038         (-[WebHTMLView string]): Ditto.
5039         (-[WebHTMLView selectedString]): Ditto.
5040         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
5041         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
5042         (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
5043         (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
5044         (-[WebHTMLView unmarkAllTextMatches]): Ditto.
5045         (-[WebHTMLView rectsForTextMatches]): Ditto.
5046         * WebView/WebRenderNode.mm:
5047         (-[WebRenderNode initWithWebFrameView:]): Ditto.
5048         * WebView/WebResource.mm:
5049         (-[WebResource _stringValue]): Ditto.
5051         * WebView/WebScriptDebugDelegate.mm: Removed unneeded include.
5053         * WebView/WebView.mm:
5054         (-[WebView _dashboardRegions]): Use WebFrame instead of bridge.
5055         (-[WebView setProhibitsMainFrameScrolling:]): Ditto.
5056         (-[WebView _setInViewSourceMode:]): Ditto.
5057         (-[WebView _inViewSourceMode]): Ditto.
5058         (-[WebView _executeCoreCommandByName:value:]): Ditto.
5059         (-[WebView stringByEvaluatingJavaScriptFromString:]): Ditto.
5060         (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
5061         (-[WebView scrollDOMRangeToVisible:]): Ditto.
5062         (-[WebView setSelectedDOMRange:affinity:]): Ditto.
5063         (-[WebView setEditable:]): Ditto.
5064         (-[WebView setTypingStyle:]): Ditto.
5065         (-[WebView typingStyle]): Ditto.
5066         (-[WebView replaceSelectionWithNode:]): Ditto.
5067         (-[WebView replaceSelectionWithText:]): Ditto.
5068         (-[WebView replaceSelectionWithMarkupString:]): Ditto.
5069         (-[WebView replaceSelectionWithArchive:]): Ditto.
5070         (-[WebView _insertNewlineInQuotedContent]): Ditto.
5071         (-[WebView _replaceSelectionWithNode:matchStyle:]): Ditto.
5073 2008-03-12  David Hyatt  <hyatt@apple.com>
5075         Make the zoom factor a float and not a percent.
5077         Reviewed by antti
5079         * WebView/WebView.mm:
5080         (-[WebView _setZoomMultiplier:isTextOnly:]):
5082 2008-03-11  David Hyatt  <hyatt@apple.com>
5084         This patch prepares Mac WebKit to handle two different zooming modes (full page zoom and text only zoom).
5085         New API is added that is parallel to the text zoom public API.  You can get/set a pageSizeMultiplier and you
5086         can zoom the page in, out or reset it to the standard size.
5088         In the implementation only one zoom factor is stored, and setting one multiplier will shift you into that mode
5089         and set the common zoom factor.  In other words you can't combine text zoom and page zoom.  One will always
5090         win.
5092         Reviewed by Tim H.
5094         * WebCoreSupport/WebFrameBridge.mm:
5095         (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
5096         * WebView/WebDocumentInternal.h:
5097         * WebView/WebHTMLView.mm:
5098         (-[WebHTMLView viewDidMoveToSuperview]):
5099         * WebView/WebPDFView.h:
5100         * WebView/WebPDFView.mm:
5101         (-[WebPDFView _zoomOut:]):
5102         (-[WebPDFView _zoomIn:]):
5103         (-[WebPDFView _resetZoom:]):
5104         (-[WebPDFView _canZoomOut]):
5105         (-[WebPDFView _canZoomIn]):
5106         (-[WebPDFView _canResetZoom]):
5107         * WebView/WebView.mm:
5108         (-[WebViewPrivate init]):
5109         (-[WebView setTextSizeMultiplier:]):
5110         (-[WebView textSizeMultiplier]):
5111         (-[WebView _setZoomMultiplier:isTextOnly:]):
5112         (-[WebView _zoomMultiplier:]):
5113         (-[WebView _realZoomMultiplier]):
5114         (-[WebView _realZoomMultiplierIsTextOnly]):
5115         (-[WebView _canZoomOut:]):
5116         (-[WebView _canZoomIn:]):
5117         (-[WebView _zoomOut:isTextOnly:]):
5118         (-[WebView _zoomIn:isTextOnly:]):
5119         (-[WebView _canResetZoom:]):
5120         (-[WebView _resetZoom:isTextOnly:]):
5121         (-[WebView canMakeTextSmaller]):
5122         (-[WebView makeTextSmaller:]):
5123         (-[WebView canMakeTextLarger]):
5124         (-[WebView makeTextLarger:]):
5125         (-[WebView canMakeTextStandardSize]):
5126         (-[WebView makeTextStandardSize:]):
5127         (-[WebView setPageSizeMultiplier:]):
5128         (-[WebView pageSizeMultiplier]):
5129         (-[WebView canZoomPageIn]):
5130         (-[WebView zoomPageIn:]):
5131         (-[WebView canZoomPageOut]):
5132         (-[WebView zoomPageOut:]):
5133         (-[WebView canResetPageZoom]):
5134         (-[WebView resetPageZoom:]):
5135         (-[WebView _searchWithSpotlightFromMenu:]):
5136         * WebView/WebViewInternal.h:
5137         * WebView/WebViewPrivate.h:
5139 2008-03-12  Dan Bernstein  <mitz@apple.com>
5141         Reviewed by Darin Adler and Sam Weinig.
5143         - <rdar://problem/4433248> use CoreText API instead of SPI on Leopard
5145         * WebCoreSupport/WebSystemInterface.m:
5146         (InitWebCoreSystemInterface): Made WKGetCGFontFromNSFont and
5147         WKGetNSFontATSUFontId Tiger-only.
5149 2008-03-12  Darin Adler  <darin@apple.com>
5151         - fix http://bugs.webkit.org/show_bug.cgi?id=17794
5152           REGRESSION (r30980): 23 tests hanging on the Mac buildbot
5154         * WebView/WebFrame.mm:
5155         (-[WebFrame _initWithWebFrameView:webView:bridge:]): Added missing call to set
5156         up pointer from the bridge to the frame. (My next check-in removes the bridge
5157         entirely, but we need this until then.)
5159 2008-03-11  Darin Adler  <darin@apple.com>
5161         Reviewed by Sam.
5163         - remove all bridge-related things from WebCore except the bridge itself
5165         * DOM/WebDOMOperations.mm:
5166         (-[DOMNode _bridge]): Reimplemented to not use the bridgeForDOMDocument: method.
5168         * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded include.
5170         * Plugins/WebPluginController.mm: Ditto.
5172         * WebCoreSupport/WebFrameBridge.h: Removed unneeded things, including the
5173         init and close methods. Added a setWebFrame: method.
5175         * WebCoreSupport/WebFrameBridge.mm:
5176         (-[WebFrameBridge setWebFrame:]): Added.
5178         * WebCoreSupport/WebFrameLoaderClient.mm:
5179         (WebFrameLoaderClient::frameLoaderDestroyed): Added an assertion.
5180         (WebFrameLoaderClient::detachedFromParent4): Moved the call to close on the
5181         bridge here. Soon we will be able to remove this entirely!
5182         (WebFrameLoaderClient::createFrame): Rewrote this to use the method moved
5183         into WebFrame from the bridge.
5185         * WebView/WebFrame.mm:
5186         (-[WebFramePrivate dealloc]): Added code to release the bridge, because it's
5187         now owned by the frame.
5188         (-[WebFramePrivate finalize]): Added this missing method. We'd leak the script
5189         debugger under GC without this!
5190         (kit): Rewrote the function that maps from a WebCore::Frame to a WebFrame to
5191         use WebFrameLoaderClient instead of the bridge.
5192         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Added.
5193         This is code that used to live in the bridge's init function.
5194         (+[WebFrame _createMainFrameWithPage:frameName:frameView:]): Ditto.
5195         (+[WebFrame WebCore::_createSubframeWithOwnerElement:frameName:frameView:]): Ditto.
5196         (-[WebFrame _initWithWebFrameView:webView:bridge:]): Retain the bridge, since
5197         the WebView is now the bridge's owner.
5198         (-[WebFrame _updateBackground]): Changed this one call site that was calling the
5199         WebCore::Frame::bridge function directly to use the kit function instead.
5200         (-[WebFrame dealloc]): Added code to clear the WebFrame pointer in the bridge.
5201         This code won't last long -- we're eliminating the bridge soon.
5202         (-[WebFrame finalize]): Ditto.
5204         * WebView/WebFrameInternal.h: Added a coreFrame backpointer and two new methods
5205         for creating frames.
5207         * WebView/WebView.mm:
5208         (-[WebView _commonInitializationWithFrameName:groupName:]): Rewrote this to use
5209         the method moved into WebFrame from the bridge. Gets rid of the unpleasant idiom
5210         where we have to allocate a WebFrameBridge and then immediately release it.
5212 2008-03-11  Darin Adler  <darin@apple.com>
5214         Reviewed by Anders.
5216         - remove code depending on the bridge to get from an NSView to a WebCore::Frame
5218         * WebCoreSupport/WebFrameLoaderClient.mm:
5219         (WebFrameLoaderClient::transitionToCommittedForNewPage): Remove incorrect call
5220         to setView. A couple lines later, there is a call to _install, which sets the
5221         view to the scroll view.
5223         * WebCoreSupport/WebViewFactory.mm: Removed bridgeForView method.
5225         * WebView/WebDynamicScrollBarsView.h: Moved most of the declarations out of
5226         this file, since it's used by Safari.
5227         * WebView/WebDynamicScrollBarsViewInternal.h: Added.
5228         * WebView/WebDynamicScrollBarsView.m:
5229         (-[WebDynamicScrollBarsView updateScrollers]): Ditto.
5230         (-[WebDynamicScrollBarsView setAllowsScrolling:]): Ditto.
5231         (-[WebDynamicScrollBarsView allowsScrolling]): Ditto.
5232         (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]): Ditto.
5233         (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]): Ditto.
5234         (-[WebDynamicScrollBarsView allowsHorizontalScrolling]): Ditto.
5235         (-[WebDynamicScrollBarsView allowsVerticalScrolling]): Ditto.
5236         (-[WebDynamicScrollBarsView horizontalScrollingMode]): Ditto.
5237         (-[WebDynamicScrollBarsView verticalScrollingMode]): Ditto.
5238         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]): Ditto.
5239         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]): Ditto.
5240         (-[WebDynamicScrollBarsView setVerticalScrollingMode:]): Ditto.
5241         (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]): Ditto.
5242         (-[WebDynamicScrollBarsView setScrollingMode:]): Ditto.
5243         (-[WebDynamicScrollBarsView setScrollingMode:andLock:]): Ditto.
5245         * WebView/WebFrameView.mm:
5246         (-[WebFrameView _web_frame]): Added. Replaces the webCoreBridge method.
5248         * WebView/WebView.mm:
5249         (-[WebView setAlwaysShowVerticalScroller:]): Updated for changes to WebCoreFrameView.h.
5250         (-[WebView alwaysShowVerticalScroller]): Ditto.
5251         (-[WebView setAlwaysShowHorizontalScroller:]): Ditto.
5252         (-[WebView alwaysShowHorizontalScroller]): Ditto.
5254 2008-03-11  Darin Adler  <darin@apple.com>
5256         Reviewed by Sam.
5258         - eliminate the remaining parts of WebCoreBridge used for calls to WebKit from WebCore
5260         * WebCoreSupport/WebChromeClient.h: Added new virtual functions that replace
5261         bridge methods.
5262         * WebCoreSupport/WebChromeClient.mm: Added lots of BEGIN_BLOCK_OBJC_EXCEPTIONS
5263         to recently-created functions.
5264         (WebChromeClient::firstResponder): Moved code here from the bridge.
5265         (WebChromeClient::makeFirstResponder): Ditto.
5266         (WebChromeClient::runOpenPanel): Ditto.
5267         (WebChromeClient::willPopUpMenu): Ditto.
5269         * WebCoreSupport/WebFrameBridge.h: Removed almost everything. What's left
5270         is related to creating the bridge and connecting it to WebCore, which will
5271         go next when I eliminate use of the bridge to get to/from the Frame*.
5272         * WebCoreSupport/WebFrameBridge.mm:
5273         (-[WebFrameBridge close]): Moved the code to track the bridge count here
5274         instead of the dealloc and finalize methods.
5276 2008-03-11  Darin Adler  <darin@apple.com>
5278         Reviewed by Mitz.
5280         - update code affected by Range changes
5282         * Misc/WebNSAttributedStringExtras.mm:
5283         (+[NSAttributedString _web_attributedStringFromRange:]): Update for name changes.
5284         * WebView/WebHTMLRepresentation.mm:
5285         (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
5286         Use Range::create.
5287         * WebView/WebHTMLView.mm:
5288         (-[WebHTMLView attributedString]): Ditto.
5290 2008-03-10  Darin Adler  <darin@apple.com>
5292         Reviewed by Sam.
5294         - eliminate keyboard UI mode method from WebCoreFrameBridge
5296         * WebCoreSupport/WebChromeClient.h: Added keyboardUIMode function.
5297         * WebCoreSupport/WebChromeClient.mm:
5298         (WebChromeClient::keyboardUIMode): Ditto. Calls WebView.
5299         * WebCoreSupport/WebFrameBridge.h: Removed unused things, including the
5300         fields for keyboard UI mode.
5301         * WebCoreSupport/WebFrameBridge.mm:
5302         (-[WebFrameBridge dealloc]): Removed unneeded code; eliminated the fini
5303         method.
5304         (-[WebFrameBridge finalize]): Ditto.
5305         * WebView/WebView.mm: Moved the keyboard mode code in here.
5306         (-[WebView _close]): Remove observer from the distributed notification
5307         center as well as the normal one.
5308         (-[WebView _retrieveKeyboardUIModeFromPreferences:]): Added. Code moved
5309         here from the bridge.
5310         (-[WebView _keyboardUIMode]): Ditto.
5311         * WebView/WebViewInternal.h: Added _keyboardUIMode method.
5313 2008-03-10  Darin Adler  <darin@apple.com>
5315         Reviewed by Sam.
5317         - eliminate Java applet methods from WebCoreFrameBridge
5319         * WebCoreSupport/WebChromeClient.mm: Removed unneeded headers and declarations.
5320         * WebCoreSupport/WebFrameBridge.mm: Ditto. Also removed unneeded methods, including
5321         the ones that load Java applets.
5322         * WebCoreSupport/WebFrameLoaderClient.h: Added javaApplet function.
5323         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
5325 2008-03-07  Simon Hausmann  <hausmann@webkit.org>
5327         Reviewed by Darin Adler.
5329         Done with Lars.
5331         Simplified WebViewFactory's refreshPlugins method to only refresh the
5332         plugins and not reload the frames anymore since that's now done in a
5333         platform independent manner by WebCore::Page.
5335         Also removed the now unused pluginNameForMIMEType and
5336         pluginSupportsMIMEType methods.
5338         * WebCoreSupport/WebViewFactory.mm:
5339         * WebView/WebFrame.mm:
5340         * WebView/WebFrameInternal.h:
5341         * WebView/WebView.mm:
5343 2008-03-08  Mark Rowe  <mrowe@apple.com>
5345         Reviewed by Darin Adler.
5347         Fix 64-bit build with GCC 4.2.
5349         * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Use NSUInteger in place of unsigned where required.
5350         * DefaultDelegates/WebDefaultUIDelegate.m: Ditto.
5351         * History/WebHistoryItem.mm: Ditto.
5352         * Misc/WebElementDictionary.mm: Ditto.
5353         * WebCoreSupport/WebFrameLoaderClient.mm:
5354         (WebFrameLoaderClient::objectContentType): Move variable declaration outside of if to avoid warning about the
5355         variable being unused in 64-bit.
5356         * WebCoreSupport/WebInspectorClient.mm: Use NSUInteger in place of unsigned where required.
5357         * WebView/WebHTMLView.mm:
5358         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Use CGFloat in place of float where required.
5359         (-[WebTextCompleteController numberOfRowsInTableView:]): Use NSInteger in place of int where required.
5361 2008-03-08  Darin Adler  <darin@apple.com>
5363         Reviewed by Adele.
5365         - eliminate custom highlight methods from WebCoreFrameBridge
5367         * WebCoreSupport/WebChromeClient.h: Added custom highlight functions.
5368         * WebCoreSupport/WebChromeClient.mm:
5369         (WebChromeClient::customHighlightRect): Moved code here from bridge.
5370         (WebChromeClient::paintCustomHighlight): Ditto.
5371         * WebCoreSupport/WebFrameBridge.mm: Removed code here.
5373 2008-03-07  David D. Kilzer  <ddkilzer@apple.com>
5375         Unify concept of enabling Netscape Plug-in API (NPAPI).
5377         Reviewed by Darin Adler.
5379         * WebKit.exp: Removed unused class export for WebBaseNetscapePluginView.
5381         * WebKitPrefix.h: Removed WTF_USE_NPOBJECT since we now use
5382         ENABLE(NETSCAPE_PLUGIN_API) as defined in Platform.h.
5384         * Plugins/WebBaseNetscapePluginStream.h: Replaced #ifndef __LP64__ with
5385         #if ENABLE(NETSCAPE_PLUGIN_API).
5386         * Plugins/WebBaseNetscapePluginStream.mm: Ditto.
5387         * Plugins/WebBaseNetscapePluginView.h: Ditto.
5388         * Plugins/WebBaseNetscapePluginView.mm: Ditto.
5389         * Plugins/WebBaseNetscapePluginViewInternal.h: Ditto.
5390         * Plugins/WebBaseNetscapePluginViewPrivate.h: Ditto.
5391         * Plugins/WebBasePluginPackage.h: Ditto.
5392         * Plugins/WebBasePluginPackage.m: Ditto.
5393         (+[WebBasePluginPackage pluginWithPath:]):
5394         * Plugins/WebNetscapeDeprecatedFunctions.c: Ditto.
5395         * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
5396         * Plugins/WebNetscapePluginEmbeddedView.h: Ditto.
5397         * Plugins/WebNetscapePluginEmbeddedView.mm: Ditto.
5398         * Plugins/WebNetscapePluginPackage.h: Ditto.
5399         * Plugins/WebNetscapePluginPackage.m: Ditto.
5400         * Plugins/WebNetscapePluginStream.h: Ditto.
5401         * Plugins/WebNetscapePluginStream.mm: Ditto.
5402         * Plugins/WebPluginDatabase.m: Ditto.
5403         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
5404         * Plugins/npapi.m: Ditto.
5405         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
5406         (WebFrameLoaderClient::objectContentType):
5407         (WebFrameLoaderClient::createPlugin):
5408         * WebView/WebHTMLView.mm: Ditto.
5409         (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
5410         * WebView/WebHTMLViewInternal.h: Ditto.
5412         * WebView/WebFrame.mm: Replaced #ifndef __LP64__ with
5413         #if ENABLE(NETSCAPE_PLUGIN_API). Moved methods below from (WebPrivate)
5414         category to (WebInternal) category so we don't expose the ENABLE() macro
5415         from the private header.
5416         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
5417         (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
5418         * WebView/WebFrameInternal.h: Ditto.
5419         * WebView/WebFramePrivate.h: Ditto.
5421 2008-03-07  Alexey Proskuryakov  <ap@webkit.org>
5423         Reviewed by Darin Adler.
5425         <rdar://problem/5579292> REGRESSION: (safari 2-3): "Default default" encoding for Korean
5426         changed from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites
5428         * WebView/WebPreferences.m:
5429         (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Make encoding name match
5430         the one used in Safari.
5432 2008-03-07  Mark Rowe  <mrowe@apple.com>
5434         Reviewed by Oliver Hunt.
5436         Fix WebKit build with GCC 4.2.
5438         * Plugins/WebBaseNetscapePluginView.mm: Use the correct return type in method signature.
5440 2008-03-07  Darin Adler  <darin@apple.com>
5442         Reviewed by Adam.
5444         - eliminated WebCoreFrameBridge runOpenPanel
5446         * WebCoreSupport/WebChromeClient.h: Added runOpenPanel.
5447         * WebCoreSupport/WebChromeClient.mm:
5448         (WebChromeClient::runOpenPanel): Added.
5449         (-[WebOpenPanelResultListener initWithChooser:]): Added. Used to wrap the
5450         FileChooser so it can get a result from the UI delegate.
5451         (-[WebOpenPanelResultListener dealloc]): Added.
5452         (-[WebOpenPanelResultListener finalize]): Added.
5453         (-[WebOpenPanelResultListener cancel]): Added.
5454         (-[WebOpenPanelResultListener chooseFilename:]): Added.
5456 2008-03-06  Darin Adler  <darin@apple.com>
5458         Reviewed by Mitz.
5460         - fix regression test failures from the visited-link change
5462         * History/WebHistory.mm:
5463         (+[WebHistory setOptionalSharedHistory:]): Call PageGroup::setShouldTrackVisitedLinks
5464         to turn off visited links if there is no history object. Also call
5465         removeAllVisitedLinks so we can start over from scratch with the new history.
5467 2008-03-06  Dan Bernstein  <mitz@apple.com>
5469         Reviewed by Darin Adler.
5471         - fix a regression from r30741: a crash under
5472           WebFrameLoaderClient::createPlugin() when showing a Mail message with
5473           an attachment
5475         * WebCoreSupport/WebFrameLoaderClient.mm:
5476         (WebFrameLoaderClient::createPlugin):
5478 2008-03-06  Darin Adler  <darin@apple.com>
5480         - fix Tiger build
5482         * History/WebHistory.mm: Added include of WebTypesInternal.h.
5484 2008-03-06  Darin Adler  <darin@apple.com>
5486         - fix Release build
5488         * History/WebHistory.mm:
5489         (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]): Removed underscore.
5490         (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]): Added #if.
5491         (-[WebHistoryPrivate saveToURL:error:]): Ditto.
5493 2008-03-06  Darin Adler  <darin@apple.com>
5495         Reviewed by Mitz.
5497         - fix http://bugs.webkit.org/show_bug.cgi?id=17526
5498           REGRESSION: iframes are added to Safari's History menu
5499           by separating the visited link machinery from global history
5501         * History/WebHistory.mm: Moved WebHistoryPrivate inside this file.
5502         (-[WebHistoryPrivate removeItemFromDateCaches:]): Removed the underscore from this
5503         method name, since it's on a private object.
5504         (-[WebHistoryPrivate removeItemForURLString:]): Added a call to the
5505         PageGroup::removeAllVisitedLinks function if the last URL was removed.
5506         (-[WebHistoryPrivate addItemToDateCaches:]): Removed the underscore from this
5507         method name, since it's on a private object.
5508         (-[WebHistoryPrivate removeAllItems]): Call PageGroup::removeAllVisitedLinks.
5509         (-[WebHistoryPrivate ageLimitDate]): Removed the underscore from this
5510         method name, since it's on a private object.
5511         (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
5512         Ditto.
5513         (-[WebHistoryPrivate saveHistoryGuts:URL:error:]): Ditto. Also changed this
5514         to correctly return the error by using the newer version of writeToURL: and
5515         removed the FIXME about that.
5516         (-[WebHistoryPrivate addVisitedLinksToPageGroup:]): Added. Calls addVisitedLink
5517         for every link in the history.
5518         (-[WebHistory saveToURL:error:]): Removed the FIXME, since we do get the error now.
5519         (-[WebHistory addItem:]): Moved into the WebPrivate category.
5520         (-[WebHistory addItemForURL:]): Ditto.
5521         (-[WebHistory _addItemForURL:title:]): Added. Used for the normal case where we
5522         create an item and already know its title.
5523         (-[WebHistory ageLimitDate]): Moved into the WebPrivate category.
5524         (-[WebHistory containsItemForURLString:]): Ditto.
5525         (-[WebHistory removeItem:]): Ditto.
5526         (-[WebHistory setLastVisitedTimeInterval:forItem:]): Ditto.
5527         (-[WebHistory _itemForURLString:]): Ditto.
5528         (-[WebHistory _addVisitedLinksToPageGroup:]): Added. For use only inside WebKit.
5530         * History/WebHistoryInternal.h: Added.
5531         * History/WebHistoryItemInternal.h: Tweaked formatting and includes.
5532         * History/WebHistoryPrivate.h: Moved the WebHistoryPrivate class out of this header.
5533         Also reorganized what was left behind.
5535         * WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks.
5536         * WebCoreSupport/WebChromeClient.mm:
5537         (WebChromeClient::populateVisitedLinks): Added a call to the new
5538         -[WebHistory _addVisitedLinksToPageGroup:] method.
5540         * WebCoreSupport/WebFrameLoaderClient.mm:
5541         (WebFrameLoaderClient::updateGlobalHistory): Changed code to use the new
5542         -[WebHistory _addItemForURL:title:] method.
5544 2008-03-05  Adam Roben  <aroben@apple.com>
5546         Rename WebCoreScriptDebuggerImp.{h,mm} to WebScriptDebugger.{h,mm}
5548         Reviewed by Kevin M.
5550         * WebView/WebFrame.mm:
5551         * WebView/WebScriptDebugDelegate.mm:
5552         * WebView/WebScriptDebugger.h: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.h.
5553         * WebView/WebScriptDebugger.mm: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.mm.
5555 2008-03-05  Adam Roben  <aroben@apple.com>
5557         Rename WebCoreScriptDebuggerImp to WebScriptDebugger
5559         Reviewed by Kevin M.
5561         * WebView/WebCoreScriptDebuggerImp.h:
5562         * WebView/WebCoreScriptDebuggerImp.mm:
5563         * WebView/WebFrame.mm:
5564         (-[WebFrame _attachScriptDebugger]):
5565         * WebView/WebFrameInternal.h:
5567 2008-03-05  Adam Roben  <aroben@apple.com>
5569         Remove WebScriptDebugger
5571         Uses of WebScriptDebugger have been replaced with
5572         WebCoreScriptDebuggerImp.
5574         Reviewed by Kevin M.
5576         * WebView/WebFrame.mm:
5577         (-[WebFramePrivate dealloc]): Use delete instead of release since
5578         WebCoreScriptDebuggerImp is a C++ class.
5579         (-[WebFrame _attachScriptDebugger]): Updated to use early returns and
5580         WebCoreScriptDebuggerImp.
5581         (-[WebFrame _detachScriptDebugger]): Ditto.
5582         * WebView/WebFrameInternal.h:
5583         * WebView/WebScriptDebugDelegate.mm: Removed WebScriptDebugger
5584         * WebView/WebScriptDebugDelegatePrivate.h: Removed.
5585         * WebView/WebView.mm:
5587 2008-03-05  Adam Roben  <aroben@apple.com>
5589         Remove -webFrame and -globalObject from WebScriptDebugger
5591         WebCoreScriptDebuggerImp is now unaware of WebScriptDebugger
5593         Reviewed by Kevin M.
5595         * WebView/WebCoreScriptDebuggerImp.h: Removed WebScriptDebugger*
5596         parameter to the constructor.
5597         * WebView/WebCoreScriptDebuggerImp.mm:
5598         (toWebFrame): Added.
5599         (WebCoreScriptDebuggerImp::sourceParsed): Call toWebFrame.
5600         (WebCoreScriptDebuggerImp::callEvent): Ditto, and get the Frame's
5601         WindowScriptObject ourselves instead of asking WebScriptDebugger for
5602         it.
5603         (WebCoreScriptDebuggerImp::atStatement): Call toWebFrame.
5604         (WebCoreScriptDebuggerImp::returnEvent): Ditto.
5605         (WebCoreScriptDebuggerImp::exception): Ditto.
5606         * WebView/WebScriptDebugDelegate.mm:
5607         (-[WebScriptDebugger initWithWebFrame:]): Updated for change to
5608         WebScriptDebuggerImp's constructor.
5609         * WebView/WebScriptDebugDelegatePrivate.h: Removed
5610         -webFrame/-globalObject.
5612 2008-03-05  Adam Roben  <aroben@apple.com>
5614         Remove -enterFrame: and -leaveFrame from WebScriptDebugger
5616         Reviewed by Kevin M.
5618         * WebView/WebCoreScriptDebuggerImp.h: Changed to store m_topCallFrame
5619         in a RetainPtr, now that WebCoreScriptDebuggerImp is in charge of its
5620         lifetime.
5621         * WebView/WebCoreScriptDebuggerImp.mm:
5622           - Added declaration of -[WebScriptCallFrame
5623             _initWithGlobalObject:caller:state:].
5624           - Changed most uses of m_topCallFrame to m_topCallFrame.get()
5625         (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Removed
5626         now-unnecessary initialization of m_topCallFrame.
5627         (WebCoreScriptDebuggerImp::callEvent): Replaced call to enterFrame:
5628         with its implementation. The one difference between this
5629         implementation and the old enterFrame: method is that we don't hand
5630         our reference to m_topCallFrame to _initWithGlobalObject: -- that
5631         method must now retain the passed-in WebScriptCallFrame manually.
5632         (WebCoreScriptDebuggerImp::atStatement):
5633         (WebCoreScriptDebuggerImp::returnEvent): Replaced call to leaveFrame
5634         with its implementation.
5635         (WebCoreScriptDebuggerImp::exception):
5636         * WebView/WebScriptDebugDelegate.mm: Removed declaration of
5637         -[WebScriptCallFrame _initWithGlobalObject:caller:state:].
5638         (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Changed
5639         to retain the passed-in caller.
5640         * WebView/WebScriptDebugDelegatePrivate.h:
5641           - Removed _current ivar
5642           - Removed enterFrame:/leaveFrame declarations.
5644 2008-03-05  Adam Roben  <aroben@apple.com>
5646         Remove -parsedSource: from WebScriptDebugger
5648         Reviewed by Kevin M.
5650         * WebView/WebCoreScriptDebuggerImp.mm:
5651         (WebCoreScriptDebuggerImp::sourceParsed): Moved code here from
5652         -[WebScriptDebugger parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]
5653         * WebView/WebScriptDebugDelegate.mm: Removed -parsedSource:.
5654         * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
5656 2008-03-05  Adam Roben  <aroben@apple.com>
5658         Remove -enteredFrame:, -leavingFrame:, and -exceptionRaised: from WebScriptDebugger
5660         Reviewed by Kevin M.
5662         * WebView/WebCoreScriptDebuggerImp.mm:
5663         (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Changed to call
5664         trhough to callEvent instead of duplicating its code here.
5665         (WebCoreScriptDebuggerImp::callEvent): Moved code from
5666         -[WebScriptDebugger enteredFrame:sourceId:line:] here.
5667         (WebCoreScriptDebuggerImp::returnEvent): Moved code from
5668         -[WebScriptDebugger leavingFrame:sourceId:line:] here.
5669         (WebCoreScriptDebuggerImp::exception): Moved code from
5670         -[WebScriptDebugger exceptionRaised:sourceId:line:] here.
5671         * WebView/WebScriptDebugDelegate.mm: Removed -enteredFrame:,
5672         -leavingFrame:, and -exceptionRaised:.
5673         * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
5675 2008-03-05  Adam Roben  <aroben@apple.com>
5677         Remove -[WebScriptDebugger hitStatement:sourceId:line:]
5679         Reviewed by Kevin M.
5681         * WebView/WebCoreScriptDebuggerImp.mm:
5682         (WebCoreScriptDebuggerImp::atStatement): Moved code here from
5683         -[WebScriptDebugger hitStatement:sourceId:line:].
5684         * WebView/WebScriptDebugDelegate.mm:
5685         (-[WebScriptDebugger webFrame]): Added.
5686         * WebView/WebScriptDebugDelegatePrivate.h:
5688 2008-03-05  Adam Roben  <aroben@apple.com>
5690         Remove WebCoreScriptDebugger
5692         Reviewed by Kevin M.
5694         * WebView/WebCoreScriptDebugger.h: Removed.
5695         * WebView/WebCoreScriptDebugger.mm: Removed.
5696         * WebView/WebCoreScriptDebuggerImp.h: Replaced WebCoreScriptDebugger
5697         with WebScriptDebugger.
5698         * WebView/WebCoreScriptDebuggerImp.mm: Ditto, and replaced [m_debugger
5699         delegate] with just m_debugger.
5700         (toNSString): Moved here from WebCoreScriptDebugger.mm.
5701         (toNSURL): Ditto.
5702         (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
5703         (WebCoreScriptDebuggerImp::sourceParsed):
5704         (WebCoreScriptDebuggerImp::callEvent):
5705         (WebCoreScriptDebuggerImp::atStatement):
5706         (WebCoreScriptDebuggerImp::returnEvent):
5707         (WebCoreScriptDebuggerImp::exception):
5708         * WebView/WebScriptDebugDelegate.mm:
5709         (-[WebScriptDebugger initWithWebFrame:]): _debugger now holds a
5710         WebCoreScriptDebuggerImp, so initialize it properly.
5711         * WebView/WebScriptDebugDelegatePrivate.h: Changed _debugger to hold a
5712         WebCoreScriptDebuggerImp.
5714 2008-03-05  Adam Roben  <aroben@apple.com>
5716         Move WebCoreScriptDebuggerImp to its own source files
5718         Also changed WebCoreScriptDebuggerImp coding style to match our style
5719         guidelines.
5721         Reviewed by Kevin M.
5723         * WebView/WebCoreScriptDebugger.h: Added declaration of toNSURL
5724         function.
5725         * WebView/WebCoreScriptDebugger.mm: Removed WebCoreScriptDebuggerImp
5726         implementation.
5727         (toNSURL): Made no longer static.
5728         * WebView/WebCoreScriptDebuggerImp.h: Added.
5729         * WebView/WebCoreScriptDebuggerImp.mm: Added. Code was moved here from
5730         WebCoreScriptDebugger.mm and cleaned up.
5731         (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
5732         (WebCoreScriptDebuggerImp::sourceParsed):
5733         (WebCoreScriptDebuggerImp::callEvent):
5734         (WebCoreScriptDebuggerImp::atStatement):
5735         (WebCoreScriptDebuggerImp::returnEvent):
5736         (WebCoreScriptDebuggerImp::exception):
5738 2008-03-05  Adam Roben  <aroben@apple.com>
5740         Move -_enterFrame and -_leaveFrame from WebCoreScriptDebugger to WebScriptDebugger
5742         Reviewed by Kevin M.
5744         * WebView/WebCoreScriptDebugger.h:
5745           - Removed newFrameWithGlobalObject:caller:state: from
5746             WebScriptDebugger protocol
5747           - Added enterFrame: and leaveFrame: to WebScriptDebugger protocol
5748           - Removed _current ivar from WebCoreScriptDebugger
5749         * WebView/WebCoreScriptDebugger.mm:
5750         (WebCoreScriptDebuggerImp::callEvent): Changed to call enterFrame on
5751         the delegate.
5752         (WebCoreScriptDebuggerImp::returnEvent): Ditto for leaveFrame.
5753         * WebView/WebScriptDebugDelegate.mm:
5754         (-[WebScriptDebugger dealloc]): Added code to release _current.
5755         (-[WebScriptDebugger enterFrame:]): Added. Code came from
5756         WebCoreScriptDebugger.
5757         (-[WebScriptDebugger leaveFrame]): Ditto.
5758         * WebView/WebScriptDebugDelegatePrivate.h: Added _current ivar.
5760 2008-03-05  Adam Roben  <aroben@apple.com>
5762         Remove WebCoreScriptCallFrame
5764         Reviewed by Tim.
5766         * WebView/WebCoreScriptDebugger.h:
5767           - Replaced WebCoreScriptCallFrame with WebScriptCallFrame
5768           - Replaced -newWrapperForFrame: with
5769             -newFrameWithGlobalObject:caller:state:
5770           - Removed WebCoreScriptCallFrame interface.
5771         * WebView/WebCoreScriptDebugger.mm: Replaced WebCoreScriptCallFrame
5772         with WebScriptCallFrame.
5773         (-[WebCoreScriptDebugger _enterFrame:]): Changed to call
5774         -newFrameWithGlobalObject:caller:state.
5775         (-[WebCoreScriptDebugger _leaveFrame]):
5776         * WebView/WebScriptDebugDelegate.h: Changed WebScriptCallFrame's
5777         _private ivar to be of type WebScriptCallFramePrivate*.
5778         * WebView/WebScriptDebugDelegate.mm:
5779           - Replaced WebCoreScriptCallFrame with WebScriptCallFrame
5780           - Added WebScriptCallFramePrivate
5781         (-[WebScriptDebugger enteredFrame:sourceId:line:]):
5782         (-[WebScriptDebugger hitStatement:sourceId:line:]):
5783         (-[WebScriptDebugger leavingFrame:sourceId:line:]):
5784         (-[WebScriptDebugger exceptionRaised:sourceId:line:]):
5785         (-[WebScriptCallFramePrivate dealloc]): Added.
5786         (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Added.
5787         Code came from WebCoreScriptCallFrame.
5788         (-[WebScriptCallFrame dealloc]): Added a call to release the _private
5789         ivar.
5790         (-[WebScriptCallFrame _convertValueToObjcValue:]): Replaced calls to
5791         _private with direct access of _private's ivars.
5792         (-[WebScriptCallFrame caller]): Ditto.
5793         (-[WebScriptCallFrame scopeChain]): Ditto.
5794         (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
5796 2008-03-05  Adam Roben  <aroben@apple.com>
5798         Move -_convertValueToObjcValue to WebScriptCallFrame
5800         Reviewed by Darin Adler.
5802         * WebView/WebCoreScriptDebugger.h: Removed declaration of
5803         -_convertValueToObjcValue.
5804         * WebView/WebCoreScriptDebugger.mm: Removed -_convertValueToObjcValue.
5805         * WebView/WebScriptDebugDelegate.mm:
5806         (-[WebScriptCallFrame _convertValueToObjcValue:]): Added. Code came
5807         from -[WebCoreScriptCallFrame _convertValueToObjcValue].
5808         (-[WebScriptCallFrame scopeChain]): Changed to call
5809         -_convertValueToObjcValue on self instead of _private.
5810         (-[WebScriptCallFrame exception]): Ditto.
5811         (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
5813 2008-03-05  Adam Roben  <aroben@apple.com>
5815         Move -exception and -evaluateWebScript: to WebScriptCallFrame
5817         Reviewed by Darin Adler.
5819         * WebView/WebCoreScriptDebugger.h: Removed declarations of -exception
5820         and -evaluateWebScript:.
5821         * WebView/WebCoreScriptDebugger.mm: Removed -exception and
5822         -evaluateWebScript:.
5823         * WebView/WebScriptDebugDelegate.mm:
5824         (-[WebScriptCallFrame exception]): Added. Code came from
5825         -[WebCoreScriptCallFrame exception].
5826         (-[WebScriptCallFrame evaluateWebScript:]): Added. Code came from
5827         -[WebCoreScriptCallFrame evaluateWebScript:].
5829 2008-03-05  Adam Roben  <aroben@apple.com>
5831         Move -scopeChain to WebScriptCallFrame
5833         Reviewed by Darin Adler.
5835         * WebView/WebCoreScriptDebugger.h:
5836           - Added declarations of -globalObject and -_convertValueToObjcValue:
5837             to WebCoreScriptCallFrame
5838           - Removed declaration of -scopeChain.
5839         * WebView/WebCoreScriptDebugger.mm: Moved -_convertValueToObjcValue
5840         within the main WebCoreScriptCallFrame implementation.
5841         (-[WebCoreScriptCallFrame globalObject]): Added.
5842         * WebView/WebScriptDebugDelegate.mm:
5843         (-[WebScriptCallFrame scopeChain]): Added. Code came from
5844         -[WebCoreScriptCallFrame scopeChain].
5846 2008-03-05  Adam Roben  <aroben@apple.com>
5848         Move -functionName from WebCoreScriptCallFrame to WebScriptCallFrame
5850         Reviewed by Darin Adler.
5852         * WebView/WebCoreScriptDebugger.h:
5853           - Removed #else case of #ifdef __cplusplus since this file is only
5854             ever used by C++ Objective-C files
5855           - Removed 'using KJS::ExecState' statement since we prefer not to
5856             have using statements in header files
5857           - Consequently prefixed uses of ExecState with KJS::
5858           - Added declaration of toNSString method that takes a const
5859             UString&
5860           - Added declaration of -[WebCoreScriptCallFrame state]
5861           - Removed declaration of -[WebCoreScriptCallFrame functionName]
5862         * WebView/WebCoreScriptDebugger.mm:
5863         (toNSString): Made this no longer static.
5864         (-[WebCoreScriptCallFrame state]): Added.
5865         * WebView/WebScriptDebugDelegate.mm:
5866         (-[WebScriptCallFrame functionName]): Added. Code came from
5867         -[WebCoreScriptCallFrame functionName], though I changed some nested
5868         ifs into early returns.
5870 2008-03-05  Adam Roben  <aroben@apple.com>
5872         Move WebCoreScriptDebugger to WebKit
5874         Reviewed by Darin Adler.
5876         * WebView/WebCoreScriptDebugger.h: Renamed from WebCore/page/mac/WebCoreScriptDebugger.h.
5877         * WebView/WebCoreScriptDebugger.mm: Renamed from WebCore/page/mac/WebCoreScriptDebugger.mm.
5878         (toNSString):
5879         (toNSURL):
5880         (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
5881         (WebCoreScriptDebuggerImp::sourceParsed):
5882         (WebCoreScriptDebuggerImp::callEvent):
5883         (WebCoreScriptDebuggerImp::atStatement):
5884         (WebCoreScriptDebuggerImp::returnEvent):
5885         (WebCoreScriptDebuggerImp::exception):
5886         (+[WebCoreScriptDebugger initialize]):
5887         (-[WebCoreScriptDebugger initWithDelegate:]):
5888         (-[WebCoreScriptDebugger dealloc]):
5889         (-[WebCoreScriptDebugger finalize]):
5890         (-[WebCoreScriptDebugger delegate]):
5891         (-[WebCoreScriptDebugger _enterFrame:]):
5892         (-[WebCoreScriptDebugger _leaveFrame]):
5893         (-[WebCoreScriptCallFrame _initWithGlobalObject:caller:state:]):
5894         (-[WebCoreScriptCallFrame _setWrapper:]):
5895         (-[WebCoreScriptCallFrame _convertValueToObjcValue:]):
5896         (-[WebCoreScriptCallFrame dealloc]):
5897         (-[WebCoreScriptCallFrame wrapper]):
5898         (-[WebCoreScriptCallFrame caller]):
5899         (-[WebCoreScriptCallFrame scopeChain]):
5900         (-[WebCoreScriptCallFrame functionName]):
5901         (-[WebCoreScriptCallFrame exception]):
5902         (-[WebCoreScriptCallFrame evaluateWebScript:]):
5903         * WebView/WebScriptDebugDelegate.mm: Updated header path.
5904         * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
5906 2008-03-05  Anders Carlsson  <andersca@apple.com>
5908         Reviewed by Geoff.
5910         Include file changes.
5911         
5912         * Plugins/WebBaseNetscapePluginView.mm:
5913         * Plugins/WebNetscapePluginPackage.m:
5915 2008-03-04  Timothy Hatcher  <timothy@apple.com>
5917         Reviewed by Darin Adler.
5919         <rdar://problem/5720160> Browser windows "do nothing" while modal
5920         dialog or menu is up due to run loop modes (or while scrolling)
5922         Add new API that lets a WebView be scheduled with multiple runloops and modes.
5923         This lets loading continue when in a nested runloop or in a different mode.
5925         * Misc/WebKitVersionChecks.h: Add a new version define:
5926         WEBKIT_FIRST_VERSION_WITH_LOADING_DURING_COMMON_RUNLOOP_MODES.
5927         * WebView/WebView.mm:
5928         (-[WebView _commonInitializationWithFrameName:groupName:]): Schedule in the main runloop and with
5929         the default runloop mode if we are linked on an earlier WebKit version, use common modes otherwise.
5930         (-[WebView scheduleInRunLoop:forMode:]): New API, that calls through to Page.
5931         (-[WebView unscheduleFromRunLoop:forMode:]): Ditto.
5932         * WebView/WebViewPrivate.h: Add the new pending API methods.
5934 2008-03-04  Anders Carlsson  <andersca@apple.com>
5936         Reviewed by Darin Adler.
5938         Fix crash that happens when trying to load a page with a Java applet.
5939         
5940         * WebCoreSupport/WebFrameLoaderClient.mm:
5941         Don't release the names and values array - the kit method returns an autoreleased array.
5943 2008-03-04  Darin Adler  <darin@apple.com>
5945         Reviewed by Adam.
5947         - fix 200+ failing regression tests
5948         - fix http://bugs.webkit.org/show_bug.cgi?id=17668
5949           Vertical scrollbar at slashdot.org is randomly not shown
5951         * WebCoreSupport/WebFrameLoaderClient.mm:
5952         (WebFrameLoaderClient::transitionToCommittedForNewPage): Changed the refcounting
5953         code here to exactly match the way it was before it was moved from WebCore. I had
5954         introduced a storage leak and that was causing problems with scroll bars!
5956 2008-03-04  Darin Adler  <darin@apple.com>
5958         Reviewed by Adam.
5960         - remove WebCoreFrameBridge reapplyStyles method
5962         * WebView/WebHTMLView.mm:
5963         (-[WebHTMLView reapplyStyles]): Moved code to reapply styles here from the bridge.
5965 2008-03-04  Darin Adler  <darin@apple.com>
5967         Reviewed by Adam.
5969         - eliminate WebCoreFrameBridge createFrameViewWithNSView
5971         * WebCoreSupport/WebFrameLoaderClient.mm:
5972         (WebFrameLoaderClient::transitionToCommittedForNewPage):
5973         Moved code here from createFrameViewWithNSView.
5975 2008-03-04  Darin Adler  <darin@apple.com>
5977         Reviewed by Adam.
5979         - removed WebCoreFrameBridge scrollOverflowInDirection
5981         * WebView/WebFrameView.mm:
5982         (-[WebFrameView _scrollOverflowInDirection:granularity:]): Changed to call
5983         EventHandler directly instead of using the bridge.
5984         (-[WebFrameView scrollToBeginningOfDocument:]): Updated to use WebCore enums instead
5985         of the ones from the bridge.
5986         (-[WebFrameView scrollToEndOfDocument:]): Ditto.
5987         (-[WebFrameView _pageVertically:]): Ditto.
5988         (-[WebFrameView _pageHorizontally:]): Ditto.
5989         (-[WebFrameView _scrollLineVertically:]): Ditto.
5990         (-[WebFrameView _scrollLineHorizontally:]): Ditto.
5992 2008-03-04  Darin Adler  <darin@apple.com>
5994         Reviewed by Adam.
5996         - remove WebCoreFrameBridge installInFrame: method
5998         * WebCoreSupport/WebFrameLoaderClient.mm:
5999         (WebFrameLoaderClient::transitionToCommittedForNewPage): Call
6000         -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
6001         * WebView/WebFrameView.mm:
6002         (-[WebFrameView _install]): Added. Has code from -[WebCoreFrameBridge installInFrame:].
6003         (-[WebFrameView _setCustomScrollViewClass:]): Used early return idiom so the entire
6004         method isn't nested inside an if statement. Call
6005         -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
6006         * WebView/WebFrameViewInternal.h: Added declaration of _install method so it can be
6007         used in WebFrameLoaderClient.mm.
6009 2008-03-04  Darin Adler  <darin@apple.com>
6011         Reviewed by Adam.
6013         - remove WebCoreFrameBridge window method
6015         * WebCoreSupport/WebFrameBridge.mm: Removed window method.
6017 2008-03-04  Darin Adler  <darin@apple.com>
6019         Reviewed by Adam.
6021         - move code from WebFrameBridge into WebFrameLoaderClient
6023         * WebCoreSupport/WebFrameBridge.h: Removed unused fields, changed frame name parameters
6024         to use WebCore::String instead of NSString, add initSubframeWithOwnerElement declaration,
6025         removed viewForPluginWithFrame, viewForJavaAppletWithFrame, createChildFrameNamed,
6026         redirectDataToPlugin, determineObjectFromMIMEType, and windowObjectCleared methods.
6027         * WebCoreSupport/WebFrameBridge.mm:
6028         (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
6029         Changed to use WebCore::String.
6030         (-[WebFrameBridge initMainFrameWithPage:frameName:WebCore::frameView:]): Ditto.
6031         (-[WebFrameBridge initSubframeWithOwnerElement:frameName:WebCore::frameView:]): Ditto.
6033         * WebCoreSupport/WebFrameLoaderClient.mm:
6034         (WebFrameLoaderClient::setOriginalURLForDownload): Removed some dead code I found here
6035         and added a FIXME.
6036         (WebFrameLoaderClient::createFrame): Moved the code from WebFrameBridge here.
6037         (WebFrameLoaderClient::objectContentType): Ditto.
6038         (parameterValue): Added.  Helper function, based on code originally in WebFrameBridge.
6039         (pluginView): Ditto.
6040         (WebFrameLoaderClient::createPlugin): Moved the code from WebFrameBridge here.
6042 2008-03-04  Darin Adler  <darin@apple.com>
6044         Reviewed by Adam.
6046         - remove -[WebCoreFrameBridge dashboardRegionsChanged:]
6048         * WebCoreSupport/WebChromeClient.h:
6049         * WebCoreSupport/WebChromeClient.mm:
6050         (WebChromeClient::dashboardRegionsChanged): Moved code here from the bridge.
6051         The WebCore side now calls this only when there's an actual change.
6052         * WebCoreSupport/WebFrameBridge.h: Removed lastDashboardRegions.
6053         * WebCoreSupport/WebFrameBridge.mm:
6054         (-[WebFrameBridge dealloc]): Removed code to release lastDashboardRegions.
6055         Removed _compareDashboardRegions: and dashboardRegionsChanged: methods.
6057 2008-03-04  Darin Adler  <darin@apple.com>
6059         Reviewed by Adam.
6061         - remove WebCoreFrameBridge issuePasteComand method
6063         * WebCoreSupport/WebFrameBridge.mm: Removed issuePasteCommand method.
6064         * WebView/WebHTMLViewInternal.h: Removed declaration of paste: method.
6066 2008-03-03  Darin Adler  <darin@apple.com>
6068         Reviewed by Adam.
6070         - some "cleanup" on the path to removing WebCoreFrameBridge
6072         * Storage/WebDatabaseManager.mm: Tweak includes.
6073         * Storage/WebDatabaseTrackerClient.mm: Ditto.
6074         * Storage/WebSecurityOrigin.mm: Ditto.
6075         * Storage/WebSecurityOriginInternal.h: Ditto.
6077         * WebView/WebFrame.mm:
6078         (core): Changed to get rid of the requirement that WebKitEditableLinkBehavior exactly
6079         match WebCore::EditableLinkBehavior.
6080         * WebView/WebFrameInternal.h: Removed unused kit function.
6082         * WebView/WebHTMLView.mm: Moved WebHTMLViewPrivate class in here.
6083         * WebView/WebHTMLViewInternal.h: Moved WebHTMLVewPrivate class out of here.
6084         * WebView/WebHTMLViewPrivate.h: Tweaked formatting and removed some unneeded declarations.
6086         * WebView/WebPreferencesPrivate.h: Removed a no-longer-needed comment.
6088 2008-03-01  Mark Rowe  <mrowe@apple.com>
6090         Reviewed by Tim Hatcher.
6092         Update Xcode configuration to support building debug and release from the mysterious future.
6094         * Configurations/DebugRelease.xcconfig:
6096 2008-02-29  Mark Rowe  <mrowe@apple.com>
6098         Reviewed by Anders Carlsson.
6100         Replace use of WKPathFromFont with implementation in terms of public API.
6102         * WebCoreSupport/WebSystemInterface.m:
6103         (InitWebCoreSystemInterface): Remove unused symbol.
6105 2008-02-29  Mark Rowe  <mrowe@apple.com>
6107         Reviewed by Oliver Hunt.
6109         Fix spelling of "request" in name of WKNSURLProtocolClassForRequest.
6111         * Misc/WebNSURLExtras.mm:
6112         (-[NSURL _webkit_canonicalize]):
6113         * WebKit.order:
6115 2008-02-29  Mark Rowe  <mrowe@apple.com>
6117         Reviewed by Oliver Hunt.
6119         Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
6121         * WebCoreSupport/WebSystemInterface.m:
6122         (InitWebCoreSystemInterface):
6124 2008-02-29  Mark Rowe  <mrowe@apple.com>
6126         Reviewed by Oliver Hunt.
6128         Remove obsolete code that had been left intact to support users running WebKit with older versions of Safari.
6130         * Misc/WebNSViewExtras.m:  Remove _web_superviewOfClass:stoppingAtClass:.
6131         * Misc/WebNSWindowExtras.m:  Remove _webkit_displayThrottledWindows.
6132         * Misc/WebSearchableTextView.m:  Remove selectionImageForcingWhiteText:.
6133         * WebCoreSupport/WebImageRendererFactory.m:  Update comment to mention the last version of Safari that
6134         requires this class.
6135         * WebInspector/WebInspector.mm:  Remove sharedWebInspector and update comments to mention the last version
6136         of Safari that calls other obsolete methods.
6137         * WebView/WebDocumentPrivate.h:  Remove selectionImageForcingWhiteText:.
6138         * WebView/WebHTMLView.mm:  Ditto.
6139         * WebView/WebPDFView.mm:  Ditto.
6140         * WebView/WebView.mm:  Update comment to mentoin the last version of Safari that requires the obsolete method.
6142 2008-02-29  Mark Rowe  <mrowe@apple.com>
6144         Rubber-stamped by Eric Seidel.
6146         Remove unneeded includes of WebKitSystemInterface.h.
6148         * History/WebHistoryItem.mm:
6149         * Misc/WebNSViewExtras.m:
6150         * WebCoreSupport/WebFrameLoaderClient.mm:
6151         * WebView/WebDataSource.mm:
6152         * WebView/WebPDFView.mm:
6154 2008-02-29  Mark Rowe  <mrowe@apple.com>
6156         Reviewed by Oliver Hunt and Oliver Hunt.
6158         <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
6160         * WebCoreSupport/WebSystemInterface.m:
6161         (InitWebCoreSystemInterface):  Remove unused symbol.
6162         * WebKit.order:  Ditto.
6164 2008-02-28  Mark Rowe  <mrowe@apple.com>
6166         Reviewed by Dave Hyatt.
6168         Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
6170         * WebCoreSupport/WebSystemInterface.m:
6171         (InitWebCoreSystemInterface): Only initialize wkGetFontMetrics on Tiger.
6173 2008-02-27  Brady Eidson  <beidson@apple.com>
6175         Reviewed by Mark Rowe (code) and Darin (concept)
6177         Much better fix for <rdar://problem/4930688> (see r19549)
6178         Original fix for <rdar://problem/3947312> (and 14 dupes)
6179         
6180         Let me tell you a story:
6181         A long time ago, in a cvs repository far, far away, loader code was almost all up in WebKit.
6182         WebArchive code was intertwined with that code in bizarre and complex ways.
6183         During the months long loader re-factoring where we pushed much loader code down into WebCore,
6184         many portions of the WebKit loader were thinned out until they ceased to exist.  Others remained
6185         with a sole purpose.
6187         One such section of code whose lineage traces back from WebFrameLoaderClient to WebFrameLoader
6188         to WebLoader was originally rooted in the method [WebLoader loadRequest:].  This method was the 
6189         single entry point for almost all loading (network or web archives)
6191         This method would check various headers and other fields on the NSURLRequest and NSURLResponse 
6192         to make decisions about the load.  If the cache control fields were expired or other conditions 
6193         in the headers were met, the load would be forced to go out to the network.
6195         As the loader was moved and tweaked repeatedly, most of this code was pruned or re-factored.  
6196         At some point, all that remained was the special cases for loading WebArchives.  
6197         
6198         Somewhere in the r16,000s, this remaining responsibility was noticed and related methods we renamed
6199         to be WebArchive specific, further cementing the assumed design.
6201         Problem is, the design was bad.  A WebArchive is meant to be a static snapshot of a WebPage at a
6202         specific point in time.  Referring to the request to see if the resource should be reloaded seems
6203         nonsensical, as does referring to the response headers to see if the resource is "expired".  In the 
6204         context of loading a WebArchive, available data should *always* be loaded from the WebArchive, at least
6205         during the initial load!
6207         After discovering the secret to reproducing all of these bugs is both emptying our your Foundation 
6208         cache and disconnecting your network, it was easy to reproduce the 16 individually reported cases 
6209         that were all symptoms of this bug, and easy to verify that they are fixed with this patch.
6211         * WebCoreSupport/WebFrameLoaderClient.h:
6212         * WebCoreSupport/WebFrameLoaderClient.mm:
6213         (WebFrameLoaderClient::willUseArchive): Do not call either form of "canUseArchivedResource()" that
6214           inspect the request or response objects - We are loading from a WebArchive, and we should never
6215           make the decision to go out to the network when we actually have the resource available.
6217         * WebCoreSupport/WebSystemInterface.m:
6218         (InitWebCoreSystemInterface):  Remove two methods that are no longer used anywhere in WebKit
6220 2008-02-27  Matt Lilek  <webkit@mattlilek.com>
6222         Reviewed by Adam Roben.
6224         Bug 14348: Messing up the inspector by dragging an URL into it
6225         http://bugs.webkit.org/show_bug.cgi?id=14348
6226         <rdar://problem/5283620> and <rdar://problem/5712808>
6228         * WebCoreSupport/WebInspectorClient.mm:
6229         (-[WebInspectorWindowController init]): Remove duplicate preference setting.
6230         (-[WebInspectorWindowController webView:dragDestinationActionMaskForDraggingInfo:]):
6232 2008-02-25  Darin Adler  <darin@apple.com>
6234         Reviewed by Adam.
6236         * WebView/WebArchiver.mm:
6237         (+[WebArchiver archiveSelectionInFrame:]): Use blankURL.
6238         * WebView/WebFrame.mm:
6239         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Avoid the
6240         variable name URL to avoid clashing with the renamed KURL in the future. Also use
6241         blankURL.
6242         (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): Ditto.
6243         (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]): Ditto.
6244         (-[WebFrame loadHTMLString:baseURL:]): Ditto.
6245         (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto.
6247 2008-02-24  Darin Adler  <darin@apple.com>
6249         Reviewed by Sam.
6251         - remove separate client calls for "standard" and "reload' history
6253         * WebCoreSupport/WebFrameLoaderClient.h:
6254         * WebCoreSupport/WebFrameLoaderClient.mm:
6255         (WebFrameLoaderClient::updateGlobalHistory):
6257 2008-02-23  Alexey Proskuryakov  <ap@webkit.org>
6259         Reviewed by Darin Adler.
6261         Move basic threading support from WebCore to WTF.
6263         * ForwardingHeaders/wtf/Threading.h: Added.
6264         * ForwardingHeaders/wtf/Locker.h: Added.
6266 2008-02-23  David Kilzer  <ddkilzer@apple.com>
6268         Please clarify licensing for some files
6269         <http://bugs.webkit.org/show_bug.cgi?id=14970>
6271         Reviewed by Darin Adler.
6273         * Plugins/WebNetscapeDeprecatedFunctions.c: Updated copyright statement
6274         and added Apple BSD-style license.
6275         * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
6277 2008-02-22  John Sullivan  <sullivan@apple.com>
6279         Reviewed by Adam Roben
6280         
6281         Reverted the changed from yesterday to add pasteAndMatchStyle:, as the existing
6282         pasteAsPlainText: has the same behavior.
6284         * WebView/WebHTMLView.mm:
6285         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
6286         (-[WebHTMLView readSelectionFromPasteboard:]):
6287         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
6288         (-[WebHTMLView pasteAsRichText:]):
6289         (-[WebHTMLView paste:]):
6290         * WebView/WebView.mm:
6291         * WebView/WebViewPrivate.h:
6293 2008-02-21  Anders Carlsson  <andersca@apple.com>
6295         Reviewed by Sam.
6297         Use BackForwardList::create instead.
6298         
6299         * History/WebBackForwardList.mm:
6300         (-[WebBackForwardList init]):
6302 2008-02-21  John Sullivan  <sullivan@apple.com>
6304         Reviewed by Jessica Kahn
6305         
6306         support for pasteAndMatchStyle: command (see <rdar://problem/5723952>)
6308         * WebView/WebHTMLView.mm:
6309         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:matchStyle:]):
6310         added matchStyle parameter, passed along to bridge (formerly always passed NO to bridge)
6311         (-[WebHTMLView readSelectionFromPasteboard:]):
6312         pass NO for new matchStyle parameter to match old behavior
6313         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
6314         validate pasteAndMatchStyle the same way as pasteAsRichText
6315         (-[WebHTMLView pasteAndMatchStyle:]):
6316         just like pasteAsRichText but passes YES for matchStyle
6317         (-[WebHTMLView pasteAsRichText:]):
6318         pass NO for new matchStyle parameter to match old behavior
6319         (-[WebHTMLView paste:]):
6320         ditto
6321         
6322         * WebView/WebView.mm:
6323         added macro(pasteAndMatchStyle)
6324         
6325         * WebView/WebViewPrivate.h:
6326         added pasteAndMatchStyle: to WebViewEditingActionsPendingPublic category
6328 2008-02-20  Sam Weinig  <sam@webkit.org>
6330         Reviewed by Darin and Geoff.
6332         - WebKit part of <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
6334         * WebView/WebView.mm:
6335         (-[WebView _preferencesChangedNotification:]): Added a call to Settings::setNeedsSiteSpecificQuirks.
6336         There are currently no site-specific quirks on Mac, but we will propagate the state
6337         to WebCore to avoid possible mistakes later.
6339 2008-02-19  Anders Carlsson  <andersca@apple.com>
6341         Reviewed by Darin Adler.
6343         Move back WebKit methods that were unused in WebCore.
6344         
6345         * Misc/WebNSURLExtras.mm:
6346         (+[NSURL _web_URLWithData:]):
6347         (+[NSURL _web_URLWithData:relativeToURL:]):
6348         (-[NSURL _web_originalData]):
6349         (-[NSURL _web_originalDataAsString]):
6350         (-[NSURL _web_isEmpty]):
6351         (-[NSURL _webkit_canonicalize]):
6352         (-[NSURL _webkit_URLByRemovingComponent:]):
6353         (-[NSURL _webkit_URLByRemovingFragment]):
6354         (-[NSURL _webkit_URLByRemovingResourceSpecifier]):
6355         (-[NSURL _webkit_isFileURL]):
6356         (-[NSString _webkit_isFileURL]):
6357         * WebCoreSupport/WebFrameLoaderClient.mm:
6358         (WebFrameLoaderClient::setTitle):
6359         * WebCoreSupport/WebSystemInterface.m:
6360         (InitWebCoreSystemInterface):
6362 2008-02-18  Darin Adler  <darin@apple.com>
6364         Reviewed by Sam.
6366         * Misc/WebNSAttributedStringExtras.mm:
6367         (+[NSAttributedString _web_attributedStringFromRange:]): Eliminate use of
6368         DeprecatedString.
6370 2008-02-17  Sam Weinig  <sam@webkit.org>
6372         Reviewed by Dan Bernstein.
6374         Fix for http://bugs.webkit.org/show_bug.cgi?id=17365
6375         document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR
6377         * MigrateHeaders.make: Migrate DOMProgressEvent.h and DOMTextPrivate.h which were
6378         mistakenly not migrated.
6380 2008-02-15  Dan Bernstein  <mitz@apple.com>
6382         Reviewed by Alexey Proskuryakov.
6384         - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360
6385           <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html
6387         * WebView/WebDataSource.mm:
6388         (+[WebDataSource _representationClassForMIMEType:]):
6389         (-[WebDataSource _responseMIMEType]):
6390         (-[WebDataSource subresources]):
6391         (-[WebDataSource subresourceForURL:]):
6392         * WebView/WebResource.mm:
6393         (-[WebResource _initWithData:URL:response:]):
6394         * WebView/WebResourcePrivate.h:
6396 2008-02-15  Adam Roben  <aroben@apple.com>
6398         Make WebKit's FEATURE_DEFINES match WebCore's
6400         Reviewed by Mark.
6402         * Configurations/WebKit.xcconfig:
6404 2008-02-14  Darin Adler  <darin@apple.com>
6406         Reviewed by Eric Seidel.
6408         - updated for WebCore KURL changes
6410         * History/WebHistoryItem.mm:
6411         (-[WebHistoryItem URL]): Removed getNSURL call.
6412         * Misc/WebElementDictionary.mm:
6413         (-[WebElementDictionary _absoluteImageURL]): Ditto.
6414         (-[WebElementDictionary _absoluteLinkURL]): Ditto.
6415         * Misc/WebNSAttributedStringExtras.mm:
6416         (fileWrapperForElement): Ditto.
6417         (+[NSAttributedString _web_attributedStringFromRange:]): Ditto.
6418         * Misc/WebNSURLExtras.mm:
6419         (-[NSString _webkit_stringByReplacingValidPercentEscapes]): Updated
6420         for function name change.
6421         * WebCoreSupport/WebContextMenuClient.mm:
6422         (WebContextMenuClient::downloadURL): Removed getNSURL call.
6423         * WebCoreSupport/WebDragClient.mm:
6424         (WebDragClient::createDragImageForLink): Ditto.
6425         * WebCoreSupport/WebFrameLoaderClient.mm:
6426         (WebFrameLoaderClient::dispatchWillPerformClientRedirect): Ditto.
6427         (WebFrameLoaderClient::startDownload): Ditto.
6428         (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad): Ditto.
6429         (WebFrameLoaderClient::updateGlobalHistoryForReload): Ditto.
6430         (WebFrameLoaderClient::cancelledError): Ditto.
6431         (WebFrameLoaderClient::blockedError): Ditto.
6432         (WebFrameLoaderClient::cannotShowURLError): Ditto.
6433         (WebFrameLoaderClient::interruptForPolicyChangeError): Ditto.
6434         (WebFrameLoaderClient::cannotShowMIMETypeError): Ditto.
6435         (WebFrameLoaderClient::fileDoesNotExistError): Ditto.
6436         (WebFrameLoaderClient::willUseArchive): Ditto.
6437         (WebFrameLoaderClient::setTitle): Ditto.
6438         (WebFrameLoaderClient::actionDictionary): Ditto.
6439         (WebFrameLoaderClient::createFrame): Ditto.
6440         (WebFrameLoaderClient::objectContentType): Ditto.
6441         (WebFrameLoaderClient::createPlugin): Ditto.
6442         (WebFrameLoaderClient::createJavaAppletWidget): Ditto.
6443         * WebView/WebDataSource.mm:
6444         (-[WebDataSource _URL]): Ditto.
6445         (-[WebDataSource _initWithDocumentLoader:]): Ditto.
6446         (-[WebDataSource unreachableURL]): Ditto.
6447         * WebView/WebHTMLView.mm:
6448         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
6450 2008-02-14  Stephanie Lewis  <slewis@apple.com>
6452         Reviewed by Geoff.
6454         Update order files.
6456         * WebKit.order:
6458 2008-02-14  Alexey Proskuryakov  <ap@webkit.org>
6460         Reviewed by Adam Roben.
6462         http://bugs.webkit.org/show_bug.cgi?id=17207
6463         Database example doesn't work (requires not-yet-released Safari)
6465         * WebCoreSupport/WebChromeClient.mm:
6466         (WebChromeClient::exceededDatabaseQuota): Check Safari version, and allow 5 megabytes of storage
6467         if it's too old.
6469 2008-02-11  Darin Adler  <darin@apple.com>
6471         - roll out fix for <rdar://problem/5726016> REGRESSION: Xcode News window renders
6472           incorrectly due to visibility fix
6474         Removed the Xcode-specific quirk at the request of some folks on the Xcode team.
6476         * Misc/WebKitVersionChecks.h: Removed the constant.
6478         * WebView/WebView.mm:
6479         (-[WebView _needsXcodeVisibilityQuirk]): Removed.
6480         (-[WebView _preferencesChangedNotification:]): Removed call to
6481         setNeedsXcodeVisibilityQuirk.
6483 2008-02-12  Anders Carlsson  <andersca@apple.com>
6485         Reviewed by Mitz.
6487         * WebCoreSupport/WebFrameBridge.mm:
6488         * WebCoreSupport/WebViewFactory.mm:
6489         (-[WebViewFactory imageTitleForFilename:size:]):
6490         Move implementation from WebFrameBridge to WebViewFactory.
6492 2008-02-11  Darin Adler  <darin@apple.com>
6494         Reviewed by Mitz.
6496         - fix <rdar://problem/5726016> REGRESSION: Xcode News window renders
6497           incorrectly due to visibility fix
6499         Added an Xcode-specific quirk.
6501         * Misc/WebKitVersionChecks.h: Added a constant for the "linked on or after"
6502         part of the check.
6504         * WebView/WebView.mm:
6505         (-[WebView _needsXcodeVisibilityQuirk]): Added.
6506         (-[WebView _preferencesChangedNotification:]): Added a call to
6507         setNeedsXcodeVisibilityQuirk based on _needsXcodeVisibilityQuirk.
6509 2008-02-10  Darin Adler  <darin@apple.com>
6511         - fix http://bugs.webkit.org/show_bug.cgi?id=17274
6512           REGRESSION: User Agent string broken in r30119
6514         * WebView/WebView.mm:
6515         (-[WebView _userAgentWithApplicationName:andWebKitVersion:]):
6516         Fix wrong variable name. Doh!
6518 2008-02-09  Darin Adler  <darin@apple.com>
6520         Reviewed by Tim Hatcher.
6522         - fix <rdar://problem/5725996> crash every time you open the Xcode documentation window
6524         * WebView/WebView.mm:
6525         (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Work around a bug in the
6526         garbage collector's Objective C++ support by not initializing a static to an object
6527         that needs to be marked when running under GC.
6529 2008-02-05  Dan Bernstein  <mitz@apple.com>
6531         Reviewed by Darin Adler.
6533         - WebKit part of <rdar://problem/5724303> Should implement writing direction shortcuts
6535         The key bindings are Command-Control-left arrow and
6536         Command-Control-right arrow. To match AppKit, the bindings are enabled
6537         only when certain user defaults are set.
6539         * WebView/WebHTMLView.mm:
6540         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
6541         (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
6542         Frame::baseWritingDirectionForSelectionStart() and
6543         Editor::setBaseWritingDirection() directly.
6544         (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
6545         (writingDirectionKeyBindingsEnabled): Added.
6546         (-[WebHTMLView _changeBaseWritingDirectionTo:]): Added this helper
6547         method.
6548         (-[WebHTMLView changeBaseWritingDirectionToLTR:]): Added.
6549         (-[WebHTMLView changeBaseWritingDirectionToRTL:]): Added.
6550         * WebView/WebView.mm:
6552 2008-02-05  Mark Rowe  <mrowe@apple.com>
6554         Unreviewed build fix.
6556         * WebView/WebView.mm: Add missing #import.
6558 2008-02-05  Mark Rowe  <mrowe@apple.com>
6560         Reviewed by Oliver Hunt.
6562         Update versioning to support the mysterious future.
6564         * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
6566 2008-01-30  Justin Garcia  <justin.garcia@apple.com>
6568         Reviewed by Darin Adler.
6569         
6570         <rdar://problem/5708115> REGRESSION: Words selected with a double click and copied won't paste into Mail
6572         * WebView/WebHTMLView.mm:
6573         (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Brought 
6574         this back, it's used by Mail.
6575         (-[WebHTMLView _canSmartReplaceWithPasteboard:]): This WebInternal method is
6576         also used by Mail.  Moved to WebPrivate.
6577         * WebView/WebHTMLViewPrivate.h: Expose two methods that Mail uses here, so that we don't
6578         accidently remove them in the future.
6580 2008-01-30  Mark Rowe  <mrowe@apple.com>
6582         Reviewed by Oliver Hunt.
6584         Move off deprecated NSTableView methods.
6586         * WebView/WebHTMLView.mm:
6587         (-[WebTextCompleteController _buildUI]): Switch from -setDrawsGrid: to -setGridStyleMask:.
6588         (-[WebTextCompleteController _placePopupWindow:]): Switch from -selectRow:byExtendingSelection: to -selectRowIndexes:byExtendingSelection:.
6589         (-[WebTextCompleteController filterKeyDown:]): Ditto.
6591 2008-01-26  Mark Rowe  <mrowe@apple.com>
6593         Reviewed by Darin Adler.
6595         Fix leaks seen after loading <http://www.funnyordie.com/videos/d70b5a11cb>.
6597         * Misc/WebNSDataExtras.m:
6598         (-[NSString _web_capitalizeRFC822HeaderFieldName]): Transfer ownerhip of the allocated buffers
6599         to the new CFString so that they will be freed when no longer needed.
6601 2008-01-26  Greg Bolsinga  <bolsinga@apple.com>
6603         <rdar://problem/5708388> WebDashboardRegion.h duplicated between WebCore / WebKit
6605         Reviewed by Darin Adler.
6607         * WebCoreSupport/WebDashboardRegion.h: Removed.
6608         * WebView/WebView.mm: Updated #import to use copy of WebDashboardRegion.h from WebCore.
6610 2008-01-21  Darin Adler  <darin@apple.com>
6612         Reviewed by John Sullivan.
6614         - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases
6615         - add a missing export of WebDatabaseExpectedSizeKey
6616         - implement deleteOrigin: and remove deleteDatabasesWithOrigin:
6618         * Storage/WebDatabaseManager.mm:
6619         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Updated to check for a null
6620         name instead of calling isValid().
6621         (-[WebDatabaseManager deleteOrigin:]): Implemented.
6622         (WebKitInitializeDatabasesIfNecessary): Updated for name change.
6624         * Storage/WebDatabaseManagerPrivate.h: Removed deleteDatabasesWithOrigin:.
6626         * WebCoreSupport/WebChromeClient.h: Updated for changes to ChromeClient.
6627         * WebCoreSupport/WebChromeClient.mm:
6628         (WebChromeClient::exceededDatabaseQuota): Replaced the two different client functions
6629         we had before with a single one.
6631         * WebKit.exp: Added missing export for WebDatabaseExpectedSizeKey.
6633         * WebView/WebPreferenceKeysPrivate.h: Removed WebKitDefaultDatabaseQuotaKey.
6634         * WebView/WebPreferences.m:
6635         (+[WebPreferences initialize]): Removed the default for WebKitDefaultDatabaseQuotaKey.
6636         * WebView/WebPreferencesPrivate.h: Removed defaultDatabaseQuota and
6637         setDefaultDatabaseQuota:.
6639         * WebView/WebUIDelegatePrivate.h: Replaced the two different database quota delegate
6640         methods we had before with a single one.
6642         * WebView/WebView.mm:
6643         (-[WebView _preferencesChangedNotification:]): Removed the code to set the
6644         default database origin quota in WebCore::Settings based on WebPreferences.
6646         * WebView/WebViewInternal.h: Removed delegate method dispatch functions for unusual
6647         types of parameters that the database UI delegate methods had before.
6649 2008-01-20  Mark Rowe  <mrowe@apple.com>
6651         Reviewed by Dan Bernstein.
6653         Remove code bracketed by REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM as we are no longer
6654         interested in supporting Safari 2 with TOT WebKit.
6656         * WebView/WebView.mm:
6657         (+[WebView initialize]):
6659 2008-01-17  Timothy Hatcher  <timothy@apple.com>
6661         Reviewed by Adam Roben.
6663         <rdar://problem/5693558> REGRESSION (r29581): no form field focus rings
6664         and inactive text selection after loading a page
6665         Bug 16917: REGRESSION (r29581/2): Google Maps search box loses focused appearance
6667         The problem was other frames were changing the FocusController's active
6668         status to false after the first responder frame set it to true. The last
6669         frame to call _updateActiveState would win.
6671         * WebView/WebHTMLView.mm:
6672         (-[WebHTMLView _updateActiveState]): Only call page->focusController()->setActive()
6673         if the first responder is the current WebHTMLView or the WebFrameView.
6674         (-[WebHTMLView _web_firstResponderCausesFocusDisplay]): Removed, inlined code in _updateActiveState.
6676 2008-01-18  Adam Roben  <aroben@apple.com>
6678         Rename _updateActiveState to _updateFocusedAndActiveState
6680         Also renamed any related methods/members similarly.
6682         Reviewed by Adele.
6684         * WebView/WebHTMLView.mm:
6685         (-[WebHTMLViewPrivate dealloc]):
6686         (-[WebHTMLView _cancelUpdateFocusedAndActiveStateTimer]):
6687         (-[WebHTMLView close]):
6688         (_updateFocusedAndActiveStateTimerCallback):
6689         (-[WebHTMLView viewWillMoveToWindow:]):
6690         (-[WebHTMLView viewDidMoveToWindow]):
6691         (-[WebHTMLView windowDidBecomeKey:]):
6692         (-[WebHTMLView windowDidResignKey:]):
6693         (-[WebHTMLView becomeFirstResponder]):
6694         (-[WebHTMLView resignFirstResponder]):
6695         * WebView/WebHTMLViewInternal.h:
6696         * WebView/WebHTMLViewPrivate.h:
6698 2008-01-17  John Sullivan  <sullivan@apple.com>
6700         Reviewed by Darin
6701         
6702         - fixed <rdar://problem/5692068> -1 WebFrameView world leaks reported after closing view source window
6704         * WebView/WebFrameView.mm:
6705         (-[WebFrameView initWithCoder:]):
6706         override to bump the global WebFrameView count
6708 2008-01-16  Adam Roben  <aroben@apple.com>
6710         Updated for renames/removal of WebCore methods.
6712         Reviewed by Darin Adler.
6714         * Plugins/WebPluginController.mm:
6715         (-[WebPluginController webPlugInContainerSelectionColor]): Changed to
6716         ask isFocusedAndActive directly, instead of going through the frame
6717         bridge.
6718         * WebView/WebHTMLView.mm:
6719         (-[WebHTMLView _updateActiveState]): Updated for method renames.
6721 2008-01-16  John Sullivan  <sullivan@apple.com>
6723         Reviewed by Adam and Dan
6724         
6725         - cleaned up some existing logging
6727         * WebView/WebHTMLView.mm:
6728         (-[WebHTMLView setNeedsDisplay:]):
6729         add method name to log, use "YES" and "NO" instead of (int)flag
6730         (-[WebHTMLView setNeedsLayout:]):
6731         ditto
6732         (-[WebHTMLView setNeedsToApplyStyles:]):
6733         ditto
6735 2008-01-15  Geoffrey Garen  <ggaren@apple.com>
6737         Reviewed by Andre Boule.
6739         Fixed <rdar://problem/5667627> [WebCache empty] implementation should
6740         not disable/enable the cache
6741         
6742         Toggle the cache model instead -- toggling disable/enable just causes
6743         the cache to forget about resources, not reclaim their memory.
6745         * Misc/WebCache.mm:
6746         (+[WebCache empty]):
6747         * WebView/WebView.mm:
6748         * WebView/WebViewInternal.h:
6750 2008-01-15  Adele Peterson  <adele@apple.com>
6752         Reviewed by Adam and Antti.
6754         WebKit part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
6756         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
6757           Removed initialization for GetMediaControlBackgroundImageData.  Added initialization for DrawMediaSliderTrack.
6759 2008-01-10  Geoffrey Garen  <ggaren@apple.com>
6761         Reviewed by John Sullivan.
6763         Fixed some world leak reports:
6764         * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
6765         Interpreter after running cvs-base suite
6767         * <rdar://problem/5669423> PLT complains about world leak if browser
6768         window is open when PLT starts
6769         
6770         These were both bugs in the reporting mechanism, so I took the
6771         opportunity to do some house cleaning there.
6773         * Misc/WebCoreStatistics.h: Did a little renaming, to match
6774         JavaScriptCore better. I kept the methods with the old names around,
6775         though, because old versions of Safari need them.
6777         * Misc/WebCoreStatistics.mm: Removed dependence on
6778         WebCore::JavaScriptStatistics, which is gone now. 
6779         
6780         These two methods are now distinct, for the sake of world leak reporting:
6781         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
6782         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
6784 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
6786         Not reviewed. Build fix.
6787         
6788         - Attempt to fix mac build.
6790         * Storage/WebDatabaseManager.mm:
6792 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
6794         Reviewed by Sam.
6796         - remove SecurityOriginData and fold its functionality into SecurityOrigin
6798         * Storage/WebDatabaseManager.mm:
6799         (-[WebDatabaseManager origins]):
6800         (-[WebDatabaseManager databasesWithOrigin:]):
6801         (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
6802         (-[WebDatabaseManager deleteDatabasesWithOrigin:]):
6803         (-[WebDatabaseManager deleteDatabase:withOrigin:]):
6804         * Storage/WebDatabaseTrackerClient.h:
6805         * Storage/WebDatabaseTrackerClient.mm:
6806         (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
6807         (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
6808         * Storage/WebSecurityOrigin.mm:
6809         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
6810         (-[WebSecurityOrigin protocol]):
6811         (-[WebSecurityOrigin domain]):
6812         (-[WebSecurityOrigin port]):
6813         (-[WebSecurityOrigin usage]):
6814         (-[WebSecurityOrigin quota]):
6815         (-[WebSecurityOrigin setQuota:]):
6816         (-[WebSecurityOrigin isEqual:]):
6817         (-[WebSecurityOrigin dealloc]):
6818         (-[WebSecurityOrigin finalize]):
6819         (-[WebSecurityOrigin _initWithWebCoreSecurityOrigin:]):
6820         (-[WebSecurityOrigin _core]):
6821         * Storage/WebSecurityOriginInternal.h:
6822         * WebCoreSupport/WebChromeClient.h:
6823         * WebCoreSupport/WebChromeClient.mm:
6824         (WebChromeClient::requestQuotaIncreaseForNewDatabase):
6825         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
6827 2008-01-10  Sam Weinig  <sam@webkit.org>
6829         Reviewed by Anders Carlsson.
6831         Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
6832         <rdar://problem/5657355>
6834         * Plugins/WebBaseNetscapePluginView.mm:
6835         (-[WebBaseNetscapePluginView loadPluginRequest:]): call findFrameForNavigation
6836         to ensure the shouldAllowNavigation check is made.
6838 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
6840         Reviewed by Mark.
6842         Enable SVG_FONTS by default.
6844         * Configurations/WebKit.xcconfig:
6846 2008-01-07  Adele Peterson  <adele@apple.com>
6848         Reviewed by Antti, Adam, and Mitz.
6850         WebKit part of fix for 
6851         <rdar://problem/5619073> Updated look for <video> controls
6852         <rdar://problem/5619057> Add volume control to video controls
6854         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
6856 2008-01-07  Dan Bernstein  <mitz@apple.com>
6858         Reviewed by Dave Hyatt.
6860         - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
6862         * Misc/WebNSAttributedStringExtras.mm:
6864 2008-01-03  Alexey Proskuryakov  <ap@webkit.org>
6866         Reviewed by Darin Adler.
6868         <rdar://problem/5463489> A number of layout tests should be using execCommand instead of textInputController
6870         * WebView/WebView.mm:
6871         (-[WebView _executeCoreCommandByName:value:]):
6872         * WebView/WebViewPrivate.h:
6873         Added an SPI to implement layoutTestController.execCommand.
6875 2008-01-03  Kevin Decker  <kdecker@apple.com>
6877         Reviewed by Darin Adler.
6879         Fixed: <rdar://problem/4106190> Include "Where from" metadata in drag-and-dropped images
6880         
6881         * Misc/WebNSFileManagerExtras.h:
6882         * Misc/WebNSFileManagerExtras.m:
6883         (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Added new method. Uses WebKitSystemInterface to set
6884         "Where from:" metadata information.
6885         * WebView/WebHTMLView.mm:
6886         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Added "Where from:" metadata for drag and dropped images.
6887         
6888 2008-01-03  Alice Liu  <alice.liu@apple.com>
6890         Reviewed by Darin Adler.
6892         This fixes pageup/down in iframes.  test for this is fast/frames/iframe-scroll-page-up-down.html
6894         * WebView/WebHTMLView.mm:
6895         (-[WebHTMLView doCommandBySelector:]):
6896         Have the editor handle all the commands it supports instead of just text commands.
6897         If not handled by the editor, the webview will handle the command. 
6899 2008-01-02  Kevin Decker  <kdecker@apple.com>
6901         Reviewed by Darin Adler.
6902         
6903         Fixed: <rdar://problem/5660603> QuickDraw plug-ins can cause a 100% reproducible assertion failure in AppKit (breaks Safari UI)
6905         * Plugins/WebBaseNetscapePluginView.mm:
6906         (-[WebBaseNetscapePluginView updateAndSetWindow]): Simplified an early return for non-QuickDraw plug-ins and switched
6907         to using the more NSView friendly version of lockFocus, lockFocusIfCanDraw.
6909 2008-01-01  David D. Kilzer  <ddkilzer@webkit.org>
6911         Reviewed by Dan.
6913         - fix http://bugs.webkit.org/show_bug.cgi?id=16700
6914           Fix -[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]
6916         * DefaultDelegates/WebDefaultPolicyDelegate.m: Check return value of
6917         -[NSFileManager fileExistsAtPath:isDirectory:] before using the value
6918         of isDirectory.
6920 2007-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
6922         Reviewed by Eric.
6924         Add DOMSVGFontElement/DOMSVGGlyphElement/DOMSVGMissingGlyphElement to MigrateHeaders.make
6926         * MigrateHeaders.make:
6928 2007-12-25  Dan Bernstein  <mitz@apple.com>
6930         Reviewed by Oliver Hunt.
6932         - fix an assertion failure when pressing the num lock key
6934         * WebView/WebHTMLView.mm:
6935         (-[WebHTMLView flagsChanged:]): Avoid passing key code 10 down to
6936         WebCore.
6938 2007-12-20  Darin Adler  <darin@apple.com>
6940         Reviewed by Oliver.
6942         - fix <rdar://problem/5658787> Selector -[WebView insertLineBreak:] is not implemented
6944         * WebView/WebView.mm: Added all selectors implemented by WebHTMLView to the list of
6945         selectors to forward here. The new ones are: changeBaseWritingDirection:, changeSpelling:,
6946         deleteToMark:, insertLineBreak:, moveParagraphBackwardAndModifySelection:,
6947         moveParagraphForwardAndModifySelection:, pageDownAndModifySelection:, pageUpAndModifySelection:,
6948         selectToMark:, setMark:, swapWithMark:, takeFindStringFromSelection:, toggleBaseWritingDirection:,
6949         and transpose:.
6951 2007-12-20  Kevin Decker  <kdecker@apple.com>
6953         Reviewed by Anders.
6954         
6955         Fixed: <rdar://problem/5638288> REGRESSION: Flash movies show up in other tabs above the page (16373)
6957         * Plugins/WebBaseNetscapePluginView.mm:
6958         (-[WebBaseNetscapePluginView updateAndSetWindow]): QuickDraw plug-ins must manually be told when to stop
6959          writing to the window backing store. The problem was that change-set 28400 introduced an early return 
6960          which prevented this necessary operation. The fix is to limit the scope of the early return to CG and GL
6961          plug-ins and to tweak the needsFocus check to prevent an exception from occurring in QuickDraw-based plug-ins.
6963 2007-12-19  Geoffrey Garen  <ggaren@apple.com>
6965         Reviewed by Oliver Hunt.
6967         Build fix.
6969         * ForwardingHeaders/kjs/SymbolTable.h: Added.
6970         * ForwardingHeaders/wtf/VectorTraits.h: Added.
6972 2007-12-16  Mark Rowe  <mrowe@apple.com>
6974         Reviewed by Maciej Stachowiak.
6976         Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation.
6978         * Plugins/WebBaseNetscapePluginStream.h:
6979         * Plugins/WebNetscapePluginStream.h:
6980         * Plugins/WebNetscapePluginStream.mm:
6981         (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
6982         (-[WebNetscapePluginStream dealloc]):
6983         (-[WebNetscapePluginStream finalize]):
6984         * Plugins/WebPlugInStreamLoaderDelegate.h: Moved from WebCore.
6985         * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h: Added.
6986         (WebNetscapePlugInStreamLoaderClient::WebNetscapePlugInStreamLoaderClient):
6987         * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm: Added.
6988         (WebNetscapePlugInStreamLoaderClient::didReceiveResponse): Call through to the equivalent WebPlugInStreamLoaderDelegate method.
6989         (WebNetscapePlugInStreamLoaderClient::didReceiveData): Ditto.
6990         (WebNetscapePlugInStreamLoaderClient::didFail): Ditto.
6991         (WebNetscapePlugInStreamLoaderClient::didFinishLoading): Ditto.
6993 2007-12-16  Alexey Proskuryakov  <ap@webkit.org>
6995         Reviewed by Darin Adler.
6997         http://bugs.webkit.org/show_bug.cgi?id=14140
6998         <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
7000         * WebView/WebHTMLView.mm:
7001         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Made command replaying work
7002         when handling keypress, too.
7003         (-[WebHTMLView doCommandBySelector:]): Adapted for the new way to store commands in events.
7004         (-[WebHTMLView insertText:]): Append a command, not replace the whole existing vector. Also,
7005         restore the state for additional commands to be saved correctly.
7007 2007-12-14  David D. Kilzer  <ddkilzer@apple.com>
7009         <rdar://problem/5647272> Remove user agent string hack for flickr.com
7011         Reviewed by Darin Adler.
7013         * WebView/WebView.mm:
7014         (-[WebView _userAgentForURL:]): Removed hack.
7016 2007-12-14  David D. Kilzer  <ddkilzer@apple.com>
7018         <rdar://problem/5647261> Remove user agent string hack for yahoo.com
7020         Reviewed by Darin Adler.
7022         * WebView/WebView.mm:
7023         (-[WebView _userAgentForURL:]): Removed hack.
7025 2007-12-14  Darin Adler  <darin@apple.com>
7027         Reviewed by Brady.
7029         - fix http://bugs.webkit.org/show_bug.cgi?id=16296
7030           <rdar://problem/5635641> -[WebFrameLoadDelegate didReceiveIcon:forFrame:] never called
7032         * WebView/WebView.mm:
7033         (-[WebView setFrameLoadDelegate:]): Call [WebIconDatabase sharedIconDatabase] if the
7034         a didReceiveIcon method is present.
7036 2007-12-14  Darin Adler  <darin@apple.com>
7038         Reviewed by Alexey.
7040         - Changed a few more editing operations to use WebCore instead of WebKit.
7041         - Removed some obsolete unused code.
7043         * WebCoreSupport/WebFrameBridge.h: Moved declarations of methods that are both
7044         defined and used on the WebKit side to here. These no longer belong on the bridge
7045         and should be moved to the WebFrame class (or elsewhere).
7046         * WebCoreSupport/WebFrameBridge.mm: Removed some unused methods.
7048         * WebView/WebFrameView.mm:
7049         (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Fix typo in comment.
7051         * WebView/WebHTMLView.mm:
7052         (-[WebHTMLViewPrivate dealloc]): Removed unused firstResponderTextViewAtMouseDownTime.
7053         (-[WebHTMLViewPrivate clear]): Ditto.
7054         (-[WebHTMLView _setMouseDownEvent:]): Ditto.
7055         (commandNameForSelector): Added special cases for pageDown:, pageDownAndModifySelection:,
7056         pageUp:, and pageUpAndModifySelection:, since those names probably aren't specific enough
7057         to be used in WebCore (what AppKit calls scrollPageDown: vs. pageDown: needs to be
7058         disambiguated with the word "Move"). Added deleteBackward:,
7059         deleteBackwardByDecomposingPreviousCharacter:, deleteForward:, deleteToBeginningOfLine:,
7060         deleteToBeginningOfParagraph:, deleteToEndOfLine:, deleteToEndOfParagraph:, pageDown:,
7061         pageDownAndModifySelection:, pageUp:, pageUpAndModifySelection:, selectLine:,
7062         selectParagraph:, selectSentence:, and selectWord: to the list of commands that are
7063         forwarded to WebCore.
7064         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Eliminated the long list of
7065         operations that we forward to WebCore. Instead, look up any command that WebCore can
7066         handle, after any that we handle specially in WebHTMLView. Also fixed a bug where
7067         an item that's not a menu item with changeBaseWritingDirection:NSWritingDirectionNatural
7068         would end up enabled instead of disabled and streamlined the logic for toggleGrammarChecking:.
7069         (-[WebHTMLView mouseDown:]): Removed unused firstResponderTextViewAtMouseDownTime.
7070         (-[WebHTMLView becomeFirstResponder]): Removed unused willBecomeFirstResponderForNodeFocus.
7071         (-[WebHTMLView resignFirstResponder]): Ditto.
7072         (-[WebHTMLView checkSpelling:]): Took unneeded extra initialization of NSSpellChecker.
7074         * WebView/WebHTMLViewInternal.h: Removed unused willBecomeFirstResponderForNodeFocus,
7075         firstResponderTextViewAtMouseDownTime, _textViewWasFirstResponderAtMouseDownTime: and
7076         _willMakeFirstResponderForNodeFocus.
7078 2007-12-13  Alexey Proskuryakov  <ap@webkit.org>
7080         Reviewed by Darin Adler.
7082         Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
7084         * Misc/WebKitVersionChecks.h:
7085         * WebView/WebView.mm:
7086         (-[WebView _needsKeyboardEventHandlingQuirks]):
7087         (-[WebView _preferencesChangedNotification:]):
7089 2007-12-12  Brady Eidson  <beidson@apple.com>
7091         Reviewed by Sam Weinig
7093         Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
7095         * WebCoreSupport/WebCachedPagePlatformData.h: Added.
7096         (WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes a WebDocumentView for later restoration
7097         (WebCachedPagePlatformData::clear):
7098         (WebCachedPagePlatformData::webDocumentView):
7100         * WebCoreSupport/WebFrameLoaderClient.h:
7101         * WebCoreSupport/WebFrameLoaderClient.mm:
7102         (WebFrameLoaderClient::savePlatformDataToCachedPage):
7103         (WebFrameLoaderClient::transitionToCommittedFromCachedPage): Don't set the DocumentLoader to the Frame here, 
7104           because that is now done in WebCore.
7105         (WebFrameLoaderClient::transitionToCommittedForNewPage):
7107 2007-12-12  Mark Rowe  <mrowe@apple.com>
7109         Reviewed by Dave Kilzer.
7111         Remove abuse of projectDirPath from WebKit.xcodeproj to fix Production builds.
7113         * Configurations/WebKit.xcconfig:
7115 2007-12-11  Sam Weinig  <sam@webkit.org>
7117         Reviewed by Darin Adler.
7119         Scrub URL out of the tree in preparation for renaming KURL to URL.
7121         * WebCoreSupport/WebFrameLoaderClient.mm:
7122         (WebFrameLoaderClient::actionDictionary):
7123         * WebView/WebDataSource.mm:
7124         (-[WebDataSource _URL]):
7125         * WebView/WebView.mm:
7126         (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
7128 2007-12-11  Darin Adler  <darin@apple.com>
7130         Reviewed by Geoff.
7132         - change more editing commands to use WebCore::Editor
7133         - change to use the new WebCore::Editor::command() function
7135         * WebView/WebHTMLView.mm: Changed alignCenter, alignJustified, alignLeft,
7136         alignRight, cut, copy, deleteToMark, indent, insertNewlineIgnoringFieldEditor,
7137         insertTabIgnoringFieldEditor, outdent, selectAll, selectToMark, setMark,
7138         subscript, superscript, swapWithMark, underline, unscript, yank, and yankAndSelect
7139         to use the "forward to WebCore" macro instead of having hand-written implementations.
7140         (kit): Added function to change a TriState to an AppKit-style tri-state value.
7141         (-[WebHTMLView coreCommandBySelector:]): Added. No longer converts case of the
7142         first character or copies the selector name, since the Editor commands are not case
7143         sensitive any more. Returns a command object.
7144         (-[WebHTMLView coreCommandByName:]): Added.
7145         (-[WebHTMLView executeCoreCommandBySelector:]): Renamed from callWebCoreCommand:,
7146         and changed to use the new coreCommandBySelector: method.
7147         (-[WebHTMLView executeCoreCommandByName:]): Added.
7148         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Changed all the
7149         methods that call through to WebCore to also use the state() and isEnabled()
7150         functions on the commands for the menu item state and user interface item enabling.
7151         (-[WebHTMLView _handleStyleKeyEquivalent:]): Use ToggleBold and ToggleItalic by
7152         name rather than having local methods for them; no need for methods with a single
7153         call site.
7154         (-[WebHTMLView insertParagraphSeparator:]): Use executeCoreCommandByName: rather
7155         than the deprecated execCommand().
7156         (-[WebHTMLView doCommandBySelector:]): Changed to use command().execute() rather
7157         than the deprecated execCommand().
7158         * WebView/WebHTMLViewInternal.h: Removed some unneeded method declarations.
7160 2007-12-07  Alexey Proskuryakov  <ap@webkit.org>
7162         Reviewed by Darin Adler.
7164         <rdar://problem/5535636>
7165         Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
7167         http://bugs.webkit.org/show_bug.cgi?id=13916
7168         JavaScript detects Tab as a character input on a textfield validation
7170         * WebCoreSupport/WebEditorClient.h:
7171         Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
7172         Renamed handleInputMethodKeypress() to handleInputMethodKeydown().
7173         * WebCoreSupport/WebEditorClient.mm:
7174         (WebEditorClient::handleKeyboardEvent): This change makes sense only remotely, but it helped
7175         to get tests working. I guess Mac keyboard event handling needs further refactoring.
7177         * WebView/WebHTMLView.mm:
7178         (selectorToCommandName): Convert AppKit editing selector name to Editor command name - extracted
7179         from callWebCoreCommand:.
7180         (_interceptEditingKeyEvent:shouldSaveCommand:): Insert text from keypress.
7182         * WebView/WebPDFView.mm:
7183         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
7184         Convert incoming platform KeyDown into RawKeyDown, as this is what the view is interested in.
7186 2007-12-10  Brady Eidson  <beidson@apple.com>
7188         Reviewed by John Sullivan
7190         Fix for <rdar://problem/5640080> - Database UI delegate calls need to specify WebFrame
7192         This is because a common UI case is to want to know the originating URL of a Database
7194         * WebCoreSupport/WebChromeClient.mm:
7195         (WebChromeClient::requestQuotaIncreaseForNewDatabase):
7196         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
7198         * WebView/WebUIDelegatePrivate.h:
7200         * WebView/WebView.mm:
7201         (CallDelegateReturningUnsignedLongLong):
7202         (CallUIDelegateReturningUnsignedLongLong):
7203         * WebView/WebViewInternal.h:
7205 2007-12-10  Timothy Hatcher  <timothy@apple.com>
7207         Reviewed by Mark Rowe.
7209         <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
7211         * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
7212           so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
7214 2007-12-10  Kevin Decker  <kdecker@apple.com>
7216         Reviewed by Darin Adler.
7218         Fixed: <rdar://problem/4290098> Right-mouse click on element doesn't call onmousedown handler
7219         
7220         * WebView/WebHTMLView.mm:
7221         (-[WebHTMLView menuForEvent:]): Match behavior of other browsers by sending an onmousedown event for right clicks.
7223 2007-12-08  Oliver Hunt  <oliver@apple.com>
7225         Reviewed by Sam W.
7227         Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
7228         
7229         Fixes <rdar://problem/5620249> Must disable SVG animation
7230         <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
7231         
7232         Minor updates to the feature flags used.
7234         * Configurations/WebKit.xcconfig:
7235         * DOM/WebDOMOperations.mm:
7237 2007-12-07  Darin Adler  <darin@apple.com>
7239         Reviewed by Kevin Decker and Tim Hatcher.
7241         - speculative fix for <rdar://problem/5400159> CrashTracer: [USER] 726 crashes
7242           in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
7244         * WebView/WebHTMLView.mm:
7245         (-[WebHTMLView _frameOrBoundsChanged]): Only schedule the mouseover timer if we are in a window
7246         and not closed. That's because viewDidMoveToWindow and close are the entry points for cancelling.
7247         (-[WebHTMLView close]): Add code to cancel both timers. Needed for the case where the entire
7248         window goes away, and the view is never removed from the window.
7249         (-[WebHTMLView viewDidMoveToWindow]): Don't do work if the view is closed.
7251 2007-12-07  Darin Adler  <darin@apple.com>
7253         Reviewed by Mitz.
7255         - http://bugs.webkit.org/show_bug.cgi?id=15981
7256           speed up visited-link code a bit
7258         * History/WebHistory.mm: Removed unused Latin-1 code path.
7259         (-[_WebCoreHistoryProvider containsURL:length:]): Updated for method name change.
7261 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
7263         Reviewed by Sam Weinig.
7264         
7265         Added a forwarding header, since we now #include nodes.h through some
7266         JavaScriptCore headers.
7268         * ForwardingHeaders/wtf/ListRefPtr.h: Added.
7270 2007-12-06  Brady Eidson  <beidson@apple.com>
7272         Reviewed by Oliver's rubber stamp
7274         Let's go ahead and call the correct UI Delegate method, shall we?
7276         * WebCoreSupport/WebChromeClient.mm:
7277         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Call the correct UI delegate
7279 2007-12-06  Adam Roben  <aroben@apple.com>
7281         Remove some assertions we know can fire and replace them with a FIXME
7283         Reviewed by Anders.
7285         * WebCoreSupport/WebFrameLoaderClient.mm:
7287 2007-12-06  Timothy Hatcher  <timothy@apple.com>
7289         Change the ASSERT added for the previous fix. The ASSERT was firing for 10.5.0.
7290         Only assert if the major version is zero, since zero is handled in the other cases.
7292         * WebView/WebView.mm:
7293         (callGestalt): Remove the ASSERT.
7294         (createMacOSXVersionString): ASSERT that major is not zero.
7296 2007-12-06  Darin Adler  <darin@apple.com>
7298         Reviewed by Tim Hatcher.
7300         - fix <rdar://problem/5513394> No way to detect Tiger vs Leopard from Safari's user agent string
7302         * WebView/WebView.mm:
7303         (callGestalt): Added.
7304         (createMacOSXVersionString): Added.
7305         (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Added Mac OS X version string,
7306         right after the string "Mac OS X", but with underscores instead of dots to avoid the dreaded
7307         "4." problem (old libraries that think a "4." anywhere in the user agent means Netscape 4).
7308         (-[WebView _userAgentForURL:]): Fixed incorrect bug numbers.
7310 2007-12-04  Geoffrey Garen  <ggaren@apple.com>
7312         Reviewed by Darin Adler.
7314         Third step in refactoring JSGlobalObject: Moved data members and data
7315         member access from Interpreter to JSGlobalObject.
7316         
7317         * WebView/WebFrame.mm:
7318         (-[WebFrame _attachScriptDebugger]):
7320 2007-12-04  Kevin McCullough  <kmccullough@apple.com>
7322         Reviewed by Darin Adler.
7324         - <rdar://5621435>
7325         - Security Fix. Instead of having it off by default, WebKit now must
7326         explicitly turn off local-resource restriction when needed for backwards
7327         coimpatibility reasons.
7329         * WebView/WebView.mm:
7330         (-[WebView _commonInitializationWithFrameName:groupName:]):
7332 2007-12-05  Brady Eidson  <beidson@apple.com>
7334         Reviewed by Kevin Deckers rubberstamp
7336         Disclose and export the Databases Directory defaults key
7338         * Storage/WebDatabaseManager.mm:
7339         * Storage/WebDatabaseManagerPrivate.h:
7340         * WebKit.exp:
7342 2007-12-04  Kevin Decker  <kdecker@apple.com>
7344         Reviewed by Anders.
7346         <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
7348         * WebCoreSupport/WebViewFactory.mm:
7349         (-[WebViewFactory pluginNameForMIMEType:]): Added.
7351 2007-12-04  Brady Eidson  <beidson@apple.com>
7353         Reviewed by Mark Rowe
7355         Tweaked the way we typedef and cast these objc_msgSend calls
7357         * WebView/WebView.mm:
7358         (CallDelegateReturningUnsignedLongLong):
7360 2007-12-04  John Sullivan  <sullivan@apple.com>
7362         Reviewed by Brady Eidson (with help from Mark Rowe)
7363         
7364         Fixed return values for unsigned-long-long delegate methods
7366         * WebView/WebView.mm:
7367         (CallDelegateReturningUnsignedLongLong):
7368         redid the change that Brady did at home over the weekend but forgot to check in
7370 2007-11-27  Adam Roben  <aroben@apple.com>
7372         Remove -[WebFrameBridge setNeedsReapplyStyles]
7374         This functionality is now WebCore's responsibility.
7376         Reviewed by Hyatt.
7378         * WebCoreSupport/WebFrameBridge.mm:
7379         * WebKit.order:
7381 2007-12-04  John Sullivan  <sullivan@apple.com>
7383         Reviewed by Darin
7384         
7385         Added deleteOrigin: SPI, which isn't fully implemented
7387         * Storage/WebDatabaseManagerPrivate.h:
7388         * Storage/WebDatabaseManager.mm:
7389         (-[WebDatabaseManager deleteOrigin:]):
7390         just calls deleteDatabasesWithOrigin: for now, but needs to delete origin itself too
7392 2007-12-04  Timothy Hatcher  <timothy@apple.com>
7394         Reviewed by Mark Rowe.
7396         Remove a check for early versions of Leopard CFNetwork now that
7397         Leopard has shipped.
7399         * Misc/WebKitVersionChecks.h: Remove WEBKIT_FIRST_CFNETWORK_VERSION_WITH_LARGE_DISK_CACHE_FIX.
7400         * WebView/WebView.mm:
7401         (+[WebView _setCacheModel:]): Remove the early Leopard CFNetwork check.
7403 2007-12-04  Kevin Decker  <kdecker@apple.com>
7405         Reviewed by Darin Adler.
7407         Revised fix for: <rdar://problem/5586978> REGRESSION (Safari 2-3): WebKit sometimes doesn't invoke Flash's NPP_SetWindow function and causes a hang
7409         This fix is exactly the same as chageset 28359 with the exception of an added early return in
7410         updateAndSetWindow to cover the additional case of when a plug-in isn't drawable.
7411         
7412         The CG-based Flash player would sometimes hang because (for CoreGraphics-based plug-ins) our code would
7413         only call into the NPP_SetWindow() function when we tell the plug-in to draw. This created havoc with 
7414         Flash because Flash expects the browser to call NPP_SetWindow() and provide a valid graphics context 
7415         regardless of whether or not it actually needs to draw. 
7416         
7417         * Plugins/WebBaseNetscapePluginView.mm:
7418         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed an incorrect comment and toned
7419         down an ASSERT that was too strict. 
7420         (-[WebBaseNetscapePluginView updateAndSetWindow]): Removed an early return for CoreGraphics-based plug-ins
7421         which would sometimes altogether prevent updating the PortState and calling into a plug-ins NPP_SetWindow()
7422         function. Also tweaked a comment and added an early return if the plug-in can't draw.
7424 2007-12-04  Darin Adler  <darin@apple.com>
7426         Reviewed by Kevin Decker.
7428         * WebCoreSupport/WebFrameLoaderClient.h: Removed obsolete privateBrowsingEnabled.
7429         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
7430         * WebKit.order: Ditto.
7432 2007-12-03  Dan Bernstein  <mitz@apple.com>
7434         Reviewed by Dave Hyatt.
7436         - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
7438         * WebView/WebHTMLView.mm:
7439         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Removed the code
7440         that checked if the view had resized and sent the resize event, since
7441         FrameView sends resize events now.
7442         * WebView/WebHTMLViewInternal.h:
7444 2007-12-03  Timothy Hatcher  <timothy@apple.com>
7446         Reviewed by Darin Adler.
7448         Change WebViewGetResourceLoadDelegateImplementations and WebViewGetFrameLoadDelegateImplementations
7449         to return a pointer to the implementation struct instead of a copy of the struct. This changes
7450         all of the callers to dereference the pointer to access the struct fields.
7452         * Plugins/WebNullPluginView.mm:
7453         (-[WebNullPluginView reportFailure]):
7454         * WebCoreSupport/WebFrameBridge.mm:
7455         * WebCoreSupport/WebFrameLoaderClient.mm:
7456         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
7457         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
7458         (WebFrameLoaderClient::dispatchWillSendRequest):
7459         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
7460         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
7461         (WebFrameLoaderClient::dispatchDidReceiveResponse):
7462         (WebFrameLoaderClient::willCacheResponse):
7463         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
7464         (WebFrameLoaderClient::dispatchDidFinishLoading):
7465         (WebFrameLoaderClient::dispatchDidFailLoading):
7466         (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
7467         (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
7468         (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
7469         (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
7470         (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
7471         (WebFrameLoaderClient::dispatchWillClose):
7472         (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
7473         (WebFrameLoaderClient::dispatchDidReceiveTitle):
7474         (WebFrameLoaderClient::dispatchDidCommitLoad):
7475         (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
7476         (WebFrameLoaderClient::dispatchDidFailLoad):
7477         (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
7478         (WebFrameLoaderClient::dispatchDidFinishLoad):
7479         (WebFrameLoaderClient::dispatchDidFirstLayout):
7480         * WebView/WebView.mm:
7481         (WebViewGetResourceLoadDelegateImplementations):
7482         (WebViewGetFrameLoadDelegateImplementations):
7483         (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
7484         * WebView/WebViewInternal.h:
7486 2007-12-03  Timothy Hatcher  <timothy@apple.com>
7488         Reviewed by Brady Eidson.
7490         <rdar://problem/5539913> 188 crashes in WebViewGetFrameLoadDelegateImplementations
7491         <rdar://problem/5586095> CrashTracer: [USER] 5000+ crashes in Safari and Dashboard in dispatchDidFailLoading
7492         <rdar://problem/5607081> CrashTracer: [USER] 2150 crashes in Safari at com.apple.WebKit:
7493         WebViewGetResourceLoadDelegateImplementations + 28
7495         * WebView/WebView.mm:
7496         (-[WebView _cacheResourceLoadDelegateImplementations]): If the delegate is nil, bzero the
7497         implementation cache. This just prevents us from calling getMethod() multiple times just to zero.
7498         (-[WebView _cacheFrameLoadDelegateImplementations]): Ditto.
7499         (WebViewGetResourceLoadDelegateImplementations): Return a zeroed implementations struct
7500         if the WebView is nil. This fixes the crashes.
7501         (WebViewGetFrameLoadDelegateImplementations): Ditto.
7503 2007-12-02  Geoffrey Garen  <ggaren@apple.com>
7505         Reviewed by Eric Seidel.
7507         Updated to match the JavaScriptCore change to move virtual methods from
7508         Interpreter to JSGlobalObject.
7510         * WebView/WebFrame.mm:
7511         (-[WebFrame globalContext]): Use the toRef function instead of manually
7512         casting.
7514 2007-12-01  Brady Eidson  <beidson@apple.com>
7516         Reviewed by Tim
7518         Added a default database quota of 5mb to the default WebPreferences
7520         * WebView/WebPreferences.m:
7521         (+[WebPreferences initialize]):
7523 2007-11-30  John Sullivan  <sullivan@apple.com>
7525         Reviewed by Geoff Garen
7526         
7527         Added another symbol for WebDatabaseManager clients
7529         * WebKit.exp:
7530         added .objc_class_name_WebSecurityOrigin
7532 2007-11-30  Brady Eidson  <beidson@apple.com>
7534         Reviewed by Geoff
7536         Add isEqual operator to WebSecurityOrigin
7538         * Storage/WebSecurityOrigin.mm:
7539         (-[WebSecurityOrigin isEqual:]):
7541 2007-11-30  John Sullivan  <sullivan@apple.com>
7543         Reviewed by Darin
7544         
7545         Tweaks to newly-declared NSString * constants to make them usable from clients
7547         * Storage/WebDatabaseManagerPrivate.h:
7548         * Storage/WebDatabaseManager.mm:
7549         removed "const" from new NSNotification names and userInfo keys; these generate compiler warnings when used
7550         
7551         * WebKit.exp:
7552         export new NSNotification names and userInfo keys so clients can use them
7554 2007-11-29  Anders Carlsson  <andersca@apple.com>
7556         Reviewed by John.
7558         Rename WebKitShrinksStandaloneImagesToFitKey to WebKitShrinksStandaloneImagesToFit.
7559         
7560         This is safe to do because the preference is off by default and Safari 3, which is the only client that turns it on,
7561         is using the setter and not messing around with NSUserDefaults.
7562         
7563         * WebView/WebPreferenceKeysPrivate.h:
7564         * WebView/WebPreferences.m:
7565         (+[WebPreferences initialize]):
7566         (-[WebPreferences shrinksStandaloneImagesToFit]):
7567         (-[WebPreferences setShrinksStandaloneImagesToFit:]):
7569 2007-11-29  Brady Eidson  <beidson@apple.com>
7571         Reviewed by Anders
7573         Support for <rdar://problem/5556381> and <rdar://problem/5556379>
7575         Hook up UI Delegate calls for the database engine feature and other small tweaks
7577         * Storage/WebDatabaseManager.mm:
7578         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
7579         (-[WebDatabaseManager deleteDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
7580         * Storage/WebDatabaseManagerPrivate.h:
7582         * Storage/WebDatabaseTrackerClient.h:
7583         * Storage/WebDatabaseTrackerClient.mm:
7584         (WebDatabaseTrackerClient::dispatchDidModifyDatabase): Renamed databaseName parameter to databaseIdentifier for clarity
7586         * WebCoreSupport/WebChromeClient.h:
7587         * WebCoreSupport/WebChromeClient.mm:
7588         (WebChromeClient::requestQuotaIncreaseForNewDatabase): Call through to the UI Delegate
7589         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Ditto
7591         * WebView/WebUIDelegatePrivate.h: Added the two UI Delegate methods
7593         * WebView/WebView.mm:
7594         (CallDelegateReturningUnsignedLongLong):
7595         (CallUIDelegateReturningUnsignedLongLong):
7596         * WebView/WebViewInternal.h:
7598 2007-11-28  Kevin McCullough  <kmccullough@apple.com>
7600         Reviewed by Sam.
7602         - Added recursive runloop guards.
7604         * DefaultDelegates/WebScriptDebugServer.m:
7605         (-[WebScriptDebugServer suspendProcessIfPaused]):
7607 2007-11-29  Mark Rowe  <mrowe@apple.com>
7609         Reviewed by Oliver Hunt.
7611         Fix an assertion failure seen on the layout tests, and when closing the window after
7612         visiting <http://www.coudal.com/losalamos/>.
7614         * Plugins/WebBaseNetscapePluginStream.mm:
7615         (-[WebBaseNetscapePluginStream _destroyStream]): Unlink the file and close the file
7616         descriptor even when the stream is being destroyed without the load completing. This
7617         avoids leaking the path and file descriptor, and leaving the temporary file on disk.
7619 2007-11-28  Adele Peterson  <adele@apple.com>
7621         Reviewed by Darin Adler.
7623         Fix for <rdar://problem/5524216> CrashTracer: [USER] 496 crashes in Safari at com.apple.WebCore: WebCore::Frame::eventHandler const + 6
7625         The CrashTracer shows a variety of crashes in different methods (including keyDown and keyUp). This change adds nil checks for the frame in 
7626         WebHTMLView to prevent future problems in other methods as well.
7628         * WebView/WebHTMLView.mm:
7629         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
7630         (-[WebHTMLView keyDown:]):
7631         (-[WebHTMLView keyUp:]):
7632         (-[WebHTMLView flagsChanged:]):
7633         (-[WebHTMLView _selectionStartFontAttributesAsRTF]):
7634         (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
7635         (-[WebHTMLView checkSpelling:]):
7636         (-[WebHTMLView showGuessPanel:]):
7637         (-[WebHTMLView indent:]):
7638         (-[WebHTMLView outdent:]):
7639         (-[WebHTMLView paste:]):
7640         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
7641         (-[WebHTMLView insertText:]):
7642         (-[WebHTMLView selectionTextRects]):
7644 2007-11-28  Dan Bernstein  <mitz@apple.com>
7646         Reviewed by Maciej Stachowiak.
7648         - fix <rdar://problem/5596160> fast/events/objc-event-api.html fails when run alone (or first)
7650         * WebView/WebHTMLView.mm:
7651         (-[WebHTMLView setDataSource:]): This method calls addMouseMovedObserver
7652         because addMouseMovedObserver returns early if the dataSource
7653         is not nil. But if the dataSource is already set (which happens when
7654         a WebHTMLView is being reused) then addMouseMovedObserver must not
7655         be called again.
7657 2007-11-27  Anders Carlsson  <andersca@apple.com>
7659         Reviewed by Brady.
7661         * Storage/WebDatabaseManager.mm:
7662         * Storage/WebDatabaseManagerPrivate.h:
7663         * Storage/WebDatabaseTrackerClient.mm:
7664         (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
7665         (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
7666         * Storage/WebSecurityOrigin.mm:
7667         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
7668         * Storage/WebSecurityOriginInternal.h:
7670 2007-11-27  Kevin Decker  <kdecker@apple.com>
7672         Reviewed by Darin, landed by Anders.
7674         Fixed: <rdar://problem/4610818> CrashTracer: 1533 crashes in Safari at com.macromedia.Flash Player.plugin: native_ShockwaveFlash_TCallLabel + 271131
7676         The problem was that some Leopard users were still inadvertently using the old Flash 8 plug-in, even though Leopard
7677         shipped with Flash 9. To avoid loading an older version of a plug-in when a newer version is installed, the plug-in
7678         database will compare bundle versions and always load the latest version.
7680         * Plugins/WebBasePluginPackage.h:
7681         * Plugins/WebBasePluginPackage.m:
7682         (-[WebBasePluginPackage versionNumber]): New method. CFBundleGetVersionNumber doesn't work with all possible versioning schemes,
7683         but we think for now it's good enough for us.
7684         * Plugins/WebPluginDatabase.m:
7685         (considerCandidate): Added a C utility function which compares the current plug-in against a candidate plug-in's version number.
7686         If both plug-ins have the same bundle ID and the candiate is newer, the current plug-in becomes the candidate.
7687         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): Calls the new considerCandidate() function.
7689 2007-11-26  Timothy Hatcher  <timothy@apple.com>
7691         Reviewed by Dave Hyatt.
7693         <rdar://problem/5569233> Add the ability to disable author and user CSS styles
7695         * WebView/WebPreferenceKeysPrivate.h: Define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey.
7696         * WebView/WebPreferences.m:
7697         (+[WebPreferences initialize]): Default WebKitRespectStandardStyleKeyEquivalentsPreferenceKey to YES.
7698         (-[WebPreferences authorAndUserStylesEnabled]): Return the setting's BOOL value.
7699         (-[WebPreferences setAuthorAndUserStylesEnabled:]): Set the setting's BOOL value.
7700         * WebView/WebPreferencesPrivate.h: Add authorAndUserStylesEnabled and setAuthorAndUserStylesEnabled:.
7701         * WebView/WebView.mm:
7702         (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings::authorAndUserStylesEnabled.
7704 2007-11-26  Brady Eidson  <beidson@apple.com>
7706         Reviewed by Mark Rowe
7708         Provide API for setting the default storage quota per database origin
7710         * Misc/WebNSDictionaryExtras.h:
7711         * Misc/WebNSDictionaryExtras.m:
7712         (-[NSMutableDictionary _webkit_setUnsignedLongLong:forKey:]): Helper for UINT64 preferences
7714         * WebView/WebPreferenceKeysPrivate.h:
7715         * WebView/WebPreferences.m:
7716         (-[WebPreferences _unsignedLongLongValueForKey:]): Helper for UINT64 prefs
7717         (-[WebPreferences _setUnsignedLongLongValue:forKey:]): Ditto
7718         (-[WebPreferences defaultDatabaseQuota]):
7719         (-[WebPreferences setDefaultDatabaseQuota:]):
7720         * WebView/WebPreferencesPrivate.h:
7722         * WebView/WebView.mm:
7723         (-[WebView _preferencesChangedNotification:]): Set the WebCore Settings version of the default storage pref
7725 2007-11-26  Darin Adler  <darin@apple.com>
7727         Reviewed by Adele.
7729         - some middle-mouse-button-related fixes
7731         These don't affect Safari since it maps the middle mouse button to the command key,
7732         but that might not always be the case for future versions.
7734         * WebView/WebHTMLView.mm:
7735         (-[WebHTMLView otherMouseDown:]): Pass through middle mouse down events to WebCore.
7736         (-[WebHTMLView otherMouseDragged:]): Ditto, for drag events.
7737         (-[WebHTMLView otherMouseUp:]): Ditto, for up events.
7739         * WebView/WebPolicyDelegate.h: Fixed inaccurate documentation of WebActionButtonKey.
7741 2007-11-26  Anders Carlsson  <andersca@apple.com>
7743         Reviewed by Brady.
7745         Get rid of the WebSecurityOriginPrivate object and store 
7746         the WebCore::SecurityOriginData pointer in the _private field of
7747         the WebSecurityOrigin object instead.
7748         
7749         * Storage/WebDatabaseManager.mm:
7750         (-[WebDatabaseManager databasesWithOrigin:]):
7751         (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
7752         (-[WebDatabaseManager deleteDatabasesWithOrigin:]):
7753         (-[WebDatabaseManager deleteDatabase:withOrigin:]):
7754         * Storage/WebSecurityOrigin.mm:
7755         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
7756         (-[WebSecurityOrigin protocol]):
7757         (-[WebSecurityOrigin domain]):
7758         (-[WebSecurityOrigin port]):
7759         (-[WebSecurityOrigin usage]):
7760         (-[WebSecurityOrigin quota]):
7761         (-[WebSecurityOrigin setQuota:]):
7762         (-[WebSecurityOrigin dealloc]):
7763         (-[WebSecurityOrigin finalize]):
7764         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
7765         (-[WebSecurityOrigin _core]):
7766         * Storage/WebSecurityOriginInternal.h:
7768 2007-11-26  Timothy Hatcher  <timothy@apple.com>
7770         Reviewed by Adam Roben.
7772         Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
7773         http://bugs.webkit.org/show_bug.cgi?id=16137
7775         Create the Web Inspector window with the textured style. Set the content border
7776         thickness for the top of the window or the height of the toolbar. Also make the
7777         window's bottom corners square, since a normal textured window normally has
7778         rounded bottom corners.
7780         * WebCoreSupport/WebInspectorClient.mm:
7781         (-[WebInspectorWindowController window]):
7783 2007-11-24  Mark Rowe  <mrowe@apple.com>
7785         Tiger build fix.
7787         * Plugins/WebBaseNetscapePluginStream.mm:
7788         (CarbonPathFromPOSIXPath): Use WebCFAutorelease as this also works on Tiger.
7790 2007-11-24  Mark Rowe  <mrowe@apple.com>
7792         Reviewed by Tim Hatcher.
7794         Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
7795         http://bugs.webkit.org/show_bug.cgi?id=13705
7797         Have NP_ASFILE and NP_ASFILEONLY streams write the data to disk as they receive it rather than
7798         dumping the data to disk in a single go when the stream has completed loading.  On a test case
7799         involving a 150MB Flash movie being streamed from a local web server this reduces memory consumption
7800         on page load from around 400MB to 22MB.
7802         The only plugin I have found that uses NP_ASFILE or NP_ASFILEONLY on the Mac is our NetscapeMoviePlugin
7803         example code so the NP_ASFILE portion of this change has not had any testing with a real-world plugin.
7805         * Plugins/WebBaseNetscapePluginStream.h:
7806         * Plugins/WebBaseNetscapePluginStream.mm:
7807         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
7808         (-[WebBaseNetscapePluginStream dealloc]):
7809         (-[WebBaseNetscapePluginStream finalize]):
7810         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
7811         (-[WebBaseNetscapePluginStream _destroyStream]): Update to work with paths as NSStrings.
7812         (-[WebBaseNetscapePluginStream _deliverDataToFile:]): Open the file if it is not already open, and write any data
7813         to disk.
7814         (-[WebBaseNetscapePluginStream finishedLoading]): If the stream is NP_ASFILE or NP_ASFILEONLY we need to ensure
7815         that the file exists before _destroyStream passes it to the plugin.  Simulating the arrival of an empty data block
7816         ensure that the file will be created if it has not already.
7817         (-[WebBaseNetscapePluginStream receivedData:]):
7818         (CarbonPathFromPOSIXPath):
7819         * Plugins/WebBaseNetscapePluginView.mm:
7820         (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]): Data is dealt with incrementally so there's no need to pass
7821         it to finishedLoading.
7822         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Ditto.
7824 2007-11-23  Oliver Hunt  <oliver@apple.com>
7826         Reviewed by Mark Rowe.
7827         
7828         Fixed <rdar://problem/3759190> allow input methods the option of processing mouse events themselves
7830         * WebView/WebHTMLView.mm:
7831         (-[WebHTMLView mouseDown:]):
7833 2007-11-22  Dan Bernstein  <mitz@apple.com>
7835         Reviewed by Antti Koivisto.
7837         - http://bugs.webkit.org/show_bug.cgi?id=15811
7838           WebKit plug-ins can re-enter WebKit under attach()
7839           <rdar://problem/5577978>
7841         * Plugins/WebNullPluginView.mm:
7842         (-[WebNullPluginView viewDidMoveToWindow]): Removed workaround for the
7843         above bug that added as part of fixing
7844         <http://bugs.webkit.org/show_bug.cgi?id=15804>.
7846 2007-11-21  Mark Rowe  <mrowe@apple.com>
7848         Reviewed by Eric.
7850         Fix WebKit to build without warnings under GCC 4.2.
7852         * Configurations/Base.xcconfig:
7854 2007-11-21  Mark Rowe  <mrowe@apple.com>
7856         Reviewed by Tim Hatcher.
7858         Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
7860         Update format strings to use format specifiers that match the argument types.
7862         * Misc/WebGraphicsExtras.c:
7863         (WebConvertBGRAToARGB):
7865 2007-11-19  Brady Eidson <beidson@apple.com>
7867         Reviewed by Maciej
7869         Finished hooking up the WebKit API for database management.
7870         Most of the API is actually implemented in WebCore and some of those methods might
7871         only be stubs for now.
7873         * Storage/WebDatabaseManager.mm:
7874         (-[WebDatabaseManager origins]): Call through to the WebCore tracker and construct an API result
7875         (-[WebDatabaseManager databasesWithOrigin:]): Ditto
7876         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Ditto
7878         * Storage/WebSecurityOrigin.mm:
7879         (-[WebSecurityOrigin usage]): Call through to WebCore
7880         (-[WebSecurityOrigin quota]): Ditto
7881         (-[WebSecurityOrigin setQuota:]): Ditto
7882         (-[WebSecurityOrigin _core]): Get WebCore version of this object
7883         * Storage/WebSecurityOriginInternal.h:
7885 2007-11-17  Timothy Hatcher  <timothy@apple.com>
7887         Reviewed by Mark Rowe.
7889         Bug 13470: i18n: The Web Inspector is not localizable
7890         http://bugs.webkit.org/show_bug.cgi?id=13470
7892         Implement the localizedStringsURL() client method to return the
7893         localized URL of InspectorLocalizedStrings.js in WebCore.
7895         * WebCoreSupport/WebInspectorClient.h: Added localizedStringsURL.
7896         * WebCoreSupport/WebInspectorClient.mm:
7897         (WebInspectorClient::localizedStringsURL): Added.
7898         (WebInspectorClient::updateWindowTitle): Localized the window title.
7899         (-[WebInspectorWindowController init]): Remove a FIXME that dosen't make sense anymore.
7900         (-[WebInspectorWindowController initWithInspectedWebView:]): Code style cleanup.
7902 2007-11-17  Alexey Proskuryakov  <ap@webkit.org>
7904         Reviewed by Darin Adler.
7906         http://bugs.webkit.org/show_bug.cgi?id=15969
7907         Eliminate Editor::deleteRange()
7909         * WebView/WebHTMLView.mm:
7910         (+[WebHTMLView initialize]):
7911         (-[WebHTMLView yank:]):
7912         (-[WebHTMLView yankAndSelect:]):
7913         (-[WebHTMLView setMark:]):
7914         (-[WebHTMLView deleteToMark:]):
7915         (-[WebHTMLView selectToMark:]):
7916         (-[WebHTMLView swapWithMark:]):
7917         Pushed all kill ring methods to WebCore. They were guilty of using Editor::deleteRange()!
7919 2007-11-16  Mark Rowe  <mrowe@apple.com>
7921         Reviewed by Tim Hatcher.
7923         Build WebCore as a sub-framework of WebKit in all configurations.
7925         * Configurations/WebKit.xcconfig:
7927 2007-11-16  John Sullivan  <sullivan@apple.com>
7929         Reviewed by Brady
7931         * WebKit.exp:
7932         Exported some new database-related symbols
7934 2007-11-16  Brady Eidson  <beidson@apple.com>
7936         Reviewed by John
7938         Database management API tweaks
7940         Fleshed out "WebSecurityOrigin" to be the API object representing an origin.  This relieves some
7941         burden off WebDatabaseManager and allows usage/quota operations on the SecurityOrigin object itself
7943         Also added a new subdirectory for Storage related API - Why are we afraid to add new directories to
7944         the WebKit tree?
7946         * Misc/WebSecurityOrigin.mm: Removed.
7947         * Misc/WebSecurityOriginInternal.h: Removed.
7948         * Misc/WebSecurityOriginPrivate.h: Removed.
7950         * Storage/WebDatabaseManager.mm: Work in terms of WebSecurityOrigin
7951         * Storage/WebDatabaseManagerPrivate.h:
7953         * Storage/WebSecurityOrigin.mm: Added.
7954         (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
7955         (-[WebSecurityOriginPrivate initWithWebCoreSecurityOrigin:]):
7956         (-[WebSecurityOriginPrivate finalize]):
7957         (-[WebSecurityOriginPrivate dealloc]):
7958         (-[WebSecurityOrigin initWithProtocol:domain:]):
7959         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
7960         (-[WebSecurityOrigin protocol]):
7961         (-[WebSecurityOrigin domain]):
7962         (-[WebSecurityOrigin port]):
7963         (-[WebSecurityOrigin usage]): 
7964         (-[WebSecurityOrigin quota]):
7965         (-[WebSecurityOrigin setQuota:]): Clients will set quotas on the WebSecurityOrigin object itself
7966         (-[WebSecurityOrigin dealloc]):
7967         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
7968         * Storage/WebSecurityOriginInternal.h: Added.
7969         * Storage/WebSecurityOriginPrivate.h: Added.
7971 2007-11-15  Brady Eidson  <beidson@apple.com>
7973         Reviewed by John
7975         Stubbing out everything required for a WebKit API for databases
7977         These interfaces seem to provide everything we need for UI and management at the browser level
7979         * Misc/WebDatabaseManager.h: Removed.
7980         * Misc/WebDatabaseManager.mm: Removed.
7981         * Misc/WebDatabaseManagerPrivate.h: Removed.
7983         * Misc/WebSecurityOrigin.mm: Added. Object that acts as a container for the "SecurityOrigin tuple"
7984           (protocol, domain, and port)
7985         (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
7986         (-[WebSecurityOriginPrivate dealloc]):
7987         (-[WebSecurityOrigin initWithProtocol:domain:]):
7988         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
7989         (-[WebSecurityOrigin protocol]):
7990         (-[WebSecurityOrigin domain]):
7991         (-[WebSecurityOrigin port]):
7992         (-[WebSecurityOrigin dealloc]):
7993         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:WebCore::]):
7994         * Misc/WebSecurityOriginInternal.h: Added.
7995         * Misc/WebSecurityOriginPrivate.h: Added.
7997         * Storage/WebDatabaseManager.mm: Added.
7998         (+[WebDatabaseManager sharedWebDatabaseManager]):
7999         (-[WebDatabaseManager origins]):  Get a list of all origins currently tracked
8000         (-[WebDatabaseManager detailsForOrigin:]): Get the current usage and current quota for the given origin
8001         (-[WebDatabaseManager databasesWithOrigin:]): Get all databases for a certain origin
8002         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Get all details about a specific database
8003         (-[WebDatabaseManager setQuota:forOrigin:]): Change origin-wide quota
8004         (-[WebDatabaseManager deleteAllDatabases]):
8005         (-[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
8006         (-[WebDatabaseManager deleteDatabase:withOrigin:]):
8007         * Storage/WebDatabaseManagerPrivate.h: Added.
8008         * Storage/WebDatabaseManagerInternal.h: Added.
8009         (WebKitInitializeDatabasesIfNecessary): One-time initialization of database-related things
8011         * Storage/WebDatabaseTrackerClient.h: Added. Stubbed out client for notifications
8012         * Storage/WebDatabaseTrackerClient.mm: Added.
8013         (WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient):
8014         (WebDatabaseTrackerClient::WebDatabaseTrackerClient):
8015         (WebDatabaseTrackerClient::~WebDatabaseTrackerClient):
8016         (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
8017         (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
8019         * WebView/WebView.mm:
8020         (-[WebView _commonInitializationWithFrameName:groupName:]): Do one-time initialization of
8021           Database-related things here
8023 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
8025         Reviewed by Anders Carlsson.
8026         
8027         Renamed Shared to RefCounted.
8029         * ForwardingHeaders/wtf/RefCounted.h: Copied from WebKit/mac/ForwardingHeaders/wtf/Shared.h.
8030         * ForwardingHeaders/wtf/Shared.h: Removed.
8031         * WebCoreSupport/WebContextMenuClient.h:
8033 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
8035         Reviewed by Sam Weinig.
8037         Moved Shared.h into wtf so it could be used in more places.
8039         * ChangeLog:
8040         * WebCoreSupport/WebContextMenuClient.h:
8042 2007-11-13  John Sullivan  <sullivan@apple.com>
8044         Reviewed by Darin Adler.
8046         removed recently-added PreferredType concept; we found a better way to do what
8047         ths was accomplishing
8049         * WebCoreSupport/WebChromeClient.mm:
8050         (WebChromeClient::createWindow):
8051         removed use of PreferredType
8053 2007-11-13  John Sullivan  <sullivan@apple.com>
8055         Reviewed by Dan Bernstein.
8056         
8057         - fixed <rdar://problem/5567954> REGRESSION (Safari 2-3): Autofill no longer automatically fills in 
8058         form fields other than the one you're typing into
8060         * WebCoreSupport/WebEditorClient.mm:
8061         (selectorForKeyEvent):
8062         correct the key identifier strings for Tab and Esc; these were updated in WebCore as part of r21445
8063         but didn't get updated here.
8065 2007-11-12  Josh Aas  <joshmoz@gmail.com>
8067         Reviewed by Darin Adler.
8069         - http://bugs.webkit.org/show_bug.cgi?id=15946
8070           add NPPValue NPPVpluginDrawingModel (Mozilla bug 403418 compat)
8072         * Plugins/WebBaseNetscapePluginView.mm:
8073         (-[WebBaseNetscapePluginView setVariable:value:]):
8075 2007-11-12  Alexey Proskuryakov  <ap@webkit.org>
8077         Reviewed by Darin Adler.
8079         http://bugs.webkit.org/show_bug.cgi?id=15954
8080         Move DOM Selection operations out of SelectionController
8082         * WebView/WebHTMLView.mm:
8083         (-[WebHTMLView _expandSelectionToGranularity:]):
8084         (-[WebHTMLView selectToMark:]):
8085         (-[WebHTMLView swapWithMark:]):
8086         * WebView/WebView.mm:
8087         (-[WebView setSelectedDOMRange:affinity:]):
8088         Adapted for SelectionController::setSelectedRange() now returning a bool.
8090 2007-11-12  Oliver Hunt  <oliver@apple.com>
8092         Reviewed by Darin and Geoff.
8094         <rdar://problem/5522011> The content of the password field of 
8095         Safari is displayed by reconversion.
8097         Some input methods (notably Kotoeri) can incorrectly provide 
8098         access to the raw text of a password field.  To work around 
8099         this we forcefully override the inputContext whenever a password
8100         field is active.
8102         * WebView/WebHTMLView.mm:
8103         (-[WebHTMLView inputContext]):
8105 2007-11-12  John Sullivan  <sullivan@apple.com>
8107         Reviewed by Tim Hatcher
8108         
8109         - speculative fix for <rdar://problem/5509989> CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit: 
8110         -[WebPDFView(FileInternal) _updatePreferencesSoon] + 56
8111         
8112         The crash is probably due to messaging a dealloc'ed dataSource ivar. The dataSource ivar isn't retained
8113         by this class, but should be. (It is retained by WebHTMLView, e.g.).
8115         * WebView/WebPDFView.mm:
8116         (-[WebPDFView dealloc]):
8117         release dataSource ivar
8118         (-[WebPDFView setDataSource:]):
8119         retain dataSource ivar
8121 2007-11-09  Tristan O'Tierney  <tristan@apple.com>
8123         Reviewed by Timothy Hatcher.
8124         
8125         This patch is for the WebKit side of <rdar://problem/5591115>.
8126         We need a way to tell context menu navigations, such as "Open in New Window"
8127         to override any sort of browser preference for tab based navigation.
8129         * WebCoreSupport/WebChromeClient.mm:
8130         (WebChromeClient::createWindow):
8131         Pass up the new preferredType parameter as a string.
8132         
8133 2007-11-09  Timothy Hatcher  <timothy@apple.com>
8135         Reviewed by John.
8137         <rdar://problem/5103720> REGRESSION: [WebView stringByEvaluatingJavaScriptFromString:] fails if "return" is used
8139         Extend the linked on or after check to every application when a script passed to
8140         stringByEvaluatingJavaScriptFromString: has a return statement. Before the check
8141         was limited to VitalSource Bookshelf, but other developers are running into this.
8143         * Misc/WebKitVersionChecks.h: Add the WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK define.
8144         * WebView/WebDocumentLoaderMac.mm:
8145         (needsDataLoadWorkaround): Use WEBKIT_FIRST_VERSION_WITHOUT_ADOBE_INSTALLER_QUIRK sicne the
8146           WebKitLinkedOnOrAfter check here was about the Adobe installer, not VitalSource.
8147         * WebView/WebView.mm:
8148         (-[WebView stringByEvaluatingJavaScriptFromString:]): Remove the bundle ID check and use
8149           WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK for the WebKitLinkedOnOrAfter call.
8151 2007-11-08  Kevin McCullough  <kmccullough@apple.com>
8153         Build Fix.
8155         * WebCoreSupport/WebFrameLoaderClient.h:
8156         * WebCoreSupport/WebFrameLoaderClient.mm:
8157         (WebFrameLoaderClient::windowObjectCleared):
8159 2007-11-07  Darin Adler  <darin@apple.com>
8161         Reviewed by Steve.
8163         - removed some unused WebCore bridge methods
8165         * WebCoreSupport/WebFrameBridge.mm: Removed issueTransposeCommand and overrideMediaType.
8167         * WebCoreSupport/WebFrameLoaderClient.mm:
8168         (WebFrameLoaderClient::overrideMediaType): Changed to call WebView directly instead of
8169         using the bridge object.
8171 2007-11-06  Mark Rowe  <mrowe@apple.com>
8173         Rubber-stamped by Dave Kilzer.
8175         Move Mac files from WebKit into WebKit/mac.
8177         * Carbon: Copied from WebKit/Carbon.
8178         * ChangeLog: Copied from WebKit/ChangeLog.
8179         * ChangeLog-2002-12-03: Copied from WebKit/ChangeLog-2002-12-03.
8180         * ChangeLog-2006-02-09: Copied from WebKit/ChangeLog-2006-02-09.
8181         * ChangeLog-2007-10-14: Copied from WebKit/ChangeLog-2007-10-14.
8182         * Configurations: Copied from WebKit/Configurations.
8183         * DOM: Copied from WebKit/DOM.
8184         * DefaultDelegates: Copied from WebKit/DefaultDelegates.
8185         * ForwardingHeaders: Copied from WebKit/ForwardingHeaders.
8186         * History: Copied from WebKit/History.
8187         * Info.plist: Copied from WebKit/Info.plist.
8188         * MigrateHeaders.make: Copied from WebKit/MigrateHeaders.make.
8189         * Misc: Copied from WebKit/Misc.
8190         * Panels: Copied from WebKit/Panels.
8191         * Plugins: Copied from WebKit/Plugins.
8192         * PublicHeaderChangesFromTiger.txt: Copied from WebKit/PublicHeaderChangesFromTiger.txt.
8193         * Resources: Copied from WebKit/Resources.
8194         * WebCoreSupport: Copied from WebKit/WebCoreSupport.
8195         * WebInspector: Copied from WebKit/WebInspector.
8196         * WebKit.exp: Copied from WebKit/WebKit.exp.
8197         * WebKit.order: Copied from WebKit/WebKit.order.
8198         * WebKitPrefix.h: Copied from WebKit/WebKitPrefix.h.
8199         * WebView: Copied from WebKit/WebView.
8200         * icu: Copied from WebKit/icu.
8202 2007-11-06  Alexey Proskuryakov  <ap@webkit.org>
8204         Reviewed by Darin Adler.
8206         http://bugs.webkit.org/show_bug.cgi?id=15847
8207         Some editing cleanup
8209         No change in functionality.
8211         * WebView/WebHTMLView.mm:
8212         (-[WebHTMLView deleteToEndOfLine:]):
8213         (-[WebHTMLView deleteToEndOfParagraph:]):
8214         WebCore had a duplicate of the same logic already. We are passing a boundary value to
8215         a function that expects granularity, this may need to be straightened out in the future.
8217 2007-11-05  John Sullivan  <sullivan@apple.com>
8219         * WebView/WebView.mm:
8220         (-[WebView _searchWithSpotlightFromMenu:]):
8222         Teeny style tweak to test svn access on other machine
8224 2007-11-05  John Sullivan  <sullivan@apple.com>
8226         * WebView/WebView.mm:
8227         (-[WebView computedStyleForElement:pseudoElement:]):
8228         
8229         Teeny style tweak to test svn access
8231 2007-11-02  Tristan O'Tierney  <tristan@apple.com>
8233         Reviewed by Darin Adler.
8235         * DefaultDelegates/WebDefaultUIDelegate.m:
8236         (-[WebDefaultUIDelegate webView:createWebViewWithRequest:windowFeatures:]):
8237         Forward the UI delegate to call webView:createWebViewWithRequest: if
8238         this method doesn't exist.
8239         
8240         * WebCoreSupport/WebFrameLoaderClient.mm:
8241         (WebFrameLoaderClient::dispatchCreatePage):
8242         * Plugins/WebBaseNetscapePluginView.mm:
8243         (-[WebBaseNetscapePluginView loadPluginRequest:]):
8244         * WebView/WebView.mm:
8245         (-[WebView _openNewWindowWithRequest:]):
8246         Revised to use new webView:createWebViewWithRequest:windowFeatures: callback.
8247         
8248         * WebCoreSupport/WebChromeClient.h:
8249         * WebCoreSupport/WebChromeClient.mm:
8250         (WebChromeClient::createWindow):
8251         Added a new createWindow that accepts 3 parameters, so we can pass up windowFeatures to the chrome.
8252         Removed createModalDialog to use new createWindow function.
8253         
8254         * WebView/WebUIDelegatePrivate.h:
8255         Added new webView:createWebViewWithRequest:windowFeatures: method.
8257 2007-11-05  Geoffrey Garen  <ggaren@apple.com>
8259         Reviewed by Darin Adler.
8260         
8261         http://bugs.webkit.org/show_bug.cgi?id=15835
8263         Small adaptations to new KJS::List class.
8265         * ForwardingHeaders/kjs/value.h: Added.
8267 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
8269         Sort files(...); sections of Xcode project files.
8271         Rubber-stamped by Darin Adler.
8273         * WebKit.xcodeproj/project.pbxproj:
8275 2007-11-02  Antti Koivisto  <antti@apple.com>
8277         Reviewed by Darin Adler.
8278         
8279         Add method to enable video composition.
8281         * WebCoreSupport/WebSystemInterface.m:
8282         (InitWebCoreSystemInterface):
8284 2007-11-02  Darin Adler  <darin@apple.com>
8286         Reviewed by Mitz.
8288         - fix problem I ran into while doing some testing on Mac for
8289           <rdar://problem/5530185> WebKit does not show <object>
8290           fallback content when both URL and MIME type is omitted
8292         I don't know how to reproduce this failure in DumpRenderTree, so there is no
8293         regression test.
8295         * Plugins/WebNullPluginView.h: Removed some unneeded declarations, including
8296         the didSendError local variable. Instead we just set the error to nil once
8297         we've sent it.
8298         * Plugins/WebNullPluginView.mm:
8299         (-[WebNullPluginView initWithFrame:error:DOMElement:]): Refactored so that
8300         the null plug-in image code is separate from the rest of the function and
8301         so that the whole thing is not inside an if statement. Also don't hold a
8302         reference to the DOM element if there is no error to report.
8303         (-[WebNullPluginView reportFailure]): Added. Does the actual delegate
8304         callback. Happens back at the top level of the run loop so it doesn't
8305         fire deep inside layout. Also wrote this so that it is guaranteed not to
8306         reenter and so that it can handle the case where the delegate destroys
8307         the world (including this object). NOTE: This is not a real, general
8308         solution to the problem of plug-ins that do work inside layout. We will need
8309         a more general fix that works for other plug-ins, and we'll track that with
8310         a separate bug report.
8311         (-[WebNullPluginView viewDidMoveToWindow]): Removed most of the code;
8312         changed so it just does a performSelector:afterDelay:0.
8314 2007-11-02  Mark Rowe  <mrowe@apple.com>
8316         Reviewed by Darin Adler.
8318         Fix http://bugs.webkit.org/show_bug.cgi?id=15780
8319         Bug 15780: WebFrameLoaderClient: WebActionElementKey wrong if view is scrolled
8321         * WebCoreSupport/WebFrameLoaderClient.mm:
8322         (WebFrameLoaderClient::actionDictionary): Retrieve the mouse event coordinates
8323         in the page coordinate system rather than the client area coordinate system.
8325 2007-11-01  Dan Bernstein  <mitz@apple.com>
8327         Reviewed by Oliver Hunt.
8329         - fix an assertion failure when Command-Tabbing out of Safari
8331         * WebView/WebHTMLView.mm:
8332         (-[WebHTMLView flagsChanged:]): Avoid passing key code 0 down to
8333         WebCore.
8335 2007-11-01  Justin Garcia  <justin.garcia@apple.com>
8337         Reviewed by Oliver Hunt.
8338         
8339         <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
8340         
8341         No need to match style when pasting plain text, since the fragment we build for plain text
8342         won't have any style information on it.
8344         * WebView/WebHTMLView.mm:
8345         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]): There's no
8346         longer a need to know whether this function chosePlaintext.
8347         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
8348         (-[WebHTMLView _documentFragmentFromPasteboard:]):
8350 2007-10-31  Timothy Hatcher  <timothy@apple.com>
8352         Reviewed by John Sullivan.
8354         Move the developer extras preference to WebPreferences.
8356         * WebView/WebPreferenceKeysPrivate.h: Add WebKitDeveloperExtrasEnabledPreferenceKey
8357         * WebView/WebPreferences.m:
8358         (+[WebPreferences initialize]): Initialize WebKitDeveloperExtrasEnabledPreferenceKey to NO.
8359         (-[WebPreferences developerExtrasEnabled]): Check DisableWebKitDeveloperExtras, WebKitDeveloperExtras
8360           and IncludeDebugMenu in addition to WebKitDeveloperExtrasEnabledPreferenceKey.
8361         (-[WebPreferences setDeveloperExtrasEnabled:]): Set WebKitDeveloperExtrasEnabledPreferenceKey.
8362         * WebView/WebPreferencesPrivate.h: Add developerExtrasEnabled and setDeveloperExtrasEnabled:.
8363         * WebView/WebView.mm:
8364         (+[WebView _developerExtrasEnabled]): Removed.
8365         (-[WebView _preferencesChangedNotification:]): Check the WebPreferences object for developerExtrasEnabled.
8366         * WebView/WebViewPrivate.h: Removed _developerExtrasEnabled.
8368 2007-10-30  David D. Kilzer  <ddkilzer@webkit.org>
8370         Generated files missing from WebCore's Xcode project file
8371         <http://bugs.webkit.org/show_bug.cgi?id=15406>
8373         Reviewed by Darin Adler.
8375         Added the following private header files to MigrateHeaders.make:
8377         - DOMCSSStyleSheetPrivate.h
8378         - DOMEventPrivate.h
8379         - DOMHTMLCollectionPrivate.h
8380         - DOMHTMLEmbedElementPrivate.h
8381         - DOMHTMLIFrameElementPrivate.h
8382         - DOMHTMLObjectElementPrivate.h
8383         - DOMHTMLSelectElementPrivate.h
8385         * MigrateHeaders.make:
8387 2007-10-29  Antti Koivisto  <antti@apple.com>
8389         Reviewed by Maciej.
8390         
8391         Some SPIs for media support.
8393         * WebCoreSupport/WebSystemInterface.m:
8394         (InitWebCoreSystemInterface):
8396 2007-10-29  Timothy Hatcher  <timothy@apple.com>
8398         Reviewed by John Sullivan.
8400         Various semi-related changes:
8401         - A WebView can now be asked for it's WebInspector. There is one
8402           WebInspector per WebView. 
8403         - Refactor the WebInspector class and move obsolete methods to
8404           a special category.
8405         - Add new WebInspector methods to show, hide and show the
8406           console/timeline panels.
8407         - Add an isDisabled method to WebCache.
8408         - Allow WebLocalizableStrings.h to be used in C files.
8410         * Misc/WebCache.h: Add isDisabled.
8411         * Misc/WebCache.mm:
8412         (+[WebCache isDisabled]): New method.
8414         * Misc/WebLocalizableStrings.h: Changes to allow use in plain C files.
8416         * WebCoreSupport/WebInspectorClient.mm:
8417         (-[WebInspectorWindowController showWindow:]): Call super if already visible
8418           so the window will be ordered front.
8419         (-[WebInspectorWindowController showWebInspector:]): Method used by menu items,
8420           so they are enabled and work when the Inspector window is key.
8421         (-[WebInspectorWindowController showErrorConsole:]): Ditto.
8422         (-[WebInspectorWindowController showNetworkTimeline:]): Ditto.
8424         * WebInspector/WebInspector.h: Add and remove methods.
8425         * WebInspector/WebInspector.mm:
8426         (-[WebInspector webViewClosed]): Called when the WebView is closed/dealloced.
8427           Clears the _webView pointer.
8428         (-[WebInspector show:]): Calls thru to the Page's InspectorController.
8429         (-[WebInspector showConsole:]): Ditto.
8430         (-[WebInspector showTimeline:]): Ditto.
8431         (-[WebInspector close:]): Ditto.
8432         (-[WebInspector attach:]): Ditto.
8433         (-[WebInspector detach:]): Ditto.
8434         (+[WebInspector sharedWebInspector]): Moved to the obsolete category.
8435         (+[WebInspector webInspector]): Ditto.
8436         (-[WebInspector setWebFrame:]): Ditto.
8437         (-[WebInspector window]): Ditto.
8438         (-[WebInspector showWindow:]): Ditto.
8440         * WebView/WebView.mm:
8441         (-[WebViewPrivate dealloc]): Release the WebInspector.
8442         (-[WebView _close]): Call webViewClosed on the WebInspector.
8443         (-[WebView inspector]): Create a WebInspector if needed and return it.
8444         * WebView/WebViewPrivate.h: Add the inspector method.
8446 2007-10-30  Adele Peterson  <adele@apple.com>
8448         Reviewed by Darin Adler.
8450         WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
8451         <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
8453         * WebView/WebHTMLView.mm:
8454         (-[WebHTMLView flagsChanged:]): Call capsLockStateMayHaveChanged so WebCore knows it may have to update a password field.
8455         (+[WebHTMLView _postFlagsChangedEvent:]): Added a comment with a Radar number for why this isn't just in flagsChanged.
8456         (-[WebHTMLView scrollWheel:]): Instead of calling the next responder explicitly, we can just call super, which will take care of this.
8458 2007-10-27  Mark Ambachtsheer  <mark.a@apple.com>
8460         Reviewed by Darin Adler.
8462         Fix for bug 15710, When QD plugins draw to an offscreen bitmap and the plugin is not at 
8463         (0, 0) the clipping rectangle is not correct.
8464         Added the origin to the window clip rectangle coordinates to account for plugins that
8465         don't originate at (0,0); affects code for offscreen GWorlds only.
8467         * Plugins/WebBaseNetscapePluginView.mm:
8468         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
8470 2007-10-26  Adele Peterson  <adele@apple.com>
8472         Reviewed by Oliver.
8474         Adding WebKitSystemInterface support for the caps lock indicator
8476         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
8478 2007-10-25  David Hyatt  <hyatt@apple.com>
8480         Fix for bug 15672, backgrounds don't tile properly inside transforms.  This patch fixes tiling
8481         of backgrounds inside CSS transforms and also of HTML content with background images inside SVG
8482         transforms.
8484         Reviewed by aroben and mmitz
8486         * WebCoreSupport/WebSystemInterface.m:
8487         (InitWebCoreSystemInterface):
8488         * WebKit.xcodeproj/project.pbxproj:
8490 2007-10-25  John Sullivan  <sullivan@apple.com>
8492         Reviewed by Tim Hatcher
8493         
8494         Removed the support for toggling whether WebKit uses the 10.5 PDFKit improvements. Now it
8495         always does, when available.
8497         * WebView/WebPreferencesPrivate.h:
8498         removed _usePDFPreviewView and _setUsePDFPreviewView:. Note that these were guarded with
8499         a comment that says that they can be removed when no longer needed. That time is now.
8501         * WebView/WebPreferences.m:
8502         (+[WebPreferences initialize]):
8503         removed WebKitUsePDFPreviewViewPreferenceKey
8504         (-[WebPreferences _usePDFPreviewView]):
8505         removed
8506         (-[WebPreferences _setUsePDFPreviewView:]):
8507         removed
8509         * WebView/WebPDFView.mm:
8510         (-[WebPDFView initWithFrame:]):
8511         don't check _usePDFPreviewView
8512         
8513         * WebView/WebPreferenceKeysPrivate.h:
8514         removed WebKitUsePDFPreviewViewPreferenceKey
8515         
8516 2007-10-24  Timothy Hatcher  <timothy@apple.com>
8518         Reviewed by Mark Rowe.
8520         <rdar://problem/5069711> OpenSource version of libWebKitSystemInterface.a is Tiger only, causes issues if used on Leopard
8522         Use the WebKitSystemInterface that matches the system version.
8524         * Configurations/DebugRelease.xcconfig:
8525         * WebKit.xcodeproj/project.pbxproj:
8527 2007-10-24  Brady Eidson  <beidson@apple.com>
8529         Reviewed by Anders
8531         <rdar://problem/5554130> DatabaseTracker.o has a global initializer
8533         * Misc/WebDatabaseManager.mm:
8534         (WebKitSetWebDatabasesPathIfNecessary): Call the member function instead of a static one
8536 2007-10-23  Mark Rowe  <mrowe@apple.com>
8538         Build fix for Eric's build fix in r26916.
8540         * MigrateHeaders.make:
8542 2007-10-22  Eric Seidel  <eric@webkit.org>
8544         Reviewed by Maciej.
8546         * MigrateHeaders.make: copy over font-face related DOM headers
8548 2007-10-22  Andrew Wellington  <proton@wiretapped.net>
8550         Reviewed by Mark Rowe.
8551         
8552         Fix for local database support after r26879
8553         Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set
8555         * Configurations/WebKit.xcconfig:
8557 2007-10-19  Brady Eidson <beidson@apple.com>
8559         Reviewed by Tim Hatcher
8561         Added support for Chrome prompts required by the Storage API
8562         Added support API for future managing of databases from the WebKit client
8563         Added preference and initialization for the databases path
8565         * Misc/WebDatabaseManager.h: Added.  WebDatabaseManager is how a WebKit application can list and
8566           remove the current available databases
8567         * Misc/WebDatabaseManager.mm: Added.
8568         (+[WebDatabaseManager origins]):
8569         (+[WebDatabaseManager databasesWithOrigin:]):
8570         (+[WebDatabaseManager deleteAllDatabases]):
8571         (+[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
8572         (+[WebDatabaseManager deleteDatabaseWithOrigin:named:]):
8573         (WebKitSetWebDatabasesPathIfNecessary): Setup the database path
8574         * Misc/WebDatabaseManagerPrivate.h: Added.
8576         * WebCoreSupport/WebChromeClient.h: Support for calling the delegate to run the prompt for 
8577           an origin exceeding its size limit
8578         * WebCoreSupport/WebChromeClient.mm:
8579         (WebChromeClient::runDatabaseSizeLimitPrompt):
8580         * WebKit.xcodeproj/project.pbxproj:
8581         * WebView/WebUIDelegate.h:
8583         * WebView/WebView.mm:
8584         (-[WebView _commonInitializationWithFrameName:groupName:]): Setup the database path
8585         * WebView/WebViewInternal.h:
8587 2007-10-19  John Sullivan  <sullivan@apple.com>
8589         Reviewed by Tim Hatcher
8590         
8591         - fixed <rdar://problem/5540325> REGRESSION (2.0.4-3): History menu looks odd after clearing history
8593         * History/WebHistory.mm:
8594         (-[WebHistoryPrivate removeAllItems]):
8595         This was fallout from r25275. We need to clear the orderedLastVisitedDays cache here, in addition
8596         to the other places where it's cleared.
8598 2007-10-18  Dan Bernstein  <mitz@apple.com>
8600         Tiger build fix.
8602         * WebView/WebDataSource.mm:
8603         (-[WebDataSource _MIMETypeOfResponse:]):
8605 2007-10-18  Dan Bernstein  <mitz@apple.com>
8607         Reviewed by Adam Roben.
8609         - fix <rdar://problem/5313523>
8610         REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
8612         * WebCoreSupport/WebFrameLoaderClient.mm:
8613         (WebFrameLoaderClient::makeDocumentView): Changed to use _responseMIMEType.
8614         * WebView/WebDataSource.mm:
8615         (-[WebDataSource _MIMETypeOfResponse:]): Added. Works around
8616         <rdar://problem/5321972> by testing for the case of an NSHTTPURLResponse
8617         with a MIMEType of application/octet-stream and a Content-Type header
8618         starting with text/plain and returning text/plain as the MIME type in
8619         that case.
8620         (-[WebDataSource _responseMIMEType]): Added. Used to get the correct
8621         response MIME type.
8622         (-[WebDataSource _isDocumentHTML]): Changed to use _responseMIMEType.
8623         (-[WebDataSource _makeRepresentation]): Ditto.
8624         (-[WebDataSource mainResource]): Ditto.
8625         (-[WebDataSource subresources]): Changed to use _MIMETypeOfResponse and
8626         pass the MIME type explicitly.
8627         (-[WebDataSource subresourceForURL:]): Ditto.
8628         * WebView/WebDataSourcePrivate.h:
8629         * WebView/WebFrameView.mm:
8630         (-[WebFrameView _makeDocumentViewForDataSource:]): Changed to use
8631         _responseMIMEType.
8632         * WebView/WebResource.mm:
8633         (-[WebResource _initWithData:URL:response:MIMEType:]): Changed this
8634         method to take a MIME type instead of extracting it from the response,
8635         so that WebDataSource could pass the correct MIME type.
8636         * WebView/WebResourcePrivate.h:
8638 2007-10-17  Darin Adler  <darin@apple.com>
8640         Reviewed by Mark Rowe.
8642         - fix <rdar://problem/5183775> Uninitialized memory in -[WebDynamicScrollBarsView updateScrollers]
8644         * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]):
8645         Change code path so it doesn't dispatch a method that returns an NSSize passing a nil object.
8646         It's safe to do that for functions that return integers or pointers, but not structures.
8648 2007-10-16  David Kilzer  <ddkilzer@apple.com>
8650         Reviewed by Timothy.
8652         <rdar://problem/5544354> Wrong delegate method called in
8653         WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
8655         * WebCoreSupport/WebFrameLoaderClient.mm:
8656         (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Fixed selector name.
8658 2007-10-16  Darin Adler  <darin@apple.com>
8660         Reviewed by Adele.
8662         - moved transpose command implementation into WebCore
8664         * WebView/WebHTMLView.mm: Removed transpose: and replaced it with standard WebCore forwarding.
8666 2007-10-16  Darin Adler  <darin@apple.com>
8668         Reviewed by Maciej and Geoff (and looked over by Eric).
8670         - http://bugs.webkit.org/show_bug.cgi?id=15519
8671           eliminate use of <ctype.h> for processing ASCII
8673         * ForwardingHeaders/wtf/ASCIICType.h: Added.
8674         * ForwardingHeaders/wtf/DisallowCType.h: Added.
8676         * WebKitPrefix.h: Include DisallowCType.h.
8678         * Misc/WebNSURLExtras.mm: (-[NSURL _web_URLWithLowercasedScheme]): Use toASCIILower.
8679         * WebView/WebHTMLView.mm:
8680         (-[WebHTMLView callWebCoreCommand:]): Use toASCIIUpper.
8681         (-[WebTextCompleteController filterKeyDown:]): Add a list of specific character codes,
8682         instead of using ispunct.
8684 2007-10-16  John Sullivan  <sullivan@apple.com>
8686         Reviewed by Adam Roben
8687         
8688         Cleaned up localizable strings
8690         * English.lproj/Localizable.strings:
8691         updated
8692         * StringsNotToBeLocalized.txt:
8693         updated
8694         * WebKit.xcodeproj/project.pbxproj:
8695         StringsNotToBeLocalized.txt recently moved but project file wasn't updated to match; now it is
8697 2007-10-15  Kevin Decker  <kdecker@apple.com>
8699         Reviewed by Darin Adler.
8700         
8701         Fixed: <rdar://problem/5520541> REGRESSION: Broken image when forwarding certain email on Tiger
8702         
8703         * WebCoreSupport/WebFrameBridge.mm: The problem was that we were loading Mail's WebKit plug-in
8704         too soon, which borked some necessary housekeeping on behalf of Mail. The fix is to add a quirk
8705         that treats Tiger Mail's WebKit plug-in like a Netscape plug-in, thus ensuring the plug-in will
8706         load during first layout and not attach time. For this plug-in, loading at first layout is 
8707         expected and is consistent with Safari 2 behavior.
8709 2007-10-15  John Sullivan  <sullivan@apple.com>
8711         Reviewed by Geoff Garen
8712         
8713         Replaced NS_DURING/NS_HANDLER with @try/@catch throughout WebKit
8715         I made the following changes:
8716         - replaced NS_DURING with @try, and added opening brace if there wasn't one
8717         - replaced NS_HANDLER with @catch (NSException *localException), and added braces if there weren't any
8718         - removed NS_ENDHANDLER, and added a closing brace if there wasn't one
8719         - in a couple of places, fixed indentation therein
8721         * Misc/WebIconDatabase.mm:
8722         (objectFromPathForKey):
8723         * WebView/WebHTMLView.mm:
8724         (-[WebHTMLView drawSingleRect:]):
8725         (-[WebHTMLView beginDocument]):
8726         (-[WebHTMLView deleteToMark:]):
8727         * WebView/WebView.mm:
8728         (-[WebView initWithCoder:]):
8730 == Rolled over to ChangeLog-2007-10-14 ==