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