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