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