Reviewed by Darin.
[WebKit-https.git] / WebKit / ChangeLog
1 2006-08-02  Timothy Hatcher  <timothy@apple.com>
2
3         Reviewed by Darin.
4
5         Bug 10200: [Drosera] Deadlock between Drosera and Safari while loading page
6         http://bugzilla.opendarwin.org/show_bug.cgi?id=10200
7
8         Prevent reentrancy in our debugger callbacks. This was causing a deadlock in Drosera because
9         suspendProcessIfPaused was being called during a DO call into Safari.
10
11         Preventing reentrancy also prevents scripts that Drosera injects and evaluates from showing
12         up in rare cases (such as a iframe loading about:blank). I thought this would prevent cases
13         where you call a function from the console and expect it to break on a breakpoint in them, but
14         this appears to never have worked even without this change. When that is figured out we can
15         reconsider a better solution to reentrancy. I have filed that as bug 10214.
16
17         I also removed the NSRunLoop runMode:beforeDate: calls since DO handles this for us since
18         we don't use "onway void" as the return type for the callbacks. Note: using onway void for
19         the listener callbacks causes bad synchronization issues and obscure crashes.
20
21         * DefaultDelegates/WebScriptDebugServer.m:
22         (-[WebScriptDebugServer webView:didLoadMainResourceForDataSource:]):
23         (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
24         (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
25         (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
26         (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
27         (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
28         (-[WebScriptDebugServer webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
29         * DefaultDelegates/WebScriptDebugServerPrivate.h:
30
31 2006-08-02  Maciej Stachowiak  <mjs@apple.com>
32
33         Reviewed by John.
34         
35         - fix assertion failure on layout tests by stopping plugins from loading at a clearly defined time
36         - add more assertions for safety
37
38         * WebView/WebDataSource.m:
39         (-[WebDataSourcePrivate dealloc]): Removed obsolete comment.
40         (-[WebDataSource _updateLoading]): Add assertion ensuring this method is only called
41         at a time when this data source is the one that might be loading for a frame.
42         (-[WebDataSource _stopLoading]): Stop loading plugins as a FIXME suggests we should.
43         * WebView/WebFrameLoader.m:
44         (-[WebFrameLoader isLoadingPlugIns]): New helper method.
45         (-[WebFrameLoader isLoading]): Consider plugin loads too - otherwise we won't stop them
46         at stopLoading time.
47
48 2006-08-02  Adam Roben  <aroben@apple.com>
49
50         Reviewed by Brady.
51
52         - Rename TransferJob to ResourceLoader (this file was forgotten in an
53         earlier change by Maciej)
54
55         * COM/WebView.cpp:
56
57 2006-08-01  Maciej Stachowiak  <mjs@apple.com>
58
59         Reviewed by Adele.
60         
61         - Change things around so WebFrameLoader tracks the main and provisional data source,
62         as well as the frame load state, pulling much code out of WebFrame along the way.
63         
64         The most significant aspects of this change are:
65         
66         - management of WebDataSources and WebFrameState was moved into WebFrameLoader
67         - there is now just one WebFrameLoader shared between the primary and provisional data source
68
69         * WebKit.xcodeproj/project.pbxproj:
70         * WebView/WebDataSource.m:
71         (-[WebDataSourcePrivate dealloc]):
72         (-[WebDataSource _updateLoading]):
73         (-[WebDataSource _loadIcon]):
74         (-[WebDataSource _setPrimaryLoadComplete:]):
75         (-[WebDataSource _stopLoading]):
76         (-[WebDataSource _startLoading]):
77         (-[WebDataSource _addSubresourceLoader:]):
78         (-[WebDataSource _removeSubresourceLoader:]):
79         (-[WebDataSource _addPlugInStreamLoader:]):
80         (-[WebDataSource _removePlugInStreamLoader:]):
81         (-[WebDataSource _defersCallbacksChanged]):
82         (-[WebDataSource _stopLoadingWithError:]):
83         (-[WebDataSource _revertToProvisionalState]):
84         (-[WebDataSource _setupForReplaceByMIMEType:]):
85         (-[WebDataSource initWithRequest:]):
86         (-[WebDataSource data]):
87         (-[WebDataSource isLoading]):
88         * WebView/WebFrame.m:
89         (-[WebFramePrivate init]):
90         (-[WebFramePrivate dealloc]):
91         (-[WebFrame _closeOldDataSources]):
92         (-[WebFrame _detachFromParent]):
93         (-[WebFrame _makeDocumentView]):
94         (-[WebFrame _receivedMainResourceError:]):
95         (-[WebFrame _transitionToCommitted:]):
96         (+[WebFrame _timeOfLastCompletedLoad]):
97         (-[WebFrame _checkLoadCompleteForThisFrame]):
98         (-[WebFrame _loadItem:withLoadType:]):
99         (-[WebFrame _continueAfterWillSubmitForm:]):
100         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
101         (-[WebFrame _initWithWebFrameView:webView:bridge:]):
102         (-[WebFrame _frameLoader]):
103         (-[WebFrame _provisionalLoadStarted]):
104         (-[WebFrame _prepareForDataSourceReplacement]):
105         (-[WebFrame _frameLoadCompleted]):
106         (-[WebFrame provisionalDataSource]):
107         (-[WebFrame dataSource]):
108         (-[WebFrame stopLoading]):
109         * WebView/WebFrameInternal.h:
110         * WebView/WebFrameLoader.h:
111         * WebView/WebFrameLoader.m:
112         (-[WebFrameLoader initWithWebFrame:]):
113         (-[WebFrameLoader dealloc]):
114         (-[WebFrameLoader dataSource]):
115         (-[WebFrameLoader _setDataSource:]):
116         (-[WebFrameLoader clearDataSource]):
117         (-[WebFrameLoader provisionalDataSource]):
118         (-[WebFrameLoader _setProvisionalDataSource:]):
119         (-[WebFrameLoader _clearProvisionalDataSource]):
120         (-[WebFrameLoader state]):
121         (+[WebFrameLoader timeOfLastCompletedLoad]):
122         (-[WebFrameLoader _setState:]):
123         (-[WebFrameLoader clearProvisionalLoad]):
124         (-[WebFrameLoader markLoadComplete]):
125         (-[WebFrameLoader commitProvisionalLoad]):
126         (-[WebFrameLoader stopLoading]):
127         (-[WebFrameLoader startLoading]):
128         (-[WebFrameLoader startProvisionalLoad:]):
129         (-[WebFrameLoader setupForReplace]):
130         * WebView/WebFramePrivate.h:
131
132 2006-08-01  Tim Omernick  <timo@apple.com>
133
134         Reviewed by John Sullivan.
135
136         <rdar://problem/4480737> Flash crashes after it replaces itself via a document.write()
137         
138         I kind of hate to do this, but this is the best way to work around buggy plug-ins like Flash that assume that
139         NPP_Destroy() cannot be called while the browser is calling one of its other plug-in functions.  The classic
140         situation is a plug-in that replaces itself via an NPN_Invoke() that executes a document.write().
141
142         * Plugins/WebBaseNetscapePluginView.h:
143         * Plugins/WebBaseNetscapePluginView.m:
144         (-[WebBaseNetscapePluginView sendEvent:]):
145         Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
146         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
147         ditto
148         (-[WebBaseNetscapePluginView start]):
149         It should not be possible to start a plug-in instance while we are calling into it (one of those chicken/egg
150         problems).  Added a sanity-checking assertion.
151         (-[WebBaseNetscapePluginView stop]):
152         If we're already calling a plug-in function, do not call NPP_Destroy().  The plug-in function we are calling
153         may assume that its instance->pdata, or other memory freed by NPP_Destroy(), is valid and unchanged until said
154         plugin-function returns.
155         (-[WebBaseNetscapePluginView pluginScriptableObject]):
156         Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
157         (-[WebBaseNetscapePluginView willCallPlugInFunction]):
158         Increment plug-in function call depth.
159         (-[WebBaseNetscapePluginView didCallPlugInFunction]):
160         Decrement plug-in function call depth.  Stop if we're supposed to stop.
161         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
162         Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
163         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
164         ditto
165         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
166         ditto
167
168         * Plugins/WebBaseNetscapePluginStream.m:
169         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
170         Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
171         (-[WebBaseNetscapePluginStream _destroyStream]):
172         ditto
173         (-[WebBaseNetscapePluginStream _deliverData]):
174         ditto
175
176 2006-08-01  Maciej Stachowiak  <mjs@apple.com>
177
178         - fix build after last change
179
180         * WebView/WebFrame.m:
181         (-[WebFrame _checkLoadCompleteForThisFrame]):
182
183 2006-08-01  Maciej Stachowiak  <mjs@apple.com>
184
185         Reviewed by Beth.
186
187         - revert part of my last fix that broke the Safari bookmarks view
188         
189         * WebView/WebFrame.m:
190         (-[WebFrame _checkLoadCompleteForThisFrame]): still send layout message for non-HTML views
191
192 2006-08-01  Tim Omernick  <timo@apple.com>
193
194         Reviewed by Anders.
195
196         Fixed an assertion failure I ran into while debugging <rdar://problem/4652683>.
197
198         * Plugins/WebNetscapePluginEmbeddedView.m:
199         (-[WebNetscapePluginEmbeddedView redeliverStream]):
200         Don't clear the "instance" ivar here.  This code was refactored here from the old WebNetscapePluginRepresentation,
201         which also had an "instance" ivar.  It is never appropriate to clear a plug-in view's instance.  That is done when
202         the plug-in is destroyed.
203
204 2006-08-01  Maciej Stachowiak  <mjs@apple.com>
205
206         Reviewed by Geoff.
207         
208         - some refactoring in preparation for moving more stuff to WebFrameLoader.
209
210         * WebView/WebFrame.m:
211         (-[WebFrame _clearDataSource]): 
212         (-[WebFrame _detachFromParent]):
213         (-[WebFrame _commitProvisionalLoad]):
214         (-[WebFrame _transitionToCommitted:]):
215         (-[WebFrame _clearProvisionalLoad]):
216         (-[WebFrame _markLoadComplete]):
217         (-[WebFrame _checkLoadCompleteForThisFrame]):
218         (-[WebFrame _startProvisionalLoad:]):
219         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
220         (-[WebFrame stopLoading]):
221
222 2006-07-31  Maciej Stachowiak  <mjs@apple.com>
223
224         Reviewed by Tim Hatcher.
225         
226         - renamed TransferJob to ResourceLoader in WebCore
227
228         * COM/WebFrame.cpp:
229         (WebFrame::loadDataSource):
230         (WebFrame::receivedRedirect):
231         (WebFrame::receivedResponse):
232         (WebFrame::receivedData):
233         (WebFrame::receivedAllData):
234         (WebFrame::setStatusText):
235         * COM/WebFrame.h:
236
237 2006-07-31  Darin Adler  <darin@apple.com>
238
239         Reviewed by Maciej.
240
241         - omit the margin and padding boxes for display types where they are ignored
242         - use CSS instead of properties for table spacing and padding as suggested by Tim H.
243
244         * WebInspector/webInspector/inspector.css: Added rules for spacing and padding.
245         Added rules that hide the margin and padding boxes (borders and all but the center cell)
246         when the hide attribute is present.
247         * WebInspector/webInspector/inspector.html: Added classes for the rules above.
248         Removed cellpadding and cellspacing attributes.
249         * WebInspector/webInspector/inspector.js: Added code to hide/show the margin and
250         padding boxes based on the display type.
251
252 2006-07-31  Duncan Wilcox  <duncan@mclink.it>
253
254         Reviewed by Darin.
255
256         Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=10159>
257         "REGRESSION: delegate returning no menu elements crashes webkit"
258
259         No automated test, because there's no way to programmatically open a context menu,
260         no manual test because there's no way to customize the context menu delegate.
261
262         * WebView/WebView.m:
263         (-[WebView _menuForElement:defaultItems:]): Make sure the context menu returned
264         some menu items before accessing the first one.
265
266 2006-07-31  Timothy Hatcher  <timothy@apple.com>
267
268         Reviewed by John.
269
270         <rdar://problem/4658194> REGRESSION: "Search in Google"
271         and "Search in Spotlight" fail to work on text selected in a frame
272
273         Use selectedFrame to get the frame with the text selection.
274
275         * WebView/WebView.m:
276         (-[WebView _searchWithGoogleFromMenu:]):
277         (-[WebView _searchWithSpotlightFromMenu:]):
278
279 2006-07-31  Darin Adler  <darin@apple.com>
280
281         Reviewed by Tim Hatcher.
282
283         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10168
284           add a first cut at a Metrics pane to the inspector
285
286         * WebInspector/webInspector/inspector.css: Add styles for the new metrics pane.
287         * WebInspector/webInspector/inspector.html: Add the new metrics pane, starting with
288         the table to show the box model.
289         * WebInspector/webInspector/inspector.js: Add the new metrics pane. Add back some
290         "title" attributes so we have more tooltips. Removed the optional parameter to
291         getComputedStyle.
292
293 2006-07-31  Anders Carlsson  <acarlsson@apple.com>
294
295         Reviewed by John.
296
297         * Plugins/WebPluginDatabase.m:
298         (-[WebPluginDatabase refresh]):
299         Create a mutable set instead of a mutable array.
300
301 2006-07-30  Darin Adler  <darin@apple.com>
302
303         Reviewed by Tim Hatcher.
304
305         * WebInspector/webInspector/inspector.js: Fix bug where a null property value
306         leads to an empty style pane.
307
308 2006-07-30  Darin Adler  <darin@apple.com>
309
310         Reviewed by Tim Hatcher.
311
312         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10163
313           some improvements for the inspector
314
315         * WebInspector/WebInspector.m:
316         (+[WebInspector sharedWebInspector:]): Fixed bug that could cause the inspector
317         to be garbage collected if used in an application with GC enabled.
318         (-[WebInspector dealloc]): Removed a call to a non-existent close method.
319         (-[WebInspector window]): Added a custom WebPreferences object and called
320         setPrivateBrowsingEnabled:YES so the inspector won't appear in the history menu.
321         Also call setProhibitsMainFrameScrolling:YES to try to get rid of trouble where
322         the inspector scrolls when dragging.
323
324         * WebInspector/webInspector/inspector.css: Added style for the new color swatch,
325         and JavaScript properties. More of the style should be shared between the panes,
326         but this should be OK for now.
327
328         * WebInspector/webInspector/inspector.html: Added a first cut at a JavaScript
329         properties pane. Needs work, but better than nothing.
330
331         * WebInspector/webInspector/inspector.js: Lots of improvements:
332         - Omit "typical" property values from computed style display, making it much shorter.
333         - Use the words "black", "white", and "transparent" when appropriate for color values.
334         - Refactored the loaded() function to get rid of repetitive scrollbar setup.
335         - Added a new scrollarea for the JavaScript properties pane.
336         - Simplified refreshScrollbars() -- we now refresh all scrollbars every time, which does no harm.
337         - Removed unused resultsWithXpathQuery().
338         - Use [] instead of "new Array()" and {} instead of "new Object()".
339         - Removed unused xpathForNode().
340         - Changed style pane to display the style for a text node's parent instead of saying
341           it can't display the style for text.
342         - Fixed regression I caused a while back by checking the length of a computed style
343           and not trying to display anything if its length is 0. Before this change and the
344           corresponding change in WebCore, we'd see a complete list of all styles with the
345           empty string as the value for each one.
346         - Changed the name of the computedStyle flag on the style rules array to isComputedStyle
347           to make it easier to understand it's a boolean.
348         - Fixed an error in the code that does !important scanning where it was trying to
349           do a special case for computed style, but was checking the computed style flag on
350           the wrong object.
351         - Added populateStyleListItem() function to factor out things in common between the
352           items in the top level list and the expanded tree for shorthand properties.
353         - Added code to make a color swatch next to the textual representation for any
354           property that contains a color.
355         - Implemented a first cut at a simple JavaScript properties pane.
356
357 2006-07-29  Darin Adler  <darin@apple.com>
358
359         - Removed tabs from these source files that still had them.
360           We don't use them; that way source files look fine in editors
361           that have tabs set to 8 spaces or to 4 spaces.
362         - Removed allow-tabs Subversion property from the files too.
363
364         * DefaultDelegates/WebDefaultPolicyDelegate.m:
365         * History/WebHistory.m:
366         * Misc/WebDownload.m:
367         * Misc/WebIconDatabase.m:
368         * Misc/WebKitErrors.m:
369         * Misc/WebKitLogging.m:
370         * Misc/WebNSDataExtras.m:
371         * Misc/WebNSFileManagerExtras.m:
372         * Panels/WebPanelAuthenticationHandler.m:
373         * Plugins/WebBaseNetscapePluginView.m:
374         * Plugins/npfunctions.h:
375         * WebCoreSupport/WebSubresourceLoader.m:
376         * WebView/WebMainResourceLoader.m:
377         * WebView/WebView.h:
378         * WebView/WebView.m:
379
380 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
381
382         Reviewed by Darin.
383
384         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10080
385           Adopt pedantic changes from the Unity project to improve 
386           cross-compiler compatibility
387
388           Changes include:
389           * Adding missing newline to the end of the file.
390           * Turning on gcc warning for missing newline at the end of a source file
391             (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
392
393         * WebKit.xcodeproj/project.pbxproj:
394         * WebView/WebResourcePrivate.h:
395
396 2006-07-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
397
398         Reviewed by John Sullivan.
399
400          - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9984
401           ASSERTION FAILURE: _private->mouseDownEvent != nil
402           (WebKit/WebView/WebHTMLView.m:4863 -[WebHTMLView(WebInternal) _delegateDragSourceActionMask])
403
404         * WebView/WebHTMLView.m:
405         (-[WebHTMLView _setMouseDownEvent:]): Moved into the WebHTMLViewFileInternal category and changed
406         to accept nil.
407         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
408         Copy the hit HTMLView's mouse down event to the top HTMLView.
409         (-[WebHTMLView acceptsFirstMouse:]): Added a call to _setMouseDownEvent:nil before returning.
410         (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Added a call to _setMouseDownEvent:nil
411         before returning.
412         (-[WebHTMLView mouseUp:]): Added a call to _setMouseDownEvent:nil to clear the event set in
413         mouseDown: (and used during dragging).
414         (-[WebHTMLView _delegateDragSourceActionMask]): Copy the hit HTMLView's mouse down event to
415         the top HTMLView.
416
417 2006-07-28  Timothy Hatcher  <timothy@apple.com>
418
419         Reviewed by John.
420
421         <rdar://problem/4657473> REGRESSION: Spell check not available from contextual menu in Mail
422
423         The context menu code should be checking isContentEditable
424         on DOMNode not just DOMElement. This is needed because DOMText
425         will be the node class of any text that is clicked.
426
427         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
428         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
429
430 2006-07-25  Geoffrey Garen  <ggaren@apple.com>
431
432         Reviewed by Maciej, inspired by John.
433         
434         - Fixed <rdar://problem/4651931> 1% REGRESSION on iBench HTML due to 
435         repeated requests for non-existent favicon
436         
437         An optimization to avoid serializing favicon data for missing icons had stomped an
438         optimization to avoid GETing a missing favicon more than once. The solution
439         is a happy marriage of optimizations, ensuring that we *retain* the missing
440         favicon's "i am missing" data without posting a notification or saving it to disk.
441
442         * Misc/WebIconDatabase.m:
443         (-[WebIconDatabase _setIconURL:forURL:]):
444
445 2006-07-25  David Harrison  <harrison@apple.com>
446
447         Reviewed by timo and Darin.
448
449         <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
450         
451         * WebKit.xcodeproj/project.pbxproj:
452         * WebView/WebView.m:
453         (-[WebView replaceSelectionWithNode:]):
454         (-[WebView _replaceSelectionWithNode:matchStyle:]):
455         * WebView/WebViewPrivate.h:
456         (-[WebView _replaceSelectionWithNode:matchStyle::]):
457         New SPI that is same as replaceSelectionWithNode: with added parameter whether to match existing style.
458
459 2006-07-24  Darin Adler  <darin@apple.com>
460
461         Reviewed by Adele and Justin.
462
463         - update for change to require context when creating fragments from text
464           (needed to handle whitespace properly)
465
466         * WebView/WebHTMLView.m:
467         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
468         Added context parameter, pass through to bridge.
469         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Pass selection range as context
470         when calling above method.
471         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Pass drag caret as context when
472         calling above method.
473
474 2006-07-24  Maciej Stachowiak  <mjs@apple.com>
475
476         Reviewed by Geoff.
477         
478         - fix <rdar://problem/4609195> Help Viewer loads empty window (not getting didFailLoadingWithError: callback)
479         (without re-introducing http://bugzilla.opendarwin.org/show_bug.cgi?id=10062 )
480
481         * WebView/WebLoader.h:
482         * WebView/WebMainResourceLoader.m:
483         (-[WebMainResourceLoader receivedError:]): Copy in some code from the base class to do it in the proper
484         order, surrounding the call to [ds _receivedMainResourceError:error complete:YES].
485
486 2006-07-24  Anders Carlsson  <acarlsson@apple.com>
487
488         Reviewed by Tim O.
489
490         * Misc/WebIconDatabase.m:
491         (-[WebIconDatabase removeAllIcons]):
492         Make an array of the keys and iterate through it to avoid modifying the
493         dictionary while enumerating it.
494
495 2006-07-24  Timothy Hatcher  <timothy@apple.com>
496
497         Reviewed by John and Darin.
498
499         <rdar://problem/4634290> Cannot selectively install a custom
500         scroller that differs from the default Aqua frame size.
501
502         Adds two new private methods to WebFrameView that allows
503         an application to set a custom scroll view class. This is needed
504         if the application wants to install a custom scroller that is wider
505         than the typical scroller, because NSScrollView does the content
506         rect calculations in a class method (ignoring custom scrollers.)
507         The _setScrollViewClass method requires the class to be a subclass
508         of WebDynamicScrollBarView, or nil can be passed to reset to the default class.
509         A new scroll view of the specified class will then replace the previous
510         one without the need to reload content of the frame.
511
512         * WebView/WebFrameView.m:
513         (-[WebFrameView _customScrollViewClass]):
514         (-[WebFrameView _setCustomScrollViewClass:]):
515         * WebView/WebFrameViewPrivate.h:
516
517 2006-07-24  Alexey Proskuryakov  <ap@nypop.com>
518
519         Reviewed by Darin.
520
521         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10009
522         REGRESSION: Schubert-IT PDF Plug-in not working for full page (works in frames)
523
524         * WebView/WebView.m:
525         (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): If we've got a type supported by WebPDFView,
526         make sure to initialize the plugin database, in case a plugin wants to handle it.
527
528 2006-07-23  Mark Rowe  <opendarwin.org@bdash.net.nz>
529
530         Reviewed by Maciej.
531
532         Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
533         http://bugzilla.opendarwin.org/show_bug.cgi?id=9686
534
535         WebKit portion of the fix.
536
537         * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
538         (-[WebDefaultScriptDebugDelegate webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
539         * DefaultDelegates/WebScriptDebugServer.h:
540         * DefaultDelegates/WebScriptDebugServer.m:
541         (-[WebScriptDebugServer webView:exceptionWasRaised:sourceId:line:forWebFrame:]): Notify
542         listeners that an exception has been raised.
543         * WebView/WebScriptDebugDelegate.h:
544         * WebView/WebScriptDebugDelegate.m:
545         (-[WebScriptCallFrame exceptionRaised:sourceId:line:]): Dispatch through to delegate and
546         WebScriptDebugServer.
547
548 2006-07-23  Adele Peterson  <adele@apple.com>
549
550         Reviewed by Darin.
551
552         - Fix for <rdar://problem/4646276> CrashTracer: 7 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::paint + 155
553
554         * WebView/WebHTMLView.m: (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
555         needsDisplay was returning NO even though the view has a dirty rect (see <rdar://problem/4647062>).  Since we know about
556         the dirty rect, we don't actually need to check needsDisplay.
557
558 2006-07-22  Timothy Hatcher  <timothy@apple.com>
559
560         Rolling out r15572.
561         
562         Bug 10062: REGRESSION: dom/xhtml/level2/html/HTMLIFrameElement11.xhtml asserts/crashes
563         http://bugzilla.opendarwin.org/show_bug.cgi?id=10062
564
565     2006-07-21  Timothy Hatcher  <timothy@apple.com>
566
567         Reviewed by Maciej.
568
569         <rdar://problem/4609195> Help Viewer loads empty window
570         (not getting didFailLoadingWithError: callback)
571
572         Call super's didFailWithError before _receivedMainResourceError
573         because _receivedMainResourceError will cause the datasource's
574         frame to be set to nil before the didFailLoadingWithError delegate
575         callback is sent. (This order is needed now that WebDataSource does
576         not hold on to the WebView; it uses the WebFrame to get to the WebView.
577         If the WebFrame is nil we can't get to the WebView's resource load delegate.)
578
579         * WebView/WebMainResourceLoader.m:
580         (-[WebMainResourceLoader receivedError:]):
581
582
583 2006-07-22  Timothy Hatcher  <timothy@apple.com>
584
585         Reviewed by Adele.
586
587         <rdar://problem/4646318> REGRESSION: Ctrl-clicking on a selection containing a word doesn't display a complete contextual menu
588         
589         Show the editing context menu if the WebView is editible.
590         The original change only checked if the DOM element was editable,
591         and isContentEditable returns NO if entire WebView is editable.
592
593         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
594         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
595
596 2006-07-21  Timothy Hatcher  <timothy@apple.com>
597
598         Reviewed by Maciej.
599
600         <rdar://problem/4609195> Help Viewer loads empty window
601         (not getting didFailLoadingWithError: callback)
602
603         Call super's didFailWithError before _receivedMainResourceError
604         because _receivedMainResourceError will cause the datasource's
605         frame to be set to nil before the didFailLoadingWithError delegate
606         callback is sent. (This order is needed now that WebDataSource does
607         not hold on to the WebView; it uses the WebFrame to get to the WebView.
608         If the WebFrame is nil we can't get to the WebView's resource load delegate.)
609
610         * WebView/WebMainResourceLoader.m:
611         (-[WebMainResourceLoader receivedError:]):
612
613 === Safari-521.20 ===
614
615 2006-07-21  Timothy Hatcher  <timothy@apple.com>
616
617         Reviewed by John.
618
619         <rdar://problem/4607572> REGRESSION (521.10.1 - 521.13): most context menu items missing when a form field is focused (common on google.com) (9680)
620
621         Do not use _isEditable call since that only checks if the current
622         selection or frame is editible. We now check if the currently clicked element
623         is a content editible area, a textarea, an isindex or an input element that
624         return YES to _isTextField.
625
626         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
627         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
628
629 2006-07-20  John Sullivan  <sullivan@apple.com>
630
631         Reviewed by Maciej
632
633         - WebKit part of fix for:
634         <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving 
635         closing tabs after clicking in a web page
636
637         * WebCoreSupport/WebFrameBridge.m:
638         (-[WebFrameBridge textViewWasFirstResponderAtMouseDownTime:]):
639         renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)        
640         
641         * WebView/WebHTMLViewInternal.h:
642         * WebView/WebHTMLView.m:
643         (-[WebTextCompleteController dealloc]):
644         updated for name change
645         (-[NSArray _setMouseDownEvent:]):
646         Now only retains the first responder if it's a textView, since that's the only case that the only client
647         actually cares about. This avoids a reference cycle caused by retaining self. This is the only substantive
648         part of the patch; all the rest is just renaming for clarity, and comments.
649         (-[NSArray mouseDown:]):
650         updated for name change
651         (-[WebHTMLView _textViewWasFirstResponderAtMouseDownTime:]):
652         renamed to be more specific (formerly _wasFirstResponderAtMouseDownTime:)        
653
654 2006-07-19  Tim Omernick  <timo@apple.com>
655
656         Reviewed by Darin.
657
658         <rdar://problem/4523432> safari crashed right after disabling "block pop up windows" (or other WebPreferences changes)
659
660         * Plugins/WebBaseNetscapePluginView.m:
661         (-[WebBaseNetscapePluginView viewWillMoveToSuperview:]):
662         Stop the plug-in when it is removed from its superview.  It is not sufficient to do this in -viewWillMoveToWindow:nil, because
663         the WebView might still has a hostWindow at that point, which prevents the plug-in from being destroyed.
664         There is no need to start the plug-in when moving into a superview.  -viewDidMoveToWindow takes care of that.
665
666 === Safari-521.19 ===
667
668 2006-07-17  Tim Omernick  <timo@apple.com>
669
670         Reviewed by Maciej.
671
672         <rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
673         by script
674
675         * WebView/WebViewPrivate.h:
676         * WebView/WebView.m:
677         (-[WebView setProhibitsMainFrameScrolling:]):
678         New method.  Prohibits scrolling in the WebView's main frame.  Used to "lock" a WebView to a specific
679         scroll position.
680
681 2006-07-17  Timothy Hatcher  <timothy@apple.com>
682
683         Reviewed by Darin.
684         
685         <rdar://problem/4635311> REGRESSION: WebKit should call windowScriptObjectAvailable before attaching the script debugger
686
687         * WebCoreSupport/WebFrameBridge.m:
688         (-[WebFrameBridge windowObjectCleared]):
689
690 2006-07-17  Timothy Hatcher  <timothy@apple.com>
691
692         Reviewed by Maciej.
693
694         <rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit
695
696         Copy WebScriptObject.h from WebCore's private headers, not JavaScriptCore.
697
698         * WebKit.xcodeproj/project.pbxproj:
699
700 2006-07-17  John Sullivan  <sullivan@apple.com>
701
702         Reviewed by Tim Omernick.
703         
704         - fixed <rdar://problem/4604366> Orange Find highlight displays text in wrong size on PDF pages 
705         if they're not at "actual size"
706         
707         To match WebHTMLView, I made the methods that return attributed strings take the view's scale
708         factor into account.
709
710         * WebView/WebPDFView.m:
711         (-[WebPDFView _scaledAttributedString:]):
712         new helper method, takes an attributed string and returns one that's scaled by the view's
713         current scale factor
714         (-[WebPDFView attributedString]):
715         pass result through _scaledAttributedString:
716         (-[WebPDFView selectedAttributedString]):
717         ditto
718
719 2006-07-17  Justin Garcia  <justin.garcia@apple.com>
720
721         Reviewed by levi
722         
723         Rolled the first fix for:
724         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
725         GMail Editor: Operations that use drop down menus blow away the selection
726         back in and removed the call to _clearSelectionInOtherFrames from 
727         -[WebHTMLView becomeFirstResponder] to fix the bug.
728
729         * WebView/WebHTMLView.m:
730         (-[NSArray maintainsInactiveSelection]):
731         (-[NSArray becomeFirstResponder]):
732         * WebView/WebView.m:
733         (-[WebView maintainsInactiveSelection]):
734
735 2006-07-15  Darin Adler  <darin@apple.com>
736
737         Reviewed by John Sullivan.
738
739         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9928
740           REGRESSION: Text Encoding menu inoperative (after gcc protocol build fix)
741
742         * WebView/WebHTMLView.m:
743         (-[WebHTMLView _documentRange]): Moved into WebHTMLViewFileInternal category.
744         (-[WebHTMLView selectionRect]): Moved into WebDocumentPrivateProtocols category.
745         (-[WebHTMLView selectionView]): Ditto.
746         (-[WebHTMLView selectionImageForcingWhiteText:]): Ditto.
747         (-[WebHTMLView selectionImageRect]): Ditto.
748         (-[WebHTMLView pasteboardTypesForSelection]): Ditto.
749         (-[WebHTMLView selectAll]): Ditto.
750         (-[WebHTMLView deselectAll]): Ditto.
751         (-[WebHTMLView string]): Ditto.
752         (-[WebHTMLView _attributeStringFromDOMRange:]): Ditto.
753         (-[WebHTMLView attributedString]): Ditto.
754         (-[WebHTMLView selectedString]): Ditto.
755         (-[WebHTMLView selectedAttributedString]): Ditto.
756         (-[WebHTMLView supportsTextEncoding]): Ditto.
757         (-[WebHTMLView _canProcessDragWithDraggingInfo:]): Moved into WebDocumentInternalProtocols.
758         (-[WebHTMLView _isMoveDrag]): Ditto.
759         (-[WebHTMLView _isNSColorDrag:]): Ditto.
760         (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Ditto.
761         (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
762         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Ditto.
763         (-[WebHTMLView elementAtPoint:]): Ditto.
764         (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.
765
766         * WebKit.xcodeproj/project.pbxproj: Let Xcode 2.3 do its thing.
767
768 === Safari-521.17 ===
769
770 2006-07-14  Timothy Hatcher  <timothy@apple.com>
771
772         Rolling out this fix from r15358 since it isn't resolved.
773
774     2006-07-11  Justin Garcia  <justin.garcia@apple.com>
775
776         Reviewed by levi & thatcher
777
778         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
779         GMail Editor: Operations that use drop down menus blow away the selection
780
781         * WebView/WebHTMLView.m:
782         (-[WebHTMLView maintainsInactiveSelection]): Maintain an inactive selection
783         when resigning as first responder if the selection is editable
784         or if the WebView tells us to.
785         * WebView/WebView.m:
786         (-[WebView maintainsInactiveSelection]): Just because a WebView is
787         editable doesn't mean selections inside subframes will be.  Return
788         NO by default.
789
790 2006-07-14  Timothy Hatcher  <timothy@apple.com>
791
792         <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore project failure
793
794         Build fix with the new GCC. Removes forward declarations of protocols.
795
796         * Misc/WebSearchableTextView.h:
797         * WebCoreSupport/WebSubresourceLoader.h:
798         * WebKit.xcodeproj/project.pbxproj:
799         * WebView/WebDocumentInternal.h:
800         * WebView/WebDocumentPrivate.h:
801         * WebView/WebHTMLView.h:
802         * WebView/WebPDFView.h:
803         * WebView/WebScriptDebugDelegatePrivate.h:
804
805 2006-06-28  Darin Adler  <darin@apple.com>
806
807         Reviewed by Adele.
808
809         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9625
810           <rdar://problem/4604703>
811           REGRESSION: Focus not removed from password field after ctrl-click in text field
812
813         * WebView/WebHTMLView.m: (-[WebHTMLView menuForEvent:]): Set handlingMouseDownEvent to
814         YES while calling sendContextMenuEvent: on the bridge.
815
816 2006-07-14  Timothy Hatcher  <timothy@apple.com>
817
818         Reviewed by Maciej.
819
820         Moved JavaScriptCore to be a public framework.
821
822         * WebKit.xcodeproj/project.pbxproj:
823
824 2006-07-13  Mitz Pettel  <opendarwin.org@mitzpettel.com>
825
826         Reviewed by Darin.
827
828         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9795
829           REGRESSION: Crash in [WebHTMLView(WebPrivate) 
830           _updateMouseoverWithEvent:]
831           and http://bugzilla.opendarwin.org/show_bug.cgi?id=9850
832           REGRESSION: Assertion failure (SHOULD NEVER BE REACHED) in -
833           [WebHTMLView(WebPrivate) removeTrackingRect:]
834
835         * WebView/WebHTMLView.m:
836         (-[WebHTMLView _updateMouseoverWithEvent:]): Return immediately if 
837         the view has already been closed.
838
839 2006-07-13  David Harrison  <harrison@apple.com>
840
841         Reviewed by Justin and Levi.
842
843         <rdar://problem/4620743> REGRESSION: Option-Delete doesn't delete words during typing
844
845         * Tests:
846         editing/deleting/delete-by-word-001.html
847         editing/deleting/delete-by-word-002.html
848
849         * WebView/WebHTMLView.m:
850         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
851
852 2006-07-13  Timothy Hatcher  <timothy@apple.com>
853
854         Rolling out this earlier change (r15378) now that it is fixed on AGL's end.
855         Fixes <rdar://problem/4624865> Restore 64-bit OpenGL plug-in support once AGL is 64-bit
856
857         <rdar://problem/4624858> AGL isn't 64-bit yet; temporarily remove it from WebKit 64-bit build
858
859         * Plugins/WebBaseNetscapePluginView.h:
860         * Plugins/WebBaseNetscapePluginView.m:
861
862 2006-07-13  Timothy Hatcher  <timothy@apple.com>
863
864         Reviewed by Darin.
865
866         <rdar://problem/4616920> REGRESSION: tabbing in mail moves focus
867         to next control instead of inserting a tab space.
868
869         Change editible WebView's tabKeyCyclesThroughElements to NO only
870         if the setTabKeyCyclesThroughElements SPI wasn't called.
871
872         * WebView/WebView.m:
873         (-[WebView setEditable:]):
874
875 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
876
877         Reviewed by Darin.
878
879         http://bugzilla.opendarwin.org/show_bug.cgi?id=9624
880         REGRESSION: After ctrl-clicking in a EMPTY input or textarea field, the contextual menu shows "Search in Google" and "Search in Spotlight" as active menu items
881
882         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
883         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
884         Don't create Dictionary, Spotlight or Google lookup items if there's no selection.
885
886 2006-07-12  Mark Rowe  <opendarwin.org@bdash.net.nz>
887
888         Reviewed by Timothy.
889
890         http://bugzilla.opendarwin.org/show_bug.cgi?id=9868
891         Applications shown in Drosera's "Attach" window remain after exit
892
893         * DefaultDelegates/WebScriptDebugServer.m:
894         (-[WebScriptDebugServer init]): Register for NSApplicationWillTerminateNotification so we will
895         know when the application is being exited.
896         (-[WebScriptDebugServer dealloc]): Unregister notification before we are deallocated.
897         (-[WebScriptDebugServer applicationTerminating:]): Inform anyone listening that we are going away.
898
899 2006-07-12  Tim Omernick  <timo@apple.com>
900
901         Reviewed by Tim Hatcher.
902
903         <rdar://problem/4624858> AGL isn't 64-bit yet; temporarily remove it from WebKit 64-bit build
904
905         Also, fixed a LOG_ERROR() so that it uses the CGL error instead of the AGL error; Tim H missed this in his build fix
906         from earlier.
907
908         * Plugins/WebBaseNetscapePluginView.h:
909         * Plugins/WebBaseNetscapePluginView.m:
910
911 2006-07-11  John Sullivan  <sullivan@apple.com>
912
913         Reviewed by Kevin and Tim O
914
915         - added support for creating a selection image with white text
916
917         * WebView/WebDocumentPrivate.h:
918         added -selectionImageForcingWhiteText: and -selectionImageRect to the private
919         <WebDocumentSelection> protocol
920
921         * Misc/WebSearchableTextView.m:
922         (-[NSString selectionImageForcingWhiteText:]):
923         added stub for this new method to this obsolete class to satisfy the compiler
924         (-[NSString selectionImageRect]):
925         ditto
926         
927         * WebView/WebHTMLView.m:
928         (-[WebHTMLView _selectionDraggingImage]):
929         now calls -selectionImageForcingWhiteText:NO instead of just -selectionImage
930         (-[WebHTMLView _selectionDraggingRect]):
931         now calls selectionImageRect, to which the implementation moved
932         (-[WebHTMLView selectionImageForcingWhiteText:]):
933         implemented this new method by calling through to new bridge method selectionImageForcingWhiteText:
934         (-[WebHTMLView selectionImageRect]):
935         implemented this new method by using existing _selectionDraggingRect implementation
936         
937         * WebView/WebPDFView.m:
938         (-[WebPDFView selectionImageForcingWhiteText:]):
939         implemented by using code that was formerly in Safari
940         (-[WebPDFView selectionImageRect]):
941         implemented by returning selectionRect
942
943 2006-07-11  Tim Omernick  <timo@apple.com>
944
945         Reviewed by Geoff.
946
947         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9843>:
948         Give Netscape plug-ins access to their own DOM element
949
950         * Plugins/WebBaseNetscapePluginView.h:
951         * Plugins/WebBaseNetscapePluginView.m:
952         (-[WebBaseNetscapePluginView dealloc]):
953         Release DOM element.
954         (-[WebBaseNetscapePluginView getVariable:value:]):
955         Return NPObject for plugin DOM element.
956
957         * Plugins/WebNetscapePluginEmbeddedView.h:
958         * Plugins/WebNetscapePluginEmbeddedView.m:
959         (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
960         Now takes a DOMElement, in much the same way that WebKit plug-in views take a DOMElement.
961
962         * WebCoreSupport/WebFrameBridge.m:
963         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
964         Pass DOMElement to Netscape plug-ins.
965         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
966         ditto
967
968 2006-07-11  Justin Garcia  <justin.garcia@apple.com>
969
970         Reviewed by levi & thatcher
971         
972         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
973         GMail Editor: Operations that use drop down menus blow away the selection
974         
975         * WebView/WebHTMLView.m:
976         (-[WebHTMLView maintainsInactiveSelection]): Maintain an inactive selection
977         when resigning as first responder if the selection is editable
978         or if the WebView tells us to.
979         * WebView/WebView.m:
980         (-[WebView maintainsInactiveSelection]): Just because a WebView is
981         editable doesn't mean selections inside subframes will be.  Return
982         NO by default.
983
984 2006-07-11  Tim Omernick  <timo@apple.com>
985
986         Reviewed by Tim Hatcher.
987
988         <rdar://problem/4622748> WebKit now uses deprecated AGL functions
989
990         * Plugins/WebBaseNetscapePluginView.m:
991         (-[WebBaseNetscapePluginView _createWindowedAGLContext]):
992         aglSetDrawable() is deprecated in AGL 3.0.  Use aglSetWindowRef() instead.
993         (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
994         aglSetOffScreen() is deprecated in AGL 3.0.  Use CGLSetOffScreen(), which does the same thing.
995
996 2006-07-11  Alexey Proskuryakov  <ap@nypop.com>
997
998         Reviewed by Tim O.
999
1000         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7808
1001         Assertion failure in -[WebBaseNetscapePluginStream dealloc] when requesting an invalid URL
1002
1003         * Plugins/WebNetscapePluginStream.m:
1004         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
1005         Remove the early return when requesting an invalid (unsupported) URL.
1006
1007 === Safari-521.16 ===
1008
1009 2006-07-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1010
1011         Reviewed by John Sullivan.
1012
1013         - fix <rdar://problem/4621541>, aka <http://bugzilla.opendarwin.org/show_bug.cgi?id=9838>
1014           REGRESSION (r14968-r14977): View Source doesn't work for pages from the back/forward cache
1015
1016         * WebView/WebDataSource.m:
1017         (-[WebDataSource _setPrimaryLoadComplete:]): Set our data only if the frame loader is
1018         has just loaded it (when coming from the back/forward cache, it hasn't).
1019
1020 2006-07-10  Brady Eidson  <beidson@apple.com>
1021
1022         Reviewed by Alexey
1023
1024         Resolved the console error messages people got from the new DB even if they didn't have it enabled
1025
1026         * Misc/WebIconDatabase.m:
1027         (-[WebIconDatabase init]):
1028         Disabled initializing the IconDatabaseBridge if user is living on the old DB
1029
1030 2006-07-10  Darin Adler  <darin@apple.com>
1031
1032         - try to fix Windows build
1033
1034         * COM/WebFrame.h: Qualify DeprecatedString and KURL with WebCore:: prefixes.
1035
1036 2006-07-09  Darin Adler  <darin@apple.com>
1037
1038         - try to fix Windows build
1039
1040         * COM/WebFrame.cpp: Rename QChar to DeprecatedChar.
1041
1042 2006-07-09  Darin Adler  <darin@apple.com>
1043
1044         - fix newlines to be consistent for all files in the COM directory
1045           (many had mixed style) and set the EOL style to "native" on them.
1046
1047         * COM/*: Set properties and changed files.
1048
1049 2006-07-09  Tim Omernick  <timo@apple.com>
1050
1051         Reviewed by Maciej.
1052
1053         <rdar://problem/4404652> Netscape plug-in mouse events broken in HiDPI
1054
1055         Multiply global mouse coordinates by the window scale factor so that plug-ins can use GlobalToLocal() in HiDPI.
1056         This fixes many bugs involving plug-in mouse event handling in HiDPI.  Most notably, the Flash player will now
1057         correctly respond to clicks.
1058
1059         * Plugins/WebBaseNetscapePluginView.m:
1060         (+[WebBaseNetscapePluginView getCarbonEvent:]):
1061         (-[WebBaseNetscapePluginView getCarbonEvent:withEvent:]):
1062
1063 2006-07-09  Darin Adler  <darin@apple.com>
1064
1065         Reviewed by Tim Hatcher.
1066
1067         - fix assertion firing in plug-in layout tests
1068
1069         * Plugins/WebBaseNetscapePluginView.m:
1070         (-[WebBaseNetscapePluginView restartNullEvents]):
1071         Don't start null events if the plug-in is not in the
1072         started state. This happens when the plug-in moves within
1073         its view hierarchy after it has been stopped.
1074
1075 2006-07-09  Timothy Hatcher  <timothy@apple.com>
1076
1077         Reviewed by Darin.
1078
1079         Bug 9820: Move new DOM API that has been through API review to public headers
1080         http://bugzilla.opendarwin.org/show_bug.cgi?id=9820
1081
1082         * Misc/WebElementDictionary.m: include DOMExtensions.h
1083         * Misc/WebNSViewExtras.m: include DOMExtensions.h
1084         * WebKit.xcodeproj/project.pbxproj: make DOMXPath.h public
1085
1086 2006-07-09  Timothy Hatcher  <timothy@apple.com>
1087
1088         Reviewed by Kevin.
1089
1090         Bug 9818: move new UIDelegate API that has been through API review to public headers
1091         http://bugzilla.opendarwin.org/show_bug.cgi?id=9818
1092
1093         <rdar://problem/4387541> API: Remove webView:setContentRect: & webViewContentRect: delegate methods?
1094         The fix for 4310363 removed the only use of webViewContentRect: in our code. webView:setContentRect:
1095         was never used to begin with. There's no harm in leaving these around in the API, but they'll cruft it up.
1096
1097         Also removes the never used webViewPrint: SPI that was replaced by webView:printFrameView:.
1098
1099         * DefaultDelegates/WebDefaultUIDelegate.m:
1100         * WebCoreSupport/WebFrameBridge.m:
1101         (-[WebFrameBridge print]):
1102         * WebView/WebFrameView.h:
1103         * WebView/WebFrameView.m:
1104         * WebView/WebFrameViewPrivate.h:
1105         * WebView/WebUIDelegate.h:
1106         * WebView/WebUIDelegatePrivate.h:
1107
1108 2006-07-09  Timothy Hatcher  <timothy@apple.com>
1109
1110         Reviewed by Darin.
1111
1112         Bug 9814: Move new WebView API that has been through API review to public headers
1113         http://bugzilla.opendarwin.org/show_bug.cgi?id=9814
1114
1115         * WebView/WebView.h:
1116         * WebView/WebView.m:
1117         (-[WebView close]):
1118         (-[WebView setShouldCloseWithWindow:]):
1119         (-[WebView shouldCloseWithWindow]):
1120         (-[WebView selectedFrame]):
1121         (-[WebView setMainFrameURL:]):
1122         (-[WebView mainFrameURL]):
1123         (-[WebView isLoading]):
1124         (-[WebView mainFrameTitle]):
1125         (-[WebView mainFrameIcon]):
1126         (-[WebView mainFrameDocument]):
1127         (-[WebView setDrawsBackground:]):
1128         (-[WebView drawsBackground]):
1129         (-[WebView toggleSmartInsertDelete:]):
1130         (-[WebView toggleContinuousSpellChecking:]):
1131         (-[WebView canMakeTextStandardSize]):
1132         (-[WebView makeTextStandardSize:]):
1133         (-[WebView maintainsInactiveSelection]):
1134         * WebView/WebViewPrivate.h:
1135
1136 2006-07-09  Timothy Hatcher  <timothy@apple.com>
1137
1138         Reviewed by Maciej.
1139
1140         Bug 9487: The XPath section should be removed and/or moved.
1141         http://bugzilla.opendarwin.org/show_bug.cgi?id=9487
1142
1143         * WebInspector/webInspector/inspector.css:
1144         * WebInspector/webInspector/inspector.html:
1145         * WebInspector/webInspector/inspector.js:
1146
1147 2006-07-09  Anders Carlsson  <acarlsson@apple.com>
1148
1149         Reviewed by Tim O.
1150
1151         * WebCoreSupport/WebSystemInterface.m:
1152         (InitWebCoreSystemInterface):
1153         Initialize wkPathFromFont.
1154
1155 2006-07-09  Darin Adler  <darin@apple.com>
1156
1157         - fix release build
1158
1159         * Plugins/WebBaseNetscapePluginView.m:
1160         (-[WebBaseNetscapePluginView restorePortState:]): Cast inside the assertion so
1161         that we don't have an unused variable in versions with assertions disabled.
1162         The alternative would be to wrap the whole thing in an #if statement.
1163
1164 2006-07-08  Tim Omernick  <timo@apple.com>
1165
1166         Reviewed by John Sullivan.
1167
1168         * Plugins/WebBaseNetscapePluginView.h:
1169         - Added ivars for OpenGL support.  Someday it would be nice to refactor this class so
1170           that each drawing model is encapsulated in a class; this would allow
1171           WebBaseNetscapePluginView to make more efficient use of space, for example by not
1172           keeping OpenGL-related ivars for Quickdraw plug-ins.
1173         
1174         * Plugins/WebBaseNetscapePluginView.m:
1175         - Declared a bunch of internal methods for OpenGL support (see below).
1176         - Removed "forUpdate" from CoreGraphics port state struct; it was always set to "YES",
1177           so I just cleaned up the silly code that used it.
1178         - Declared OpenGL port state struct.
1179         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1180         - Moved a CoreGraphics-related assertion down to the big "switch" statement.
1181         - Don't set window.type here -- according to the Netscape Plug-in API docs, the plug-in
1182           should default to "windowed" mode, and may call NPN_SetValue() during its NPN_New() to
1183           request that the browser use a "windowless" (offscreen) context instead.
1184         - Moved the assertion from the top of this method here; removed a less restrictive
1185           assertion that is now obsolete.
1186         - Removed "forUpdate" flag from CoreGraphics port state struct.
1187         - Fill in OpenGL port state struct.  Set up the viewport appropriately for both windowed
1188           and windowless OpenGL plug-ins.  Windowed plug-ins need to have their GL viewport
1189           transformed by the amount the plug-in is clipped; windowless plug-ins are drawn off-screen
1190           into a surface whose geometry is never changed or clipped, so they may always draw with
1191           a viewport origin of (0, 0).
1192         (-[WebBaseNetscapePluginView restorePortState:]):
1193         - Removed "forUpdate" flag from CoreGraphics port state struct.
1194         - Restore the old OpenGL context saved by -saveAndSetNewPortStateForUpdate:.
1195         (-[WebBaseNetscapePluginView sendEvent:]):
1196         - Updated an assertion to also include OpenGL.  To ensure that attached plug-in window movements
1197           happen atomically with web page redisplays, we assert that the plug-in's window is set only while
1198           the plug-in view is redrawing.
1199         - Same deal as with the assertion; only save/set port state when redrawing the plug-in view.  Plug-ins
1200           that use the new drawing models are only allowed to draw when the web page draws.  I might consider
1201           changing this for windowed OpenGL plug-ins, since they always obscure the page content anyway.
1202         (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]):
1203         - Compare new NP_GLContext structs.
1204         (-[WebBaseNetscapePluginView updateAndSetWindow]):
1205         - In OpenGL mode, can only set window when updating plug-in view.
1206         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
1207         - ditto
1208         - Updated logging for OpenGL drawing mode.
1209         (-[WebBaseNetscapePluginView addWindowObservers]):
1210         - No need to observe frame/bounds change notifications for this and all parent views.  See -renewGState
1211           comments below.
1212         (-[WebBaseNetscapePluginView removeWindowObservers]):
1213         - Don't need to remove frame/bounds observers anymore.
1214         (-[WebBaseNetscapePluginView start]):
1215         - Plug-ins are "windowed" by default.  This is not a change from our previous behavior, but this is a
1216           better place to set the default value as it allows the plug-in to override it later.
1217         (-[WebBaseNetscapePluginView stop]):
1218         - Destroy AGL context when the plug-in stops.
1219         (-[WebBaseNetscapePluginView dealloc]):
1220         - Assert that the AGL stuff has been cleaned up.
1221         (-[WebBaseNetscapePluginView drawRect:]):
1222         - If this is a windowless OpenGL plugin, blit its contents back into this view.
1223         (-[WebBaseNetscapePluginView renewGState]):
1224         - This method is called when the view or one of its parents is moved or resized (see comments).
1225         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
1226         - Hide the AGL window if the plug-in view is about to be removed from its window.
1227         (-[WebBaseNetscapePluginView viewHasMoved:]):
1228         - Renamed and moved to the "Internal" category.
1229         (-[WebBaseNetscapePluginView invalidateRegion:]):
1230         - Style changes.
1231         - Add support for OpenGL (uses the same region type as CoreGraphics).
1232         (-[WebBaseNetscapePluginView getVariable:value:]):
1233         - Style changes.
1234         - Implemented NPNVsupportsOpenGLBool; returns YES since we now support the OpenGL drawing model.
1235         (-[WebBaseNetscapePluginView setVariable:value:]):
1236         - Implemented NPPVpluginWindowBool, which allows plug-ins to specify whether they should be rendered in
1237           "windowed" or "windowless" mode.  This is an older part of the Netscape Plug-in API that was never
1238           implemented in WebKit.  "Windowed" Quickdraw plug-ins do not actually reside in a separate window, and
1239           can already do many of the same things (such as transparency) that only "windowless" plug-ins can do on
1240           other platforms.  However, we need the "windowed" vs. "windowless" distinction for OpenGL plug-ins so
1241           that they have some way of specifying whether they should be rendered on an accelerated overlay surface,
1242           composited into the browser window.
1243         - Support for setting the drawing model to OpenGL.
1244         (-[WebBaseNetscapePluginView _viewHasMoved]):
1245         - Renamed from -viewHasMoved:, and moved down in the file.
1246         - None of this work is necessary when the plug-in is not in a window; the plug-in's state will be properly
1247           restored when it is moved back into a window.
1248         - Reshape OpenGL surface window here.
1249         (-[WebBaseNetscapePluginView _createAGLContextIfNeeded]):
1250         - Creates the AGL context of the appropriate type (windowed/windowless).
1251         (-[WebBaseNetscapePluginView _createWindowedAGLContext]):
1252         - Creates a windowed AGL context, which is an AGL context attached to a child window.  This is the only way
1253           to get true hardware acceleration.
1254         (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
1255         - Creates a windowless AGL context, which is an AGL context attached to an offscreen buffer.  This buffer can
1256           then be blitted back into the browser window with a different alpha, or scaled, or whatever.
1257         (-[WebBaseNetscapePluginView _cglContext]):
1258         - Returns the underlying CGL context from the AGL context.  We give the plug-in access to the CGL context because
1259           CGL is the more primitive of the GL drawable APIs and allows for finer control over the context.
1260         (-[WebBaseNetscapePluginView _getAGLOffscreenBuffer:width:height:]):
1261         - Returns the buffer allocated for the offscreen AGL context, if there is one.
1262         (-[WebBaseNetscapePluginView _destroyAGLContext]):
1263         - Destroys the AGL context, as well as the associated offscreen buffer or child window.
1264         (-[WebBaseNetscapePluginView _reshapeAGLWindow]):
1265         - Positions the AGL window over the browser window.
1266         (-[WebBaseNetscapePluginView _hideAGLWindow]):
1267         - Hides the AGL window.
1268         (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
1269         - Returns an NSImage representation of the offscreen AGL context's framebuffer.  This is used to draw the offscreen
1270           bits back into the plug-in view.  This is kind of tricky because it has to convert the offscreen buffer in-place
1271           from BGRA to RGBA so that it can be wrapped in an NSBitmapImageRep.  See comments.
1272
1273         * WebKit.xcodeproj/project.pbxproj:
1274         Link OpenGL and AGL.
1275
1276 2006-07-09  Brady Eidson  <beidson@apple.com>
1277
1278         Reviewed by Maciej
1279
1280         The ICONDEBUG flag now chooses either the new icon database or the old one
1281         No longer any need to live side by side to compare results
1282
1283         * Misc/WebIconDatabase.m:
1284         (-[NSMutableDictionary iconURLForURL:]):
1285         (-[NSMutableDictionary retainIconForURL:]):
1286         (-[NSMutableDictionary releaseIconForURL:]):
1287         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
1288         (-[WebIconDatabase _setIconURL:forURL:]):
1289         (-[WebIconDatabase _resetCachedWebPreferences:]):
1290
1291 2006-07-08  Timothy Hatcher  <timothy@apple.com>
1292
1293         Reviewed by Maciej.
1294
1295         Bug 5312: comments aren't available via DOM
1296         http://bugzilla.opendarwin.org/show_bug.cgi?id=5312
1297
1298         Makes the Web Inspector show comment node contents.
1299
1300         * WebInspector/WebInspector.m:
1301         (-[DOMNode _displayName]): return the contents of the comment
1302         * WebInspector/webInspector/inspector.js: check for comment nodes
1303
1304 2006-07-09  Alexey Proskuryakov  <ap@nypop.com>
1305
1306         Reviewed by Darin.
1307
1308         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9572
1309         Add application/xhtml+xml to the Accept header
1310
1311         * WebView/WebFrame.m:
1312         (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Add an Accept header
1313         to main resource requests.
1314         * English.lproj/StringsNotToBeLocalized.txt: Added new strings.
1315
1316 2006-07-08  Darin Adler  <darin@apple.com>
1317
1318         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1319         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
1320         Removed misleading old comment.
1321
1322 === Safari-521.15 ===
1323
1324 2006-07-07  Levi Weintraub  <lweintraub@apple.com>
1325
1326         Reviewed by justin
1327
1328         Finished moving deletion selection expansion across the bridge... say that 3 times fast.
1329
1330         * WebView/WebHTMLView.m:  Pass granularity to WebCore to handle expansion
1331         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
1332         (-[WebHTMLView _deleteSelection]):
1333         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
1334         (-[WebHTMLView deleteToMark:]):
1335
1336 2006-07-07  Brady Eidson  <beidson@apple.com>
1337
1338         Reviewed by John
1339
1340         Changed an ASSERT to a LOG_ERROR for an error that could be handled gracefully, but
1341         whose assertion was reproducibly causing a build bot failure
1342
1343         * Misc/WebIconDatabase.m:
1344         (-[WebIconDatabase _releaseIconForIconURLString:]):
1345
1346 2006-07-06  Levi Weintraub  <lweintraub@apple.com>
1347
1348         Reviewed by justin
1349
1350         Improved table editing
1351
1352         * WebCoreSupport/WebFrameBridge.m: Added method to allow WebCore to trigger
1353         deletion editing delegate
1354         (-[WebFrameBridge shouldDeleteSelectedDOMRange:]):
1355         * WebView/WebHTMLView.m: Moved code that expanded a selection when the delete
1356         key is pressed over to WebCore so we can be more intelligent about how to handle it
1357         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]):
1358         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
1359
1360 2006-07-07  John Sullivan  <sullivan@apple.com>
1361
1362         Reviewed by Tim Hatcher
1363         
1364         - fixed <rdar://problem/4606857> WebKit: WebPreferencesChangedNotification not exported
1365
1366         * WebKit.exp:
1367         added surprisingly missing _WebPreferencesChangedNotification, defined in
1368         WebPreferences.h
1369
1370 2006-07-06  Brady Eidson  <beidson@apple.com>
1371
1372         Reviewed by John.
1373
1374         Small fix to my previous small fix that only lets the ASSERT off the hook if the DB
1375         is closing
1376
1377         * Misc/WebIconDatabase.m:
1378         (-[WebIconDatabase _releaseIconForIconURLString:]):
1379
1380 2006-07-05  Brady Eidson  <beidson@apple.com>
1381
1382         Reviewed by Maciej
1383
1384         Small fix that prevents an assertion from triggering if the DB is being cleaned up 
1385         (ie, the app being shut down)
1386
1387         * Misc/WebIconDatabase.h:
1388         * Misc/WebIconDatabase.m:
1389         (-[NSMutableDictionary init]):
1390         (-[WebIconDatabase _applicationWillTerminate:]):
1391         (-[WebIconDatabase _releaseIconForIconURLString:]):
1392
1393 2006-07-05  Adele Peterson  <adele@apple.com>
1394
1395         Reviewed by Maciej and Hyatt.
1396
1397         WebKit part of initial popup menu implementation.
1398
1399         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
1400         Initialize WKPopupMenu.
1401
1402 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
1403
1404         Reviewed by Maciej.
1405
1406         http://bugzilla.opendarwin.org/show_bug.cgi?id=3581
1407         iFrames set to display:none are Missing from frames array
1408         
1409         * WebCoreSupport/WebFrameBridge.m:
1410         (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
1411         (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
1412         Modify to pass the owner element instead of the owner renderer.
1413         
1414         * WebView/WebHTMLView.m:
1415         (-[WebHTMLView _topHTMLView]):
1416         Remove assertion, it's not valid anymore.
1417
1418 2006-07-05  Timothy Hatcher  <timothy@apple.com>
1419
1420         Reviewed by Harrison.
1421
1422         <rdar://problem/4608423> HIViewAdapter used but not defined
1423         Adds a new export file to fix the build.
1424
1425         * WebKit.LP64.exp: Added.
1426         * WebKit.xcodeproj/project.pbxproj:
1427
1428 2006-07-04  Timothy Hatcher  <timothy@apple.com>
1429
1430         Reviewed by Maciej.
1431
1432         Bug 9731: [Drosera] crash when trying to access the scope chain
1433         http://bugzilla.opendarwin.org/show_bug.cgi?id=9731
1434
1435         Because of <rdar://problem/4608404> the WebScriptObject, _globalObj, that
1436         WebCoreScriptDebugger holds is unprotected each time the page changes.
1437         This causes Drosera to crash Safari when trying to access the scope chain.
1438         We simply need to detach and re-attach the debugger when the window script
1439         object is cleared until 4608404 is fixed. This change also attaches the
1440         debugger before we call the windowScriptObjectAvailable: delegate method,
1441         so the debugger is ready before anyone might use the window object.
1442
1443         * WebCoreSupport/WebFrameBridge.m:
1444         (-[WebFrameBridge windowObjectCleared]):
1445
1446 2006-07-04  Timothy Hatcher  <timothy@apple.com>
1447
1448         Reviewed by Darin.
1449
1450         Bug 9732: [Drosera] calling removeListener to many times will cause
1451                   WebKit's listener count to underflow/wraparound
1452         http://bugzilla.opendarwin.org/show_bug.cgi?id=9732
1453
1454         Adds a check to make sure the listener was in our listeners set before
1455         decrementing the global listener count. Also checks for nil in addListner
1456         to prevent a possible exception when adding the object to the set.
1457
1458         * DefaultDelegates/WebScriptDebugServer.m:
1459         (-[WebScriptDebugServer addListener:]):
1460         (-[WebScriptDebugServer removeListener:]):
1461
1462 2006-07-04  Alexey Proskuryakov  <ap@nypop.com>
1463
1464         Reviewed by Maciej.
1465
1466         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8210
1467         Conditional XMLHttpRequest gets should pass 304 responses unchanged
1468
1469         Test: http/tests/xmlhttprequest/cache-override.html
1470
1471         * Misc/WebNSURLRequestExtras.h: Added _web_isConditionalRequest
1472         * Misc/WebNSURLRequestExtras.m:
1473         (-[NSURLRequest _web_isConditionalRequest]):
1474         * WebCoreSupport/WebFrameBridge.m:
1475         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1476         Bypass the cache for conditional requests.
1477         * WebCoreSupport/WebSubresourceLoader.m:
1478         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Ditto.
1479
1480 2006-07-01  David Kilzer  <ddkilzer@kilzer.net>
1481
1482         Reviewed by NOBODY (fixed Tim's build fix).
1483
1484         * WebView/WebView.m: Added back missing '/' at the beginning of the file.
1485
1486 2006-07-01  Tim Omernick  <timo@apple.com>
1487
1488         Reviewed by NOBODY (build fix)
1489
1490         * WebView/WebView.m:
1491         (-[WebView _isMIMETypeRegisteredAsPlugin:]):
1492         Changed nil to NO (typo).
1493
1494 === Safari-521.14 ===
1495
1496 2006-06-30  Timothy Hatcher  <timothy@apple.com>
1497
1498         Reviewed by Darin.
1499
1500         Only enable shouldCloseWithWindow when ObjC GC is enabled.
1501         This maintains backwards compatibility with applications
1502         that expect a WebView to be usable after the window closes.
1503
1504         * WebView/WebView.m:
1505         (-[WebViewPrivate init]):
1506
1507 2006-06-30  Timothy Hatcher  <timothy@apple.com>
1508
1509         Reviewed by Anders.
1510
1511         Call _close in dealloc to ensure we cleanup for backwards
1512         compatibility. This will safeguard and cleanup even if the
1513         application doesn't use the new close API yet, like Mail.
1514
1515         * WebView/WebView.m:
1516         (-[WebView dealloc]):
1517
1518 2006-06-29  Timothy Hatcher  <timothy@apple.com>
1519
1520         Reviewed by Darin.
1521
1522         <rdar://problem/4484405> WebKit leaks, improper tear-down
1523         <rdar://problem/3694059> -[WebBackForwardList finalize] is incorrect; design change needed
1524         <rdar://problem/3694103> -[WebFrame finalize] is incorrect; design change needed
1525         <rdar://problem/3694104> -[WebHTMLView finalize] is incorrect; design change needed
1526
1527         Adds a close method to WebView, this needs to be called when the 
1528         WebView is no longer needed. To make this easier for the common cases
1529         there is now an "auto close" on WebView that listens to the view's
1530         parent window. If the parent window closes and the WebView has no
1531         hostWindow then the WebView is automatically closed if autoClose is YES.
1532         To manage WebView closing yourself call setAutoClose: and pass NO.
1533
1534         When a WebView closes it will tear-down and not be usable anymore.
1535         Close will will called on various other internal objects as a part
1536         of this, to ensure proper tear-down in GC without relying on finalize.
1537
1538         * History/WebBackForwardList.m:
1539         (-[WebBackForwardList dealloc]):
1540         (-[WebBackForwardList finalize]):
1541         (-[WebBackForwardList _close]):
1542         * History/WebHistoryItem.m:
1543         (+[WebHistoryItem _closeObjectsInPendingPageCaches]):
1544         (+[WebHistoryItem _releaseAllPendingPageCaches]):
1545         * History/WebHistoryItemPrivate.h:
1546         * WebCoreSupport/WebFrameBridge.m:
1547         (-[WebFrameBridge close]):
1548         (-[WebFrameBridge saveDocumentToPageCache:]):
1549         (-[WebFrameBridge canGoBackOrForward:]):
1550         * WebView/WebFrame.m:
1551         (-[WebFrame _detachFromParent]):
1552         (-[WebFrame dealloc]):
1553         (-[WebFrame finalize]):
1554         * WebView/WebFrameView.m:
1555         (-[WebFrameView _setWebFrame:]):
1556         (-[WebFrameView finalize]):
1557         * WebView/WebHTMLView.m:
1558         (-[WebHTMLView close]):
1559         (-[WebHTMLView dealloc]):
1560         (-[WebHTMLView finalize]):
1561         * WebView/WebHTMLViewInternal.h:
1562         * WebView/WebHTMLViewPrivate.h:
1563         * WebView/WebScriptDebugDelegate.m:
1564         (-[WebScriptCallFrame _initWithFrame:initWithWebFrame:]):
1565         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
1566         (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
1567         (-[WebScriptCallFrame hitStatement:sourceId:line:]):
1568         (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
1569         * WebView/WebScriptDebugDelegatePrivate.h:
1570         * WebView/WebView.m:
1571         (-[WebViewPrivate init]):
1572         (-[WebView _close]):
1573         (-[WebView dealloc]):
1574         (-[WebView finalize]):
1575         (-[WebView viewWillMoveToWindow:]):
1576         (-[WebView _windowWillClose:]):
1577         (-[WebView setPreferencesIdentifier:]):
1578         (-[WebView mainFrame]):
1579         (-[WebView setHostWindow:]):
1580         (-[WebView searchFor:direction:caseSensitive:wrap:]):
1581         (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
1582         (-[WebView close]):
1583         (-[WebView setAutoClose:]):
1584         (-[WebView autoClose]):
1585         (-[WebView _frameViewAtWindowPoint:]):
1586         * WebView/WebViewPrivate.h:
1587
1588 2006-06-29  Kevin Decker  <kdecker@apple.com>
1589
1590         Reviewed by mjs and timo.
1591         
1592         Fixed: <rdar://problem/4609119> handleAuthenticationFromResource was removed; needed by the Dashboard
1593
1594         * WebView/WebViewPrivate.h: Added handleAuthenticationFromResource back into the header. Needed by the
1595         Dashboard, but was removed in r.14028 on 2006-04-23. 
1596
1597 2006-06-29  Tim Omernick  <timo@apple.com>
1598
1599         Reviewed by Kevin Decker.
1600
1601         <rdar://problem/4608487> REGRESSION: reproducible crash in +[WebCoreFrameBridge supportedImageMIMETypes]
1602
1603         * Plugins/WebPluginDatabase.m:
1604         (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
1605         One might be tempted to add additionalWebPlugInPaths to the global WebPluginDatabase here.
1606         For backward compatibility with earlier versions of the +setAdditionalWebPlugInPaths: SPI,
1607         we need to save a copy of the additional paths and not cause a refresh of the plugin DB
1608         at this time.
1609         (-[WebPluginDatabase _plugInPaths]):
1610         Include additionalWebPlugInPaths if this is the global DB.
1611         (-[WebPluginDatabase refresh]):
1612         Call -_plugInPaths to get the modified array of paths.  This is similar to what the old code
1613         (before we had per-WebView plugin search paths).
1614
1615 2006-06-29  Tim Omernick  <timo@apple.com>
1616
1617         Reviewed by John Sullivan.
1618
1619         WebHistoryItem now supports getting and setting arbitrary properties via _transientPropertyForKey: and
1620         -_setTransientProperty:forKey:.
1621         For now, these properties do not persist with the rest of the history data.  They are intended to hold transient
1622         per-history-item state, which is something that was until now difficult for a WebKit client app to do.
1623         
1624         * History/WebHistoryItemPrivate.h:
1625         * History/WebHistoryItem.m:
1626         (-[WebHistoryItemPrivate dealloc]):
1627         (-[WebHistoryItem _transientPropertyForKey:]):
1628         (-[WebHistoryItem _setTransientProperty:forKey:]):
1629
1630 2006-06-29  Timothy Hatcher  <timothy@apple.com>
1631
1632         Reviewed by Harrison.
1633
1634         Smart insert and delete, continuous spell checking and autoscroll
1635         can now be used for any WebView, not just editable ones. All of
1636         these make sense for documents that might contain content editable 
1637         areas or our new text fields. Autoscroll is usefull for dragging
1638         for file input controls also.
1639
1640         Added a SPI to toggle WebViews tab key behavior, tabKeyCyclesThroughElements.
1641         WebHTMLView's _interceptEditingKeyEvent now uses WebView's
1642         tabKeyCyclesThroughElements state to determine whether or not
1643         to process tab key events. The idea here is that tabKeyCyclesThroughElements
1644         will be YES when this WebView is being used in a browser, and we
1645         desire the behavior where tab moves to the next element in tab order.
1646         If tabKeyCyclesThroughElements is NO, it is likely that the WebView
1647         is being embedded as the whole view, as in Mail, and tabs should input
1648         tabs as expected in a text editor. Using Option-Tab always cycles
1649         through elements.
1650
1651         * WebView/WebHTMLRepresentation.m:
1652         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
1653         * WebView/WebHTMLView.m:
1654         (-[WebHTMLView _interceptEditingKeyEvent:]):
1655         * WebView/WebView.m:
1656         (-[WebViewPrivate init]):
1657         (-[WebView _autoscrollForDraggingInfo:timeDelta:]):
1658         (-[WebView _shouldAutoscrollForDraggingInfo:]):
1659         (-[WebView validateUserInterfaceItem:]):
1660         (-[WebView toggleSmartInsertDelete:]):
1661         (-[WebView toggleContinuousSpellChecking:]):
1662         (-[WebView setTabKeyCyclesThroughElements:]):
1663         (-[WebView tabKeyCyclesThroughElements]):
1664         * WebView/WebViewPrivate.h:
1665
1666 2006-06-29  Anders Carlsson  <acarlsson@apple.com>
1667
1668         Reviewed by Tim O.
1669
1670         * WebKit.xcodeproj/project.pbxproj:
1671         Add DOMXPath.h header.
1672
1673 2006-06-28  David Hyatt  <hyatt@apple.com>
1674
1675         Fix custom highlighting so that you can paint the entire line (and go
1676         outside the bounds of the line).
1677
1678         Reviewed by harrison
1679
1680         * WebCoreSupport/WebFrameBridge.m:
1681         (-[WebFrameBridge customHighlightRect:forLine:]):
1682         (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:]):
1683         * WebKit.xcodeproj/project.pbxproj:
1684         * WebView/WebHTMLViewPrivate.h:
1685
1686 2006-06-28  Maciej Stachowiak  <mjs@apple.com>
1687
1688         Reviewed by Anders.
1689         
1690         - fix Frame leak on layout tests
1691
1692         * WebCoreSupport/WebPageBridge.m:
1693         (-[WebPageBridge outerView]): Return WebFrameView for main frame instead
1694         of WebView to avoid reference cycle between WebView and Page.
1695
1696 2006-06-28  Timothy Hatcher  <timothy@apple.com>
1697
1698         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
1699
1700         * WebKit.xcodeproj/project.pbxproj:
1701
1702 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
1703
1704         Reviewed by justin
1705
1706         http://bugzilla.opendarwin.org/show_bug.cgi?id=7568
1707         Bug 7568: Implement Indent/Outdent
1708         Added undo action strings and enum values
1709
1710         * English.lproj/Localizable.strings:
1711         * WebCoreSupport/WebFrameBridge.m: 
1712         (-[WebFrameBridge nameForUndoAction:]):
1713
1714 2006-06-27  Brady Eidson  <beidson@apple.com>
1715
1716         Reviewed by Maciej
1717
1718         Hookup the new semi-functional SQLite icon database.
1719         For now, it is living side-by-side with the old DB so one can compare the
1720         two for debugging purposes.  Also, it is disabled (in WebKit) by default unless you
1721         compile with ICONDEBUG #defined.
1722         Note:  To repeat that, if you want to try the new DB, #define ICONDEBUG (WebKitPrefix.h is a good place to do it)
1723
1724         * Misc/WebIconDatabase.m:
1725         (-[NSMutableDictionary iconForURL:withSize:cache:]):
1726         (-[NSMutableDictionary iconURLForURL:]):
1727         (-[NSMutableDictionary retainIconForURL:]):
1728         (-[NSMutableDictionary releaseIconForURL:]):
1729         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
1730         (-[WebIconDatabase _setIconURL:forURL:]):
1731         (-[WebIconDatabase _hasIconForIconURL:]):
1732         (-[WebIconDatabase _resetCachedWebPreferences:]):
1733         * Misc/WebIconLoader.m:
1734         (-[WebIconLoader didFinishLoading]):
1735         * WebKit.xcodeproj/project.pbxproj:
1736
1737 2006-06-26  David Hyatt  <hyatt@apple.com>
1738
1739         Fix for 9538, support syntax highlighting for HTML source.
1740
1741         Reviewed by darin
1742
1743         * WebKit.xcodeproj/project.pbxproj:
1744         * WebView/WebView.m:
1745         (-[WebView _setInViewSourceMode:]):
1746         (-[WebView _inViewSourceMode]):
1747         * WebView/WebViewPrivate.h:
1748
1749 2006-06-25  Timothy Hatcher  <timothy@apple.com>
1750
1751         Reviewed by Darin.
1752
1753         Bug 9574: Drosera should show inline scripts within the original HTML
1754         http://bugzilla.opendarwin.org/show_bug.cgi?id=9574
1755
1756         * Adds a new version of the didParseSource delegate callback with base line number.
1757         * Adds a new delegate callback for when a script fails to parse.
1758         * These new callbacks use NSURLs for the url parameter.
1759         * Adds a new script listener callback to notify when the main resource loads.
1760         * Adds a WebScriptErrorDomian and other keys for use with NSError.
1761
1762         * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
1763         (-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
1764         (-[WebDefaultScriptDebugDelegate webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
1765         * DefaultDelegates/WebScriptDebugServer.h:
1766         * DefaultDelegates/WebScriptDebugServer.m:
1767         (-[WebScriptDebugServer webView:didLoadMainResourceForDataSource:]):
1768         (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
1769         (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
1770         * DefaultDelegates/WebScriptDebugServerPrivate.h:
1771         * WebKit.exp:
1772         * WebView/WebDataSource.m:
1773         (-[WebDataSource _setPrimaryLoadComplete:]):
1774         * WebView/WebScriptDebugDelegate.h:
1775         * WebView/WebScriptDebugDelegate.m:
1776         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
1777
1778 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
1779
1780         Reviewed by Timothy.
1781
1782         * Info.plist: Fixed copyright to include 2003-2006.
1783
1784 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
1785
1786         Reviewed by Darin.
1787
1788         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9418
1789         WebKit will not build when Space exists in path
1790
1791         * WebKit.xcodeproj/project.pbxproj: Enclose search paths in quotes.
1792
1793 2006-06-23  Tim Omernick  <timo@apple.com>
1794
1795         Reviewed by John Sullivan.
1796
1797         * Plugins/WebBaseNetscapePluginView.m:
1798         (-[WebBaseNetscapePluginView sendEvent:]):
1799         Fixed a bug I found in the CoreGraphics drawing model that was preventing certain types of
1800         events from being dispatched to the plugin, unless the plugin was being updated.  The check
1801         for portState was only required to call -setWindowIfNecessary, not required for the entire
1802         event dispatch.
1803         Also, don't paint the green debug rect unless this is a QuickDraw plugin.  Otherwise the
1804         current QD port is not set, and the green rect fills the entire screen.  Pretty awesome
1805         looking, but not intended behavior.
1806         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
1807         Improved the logging here to include the NPWindow's width and height.
1808
1809 2006-06-23  Timothy Hatcher  <timothy@apple.com>
1810
1811         Reviewed by Tim O.
1812
1813         Adds back SPI that Mail is still depending on.
1814
1815         * WebView/WebDataSource.m:
1816         (-[WebDataSource _addSubframeArchives:]):
1817         * WebView/WebDataSourcePrivate.h:
1818
1819 === WebKit-521.13 ===
1820
1821 2006-06-23  Timothy Hatcher  <timothy@apple.com>
1822
1823         Reviewed by Geoff.
1824
1825         script debugger should only attach to JavaScriptCore when there are listeners
1826         http://bugzilla.opendarwin.org/show_bug.cgi?id=9552
1827
1828         Attaches the debugger to all WebFrames when the first listener
1829         is added. Detaches when the last listener is removed.
1830         Also detach when the script debug delegate is set to nil.
1831
1832         * DefaultDelegates/WebScriptDebugServer.m:
1833         (+[WebScriptDebugServer listenerCount]):
1834         (-[WebScriptDebugServer dealloc]):
1835         (-[WebScriptDebugServer attachScriptDebuggerToAllWebViews]):
1836         (-[WebScriptDebugServer detachScriptDebuggerFromAllWebViews]):
1837         (-[WebScriptDebugServer listenerConnectionDidDie:]):
1838         (-[WebScriptDebugServer addListener:]):
1839         (-[WebScriptDebugServer removeListener:]):
1840         * DefaultDelegates/WebScriptDebugServerPrivate.h:
1841         * WebCoreSupport/WebFrameBridge.m:
1842         (-[WebFrameBridge windowObjectCleared]):
1843         * WebView/WebFrame.m:
1844         (-[WebFrame _attachScriptDebugger]):
1845         (-[WebFrame _detachScriptDebugger]):
1846         * WebView/WebFramePrivate.h:
1847         * WebView/WebScriptDebugDelegate.m:
1848         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
1849         (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
1850         (-[WebScriptCallFrame hitStatement:sourceId:line:]):
1851         (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
1852         * WebView/WebView.m:
1853         (-[WebView _attachScriptDebuggerToAllFrames]):
1854         (-[WebView _detachScriptDebuggerFromAllFrames]):
1855         (-[WebView setScriptDebugDelegate:]):
1856         * WebView/WebViewPrivate.h:
1857
1858 2006-06-22  John Sullivan  <sullivan@apple.com>
1859
1860         Reviewed by Tim Omernick
1861         
1862         - added support for UIDelegate to be notified of scrolling in any WebHTMLView
1863         - cleaned up recently-added UIDelegate code
1864
1865         * WebView/WebUIDelegatePrivate.h:
1866         declared webView:didScrollDocumentInFrameView: method
1867
1868         * DefaultDelegates/WebDefaultUIDelegate.m:
1869         (-[NSApplication webView:didDrawRect:]):
1870         provide default (empty) implementation of this recently-added method, so the
1871         DelegateForwarder mechanism will work for it
1872         (-[NSApplication webView:didScrollDocumentInFrameView:]):
1873         same thing for the new method
1874         
1875         * WebView/WebHTMLView.m:
1876         (-[WebHTMLView _frameOrBoundsChanged]):
1877         use _UIDelegateForwarder mechanism to notify delegate that scrolling occurred
1878         (-[WebHTMLView drawSingleRect:]):
1879         use _UIDelegateForwarder mechanism instead of checking respondsToSelector stuff
1880         here (that's packaged up nicely by the forwarder mechanism)
1881         
1882 2006-06-22  Tim Omernick  <timo@apple.com>
1883
1884         Reviewed by NOBODY (build fix)
1885
1886         * WebView/WebFrameLoader.m:
1887         Import WebMainResourceLoader instead of using @class so that we can call WebMainResourceLoader
1888         methods.
1889         
1890 2006-06-22  Tim Omernick  <timo@apple.com>
1891
1892         Reviewed by NOBODY (build fix)
1893
1894         * WebView/WebFrameLoader.m:
1895         Import JavaScriptCore/Assertions.h instead of WebKit/WebAssertions.h (which no longer exists)
1896
1897 2006-06-22  Maciej Stachowiak  <mjs@apple.com>
1898
1899         Reviewed by Adele.
1900         
1901         - start moving loading logic to new WebFrameLoader class; move management of WebLoaders there
1902
1903         * Misc/WebIconLoader.h:
1904         * Misc/WebIconLoader.m:
1905         (-[WebIconLoader didFinishLoading]):
1906         * WebKit.xcodeproj/project.pbxproj:
1907         * WebView/WebDataSource.m:
1908         (-[WebDataSourcePrivate dealloc]):
1909         (-[WebDataSource _updateLoading]):
1910         (-[WebDataSource _loadIcon]):
1911         (-[WebDataSource _setPrimaryLoadComplete:]):
1912         (-[WebDataSource _stopLoading]):
1913         (-[WebDataSource _startLoading]):
1914         (-[WebDataSource _addSubresourceLoader:]):
1915         (-[WebDataSource _removeSubresourceLoader:]):
1916         (-[WebDataSource _addPlugInStreamLoader:]):
1917         (-[WebDataSource _removePlugInStreamLoader:]):
1918         (-[WebDataSource _iconLoaderReceivedPageIcon:]):
1919         (-[WebDataSource _defersCallbacksChanged]):
1920         (-[WebDataSource _stopLoadingWithError:]):
1921         (-[WebDataSource _setupForReplaceByMIMEType:]):
1922         (-[WebDataSource initWithRequest:]):
1923         (-[WebDataSource dealloc]):
1924         (-[WebDataSource finalize]):
1925         (-[WebDataSource data]):
1926         (-[WebDataSource isLoading]):
1927         * WebView/WebFrameLoader.h: Added.
1928         * WebView/WebFrameLoader.m: Added.
1929         (-[WebFrameLoader initWithDataSource:]):
1930         (-[WebFrameLoader dealloc]):
1931         (-[WebFrameLoader hasIconLoader]):
1932         (-[WebFrameLoader loadIconWithRequest:]):
1933         (-[WebFrameLoader stopLoadingIcon]):
1934         (-[WebFrameLoader addPlugInStreamLoader:]):
1935         (-[WebFrameLoader removePlugInStreamLoader:]):
1936         (-[WebFrameLoader setDefersCallbacks:]):
1937         (-[WebFrameLoader stopLoadingPlugIns]):
1938         (-[WebFrameLoader isLoadingMainResource]):
1939         (-[WebFrameLoader isLoadingSubresources]):
1940         (-[WebFrameLoader isLoading]):
1941         (-[WebFrameLoader stopLoadingSubresources]):
1942         (-[WebFrameLoader addSubresourceLoader:]):
1943         (-[WebFrameLoader removeSubresourceLoader:]):
1944         (-[WebFrameLoader mainResourceData]):
1945         (-[WebFrameLoader releaseMainResourceLoader]):
1946         (-[WebFrameLoader cancelMainResourceLoad]):
1947         (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
1948         (-[WebFrameLoader stopLoadingWithError:]):
1949
1950 2006-06-21  Brady Eidson  <beidson@apple.com>
1951
1952         Reviewed by Maciej
1953
1954         The WebCoreIconDatabaseBridge was getting messages sent to it after it had been closed, resulting in a crash
1955         on an ASSERT().  After closing the databaseBridge, we simply set it to nil so this can't happen.
1956         anymore.
1957
1958         * Misc/WebIconDatabase.m:
1959         (-[WebIconDatabase _applicationWillTerminate:]):
1960
1961 2006-06-21  Tim Omernick  <timo@apple.com>
1962
1963         Reviewed by Geoff Garen.
1964
1965         <rdar://problem/4564131> WebPluginDatabase setAdditionalWebPlugInPaths needs to be per WebView
1966
1967         Added some WebView SPI so that individual WebViews may have different plugin search paths.  There are some 
1968         limitations with the approach taken here:
1969
1970         - JavaScript may only access the global plugin DB.
1971         - When this SPI is in use, certain WebView methods may not give accurate results, such as +canShowMIMEType:.
1972         - This only works for plugins referenced using the <object> or <embed> tags; plugins that reside in non-standard
1973         file system locations may not be loaded directly into frames.
1974         
1975         None of these issues are important to the client that needs this SPI.  Rather than re-architect our entire
1976         plugin database, I think it is better to simply accept these limitations for now.
1977
1978         * Plugins/WebPluginDatabase.h:
1979         Added "plugInPaths" ivar, so different plugin databases can have different search paths.
1980         * Plugins/WebPluginDatabase.m:
1981         (+[WebPluginDatabase installedPlugins]):
1982         Give the global plugin database the default plugin search paths.
1983         (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
1984         Removed static global; this method now sets the plugin paths on the global plugin database.
1985         (-[WebPluginDatabase setPlugInPaths:]):
1986         Setter method for plugin paths.
1987         (-[WebPluginDatabase close]):
1988         New method; called when the plugin database is no longer needed (when its WebView is being destroyed).
1989         (-[WebPluginDatabase init]):
1990         Don't refresh in -init, so that callers can set the DB's plugin path array before it refreshes.
1991         (-[WebPluginDatabase dealloc]):
1992         Moved here from near the bottom of the file.  Release new ivar.
1993         (-[WebPluginDatabase refresh]):
1994         Use the plugInPaths ivar instead of calling pluginLocations().
1995         Notify plugin packages when they are added to and removed from a plugin database.  A plugin package will
1996         unload itself when it is removed from all of its plugin databases.
1997         The only really tricky thing here is that the global MIME <-> view class registrations are only modified
1998         by the shared plugin DB.
1999         (+[WebPluginDatabase _defaultPlugInPaths]):
2000         Refactored from the old pluginLocations() function; returns the default set of plugin search paths.
2001
2002         * Plugins/WebBasePluginPackage.h:
2003         * Plugins/WebBasePluginPackage.m:
2004         (-[WebBasePluginPackage dealloc]):
2005         Assert that this package has been removed from all of its containing plugin databases.
2006         (-[WebBasePluginPackage finalize]):
2007         ditto
2008         (-[WebBasePluginPackage wasAddedToPluginDatabase:]):
2009         Add plugin database to set.
2010         (-[WebBasePluginPackage wasRemovedFromPluginDatabase:]):
2011         Remove plugin database from set.  If it was the last DB, then unload the plugin package.
2012
2013         * WebView/WebViewInternal.h:
2014         Added instance methods to find the view class or plugin package, given a MIME type or file extension.
2015         * WebView/WebViewPrivate.h:
2016         Added SPI to set plugin search paths per WebView.
2017         * WebView/WebView.m:
2018         (-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
2019         New method; tries the global MIME <-> view map first; failing that, it checks the WebView's plugin DB.
2020         (-[WebView _close]):
2021         Close the plugin DB.
2022         (-[WebView _setAdditionalWebPlugInPaths:]):
2023         Create the plugin DB if necessary, and set its plugin paths.
2024         (-[WebView _pluginForMIMEType:]):
2025         Checks global plugin DB, falls back on WebView DB.
2026         (-[WebView _pluginForExtension:]):
2027         ditto
2028         (-[WebView _isMIMETypeRegisteredAsPlugin:]):
2029         ditto
2030
2031         * WebCoreSupport/WebFrameBridge.m:
2032         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
2033         Use new WebView instance methods to look for plugins.
2034         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
2035         ditto
2036         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
2037         ditto
2038
2039 2006-06-20  Brady Eidson  <beidson@apple.com>
2040
2041         Reviewed by Maciej
2042
2043         Added calls through to the WebCoreIconDatabaseBridge for all the major WebIconDatabase API.  For now these calls
2044         are wrapped with #ifdef's and are for debugging only.
2045
2046         * Misc/WebIconDatabase.h:
2047         * Misc/WebIconDatabase.m:
2048         (-[NSMutableDictionary _scaleIcon:toSize:]):
2049         (-[NSMutableDictionary init]):
2050         (-[NSMutableDictionary iconForURL:withSize:cache:]):
2051         (-[NSMutableDictionary iconURLForURL:]):
2052         (-[NSMutableDictionary retainIconForURL:]):
2053         (-[NSMutableDictionary releaseIconForURL:]):
2054         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
2055         (-[WebIconDatabase _setIconURL:forURL:]):
2056         (-[WebIconDatabase _hasIconForIconURL:]):
2057         * Misc/WebIconLoader.m:
2058         (-[WebIconLoader didFinishLoading]):
2059
2060         * Misc/WebKitLogging.h:  Added a logging channel for WebIconDatabase debugging
2061         * Misc/WebKitLogging.m:
2062         (WebKitInitializeLoggingChannelsIfNecessary):
2063
2064 2006-06-20  Adele Peterson  <adele@apple.com>
2065
2066         Reviewed by Tim Hatcher.
2067
2068         * WebView/WebMainResourceLoader.m: Added missing header to fix build on Leopard.
2069
2070 2006-06-20  Timothy Hatcher  <timothy@apple.com>
2071
2072         Reviewed by Darin.
2073
2074         Removes the @try/@catch from the callbacks to improve performance,
2075         simply check if the proxy object's connection is still valid first.
2076         Listener objects are now required to be NSDistantObjects.
2077
2078         Adds pause, resume and step support. The debugger process use to handle this,
2079         but it caused problems when there were multiple listeners.
2080
2081         Sends the bundle identifier in the notification userInfo dictionary along with
2082         process name and process ID.
2083
2084         * DefaultDelegates/WebScriptDebugServer.h:
2085         * DefaultDelegates/WebScriptDebugServer.m:
2086         (-[WebScriptDebugServer serverQuery:]):
2087         (-[WebScriptDebugServer addListener:]):
2088         (-[WebScriptDebugServer removeListener:]):
2089         (-[WebScriptDebugServer step]):
2090         (-[WebScriptDebugServer pause]):
2091         (-[WebScriptDebugServer resume]):
2092         (-[WebScriptDebugServer isPaused]):
2093         (-[WebScriptDebugServer suspendProcessIfPaused]):
2094         (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
2095         (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
2096         (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
2097         (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
2098         * DefaultDelegates/WebScriptDebugServerPrivate.h:
2099         * WebKit.exp:
2100
2101 2006-06-19  Alexey Proskuryakov  <ap@nypop.com>
2102
2103         Reviewed by Darin.
2104
2105         - http://bugzilla.opendarwin.org/show_bug.cgi?id=5499
2106         Page reload does not send any cache control headers
2107
2108         * WebView/WebFrame.m:
2109         (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Set a proper Cache-Control header for 
2110         reload requests.
2111         (-[WebFrame loadRequest:]): Reset loadType to WebFrameLoadTypeStandard (after a reload, it stayed at 
2112         WebFrameLoadTypeReload, so _addExtraFieldsToRequest erroneously added a Cache-Control header to them).
2113
2114 2006-06-19  John Sullivan  <sullivan@apple.com>
2115
2116         Reviewed by Darin.
2117         
2118         - added mechanism to notify UIDelegate when part of the webview is redrawn. For now, it only
2119           works for HTML views.
2120
2121         * WebView/WebUIDelegatePrivate.h:
2122         Define a new UIDelegate method -webView:didDrawRect:
2123         * WebView/WebHTMLView.m:
2124         (-[WebView drawSingleRect:]):
2125         Call through to UIDelegate if it implements that method. I tested that this does not impact PLT numbers
2126         in the case where the delegate implements the method but does nothing in it.
2127
2128 2006-06-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2129
2130         Reviewed by Maciej.
2131
2132         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9452
2133           Assertion failure in -[WebFramePrivate setProvisionalDataSource:]
2134
2135         * WebView/WebFrame.m:
2136         (-[WebFrame _checkLoadCompleteForThisFrame]): Avoid re-entering the delegate's
2137         -[webView:didFailProvisionalLoadWithError:forFrame].
2138
2139 2006-06-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2140
2141         Reviewed by xenon.
2142
2143         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9479
2144           Disassociate the inspector from the frame when it detaches from its parent
2145
2146         * WebInspector/WebInspector.m:
2147         (-[NSWindow setWebFrame:]): Added code to (de)register with the WebFrame
2148         the inspector is (no longer) targeting.
2149         (-[WebInspector _webFrameDetached:]): Added. Moved the code that was previously
2150         in -[inspectedWindowWillClose:] here. This is called by the WebFrame when it
2151         is detached from its parent.
2152         * WebInspector/WebInspectorInternal.h:
2153         * WebView/WebFrame.m:
2154         (-[WebFramePrivate dealloc]):
2155         (-[WebFrame _detachFromParent]): Added code to notify all registered inspectors
2156         that the WebFrame is detaching.
2157         (-[WebFrame _addInspector:]): Added.
2158         (-[WebFrame _removeInspector:]): Added.
2159         * WebView/WebFrameInternal.h:
2160
2161 2006-06-18  Anders Carlsson  <acarlsson@apple.com>
2162
2163         Reviewed by Geoff.
2164
2165         * WebCoreSupport/WebFrameBridge.m:
2166         (-[WebFrameBridge shouldInterruptJavaScript]):
2167         Ask the UI delegate if the script should be interrupted.
2168         
2169         * WebView/WebUIDelegatePrivate.h:
2170         Declare webViewShouldInterruptJavaScript: delegate method
2171
2172 2006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2173
2174         Reviewed by Darin.
2175
2176         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9466
2177           Assertion failure when dragging an image from the document into Safari's address bar
2178
2179         * WebView/WebFrameView.m:
2180         (-[WebFrameView _setDocumentView:]): Reset the WebView's initiatedDrag flag
2181         when the document view is changed.
2182         * WebView/WebHTMLView.m:
2183         (-[WebHTMLView draggedImage:endedAt:operation:]): Changed the ASSERT to allow
2184         for drags that end after the view has been removed from the WebView.
2185
2186 2006-06-16  Timothy Hatcher  <timothy@apple.com>
2187
2188         Reviewed by Tim O.
2189
2190         Exposes a distributed objects server for clients to register for script debugger calls.
2191         For preformance concerns this is disabled by default, you will need to enable this per application.
2192         To enable for Safari do this: defaults write com.apple.Safari WebKitScriptDebuggerEnabled -bool true
2193
2194         Clients will need to listen to the following distributed notification to discover servers:
2195         WebScriptDebugServerDidLoadNotification
2196
2197         To discover servers that previously loaded before the client, the client needs to send the following notification:
2198         WebScriptDebugServerQueryNotification
2199
2200         All servers will reply with the WebScriptDebugServerQueryReplyNotification notification that contains the
2201         registered server connection name to use with distributed objects.
2202
2203         * DefaultDelegates/WebScriptDebugServer.h: Added.
2204         * DefaultDelegates/WebScriptDebugServer.m: Added.
2205         (+[WebScriptDebugServer sharedScriptDebugServer]):
2206         (-[WebScriptDebugServer init]):
2207         (-[WebScriptDebugServer dealloc]):
2208         (-[WebScriptDebugServer serverQuery:]):
2209         (-[WebScriptDebugServer listenerConnectionDidDie:]):
2210         (-[WebScriptDebugServer addListener:]):
2211         (-[WebScriptDebugServer removeListener:]):
2212         (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
2213         (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
2214         (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
2215         (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
2216         * DefaultDelegates/WebScriptDebugServerPrivate.h: Added.
2217         * WebCoreSupport/WebFrameBridge.m:
2218         (-[WebFrameBridge windowObjectCleared]):
2219         * WebKit.exp:
2220         * WebKit.xcodeproj/project.pbxproj:
2221         * WebView/WebScriptDebugDelegate.m:
2222         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
2223         (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
2224         (-[WebScriptCallFrame hitStatement:sourceId:line:]):
2225         (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
2226         * WebView/WebView.m:
2227         (+[WebView _developerExtrasEnabled]):
2228         (+[WebView _scriptDebuggerEnabled]):
2229         (-[WebView _menuForElement:defaultItems:]):
2230         (-[WebView _commonInitializationWithFrameName:groupName:]):
2231         * WebView/WebViewPrivate.h:
2232
2233 2006-06-16  Adele Peterson  <adele@apple.com>
2234
2235         Reviewed by Alice.
2236
2237         Added initialization for WKDrawBezeledTextArea.
2238
2239         * WebCoreSupport/WebSystemInterface.m:
2240         (InitWebCoreSystemInterface):
2241
2242 2006-06-15  Timothy Hatcher  <timothy@apple.com>
2243
2244         Reviewed by Geoff and Darin.
2245         
2246         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
2247
2248         * WebKit.xcodeproj/project.pbxproj:
2249
2250 2006-06-15  John Sullivan  <sullivan@apple.com>
2251
2252         Reviewed by Tim O.
2253         
2254         Fixed bug in WebKit support for computing but not highlighting rects for text matches.
2255
2256         * WebView/WebView.m:
2257         (-[WebView rectsForTextMatches]):
2258         leave out empty rects, and convert rects to WebView coordinates. Since this makes a batch
2259         of autoreleased NSValue objects, use a local autorelease pool
2260
2261 2006-02-11  David Kilzer  <ddkilzer@kilzer.net>
2262
2263         Reviewed by John Sullivan.
2264
2265         * Plugins/WebPluginController.m:
2266         (-[WebPluginController _cancelOutstandingChecks]):
2267         add nil check before calling CFSetApplyFunction
2268
2269 2006-06-14  Levi Weintraub  <lweintraub@apple.com>
2270
2271         Reviewed by justin
2272         
2273         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7580>
2274         TinyMCE: Implement execCommand(formatBlock, ...)
2275         
2276         * English.lproj/Localizable.strings:
2277         * WebCoreSupport/WebFrameBridge.m:
2278         (-[WebFrameBridge nameForUndoAction:]):
2279
2280 2006-06-14  Tim Omernick  <timo@apple.com>
2281
2282         Reviewed by John Sullivan.
2283
2284         <rdar://problem/4577988> GC: WebPluginController uses inefficient resurrecting enumeration
2285
2286         * Plugins/WebPluginController.m:
2287         (cancelOutstandingCheck):
2288         (-[WebPluginController _cancelOutstandingChecks]):
2289         Use CFSetApplyFunction() instead of an enumerator to guard against modifications to the set while enumerating.
2290
2291 2006-06-13  John Sullivan  <sullivan@apple.com>
2292
2293         Reviewed by Tim O.
2294         
2295         - fixed <rdar://problem/4498606> REGRESSION (417.8-420+): 3 missing items (but extra separators) in context 
2296         menu in Mail message body
2297
2298         * WebView/WebView.m:
2299         (-[WebView _menuForElement:defaultItems:]):
2300         Add special-case hackery to recover from this SPI -> API mismatch.
2301
2302 2006-06-13  Tim Omernick  <timo@apple.com>
2303
2304         Reviewed by Anders.
2305
2306         Fixed a recently-introduced assertion failure when handling 404 errors.
2307
2308         * WebView/WebDataSource.m:
2309         (-[WebDataSource _handleFallbackContent]):
2310         Use the -[WebFrame _bridge] instead of -[WebDataSource _bridge].  The former is not valid until the data
2311         source has been committed, which is not the case when the resource fails to load.  The latter is safe to call
2312         at any time.  This broke last night with Maciej's change to WebFrameResourceLoader.  The old code used to
2313         call -[WebFrame _bridge].
2314
2315 2006-06-13  Anders Carlsson  <acarlsson@apple.com>
2316
2317         Reviewed by Geoff.
2318
2319         http://bugzilla.opendarwin.org/show_bug.cgi?id=9406
2320         REGRESSION: fix for bug 9390 broke two layout tests
2321
2322         * Plugins/WebPluginDatabase.h:
2323         (-[WebPluginDatabase isMIMETypeRegistered:]):
2324         Add new function isMIMETypeRegistered which returns whether a given MIME type has a 
2325         plugin registered. 
2326
2327         * Plugins/WebPluginDatabase.m:
2328         (-[WebPluginDatabase init]):        
2329         Init set of registered MIME types.
2330         
2331         (-[WebPluginDatabase refresh]):
2332         Add and remove MIME types from the set of registered MIME types when registering and unregistering
2333         plugin MIME types.
2334         
2335         (-[WebPluginDatabase dealloc]):
2336         Release set of registered MIME types.
2337         
2338         * WebCoreSupport/WebFrameBridge.m:
2339         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
2340         Use isMIMETypeRegistered here.
2341
2342 2006-06-12  Maciej Stachowiak  <mjs@apple.com>
2343
2344         - fix for cocoa exception (whoops)
2345
2346         * WebView/WebView.m:
2347         (+[WebView _generatedMIMETypeForURLScheme:]): put this back
2348         * WebView/WebDataSource.m:
2349         (+[WebDataSource _generatedMIMETypeForURLScheme:]): call WebView
2350
2351 2006-06-12  Maciej Stachowiak  <mjs@apple.com>
2352
2353         Reviewed by Darin.
2354         
2355         - remove use of WebView and related from WebMainResourceLoader
2356
2357         * WebKit.xcodeproj/project.pbxproj:
2358         * WebView/WebDataSource.m:
2359         (+[WebDataSource _generatedMIMETypeForURLScheme:]):
2360         (+[WebDataSource _representationExistsForURLScheme:]):
2361         (+[WebDataSource _canShowMIMEType:]):
2362         (-[WebDataSource _handleFallbackContent]):
2363         (-[WebDataSource _decidePolicyForMIMEType:decisionListener:]):
2364         * WebView/WebDataSourceInternal.h:
2365         * WebView/WebFrame.m:
2366         (-[WebFrame _isMainFrame]):
2367         * WebView/WebFrameInternal.h:
2368         * WebView/WebMainResourceLoader.m:
2369         (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
2370         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
2371         (-[WebMainResourceLoader checkContentPolicyForResponse:]):
2372         (-[WebMainResourceLoader loadWithRequestNow:]):
2373         * WebView/WebView.m:
2374
2375 2006-06-12  Tim Omernick  <timo@apple.com>
2376
2377         Reviewed by Maciej.
2378
2379         <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc] running layout tests
2380
2381         * Plugins/WebNetscapePluginPackage.m:
2382         (-[WebNetscapePluginPackage _initWithPath:]):
2383         Renamed from -initWithPath:.  Instead of releasing/deallocating self on error, return NO.
2384         (-[WebNetscapePluginPackage initWithPath:]):
2385         Call the new -_initWithPath:.  If it returns NO, unload the plugin package before deallocating it.
2386
2387 2006-06-11  Darin Adler  <darin@apple.com>
2388
2389         - try to fix Windows build
2390
2391         * COM/WebKitDLL.cpp: (loadResourceIntoArray): Use Vector<char> instead of
2392         DeprecatedByteArray.
2393
2394 2006-06-11  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2395
2396         Reviewed by Tim H.
2397
2398         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8672
2399           Red outline from web inspector reappears after inspector is closed
2400
2401         * WebInspector/WebInspector.m:
2402         (-[NSWindow windowWillClose:]): Added a call to setWebFrame to avoid further
2403         load progress notifications.
2404         (-[NSWindow setWebFrame:]): Changed to resign the WebView's hostWindow rather
2405         than its window for close notifications, to avoid resigning from all windows' close
2406         notifications (including the inspector window's) when the WebView is in a hidden tab.
2407         Also changed to prevent highlighting the initial focused node.
2408
2409 2006-06-11  Anders Carlsson  <acarlsson@apple.com>
2410
2411         Reviewed by Tim.
2412
2413         http://bugzilla.opendarwin.org/show_bug.cgi?id=9390
2414         Move full-frame plugins to WebCore
2415
2416         * Plugins/WebBaseNetscapePluginStream.h:
2417         * Plugins/WebBaseNetscapePluginStream.m:
2418         (-[WebBaseNetscapePluginStream instance]):
2419         Add instance method which returns the plugin instance.
2420         
2421         * Plugins/WebBasePluginPackage.h:
2422         Add WebPluginManualLoader protocol
2423         
2424         * Plugins/WebNetscapePluginDocumentView.h: Removed.
2425         * Plugins/WebNetscapePluginDocumentView.m: Removed.
2426
2427         * Plugins/WebNetscapePluginEmbeddedView.h:
2428         * Plugins/WebNetscapePluginEmbeddedView.m:
2429         (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:]):
2430         (-[WebNetscapePluginEmbeddedView dealloc]):
2431         (-[WebNetscapePluginEmbeddedView didStart]):
2432         (-[WebNetscapePluginEmbeddedView pluginView:receivedResponse:]):
2433         (-[WebNetscapePluginEmbeddedView pluginView:receivedData:]):
2434         (-[WebNetscapePluginEmbeddedView pluginView:receivedError:]):
2435         (-[WebNetscapePluginEmbeddedView pluginViewFinishedLoading:]):
2436         (-[WebNetscapePluginEmbeddedView redeliverStream]):
2437         Make WebNetscapePluginEmbeddedView support the WebPluginManualLoader protocol. It creates a plugin stream and feeds the
2438         data manually. Much of this code has been copied from WebNetscapePluginRepresentation.
2439
2440         * Plugins/WebNetscapePluginRepresentation.h: Removed.
2441         * Plugins/WebNetscapePluginRepresentation.m: Removed.
2442
2443         * Plugins/WebPluginController.h:
2444         * Plugins/WebPluginController.m:
2445         (-[WebPluginController pluginView:receivedResponse:]):
2446         (-[WebPluginController pluginView:receivedData:]):
2447         (-[WebPluginController pluginView:receivedError:]):
2448         (-[WebPluginController pluginViewFinishedLoading:]):
2449         Make WebPluginController support the WebPluginManualLoader protocol so it can feed data manually to WebKit plugins.
2450
2451         * Plugins/WebPluginDatabase.m:        
2452         (-[WebPluginDatabase refresh]):
2453         Use WebHTMLView and WebHTMLRepresentation when registering/unregistering plug-in MIME types.
2454         
2455         * Plugins/WebPluginDocumentView.h: Removed.
2456         * Plugins/WebPluginDocumentView.m: Removed.
2457
2458         * WebCoreSupport/WebFrameBridge.m:
2459         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
2460         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
2461         Add loadManually argument.
2462         
2463         (-[WebFrameBridge redirectDataToPlugin:]):
2464         Call down to the HTML representation.
2465         
2466         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
2467         Pass NO to loadManually.
2468         
2469         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
2470         Explicitly check if the MIME type is supported by a plug-in instead of checking the view class.
2471         
2472         * WebCoreSupport/WebViewFactory.m:
2473         (-[WebViewFactory pluginSupportsMIMEType:]):
2474         New function which returns whether any plugins support a given MIME type.
2475         
2476         * WebKit.xcodeproj/project.pbxproj:
2477         Update for removed files.
2478         
2479         * WebView/WebFrame.m:
2480         (-[WebFrame _reloadForPluginChanges]):
2481         Remove view type checks.
2482         
2483         (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
2484         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
2485         Remove FIXME comments.
2486         
2487         * WebView/WebHTMLRepresentation.m:
2488         (-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]):        
2489         New function which redirects incoming data to a manual loader.
2490         
2491         (-[WebHTMLRepresentation receivedData:withDataSource:]):
2492         (-[WebHTMLRepresentation receivedError:withDataSource:]):
2493         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
2494         Optionally redirect incoming data.
2495         
2496         * WebView/WebHTMLRepresentationPrivate.h:
2497
2498 2006-06-09  John Sullivan  <sullivan@apple.com>
2499
2500         Reviewed by Tim Omernick and Dave Hyatt.
2501
2502         WebKit support for computing but not highlighting rects for text matches.
2503
2504         * WebView/WebHTMLViewPrivate.h:
2505         added markedTextMatchesAreHighlighted/setMarkedTextMatchesAreHighlighted and
2506         rectsForTextMatches, and renamed related methods for clarity/consistency
2507         * WebView/WebHTMLView.m:
2508         (-[WebHTMLView markAllMatchesForText:caseSensitive:]):
2509         renamed, calls similarly-renamed method
2510         (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
2511         new method, calls through to bridge
2512         (-[WebHTMLView markedTextMatchesAreHighlighted]):
2513         ditto
2514         (-[WebHTMLView unmarkAllTextMatches]):
2515         renamed
2516         (-[WebHTMLView rectsForTextMatches]):
2517         new method, calls through to bridge
2518
2519         * WebView/WebViewPrivate.h:
2520         added rectsForTextMatches, renamed other methods (and added highlight: parameter)
2521         * WebView/WebView.m:
2522         (-[WebView markAllMatchesForText:caseSensitive:highlight:]):
2523         renamed for clarity/consistency, and now has highlight: parameter, which is passed down
2524         (-[WebView unmarkAllTextMatches]):
2525         renamed for clarity/consistency, and calls similarly-renamed method lower down. diff got
2526         confused with the end of this and the end of the next method.
2527         (-[WebView rectsForTextMatches]):
2528         new method, calls through to WebHTMLView as related methods currently do
2529
2530 2006-06-10  Graham Dennis  <Graham.Dennis@gmail.com>
2531
2532         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9384>
2533         WebView's initWithCoder: method does not set useBackForwardList
2534         correctly
2535         
2536         Reviewed by John Sullivan.
2537
2538         * WebView/WebView.m:
2539         (-[WebView initWithCoder:]):
2540         Make sure that the function variable useBackForwardList is correctly
2541         set, so that the copy in the _private ivar is set.
2542
2543 2006-06-09  David Hyatt  <hyatt@apple.com>
2544
2545         Rename updateFocusState to updateActiveState.
2546
2547         * WebView/WebHTMLView.m:
2548         (-[WebHTMLView _updateActiveState]):
2549         (-[WebHTMLView viewDidMoveToWindow]):
2550         (-[WebHTMLView windowDidBecomeKey:]):
2551         (-[WebHTMLView windowDidResignKey:]):
2552         (-[WebHTMLView becomeFirstResponder]):
2553         (-[WebHTMLView resignFirstResponder]):
2554         (-[WebHTMLView _formControlIsBecomingFirstResponder:]):
2555         (-[WebHTMLView _formControlIsResigningFirstResponder:]):
2556         * WebView/WebHTMLViewPrivate.h:
2557
2558 2006-06-09  David Hyatt  <hyatt@apple.com>
2559
2560         Rename displaysWithFocusAttributes to isActive.
2561
2562         Reviewed by sfalken
2563
2564         * WebKit.xcodeproj/project.pbxproj:
2565         * WebView/WebHTMLView.m:
2566         (-[WebHTMLView _updateFocusState]):
2567
2568 2006-06-08  Justin Garcia  <justin.garcia@apple.com>
2569
2570         Reviewed by levi
2571         
2572         <http://bugzilla.opendarwin.org/show_bug.cgi?id=4468>
2573         Implement execCommand(Insert{Un}OrderedList)
2574
2575         * WebView/WebFrame.m:
2576         (-[WebFrame _findFrameWithSelection]): Removed an assertion
2577         that we only have one frame with a selection.  
2578         * WebView/WebView.m:
2579         (-[WebView selectedFrame]): Ditto.
2580
2581 2006-06-08  Timothy Hatcher  <timothy@apple.com>
2582
2583         Reviewed by Darin and John.
2584
2585         <rdar://problem/3600734> API: please add a way to turn vertical scrollbar
2586         always on (for Mail, to avoid reflow when typing)
2587
2588         Adds new methods to lock the scrolling mode on WebDynamicScrollBarsView.
2589         Locking the scroll mode prevents WebCore from changing it as needed.
2590         Also adds an SPI on WebView that will lock the "always on" mode
2591         for each scroller.
2592
2593         * WebKit.xcodeproj/project.pbxproj:
2594         * WebView/WebDynamicScrollBarsView.h:
2595         * WebView/WebDynamicScrollBarsView.m:
2596         (-[WebDynamicScrollBarsView setAllowsScrolling:]):
2597         (-[WebDynamicScrollBarsView allowsScrolling]):
2598         (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
2599         (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]):
2600         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
2601         (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
2602         (-[WebDynamicScrollBarsView setScrollingMode:]):
2603         (-[WebDynamicScrollBarsView setHorizontalScrollingModeLocked:]):
2604         (-[WebDynamicScrollBarsView setVerticalScrollingModeLocked:]):
2605         (-[WebDynamicScrollBarsView setScrollingModesLocked:]):
2606         (-[WebDynamicScrollBarsView horizontalScrollingModeLocked]):
2607         (-[WebDynamicScrollBarsView verticalScrollingModeLocked]):
2608         * WebView/WebView.m:
2609         (-[WebView setAlwaysShowVerticalScroller:]):
2610         (-[WebView alwaysShowVerticalScroller]):
2611         (-[WebView setAlwaysShowHorizontalScroller:]):
2612         (-[WebView alwaysShowHorizontalScroller]):
2613         * WebView/WebViewPrivate.h:
2614
2615 2006-06-08  Darin Adler  <darin@apple.com>
2616
2617         Reviewed by Justin.
2618
2619         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8616
2620           REGRESSION: TinyMCE: Crash on Undo
2621
2622         * WebView/WebHTMLView.m:
2623         (-[WebHTMLView _topHTMLView]): Added.
2624         (-[WebHTMLView _isTopHTMLView]): Added.
2625         (-[WebHTMLView _insideAnotherHTMLView]): Changed to use _topHTMLView.
2626         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2627         Forward to the top HTML view, so that only the top view ever starts a dragging operation.
2628         Change dragging code to not assume that the dragged node is in the current view's document.
2629         Added checks that the node is an element in a couple places and coordinate conversions.
2630         (-[WebHTMLView _mayStartDragAtEventLocation:]): Forward to the top HTML view.
2631         (-[WebHTMLView addMouseMovedObserver]): Change to do nothing when the dataSource field is 0,
2632         since we now use the dataSource field to get to the WebView.
2633         (-[WebHTMLView removeMouseMovedObserver]): Added a comment.
2634         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
2635         Forward to the top HTML view.
2636         (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Assert that it's the top HTML view.
2637         (-[WebHTMLView draggedImage:movedTo:]): Ditto.
2638         (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
2639         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
2640         (-[WebHTMLView _canProcessDragWithDraggingInfo:]): Ditto.
2641         (-[WebHTMLView _isMoveDrag]): Ditto.
2642         (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Ditto.
2643         (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
2644         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Ditto. Also added code to work
2645         with the appropriate bridge when receiving a drag. This fixes the problem where the
2646         top level frame got a selection intended for the inner frame; the source of the bug.
2647         (-[WebHTMLView elementAtPoint:allowShadowContent:]): Added code to convert the coordinates
2648         so this works properly when returning an element from an inner frame.
2649         (-[WebHTMLView setDataSource:]): Added a call to addMouseMovedObserver, needed now that
2650         addMouseMovedObserver won't do anything if called when dataSource is nil.
2651         (-[WebHTMLView _delegateDragSourceActionMask]): Forward to the top HTML view.
2652
2653         * WebView/WebView.m:
2654         (-[WebViewPrivate dealloc]): Removed code to release dragCaretBridge since that field
2655         is now gone.
2656         (-[WebView moveDragCaretToPoint:]): Always call the main frame's bridge, since the
2657         drag caret is now a page-level item. Later we'll move it to the page bridge.
2658         (-[WebView removeDragCaret]): Ditto.
2659
2660 2006-06-07  David Hyatt  <hyatt@apple.com>
2661
2662         Add support for custom highlighting to WebKit.
2663
2664         Reviewed by justin
2665
2666         * WebCoreSupport/WebFrameBridge.m:
2667         (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:]):
2668         * WebView/WebHTMLView.m:
2669         (-[WebHTMLView _highlighterForType:]):
2670         * WebView/WebHTMLViewInternal.h:
2671         * WebView/WebHTMLViewPrivate.h:
2672
2673 2006-06-07  Adele Peterson  <adele@apple.com>
2674
2675         Reviewed by Hyatt. 
2676
2677         Added resources for missingImage and textAreaResizeCorner.
2678
2679         * COM/WebKitDLL.cpp:
2680         (loadResourceIntoArray): Added. Returns a DeprecatedByteArray with the resource's data.
2681         * WebKit.vcproj/WebKit.rc: Added missing image and resize pngs as resources. 
2682         * WebKit.vcproj/WebKit.vcproj: Added pngs.
2683         * WebKit.vcproj/missingImage.png: Added.
2684         * WebKit.vcproj/resource.h: Added entries for pngs.
2685         * WebKit.vcproj/textAreaResizeCorner.png: Added.
2686
2687 2006-06-07  David Hyatt  <hyatt@apple.com>
2688
2689         Add SPI for setting and removing custom highlighters.
2690
2691         Reviewed by Tim H
2692
2693         * WebView/WebHTMLView.m:
2694         (-[WebTextCompleteController dealloc]):
2695         (-[WebHTMLView _setHighlighter:ofType:]):
2696         (-[WebHTMLView _removeHighlighterOfType:]):
2697         * WebView/WebHTMLViewInternal.h:
2698         * WebView/WebHTMLViewPrivate.h:
2699
2700 2006-06-06  Adele Peterson  <adele@apple.com>
2701
2702         Reviewed by Justin. 
2703
2704         * COM/WebView.cpp:
2705         (WebView::keyPress): Added case for VK_RETURN. 
2706
2707 2006-06-06  Anders Carlsson  <acarlsson@apple.com>
2708
2709         Reviewed by John.
2710
2711         * WebView/WebFrame.m:
2712         (-[WebFrame _reloadForPluginChanges]):
2713         Don't traverse the view hierarchy looking for plugin views. Instead, just
2714         ask the frame whether it contains any plugins.
2715
2716 2006-06-03  Steve Falkenburg  <sfalken@apple.com>
2717
2718         Reviewed by hyatt.
2719         
2720         Add implementation of loadHTMLString for Spinneret
2721
2722         * COM/WebFrame.cpp:
2723         (WebFrame::loadHTMLString):
2724
2725 2006-06-02  Steve Falkenburg  <sfalken@apple.com>
2726
2727         Reviewed by darin.
2728
2729         New hosting for Spinneret to avoid static linking
2730
2731         * COM: Added.
2732         * COM/Interfaces: Added.
2733         * COM/Interfaces/DOMCSS.idl: Added.
2734         * COM/Interfaces/DOMCore.idl: Added.
2735         * COM/Interfaces/DOMHTML.idl: Added.
2736         * COM/Interfaces/DOMRange.idl: Added.
2737         * COM/Interfaces/IWebArchive.idl: Added.
2738         * COM/Interfaces/IWebAttributedString.idl: Added.
2739         * COM/Interfaces/IWebBackForwardList.idl: Added.
2740         * COM/Interfaces/IWebDataSource.idl: Added.
2741         * COM/Interfaces/IWebDocument.idl: Added.
2742         * COM/Interfaces/IWebDownload.idl: Added.
2743         * COM/Interfaces/IWebEditingDelegate.idl: Added.
2744         * COM/Interfaces/IWebError.idl: Added.
2745         * COM/Interfaces/IWebFrame.idl: Added.
2746         * COM/Interfaces/IWebFrameLoadDelegate.idl: Added.
2747         * COM/Interfaces/IWebFrameView.idl: Added.
2748         * COM/Interfaces/IWebHistoryItem.idl: Added.
2749         * COM/Interfaces/IWebIconDatabase.idl: Added.
2750         * COM/Interfaces/IWebImage.idl: Added.
2751         * COM/Interfaces/IWebMutableURLRequest.idl: Added.
2752         * COM/Interfaces/IWebNotification.idl: Added.
2753         * COM/Interfaces/IWebPolicyDelegate.idl: Added.
2754         * COM/Interfaces/IWebPreferences.idl: Added.
2755         * COM/Interfaces/IWebResource.idl: Added.
2756         * COM/Interfaces/IWebResourceLoadDelegate.idl: Added.
2757         * COM/Interfaces/IWebScriptObject.idl: Added.
2758         * COM/Interfaces/IWebUIDelegate.idl: Added.
2759         * COM/Interfaces/IWebURLAuthenticationChallenge.idl: Added.
2760         * COM/Interfaces/IWebURLRequest.idl: Added.
2761         * COM/Interfaces/IWebURLResponse.idl: Added.
2762         * COM/Interfaces/IWebUndoManager.idl: Added.
2763         * COM/Interfaces/IWebView.idl: Added.
2764         * COM/Interfaces/WebKit.idl: Added.
2765         * COM/WebBackForwardList.cpp: Added.
2766         (WebBackForwardList::WebBackForwardList):
2767         (WebBackForwardList::~WebBackForwardList):
2768         (WebBackForwardList::createInstance):
2769         (WebBackForwardList::QueryInterface):
2770         (WebBackForwardList::AddRef):
2771         (WebBackForwardList::Release):
2772         (WebBackForwardList::addItem):
2773         (WebBackForwardList::goBack):
2774         (WebBackForwardList::goForward):
2775         (WebBackForwardList::goToItem):
2776         (WebBackForwardList::backItem):
2777         (WebBackForwardList::currentItem):
2778         (WebBackForwardList::forwardItem):
2779         (WebBackForwardList::backListWithLimit):
2780         (WebBackForwardList::forwardListWithLimit):
2781         (WebBackForwardList::capacity):
2782         (WebBackForwardList::setCapacity):
2783         (WebBackForwardList::backListCount):
2784         (WebBackForwardList::forwardListCount):
2785         (WebBackForwardList::containsItem):
2786         (WebBackForwardList::itemAtIndex):
2787         (WebBackForwardList::setPageCacheSize):
2788         (WebBackForwardList::pageCacheSize):
2789         * COM/WebBackForwardList.h: Added.
2790         * COM/WebDataSource.cpp: Added.
2791         (WebDataSource::WebDataSource):
2792         (WebDataSource::~WebDataSource):
2793         (WebDataSource::createInstance):
2794         (WebDataSource::QueryInterface):
2795         (WebDataSource::AddRef):
2796         (WebDataSource::Release):
2797         (WebDataSource::initWithRequest):
2798         (WebDataSource::data):
2799         (WebDataSource::representation):
2800         (WebDataSource::webFrame):
2801         (WebDataSource::initialRequest):
2802         (WebDataSource::request):
2803         (WebDataSource::response):
2804         (WebDataSource::textEncodingName):
2805         (WebDataSource::isLoading):
2806         (WebDataSource::pageTitle):
2807         (WebDataSource::unreachableURL):
2808         (WebDataSource::webArchive):
2809         (WebDataSource::mainResource):
2810         (WebDataSource::subresources):
2811         (WebDataSource::subresourceForURL):
2812         (WebDataSource::addSubresource):
2813         * COM/WebDataSource.h: Added.
2814         * COM/WebFrame.cpp: Added.
2815         (WebFrame::WebFramePrivate::WebFramePrivate):
2816         (WebFrame::WebFramePrivate::~WebFramePrivate):
2817         (WebFrame::WebFrame):
2818         (WebFrame::~WebFrame):
2819         (WebFrame::createInstance):
2820         (WebFrame::QueryInterface):
2821         (WebFrame::AddRef):
2822         (WebFrame::Release):
2823         (WebFrame::initWithName):
2824         (WebFrame::name):
2825         (WebFrame::webView):
2826         (WebFrame::frameView):
2827         (WebFrame::DOMDocument):
2828         (WebFrame::frameElement):
2829         (WebFrame::loadRequest):
2830         (WebFrame::loadData):
2831         (WebFrame::loadHTMLString):
2832         (WebFrame::loadAlternateHTMLString):
2833         (WebFrame::loadArchive):
2834         (WebFrame::dataSource):
2835         (WebFrame::provisionalDataSource):
2836         (WebFrame::stopLoading):
2837         (WebFrame::reload):
2838         (WebFrame::findFrameNamed):
2839         (WebFrame::parentFrame):
2840         (WebFrame::childFrames):
2841         (WebFrame::paint):
2842         (WebFrame::impl):
2843         (WebFrame::loadDataSource):
2844         (WebFrame::loading):
2845         (WebFrame::goToItem):
2846         (WebFrame::loadItem):
2847         (WebSystemMainMemory):
2848         (WebFrame::getObjectCacheSize):
2849         (WebFrame::receivedRedirect):
2850         (WebFrame::receivedResponse):
2851         (WebFrame::receivedData):
2852         (WebFrame::receivedAllData):
2853         (WebFrame::openURL):
2854         (WebFrame::submitForm):
2855         (WebFrame::setTitle):
2856         (WebFrame::setStatusText):
2857         * COM/WebFrame.h: Added.
2858         * COM/WebHistoryItem.cpp: Added.
2859         (WebHistoryItem::WebHistoryItem):
2860         (WebHistoryItem::~WebHistoryItem):
2861         (WebHistoryItem::createInstance):
2862         (WebHistoryItem::QueryInterface):
2863         (WebHistoryItem::AddRef):
2864         (WebHistoryItem::Release):
2865         (WebHistoryItem::initWithURLString):
2866         (WebHistoryItem::originalURLString):
2867         (WebHistoryItem::URLString):
2868         (WebHistoryItem::title):
2869         (WebHistoryItem::lastVisitedTimeInterval):
2870         (WebHistoryItem::setAlternateTitle):
2871         (WebHistoryItem::alternateTitle):
2872         (WebHistoryItem::icon):
2873         * COM/WebHistoryItem.h: Added.
2874         * COM/WebIconDatabase.cpp: Added.
2875         (WebIconDatabase::WebIconDatabase):
2876         (WebIconDatabase::~WebIconDatabase):
2877         (WebIconDatabase::createInstance):
2878         (WebIconDatabase::QueryInterface):
2879         (WebIconDatabase::AddRef):
2880         (WebIconDatabase::Release):
2881         (WebIconDatabase::sharedIconDatabase):
2882         (WebIconDatabase::iconForURL):
2883         (WebIconDatabase::defaultIconWithSize):
2884         (WebIconDatabase::retainIconForURL):
2885         (WebIconDatabase::releaseIconForURL):
2886         (WebIconDatabase::delayDatabaseCleanup):
2887         (WebIconDatabase::allowDatabaseCleanup):
2888         * COM/WebIconDatabase.h: Added.
2889         * COM/WebKitClassFactory.cpp: Added.
2890         (WebKitClassFactory::WebKitClassFactory):
2891         (WebKitClassFactory::~WebKitClassFactory):
2892         (WebKitClassFactory::QueryInterface):
2893         (WebKitClassFactory::AddRef):
2894         (WebKitClassFactory::Release):
2895         (WebKitClassFactory::CreateInstance):
2896         (WebKitClassFactory::LockServer):
2897         * COM/WebKitClassFactory.h: Added.
2898         * COM/WebKitDLL.cpp: Added.
2899         (DllMain):
2900         (DllGetClassObject):
2901         (DllCanUnloadNow):
2902         (DllUnregisterServer):
2903         (DllRegisterServer):
2904         * COM/WebKitDLL.h: Added.
2905         * COM/WebMutableURLRequest.cpp: Added.
2906         (WebMutableURLRequest::WebMutableURLRequest):
2907         (WebMutableURLRequest::~WebMutableURLRequest):
2908         (WebMutableURLRequest::createInstance):
2909         (WebMutableURLRequest::QueryInterface):
2910         (WebMutableURLRequest::AddRef):
2911         (WebMutableURLRequest::Release):
2912         (WebMutableURLRequest::requestWithURL):
2913         (WebMutableURLRequest::allHTTPHeaderFields):
2914         (WebMutableURLRequest::cachePolicy):
2915         (WebMutableURLRequest::HTTPBody):
2916         (WebMutableURLRequest::HTTPBodyStream):
2917         (WebMutableURLRequest::HTTPMethod):
2918         (WebMutableURLRequest::HTTPShouldHandleCookies):
2919         (WebMutableURLRequest::initWithURL):
2920         (WebMutableURLRequest::mainDocumentURL):
2921         (WebMutableURLRequest::timeoutInterval):
2922         (WebMutableURLRequest::URL):
2923         (WebMutableURLRequest::valueForHTTPHeaderField):
2924         (WebMutableURLRequest::addValue):
2925         (WebMutableURLRequest::setAllHTTPHeaderFields):
2926         (WebMutableURLRequest::setCachePolicy):
2927         (WebMutableURLRequest::setHTTPBody):
2928         (WebMutableURLRequest::setHTTPBodyStream):
2929         (WebMutableURLRequest::setHTTPMethod):
2930         (WebMutableURLRequest::setHTTPShouldHandleCookies):
2931         (WebMutableURLRequest::setMainDocumentURL):
2932         (WebMutableURLRequest::setTimeoutInterval):
2933         (WebMutableURLRequest::setURL):
2934         (WebMutableURLRequest::setValue):
2935         (WebMutableURLRequest::setFormData):
2936         (WebMutableURLRequest::formData):
2937         * COM/WebMutableURLRequest.h: Added.
2938         * COM/WebView.cpp: Added.
2939         (WebView::WebView):
2940         (WebView::~WebView):
2941         (WebView::createInstance):
2942         (WebView::mouseMoved):
2943         (WebView::mouseDown):
2944         (WebView::mouseUp):
2945         (WebView::mouseDoubleClick):
2946         (WebView::keyPress):
2947         (registerWebView):
2948         (WebViewWndProc):
2949         (calculateScrollDelta):
2950         (scrollMessageForKey):
2951         (WebView::goToItem):
2952         (WebView::QueryInterface):
2953         (WebView::AddRef):
2954         (WebView::Release):
2955         (WebView::canShowMIMEType):
2956         (WebView::canShowMIMETypeAsHTML):
2957         (WebView::MIMETypesShownAsHTML):
2958         (WebView::setMIMETypesShownAsHTML):
2959         (WebView::URLFromPasteboard):
2960         (WebView::URLTitleFromPasteboard):
2961         (WebView::initWithFrame):
2962         (WebView::setUIDelegate):
2963         (WebView::uiDelegate):
2964         (WebView::setResourceLoadDelegate):
2965         (WebView::resourceLoadDelegate):
2966         (WebView::setDownloadDelegate):
2967         (WebView::downloadDelegate):
2968         (WebView::setFrameLoadDelegate):
2969         (WebView::frameLoadDelegate):
2970         (WebView::setPolicyDelegate):
2971         (WebView::policyDelegate):
2972         (WebView::mainFrame):
2973         (WebView::backForwardList):
2974         (WebView::setMaintainsBackForwardList):
2975         (WebView::goBack):
2976         (WebView::goForward):
2977         (WebView::goToBackForwardItem):
2978         (WebView::setTextSizeMultiplier):
2979         (WebView::textSizeMultiplier):
2980         (WebView::setApplicationNameForUserAgent):
2981         (WebView::applicationNameForUserAgent):
2982         (WebView::setCustomUserAgent):
2983         (WebView::customUserAgent):
2984         (WebView::userAgentForURL):
2985         (WebView::supportsTextEncoding):
2986         (WebView::setCustomTextEncodingName):
2987         (WebView::customTextEncodingName):
2988         (WebView::setMediaStyle):
2989         (WebView::mediaStyle):
2990         (WebView::stringByEvaluatingJavaScriptFromString):
2991         (WebView::windowScriptObject):
2992         (WebView::setPreferences):
2993         (WebView::preferences):
2994         (WebView::setPreferencesIdentifier):
2995         (WebView::preferencesIdentifier):
2996         (WebView::setHostWindow):
2997         (WebView::hostWindow):
2998         (WebView::searchFor):
2999         (WebView::registerViewClass):
3000         (WebView::takeStringURLFrom):
3001         (WebView::stopLoading):
3002         (WebView::reload):
3003         (WebView::canGoBack):
3004         (WebView::canGoForward):
3005         (WebView::canMakeTextLarger):
3006         (WebView::makeTextLarger):
3007         (WebView::canMakeTextSmaller):
3008         (WebView::makeTextSmaller):
3009         (WebView::computedStyleForElement):
3010         (WebView::editableDOMRangeForPoint):
3011         (WebView::setSelectedDOMRange):
3012         (WebView::selectedDOMRange):
3013         (WebView::selectionAffinity):
3014         (WebView::setEditable):
3015         (WebView::isEditable):
3016         (WebView::setTypingStyle):
3017         (WebView::typingStyle):
3018         (WebView::setSmartInsertDeleteEnabled):
3019         (WebView::smartInsertDeleteEnabled):
3020         (WebView::setContinuousSpellCheckingEnabled):
3021         (WebView::isContinuousSpellCheckingEnabled):
3022         (WebView::spellCheckerDocumentTag):
3023         (WebView::undoManager):
3024         (WebView::setEditingDelegate):
3025         (WebView::editingDelegate):
3026         (WebView::styleDeclarationWithText):
3027         (WebView::replaceSelectionWithNode):
3028         (WebView::replaceSelectionWithText):
3029         (WebView::replaceSelectionWithMarkupString):
3030         (WebView::replaceSelectionWithArchive):
3031         (WebView::deleteSelection):
3032         (WebView::applyStyle):
3033         (WebView::copy):
3034         (WebView::cut):
3035         (WebView::paste):
3036         (WebView::copyFont):
3037         (WebView::pasteFont):
3038         (WebView::delete_):
3039         (WebView::pasteAsPlainText):
3040         (WebView::pasteAsRichText):
3041         (WebView::changeFont):
3042         (WebView::changeAttributes):
3043         (WebView::changeDocumentBackgroundColor):
3044         (WebView::changeColor):
3045         (WebView::alignCenter):
3046         (WebView::alignJustified):
3047         (WebView::alignLeft):
3048         (WebView::alignRight):
3049         (WebView::checkSpelling):
3050         (WebView::showGuessPanel):
3051         (WebView::performFindPanelAction):
3052         (WebView::startSpeaking):
3053         (WebView::stopSpeaking):
3054         (WebView::viewWindow):
3055         * COM/WebView.h: Added.
3056         * WebKit.vcproj: Added.
3057         * WebKit.vcproj/Interfaces.vcproj: Added.
3058         * WebKit.vcproj/WebKit.def: Added.
3059         * WebKit.vcproj/WebKit.rc: Added.
3060         * WebKit.vcproj/WebKit.sln: Added.
3061         * WebKit.vcproj/WebKit.vcproj: Added.
3062         * WebKit.vcproj/WebKitGUID.vcproj: Added.
3063         * WebKit.vcproj/autoversion.h: Added.
3064         * WebKit.vcproj/resource.h: Added.
3065
3066 2006-06-02  Darin Adler  <darin@apple.com>
3067
3068         * WebCoreSupport/WebImageRendererFactory.m: Fix crash on Safari startup
3069         by include NSObject as a superclass (oops!).
3070
3071 2006-06-01  Darin Adler  <darin@apple.com>
3072
3073         Reviewed by Maciej.
3074
3075         - WebCore doesn't need to load WebKit images any more; removed code for that
3076
3077         * Resources/missing_image.tiff: Removed.
3078         * WebCoreSupport/WebImageRendererFactory.h: Removed.
3079
3080         * WebCoreSupport/WebImageRendererFactory.m: Moved @interface in here.
3081         Removed all but the "threaded decoding" calls that older Safari calls.
3082         This file can go altogether when compatibility with that older Safari
3083         is no longer needed.
3084
3085         * WebKit.xcodeproj/project.pbxproj: Removed WebImageRendererFactory.h
3086         and missing_image.tiff.
3087
3088         * WebView/WebFrameView.m: (-[WebFrameView initWithFrame:]): Removed call
3089         to [WebImageRendererFactory createSharedFactory].
3090
3091 2006-06-01  Brady Eidson  <beidson@apple.com>
3092
3093         Reviewed by Maciej.
3094
3095         Simple changes to hook up the new WebCore based Icon Database
3096         for testing.
3097
3098         * ChangeLog:
3099         * Misc/WebIconDatabase.m:
3100         (-[WebIconDatabase _applicationWillTerminate:]):
3101         * Misc/WebIconDatabasePrivate.h:
3102         * WebKit.xcodeproj/project.pbxproj:
3103
3104 2006-06-01  Anders Carlsson  <acarlsson@apple.com>
3105
3106         Reviewed by Darin.
3107
3108         http://bugzilla.opendarwin.org/show_bug.cgi?id=6309
3109         multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working
3110
3111         * Misc/WebNSURLExtras.m:
3112         (-[NSString _webkit_URLFragment]):
3113         Don't include the "#" character in the fragment.
3114         
3115         * WebCoreSupport/WebFrameBridge.m:
3116         (-[WebFrameBridge historyURL:]):
3117         New function, returns the history URL for a given position in the back/forward list
3118         
3119         * WebView/WebFrame.m:
3120         (-[WebFrame _loadItem:withLoadType:]):
3121         Always call scrollToAnchorWithURL, even if there is no fragment. This way we keep the WebCore frame's
3122         URL up-to-date.
3123
3124 2006-06-01  Maciej Stachowiak  <mjs@apple.com>
3125
3126         Reviewed by Anders.
3127         
3128         - fixed "REGRESSION: Can't order from Pizza Hut (ToT, 05/24/06)"
3129         http://bugzilla.opendarwin.org/show_bug.cgi?id=9103
3130
3131         * WebView/WebDataSource.m:
3132         (-[WebDataSource _willSendRequest:forResource:redirectResponse:]): Set up the
3133         User-Agent header.
3134         * WebView/WebDataSourceInternal.h:
3135         * WebView/WebLoader.m:
3136         (-[NSURLProtocol willSendRequest:redirectResponse:]): Pass a mutable URL request
3137         so the above can work.
3138
3139 2006-06-01  Anders Carlsson  <acarlsson@apple.com>
3140
3141         Reviewed by Darin.
3142
3143         * WebView/WebFrameView.m:
3144         (+[WebFrameView _canShowMIMETypeAsHTML:]):
3145         Use _webkit_objectForMIMEType here so we'll get an object back for "text/".
3146
3147 2006-05-31  David Hyatt  <hyatt@apple.com>
3148
3149         Make programmatic focus/blur actually work on sub-frames.  Make the
3150         top-level UI delegate get called for deactivation of windows.
3151
3152         Reviewed by darin
3153
3154         * WebCoreSupport/WebFrameBridge.m:
3155         (-[WebFrameBridge activateWindow]):
3156         (-[WebFrameBridge deactivateWindow]):
3157         (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
3158         (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
3159         * WebKit.xcodeproj/project.pbxproj:
3160
3161 === WebKit-521.12 ===
3162
3163 2006-05-26  David Harrison  <harrison@apple.com>
3164
3165         Reviewed by John Sullivan.
3166
3167         <rdar://problem/4514529> Add a list type parameter and a return value to _increaseSelectionListLevel
3168
3169         * WebView/WebHTMLView.m:
3170         (-[WebHTMLView _increaseSelectionListLevel]):
3171         - Now returns DOMNode*
3172
3173         (-[WebHTMLView _increaseSelectionListLevelOrdered]):
3174         (-[WebHTMLView _increaseSelectionListLevelUnordered]):
3175         - Added.  These also return DOMNode*
3176
3177         * WebView/WebHTMLViewPrivate.h:
3178         - Updated as above
3179
3180 2006-05-25  Tim Omernick  <timo@apple.com>
3181
3182         Reviewed by Anders.
3183
3184         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8347>
3185         REGRESSION: Flash movie audible but not visible until window is resized
3186
3187         * Plugins/WebNetscapePluginDocumentView.m:
3188         (-[WebNetscapePluginDocumentView dataSourceUpdated:]):
3189         Layout if needed here.  Maciej recently removed the "LayoutAcceptable" frame state, which used to
3190         cause plugin document views to lay out immediately upon receiving data.  This call to -layout has
3191         the same effect.
3192
3193 === WebKit-521.11.1 ===
3194
3195 2006-05-25  Timothy Hatcher  <timothy@apple.com>
3196
3197         Reviewed by Tim O.
3198
3199         <rdar://problem/4559808> WebKit fails to compile for ppc64
3200         <rdar://problem/4522085> 64-bit: WebKit uses FSSpec which is not available in 64-bit
3201         Gets WebKit building under 64-bit. Rename WebNSInt and WebNSUInt to WebNSInteger and WebNSUInteger.
3202         Start using WebNSInteger where we need to match AppKit API usage of NSInteger.
3203
3204         HIWebView and a couple of helper functions are disabled until they can be moved off of QuickDraw.
3205         <rdar://problem/4561772> HIWebView needs to be reworked to not use QuickDraw, needed for 64-bit
3206
3207         * Carbon/CarbonUtils.m: disabled this file in 64-bit <rdar://problem/4561772>
3208         * Carbon/CarbonWindowAdapter.m:
3209         (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
3210         * Carbon/CarbonWindowFrame.m:
3211         (+[CarbonWindowFrame frameRectForContentRect:styleMask:]):
3212         (+[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
3213         (+[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
3214         (-[CarbonWindowFrame frameRectForContentRect:styleMask:]):
3215         (-[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
3216         (-[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
3217         * Carbon/HIViewAdapter.m: disabled this file in 64-bit <rdar://problem/4561772>
3218         * Carbon/HIWebView.m: disabled this file in 64-bit <rdar://problem/4561772>
3219         (HIWebViewEventHandler):
3220         * DefaultDelegates/WebDefaultResourceLoadDelegate.m:
3221         (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]):
3222         * History/WebBackForwardList.m:
3223         (-[WebBackForwardList removeItem:]):
3224         (-[WebBackForwardList goToItem:]):
3225         * Misc/WebDownload.m:
3226         (-[WebDownloadInternal download:didReceiveDataOfLength:]):
3227         * Misc/WebFileDatabase.m:
3228         (UniqueFilePathForKey):
3229         * Misc/WebIconDatabase.m:
3230         (-[NSMutableDictionary retainIconForURL:]):
3231         (-[NSMutableDictionary releaseIconForURL:]):
3232         (-[WebIconDatabase _totalRetainCountForIconURLString:]):
3233         (-[WebIconDatabase _retainIconForIconURLString:]):
3234         (-[WebIconDatabase _releaseIconForIconURLString:]):
3235         * Misc/WebSearchableTextView.m:
3236         (-[NSString selectionRect]):
3237         * Misc/WebTypesInternal.h: Added.
3238         * Plugins/WebBaseNetscapePluginStream.m:
3239         (-[WebBaseNetscapePluginStream _destroyStream]):
3240         (CarbonPathFromPOSIXPath):
3241         * Plugins/WebBaseNetscapePluginView.m:
3242         (-[WebBaseNetscapePluginView sendActivateEvent:]):
3243         (-[WebBaseNetscapePluginView sendUpdateEvent]):
3244         (TSMEventHandler):
3245         (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):
3246         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
3247         (-[NSData _web_locationAfterFirstBlankLine]):
3248         * Plugins/WebBasePluginPackage.m:
3249         (-[WebBasePluginPackage hash]):
3250         * Plugins/WebNetscapePluginPackage.m:
3251         (-[WebNetscapePluginPackage load]):
3252         (functionPointerForTVector):
3253         * WebInspector/WebInspector.m:
3254         (-[WebInspector _updateSystemColors]):
3255         * WebKit.xcodeproj/project.pbxproj:
3256         * WebView/WebDataSource.m:
3257         (-[WebDataSource _didReceiveData:contentLength:forResource:]):
3258         * WebView/WebFrame.m:
3259         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
3260         * WebView/WebHTMLView.m:
3261         (-[WebHTMLView drawRect:]):
3262         (-[WebHTMLView characterIndexForPoint:]):
3263         (-[WebHTMLView conversationIdentifier]):
3264         * WebView/WebResourceLoadDelegate.h:
3265         * WebView/WebUIDelegate.h:
3266         * WebView/WebView.h:
3267         * WebView/WebView.m:
3268         (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
3269         (-[WebView spellCheckerDocumentTag]):
3270         * WebView/WebViewInternal.h:
3271         * WebView/WebViewPrivate.h:
3272
3273 === WebKit-521.11 ===
3274
3275 2006-05-23  Maciej Stachowiak  <mjs@apple.com>
3276
3277         Reviewed by Tim.
3278         
3279         - more loader refactoring to simplify things and remove knowledge of WebView from WebSubresourceLoader
3280
3281         * WebCoreSupport/WebSubresourceLoader.m:
3282         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
3283         (-[WebSubresourceLoader didReceiveResponse:]):
3284         * WebView/WebDataSource.m:
3285         (-[WebDataSource _loadIcon]):
3286         (-[WebDataSource _startLoading]):
3287         * WebView/WebFrame.m:
3288         (-[WebFrame _loadRequest:archive:]):
3289         (-[WebFrame _loadItem:withLoadType:]):
3290         (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
3291         (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
3292         (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
3293         * WebView/WebFrameInternal.h:
3294         * WebView/WebFramePrivate.h:
3295         * WebView/WebLoader.h:
3296         * WebView/WebLoader.m:
3297         * WebView/WebMainResourceLoader.m:
3298         (-[WebMainResourceLoader initWithDataSource:]):
3299         (-[WebMainResourceLoader didReceiveResponse:]):
3300
3301 2006-05-23  Tim Omernick  <timo@apple.com>
3302
3303         Reviewed by John Sullivan.
3304
3305         <rdar://problem/4558301> REGRESSION (420+): After clearing history and closing bookmark view window,
3306         attempting to select Safari's menu bar results in a crash
3307
3308         * Misc/WebNSWindowExtras.m:
3309         (replacementPostWindowNeedsDisplay):
3310         My fix yesterday for 4557117 was not quite good enough.  Now that we cancel the display timer for a
3311         window *before* it deallocates, we need to make sure that while a window deallocates, no new display
3312         timers are scheduled for that window.  This is actually possible, as 4558301 demonstrates.
3313         Luckily, NSWindow sets a handy "windowDying" flag when it deallocates, so we can just check that flag
3314         and bail out of the throttle hack if it is set.  This should fix the last of the crashes involving
3315         display timers scheduled for deallocated or deallocating windows.
3316
3317 2006-05-23  Maciej Stachowiak  <mjs@apple.com>
3318
3319         Reviewed by Eric.
3320         
3321         - remove knowledge of WebView from WebLoader in preparation for moving the code down
3322
3323         * WebView/WebDataSource.m:
3324         (-[WebDataSource _defersCallbacks]):
3325         (-[WebDataSource _identifierForInitialRequest:]):
3326         (-[WebDataSource _willSendRequest:forResource:redirectResponse:]):
3327         (-[WebDataSource _didReceiveAuthenticationChallenge:forResource:]):
3328         (-[WebDataSource _didCancelAuthenticationChallenge:forResource:]):
3329         (-[WebDataSource _didReceiveResponse:forResource:]):
3330         (-[WebDataSource _didReceiveData:contentLength:forResource:]):
3331         (-[WebDataSource _didFinishLoadingForResource:]):
3332         (-[WebDataSource _didFailLoadingWithError:forResource:]):
3333         (-[WebDataSource _downloadWithLoadingConnection:request:response:proxy:]):
3334         (-[WebDataSource _privateBrowsingEnabled]):
3335         * WebView/WebDataSourceInternal.h:
3336         * WebView/WebLoader.h:
3337         * WebView/WebLoader.m:
3338         (-[WebLoader releaseResources]):
3339         (-[WebLoader setDataSource:]):
3340         (-[WebLoader willSendRequest:redirectResponse:]):
3341         (-[WebLoader didReceiveAuthenticationChallenge:]):
3342         (-[WebLoader didCancelAuthenticationChallenge:]):
3343         (-[WebLoader didReceiveResponse:]):
3344         (-[WebLoader didReceiveData:lengthReceived:]):
3345         (-[WebLoader signalFinish]):
3346         (-[WebLoader didFinishLoading]):
3347         (-[WebLoader didFailWithError:]):
3348         (-[WebLoader willCacheResponse:]):
3349         (-[WebLoader cancelWithError:]):
3350         * WebView/WebMainResourceLoader.m:
3351         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
3352         * WebView/WebView.m:
3353         (-[WebView _incrementProgressForIdentifier:response:]):
3354         (-[WebView _incrementProgressForIdentifier:data:]):
3355         (-[WebView _completeProgressForIdentifier:]):
3356         * WebView/WebViewInternal.h:
3357
3358 === WebKit-521.10 ===
3359
3360 2006-05-22  Tim Omernick  <timo@apple.com>
3361
3362         Reviewed by Geoff.
3363
3364         <rdar://problem/4557117> TOT REGRESSION: Repro crash in cancelPendingWindowDisplay --> _timerRelease when
3365         opening file from file open dialog
3366
3367         Note that I could not reproduce this situation at all on any of my machines; I had to debug this on Geoff's
3368         machine.
3369
3370         * Misc/WebNSWindowExtras.m:
3371         (replacementDealloc):
3372         Cancel display timer before dealloc, not after.  Cancelling the timer can cause a message to be sent to the
3373         window; best to do that before the window deallocates.
3374         (replacementFinalize):
3375         ditto
3376
3377 2006-05-20  Maciej Stachowiak  <mjs@apple.com>
3378
3379         Reviewed by Beth.
3380         
3381         - fix assertion failure on layout tests
3382
3383         * WebView/WebDataSource.m:
3384         (-[WebDataSource _mainReceivedError:complete:]): Don't do anything
3385         if this data source is no longer connected to a frame. Used to be
3386         this couldn't happen because the WebView would have been nil, but
3387         we no longer go through the WebView.
3388
3389 2006-05-20  Timothy Hatcher  <timothy@apple.com>
3390
3391         Reviewed by Anders.
3392
3393         Bug 9018: REGRESSION: resizing the top area of the inspector does not grow as expected
3394         http://bugzilla.opendarwin.org/show_bug.cgi?id=9018
3395         
3396         Use clientHeight now that offsetHeight includes the border and padding.
3397         clientHeight should have been used initially.
3398
3399         * WebInspector/WebInspector.m:
3400         (-[WebInspector resizeTopArea]):
3401
3402 2006-05-18  Maciej Stachowiak  <mjs@apple.com>
3403
3404         Reviewed by Eric.
3405         
3406         - remove loading-related code from WebView
3407         http://bugzilla.opendarwin.org/show_bug.cgi?id=8981
3408
3409         * Plugins/WebNetscapePluginStream.m:
3410         (-[WebNetscapePlugInStreamLoader didFinishLoading]):
3411         (-[WebNetscapePlugInStreamLoader didFailWithError:]):
3412         * WebCoreSupport/WebSubresourceLoader.m:
3413         (-[WebSubresourceLoader receivedError:]):
3414         (-[WebSubresourceLoader signalFinish]):
3415         * WebView/WebDataSource.m:
3416         (-[WebDataSource _stopLoading]):
3417         (-[WebDataSource _receivedMainResourceError:complete:]):
3418         (-[WebDataSource _finishedLoadingResource]):
3419         (-[WebDataSource _mainReceivedBytesSoFar:complete:]):
3420         (-[WebDataSource _receivedError:]):
3421         (-[WebDataSource _mainReceivedError:complete:]):
3422         * WebView/WebDataSourceInternal.h:
3423         * WebView/WebFrame.m:
3424         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
3425         * WebView/WebMainResourceLoader.m:
3426         (-[WebMainResourceLoader didReceiveData:lengthReceived:]):
3427         (-[WebMainResourceLoader didFinishLoading]):
3428         * WebView/WebView.m:
3429         * WebView/WebViewInternal.h:
3430
3431 2006-05-18  Tim Omernick  <timo@apple.com>
3432
3433         Reviewed by John Sullivan.
3434
3435         <rdar://problem/4551938> More options needed for window display throttle
3436
3437         We decided to play it safe and leave our window flushing behavior unchanged from the previous
3438         public release.  By default, CoreGraphics deferred updates are once again OFF, and the window
3439         display throttle is OFF.
3440
3441         Individual applications should set the WebKitThrottleWindowDisplayPreferenceKey and 
3442         WebKitEnableDeferredUpdatesPreferenceKey defaults to suit their needs.
3443
3444         Old behavior (like 10.4.6): WebKitThrottleWindowDisplayPreferenceKey=0 (or unset), 
3445         WebKitEnableDeferredUpdatesPreferenceKey (or unset).
3446
3447         Tear-free scrolling/animations: WebKitThrottleWindowDisplayPreferenceKey=0 (or unset),
3448         WebKitEnableDeferredUpdatesPreferenceKey=1.  While this configuration fixes the tearing issues
3449         caused by over-flushing, some applications will experience performance problems as over-flushing
3450         with CG deferred updates enabled will cause the app to block.
3451
3452         Tear-free scrolling/animations, high performance: WebKitThrottleWindowDisplayPreferenceKey=1, 
3453         WebKitEnableDeferredUpdatesPreferenceKey=1.  This is the riskiest configuration in that it
3454         enables the window display throttle "feature", potentially breaking applications' assumptions
3455         about when displays occur.  However, it provides the "best of both worlds", in that updates
3456         are tear-free, and performance impact should me minimal.
3457
3458         * WebView/WebPreferenceKeysPrivate.h:
3459         Declared WebKitThrottleWindowDisplayPreferenceKey and WebKitEnableDeferredUpdatesPreferenceKey.
3460
3461         * WebView/WebFrameView.m:
3462         (-[WebFrameView initWithFrame:]):
3463         Turn off CG deferred updates if WebKitEnableDeferredUpdatesPreferenceKey is NO or has no value.
3464         Added some comments.
3465
3466 2006-05-18  John Sullivan  <sullivan@apple.com>
3467
3468         Reviewed by Darin Adler.
3469         
3470         - fixed <rdar://problem/4552713> REGRESSION: WebFrameView no longer responds to responder methods sent by Safari code
3471
3472         * WebView/WebView.m:
3473         (-[WebView _responderForResponderOperations]):
3474         Treat sibling views of the main frameView the same as views outside of the webview for the purposes of this mechanism.
3475
3476 2006-05-18  Tim Omernick  <timo@apple.com>
3477
3478         Reviewed by John Sullivan.
3479
3480         <rdar://problem/4553450> Make disabling window throttle safer
3481
3482         * Misc/WebNSWindowExtras.m:
3483         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
3484         Don't assume that +_webkit_disableWindowDisplayThrottle restored the NSWindow method implementations; 
3485         now we'll only swizzle them once, and our replacement IMPs will call the old IMPs when the window
3486         throttle is disabled.  This is a safer approach when other components/"haxies" override the same methods
3487         that we are overriding, as it allows the overrides to "chain" properly.
3488         Moved the dictionary initialization code down a bit.  The order doesn't matter here.
3489         (disableWindowDisplayThrottleApplierFunction):
3490         Noticed that this could have been written safer with respect to the timer having the last reference to
3491         the window.  I never experienced a crash here, but this code is definitely safer.
3492         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
3493         Don't restore NSWindow method implementations; just clear the flag, flush pending displays, and destroy
3494         the dictionary.
3495         (replacementPostWindowNeedsDisplay):
3496         If throttling is disabled, just call the original IMP.
3497         (clearWindowDisplayInfo):
3498         Added an assert.
3499         (replacementDealloc):
3500         Don't call clearWindowDisplayInfo() when throttling is disabled.
3501         (replacementFinalize):
3502         ditto
3503         (cancelPendingWindowDisplay):
3504         Removed an unnecessary assertion.
3505
3506 2006-05-17  Tim Omernick  <timo@apple.com>
3507
3508         Reviewed by Kevin Decker and John Sullivan.
3509
3510         <rdar://problem/4550801> REGRESSION: Window throttle code can sometimes leak NSWindows
3511
3512         The window display throttle depended on windows being closed before they were deallocated; this is
3513         not guaranteed by AppKit.  Windows that were being released without being closed were getting stuck
3514         in our NSWindow -> WindowDisplayInfo dictionary.
3515         
3516         * Misc/WebNSWindowExtras.m:
3517         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
3518         Don't retain the NSWindow keys in the window display info dictionary.
3519         Instead of overriding -close, override -dealloc and -finalize so that we can remove the NSWindow ->
3520         WindowDisplayInfo mapping when a window deallocates.
3521         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
3522         Restore -dealloc and -finalize.