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