WebCore:
[WebKit-https.git] / WebKit / ChangeLog
1 2006-04-24  Maciej Stachowiak  <mjs@apple.com>
2
3         Reviewed by Darin.
4
5         - move more code from WebFrameBridge to WebCoreFrameBridge
6
7         * WebCoreSupport/WebFrameBridge.h:
8         * WebCoreSupport/WebFrameBridge.m:
9         (-[WebFrameBridge fini]):
10         (-[WebFrameBridge expiresTimeForResponse:]):
11         (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
12         (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
13         (-[WebFrameBridge valueForKey:keys:values:]):
14         (-[WebFrameBridge _preferences]):
15
16 2006-04-24  Maciej Stachowiak  <mjs@apple.com>
17
18         Reviewed by Anders.
19         
20         - Remove use of _webSuperviewOfClass: and related
21         http://bugzilla.opendarwin.org/show_bug.cgi?id=8562
22         
23         I removed all use of these, now objects get at each other via
24         actual pointers, not using the view hierarchy. However, I left two
25         of the calls in because other clients rely on them as SPI (ugh).
26
27         * History/WebHistoryItem.m:
28         * Misc/WebNSViewExtras.h:
29         * Misc/WebNSViewExtras.m:
30         (-[NSView _web_superviewOfClass:]):
31         (-[NSView _web_parentWebFrameView]):
32         * Plugins/WebNetscapePluginDocumentView.m:
33         (-[WebNetscapePluginDocumentView layout]):
34         * Plugins/WebNetscapePluginEmbeddedView.h:
35         * Plugins/WebNetscapePluginEmbeddedView.m:
36         (-[WebNetscapePluginEmbeddedView setWebFrame:]):
37         (-[WebNetscapePluginEmbeddedView dataSource]):
38         * Plugins/WebNullPluginView.h:
39         * Plugins/WebNullPluginView.m:
40         (-[WebNullPluginView setWebFrame:]):
41         (-[WebNullPluginView viewDidMoveToWindow]):
42         * Plugins/WebPluginController.h:
43         * Plugins/WebPluginController.m:
44         (-[WebPluginController setDataSource:]):
45         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
46         (-[WebPluginController webPlugInContainerShowStatus:]):
47         (-[WebPluginController webPlugInContainerSelectionColor]):
48         (-[WebPluginController webFrame]):
49         * Plugins/WebPluginDocumentView.h:
50         * Plugins/WebPluginDocumentView.m:
51         (-[WebPluginDocumentView setDataSource:]):
52         (-[WebPluginDocumentView layout]):
53         (-[WebPluginDocumentView currentWindow]):
54         (-[WebPluginDocumentView viewWillMoveToWindow:]):
55         * WebCoreSupport/WebFrameBridge.m:
56         (-[WebFrameBridge formControlIsBecomingFirstResponder:]):
57         (-[WebFrameBridge formControlIsResigningFirstResponder:]):
58         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
59         * WebCoreSupport/WebViewFactory.m:
60         (-[WebViewFactory bridgeForView:]):
61         * WebView/WebClipView.m:
62         (-[NSView initWithFrame:]):
63         * WebView/WebFrameView.m:
64         (-[WebFrameView _shouldDrawBorder]):
65         (-[WebFrameView webCoreBridge]):
66         * WebView/WebHTMLView.m:
67         (-[WebTextCompleteController dealloc]):
68         (-[WebHTMLView _dataSource]):
69         (-[WebHTMLView _bridge]):
70         (-[WebHTMLView _webView]):
71         (-[WebHTMLView _frameView]):
72         (-[WebHTMLView _web_firstResponderCausesFocusDisplay]):
73         (-[NSArray becomeFirstResponder]):
74         (-[NSArray setDataSource:]):
75         (-[NSArray pageUp:]):
76         (-[NSArray pageDown:]):
77         (-[NSArray pageUpAndModifySelection:]):
78         (-[NSArray pageDownAndModifySelection:]):
79         (-[WebHTMLView _frame]):
80         * WebView/WebHTMLViewInternal.h:
81         * WebView/WebImageView.h:
82         * WebView/WebImageView.m:
83         (-[WebImageView drawRect:]):
84         (-[WebImageView adjustFrameSize]):
85         (-[WebImageView setDataSource:]):
86         (-[WebImageView webView]):
87         (-[WebImageView writeImageToPasteboard:types:]):
88         (-[WebImageView copy:]):
89         (-[WebImageView elementAtPoint:]):
90         (-[WebImageView mouseDragged:]):
91         * WebView/WebPDFView.h:
92         * WebView/WebPDFView.m:
93         (-[WebPDFView _applyPDFDefaults]):
94         (-[WebPDFView _trackFirstResponder]):
95         (-[PDFPrefUpdatingProxy forwardInvocation:]):
96         * WebView/WebRenderNode.m:
97         (-[WebRenderNode initWithWebFrameView:]):
98         * WebView/WebTextView.h:
99         * WebView/WebTextView.m:
100         (-[WebTextView _textSizeMultiplierFromWebView]):
101         (-[WebTextView _preferences]):
102         (-[WebTextView setDataSource:]):
103         (-[WebTextView _webFrame]):
104         (-[WebTextView dragSelectionWithEvent:offset:slideBack:]):
105         (-[WebTextView menuForEvent:]):
106         (-[WebTextView resignFirstResponder]):
107         (-[WebTextView drawPageBorderWithSize:]):
108         (-[WebTextView knowsPageRange:]):
109         * WebView/WebView.m:
110         (-[WebView searchFor:direction:caseSensitive:wrap:]):
111         (containingFrameView):
112         (-[WebView _focusedFrame]):
113         (-[WebView _frameViewAtWindowPoint:]):
114
115 2006-04-23  Maciej Stachowiak  <mjs@apple.com>
116
117         Reviewed by Darin.
118         
119         - push WebFileButton and WebStringTruncator code down to WebCore
120         http://bugzilla.opendarwin.org/show_bug.cgi?id=8552
121
122         * Misc/WebStringTruncator.m:
123         (+[WebStringTruncator centerTruncateString:toWidth:]):
124         (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
125         (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
126         (+[WebStringTruncator widthOfString:font:]):
127         * WebCoreSupport/WebFileButton.h: Removed.
128         * WebCoreSupport/WebFileButton.m: Removed.
129         * WebCoreSupport/WebFrameBridge.h:
130         * WebCoreSupport/WebFrameBridge.m:
131         (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
132         * WebCoreSupport/WebViewFactory.m:
133         (-[WebViewFactory fileButtonChooseFileLabel]):
134         (-[WebViewFactory fileButtonNoFileSelectedLabel]):
135         * WebKit.xcodeproj/project.pbxproj:
136
137 2006-04-23  Maciej Stachowiak  <mjs@apple.com>
138
139         Reviewed by Eric.
140         
141         - remove WebCookieAdapter, WebCore can just use Foundation directly.
142
143         * WebCoreSupport/WebCookieAdapter.h: Removed.
144         * WebCoreSupport/WebCookieAdapter.m: Removed.
145         * WebKit.xcodeproj/project.pbxproj:
146         * WebView/WebFrameView.m:
147         (-[WebFrameView initWithFrame:]):
148
149 2006-04-23  Maciej Stachowiak  <mjs@apple.com>
150
151         Reviewed by Adele.
152         
153         - prune WebView SPI of unused calls
154         
155         Specifically I moved methods that have no callers outside WebKit
156         to WebViewInternal.h or removed them entirely.
157
158         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
159         * Plugins/WebBaseNetscapePluginView.m:
160         * Plugins/WebNetscapePluginDocumentView.m:
161         * Plugins/WebNetscapePluginStream.m:
162         * Plugins/WebNullPluginView.m:
163         * Plugins/WebPluginContainerCheck.m:
164         * Plugins/WebPluginController.m:
165         * WebCoreSupport/WebFrameBridge.m:
166         * WebCoreSupport/WebPageBridge.m:
167         * WebCoreSupport/WebSubresourceLoader.m:
168         * WebView/WebDataSource.m:
169         * WebView/WebHTMLView.m:
170         * WebView/WebImageView.m:
171         * WebView/WebLoader.m:
172         * WebView/WebMainResourceLoader.m:
173         * WebView/WebPDFView.m:
174         * WebView/WebScriptDebugDelegate.m:
175         * WebView/WebView.m:
176         (-[WebView _downloadURL:]):
177         * WebView/WebViewInternal.h:
178         * WebView/WebViewPrivate.h:
179
180 2006-04-22  Maciej Stachowiak  <mjs@apple.com>
181
182         Reviewed by Eric.
183
184         - remove WebKit copy of assertions code, use the assertions
185         stuff from JavaScriptCore instead.
186
187         * Carbon/HIViewAdapter.m:
188         * DOM/WebDOMOperations.m:
189         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
190         * DefaultDelegates/WebDefaultPolicyDelegate.m:
191         (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]):
192         * History/WebBackForwardList.m:
193         * History/WebHistory.m:
194         (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
195         (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
196         * History/WebHistoryItem.m:
197         * Misc/WebAssertions.h: Removed.
198         * Misc/WebAssertions.m: Removed.
199         * Misc/WebDatabase.m:
200         * Misc/WebDownload.m:
201         * Misc/WebFileDatabase.m:
202         (SetThreadPriority):
203         * Misc/WebIconDatabase.m:
204         (-[NSMutableDictionary iconForURL:withSize:cache:]):
205         (-[NSMutableDictionary releaseIconForURL:]):
206         (-[NSMutableDictionary delayDatabaseCleanup]):
207         (-[NSMutableDictionary allowDatabaseCleanup]):
208         (-[WebIconDatabase _loadIconDictionaries]):
209         (-[WebIconDatabase _updateFileDatabase]):
210         (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
211         * Misc/WebIconLoader.m:
212         * Misc/WebKitLogging.h:
213         * Misc/WebKitLogging.m:
214         * Misc/WebKitSystemBits.m:
215         (initCapabilities):
216         * Misc/WebLRUFileList.m:
217         (WebLRUFileListRemoveOldestFileFromList):
218         (WebLRUFileListGetFileSize):
219         * Misc/WebLocalizableStrings.m:
220         * Misc/WebNSCalendarDateExtras.m:
221         * Misc/WebNSDataExtras.m:
222         * Misc/WebNSDictionaryExtras.m:
223         * Misc/WebNSFileManagerExtras.m:
224         * Misc/WebNSPasteboardExtras.m:
225         * Misc/WebNSURLExtras.m:
226         (hexDigit):
227         (hexDigitValue):
228         (allCharactersInIDNScriptWhiteList):
229         * Misc/WebNSURLRequestExtras.m:
230         * Misc/WebNSUserDefaultsExtras.m:
231         * Misc/WebStringTruncator.m:
232         * Panels/WebAuthenticationPanel.m:
233         (-[WebAuthenticationPanel loadNib]):
234         * Panels/WebPanelAuthenticationHandler.m:
235         * Plugins/WebBaseNetscapePluginStream.m:
236         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
237         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
238         * Plugins/WebBaseNetscapePluginView.m:
239         (TSMEventHandler):
240         (-[WebBaseNetscapePluginView start]):
241         (-[WebBaseNetscapePluginView status:]):
242         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
243         * Plugins/WebBasePluginPackage.m:
244         * Plugins/WebNetscapePluginDocumentView.m:
245         * Plugins/WebNetscapePluginPackage.m:
246         (-[WebNetscapePluginPackage load]):
247         * Plugins/WebNetscapePluginRepresentation.m:
248         * Plugins/WebPluginContainerCheck.m:
249         * Plugins/WebPluginController.m:
250         (-[WebPluginController addPlugin:]):
251         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
252         (-[WebPluginController webPlugInContainerShowStatus:]):
253         * Plugins/WebPluginDatabase.m:
254         * Plugins/WebPluginDocumentView.m:
255         * WebCoreSupport/WebCookieAdapter.m:
256         * WebCoreSupport/WebFileButton.m:
257         * WebCoreSupport/WebFrameBridge.m:
258         (-[WebFrameBridge runModal]):
259         * WebCoreSupport/WebImageData.m:
260         (-[WebImageData _checkSolidColor:]):
261         (-[WebImageData tileInRect:fromPoint:context:]):
262         (-[WebImageData scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
263         * WebCoreSupport/WebImageDecoder.m:
264         * WebCoreSupport/WebImageRenderer.m:
265         (-[WebImageRenderer TIFFRepresentation]):
266         * WebCoreSupport/WebImageRendererFactory.m:
267         * WebCoreSupport/WebJavaScriptTextInputPanel.m:
268         * WebCoreSupport/WebKeyGenerator.m:
269         * WebCoreSupport/WebPageBridge.m:
270         * WebCoreSupport/WebSubresourceLoader.m:
271         * WebCoreSupport/WebTextRenderer.m:
272         (widthForGlyph):
273         (-[WebTextRenderer initWithFont:]):
274         (drawGlyphs):
275         (initializeATSUStyle):
276         (createATSULayoutParameters):
277         (getTextBounds):
278         (ATSU_draw):
279         * WebCoreSupport/WebTextRendererFactory.m:
280         * WebCoreSupport/WebViewFactory.m:
281         * WebKit.exp:
282         * WebKit.xcodeproj/project.pbxproj:
283         * WebKitPrefix.h:
284         * WebView/WebArchiver.m:
285         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
286         * WebView/WebClipView.m:
287         * WebView/WebDataProtocol.m:
288         * WebView/WebDataSource.m:
289         (-[WebDataSource _startLoading]):
290         * WebView/WebFormDataStream.m:
291         (formEventCallback):
292         (webSetHTTPBody):
293         * WebView/WebFrame.m:
294         (-[WebFrame _transitionToCommitted:]):
295         * WebView/WebFrameView.m:
296         * WebView/WebHTMLRepresentation.m:
297         * WebView/WebHTMLView.m:
298         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
299         (-[NSArray drawSingleRect:]):
300         (-[NSArray namesOfPromisedFilesDroppedAtDestination:]):
301         (-[NSArray _scaleFactorForPrintOperation:]):
302         (-[NSArray deleteBackwardByDecomposingPreviousCharacter:]):
303         (-[NSArray checkSpelling:]):
304         (-[NSArray showGuessPanel:]):
305         (-[NSArray _changeSpellingToWord:]):
306         (-[NSArray ignoreSpelling:]):
307         (-[NSArray performFindPanelAction:]):
308         (-[WebTextCompleteController doCompletion]):
309         * WebView/WebImageView.m:
310         * WebView/WebLoader.m:
311         (-[NSURLProtocol connection:willCacheResponse:]):
312         * WebView/WebPDFRepresentation.m:
313         (+[WebPDFRepresentation PDFDocumentClass]):
314         * WebView/WebPDFView.m:
315         (+[WebPDFView PDFKitBundle]):
316         (+[WebPDFView PDFViewClass]):
317         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
318         * WebView/WebTextRepresentation.m:
319         * WebView/WebTextView.m:
320         * WebView/WebUnarchivingState.m:
321         * WebView/WebView.m:
322
323 2006-04-22  Timothy Hatcher  <timothy@apple.com>
324
325         Reviewed by Eric.
326
327         http://bugzilla.opendarwin.org/show_bug.cgi?id=8514
328         Bug 8514: Web Inspector hides when the app is in the background
329
330         Makes the inspector not hide in the background. Since the inspector is a floating panel
331         we need to call setFloatingPanel:NO when the app is switching into the background. Then
332         call setFloatingPanel:YES when the app is activated again. Without this the inspector
333         would float above all applications.
334
335         * WebInspector/WebInspector.m:
336         (-[NSWindow window]): setHidesOnDeactivate:NO
337         (-[NSWindow windowWillClose:]): de-regiser appliction active notifications
338         (-[NSWindow showWindow:]): register for appliction active notifications
339         (-[WebInspector _applicationWillResignActive]): setFloatingPanel:NO
340         (-[WebInspector _applicationDidBecomeActive]): setFloatingPanel:YES
341
342 2006-04-21  Adele Peterson  <adele@apple.com>
343
344         Reviewed by Darin.
345
346         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8181
347         REGRESSION: After tabbing in page's field, attempting to tab from Google toolbar search to page fails on first try
348
349         Test: manual-tests/tabbing-input-google.html
350
351         * WebView/WebHTMLView.m: (-[NSArray resignFirstResponder]):
352         When resigning first responder, reset willBecomeFirstResponderForNodeFocus, so when the WebHTMLView gets focus again
353         it knows it can start moving through the tab cycle.
354
355 2006-04-20  Tim Omernick  <timo@apple.com>
356
357         Reviewed by John Sullivan.
358
359         <rdar://problem/4476875> Support printing for embedded Netscape plugins
360
361         NOTE: This only works with the Flash plugin right now.  It appears that the other
362         major plugins either have awful printing support, or no printing support.  If someone
363         can find an example of any other embedded Netscape plugin printing in any browser on
364         the Mac, I will be happy to eat my own words!
365
366         * Plugins/WebBaseNetscapePluginView.m:
367         (-[WebBaseNetscapePluginView drawRect:]):
368         When printing, get the printed bitmap via -_printedPluginBitmap, and draw it into the
369         plugin view.
370         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
371         Call NPP_Print on the plugin to render it into a GWorld.  This GWorld has the same
372         underlying buffer as an NSBitmapImageRep, which is returned to the caller.
373
374 2006-04-20 Mitz Pettel  <opendarwin.org@mitzpettel.com>
375
376         Reviewed by Darin.
377
378         WebKit part of:
379         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8276
380           REGRESSION (NativeTextField): Pasting a Finder item into a text field results in
381             a file: URL being pasted instead of just the file name
382         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8283
383           REGRESSION: File's path doesn't appear after dragging file into input field
384
385         * WebView/WebHTMLView.m:
386         (-[WebHTMLView _plainTextFromPasteboard:]): Added method that tries to copy AppKit
387         text fields' logic for extracting plain text from the pasteboard.
388         (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Added helper method.
389         (-[WebHTMLView _shouldInsertText:replacingDOMRange:givenAction:]):
390         (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]):
391         (-[WebHTMLView readSelectionFromPasteboard:]): Paste as plain text if
392         rich text is not allowed.
393         (-[WebHTMLView validateUserInterfaceItem:]): Changed to not allow pasteAsRichText:
394         if the paste is not going to be handled by the DOM and the selection
395         does not allow pasting rich text.
396         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Paste as plain text if
397         rich text is not allowed.
398         (-[WebHTMLView paste:]): Ditto.
399         (-[WebHTMLView pasteAsPlainText:]):
400
401 2006-04-20  Darin Adler  <darin@apple.com>
402
403         Reviewed by Adele.
404
405         - WebKit part of http://bugzilla.opendarwin.org/show_bug.cgi?id=8505
406           eliminate WebCoreGraphics bridge, demonstrate new SystemInterface technique
407
408         * WebCoreSupport/WebGraphicsBridge.h: Removed.
409         * WebCoreSupport/WebGraphicsBridge.m: Removed.
410         * WebCoreSupport/WebSystemInterface.h: Added.
411         * WebCoreSupport/WebSystemInterface.m: Added.
412
413         * WebKit.xcodeproj/project.pbxproj: Updated for removed and added files.
414
415         * WebCoreSupport/WebImageData.m: Removed unneeded include of WebGraphicsBridge.h.
416         * WebCoreSupport/WebImageRenderer.m: Ditto.
417         * WebCoreSupport/WebTextRenderer.m: Ditto.
418
419         * WebView/WebFrameView.m: (-[WebFrameView initWithFrame:]): Guarded all the one-time
420         initialization inside a boolean, just in case some things take a little time. Added
421         a call to InitWebCoreSystemInterface to the one-time initialization here. Later, we
422         will need to add it in some other places if we call code that requires the use of
423         WebCoreSystemInterface functions from anywhere that can be invoked before creations
424         of the first WebFrameView, but for now there is no need.
425
426 2006-04-19  James G. Speth  <speth@end.com>
427
428         Reviewed by Timothy.
429
430         http://bugzilla.opendarwin.org/show_bug.cgi?id=8442
431         Bug 8442: improvements to Cocoa bindings support in WebView - code simplification
432
433         Removes the WebController class added earlier; changes NSTreeController and 
434         WebView to together without it. Now you can just bind the contentObject binding
435         of the tree controller directly to the mainFrameDocument key of the WebView.
436
437         * WebCoreSupport/WebFrameBridge.m:
438         (-[WebFrameBridge windowObjectCleared]):
439         * WebView/WebDataSource.m:
440         (-[WebDataSource _setTitle:]):
441         * WebView/WebFrame.m:
442         (-[WebFrame _closeOldDataSources]):
443         * WebView/WebView.m:
444         (-[WebView _progressStarted:]):
445         (-[WebView _finalProgressComplete]):
446         (-[WebView _commonInitializationWithFrameName:groupName:]):
447         (-[WebView setMainFrameDocumentReady:]):
448         (-[WebView mainFrameDocument]):
449         * WebView/WebViewPrivate.h:
450
451 2006-04-19  James G. Speth  <speth@end.com>
452
453         Reviewed by Timothy.
454
455         http://bugzilla.opendarwin.org/show_bug.cgi?id=6635
456         Bug 6635: Crash selecting inspector nodes for tabs that aren't foremost
457
458         Stop observing window will close notifications before we tell the highlight window to close,
459         this prevents the crash. Also prevent drawing highlights for hidden tabs.
460
461         * WebInspector/WebInspector.m:
462         (-[WebInspector _highlightNode:]):
463         * WebInspector/WebNodeHighlight.m:
464         (-[WebNodeHighlight expire]):
465
466 2006-04-19  James G. Speth  <speth@end.com>
467
468         Reviewed by Timothy.
469
470         http://bugzilla.opendarwin.org/show_bug.cgi?id=6637
471         Bug 6637: selecting node in Inspector after closing window crashes Safari
472
473         When the window the Web Inspector was inspecting is closed, the inspector goes into its
474         no-selection state. Choosing to inspect another element activates it again. The inspector
475         will also follow the WebView if the URL changes and select the root element on the new page.
476
477         * WebInspector/WebInspector.m:
478         (-[NSWindow setWebFrame:]):
479         (-[NSWindow setRootDOMNode:]):
480         (-[WebInspector _revealAndSelectNodeInTree:]):
481         (-[WebInspector _update]):
482         (-[WebInspector _updateRoot]):
483         (-[WebInspector inspectedWebViewProgressFinished:]):
484         (-[WebInspector inspectedWindowWillClose:]):
485         (-[WebInspector webView:didFinishLoadForFrame:]):
486         * WebInspector/WebInspectorPanel.m:
487         (-[WebInspectorPanel canBecomeMainWindow]):
488
489 2006-04-18  Darin Adler  <darin@apple.com>
490
491         Reviewed by Beth.
492
493         * WebInspector/webInspector/inspector.css: Add "-webkit-" prefixes to the border
494         radius properties to make the corners rounded again.
495
496 2006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
497
498         Reviewed by Darin.
499
500         - WebKit part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8324
501           REGRESSION: textarea :focus not applied immediately
502
503         * WebCoreSupport/WebFrameBridge.m:
504         (-[WebFrameBridge formControlIsBecomingFirstResponder:]): Added. Calls the ancestor
505         WebHTMLView's _formControlIsBecomingFirstResponder:
506         * WebView/WebHTMLView.m:
507         (-[WebHTMLView _updateFocusState:]): If a descendant is becoming first responder,
508         enable focused appearance.
509         (-[WebHTMLView _formControlIsBecomingFirstResponder:]): Added. Calls _updateFocusState,
510         causing the frame to display with focus attributes.
511         * WebView/WebHTMLViewInternal.h:
512
513 2006-04-14  James G. Speth  <speth@end.com>
514
515         Reviewed by Timothy.
516
517         Bug 8389: support for Cocoa bindings - binding an NSTreeController to the WebView's DOM
518         http://bugzilla.opendarwin.org/show_bug.cgi?id=8389
519
520         Added a controller class, WebController, that is a subclass of
521         NSTreeController that has a new outlet/binding for the WebView.
522
523         * WebCoreSupport/WebFrameBridge.m:
524         (-[WebFrameBridge windowObjectCleared]): notify bindings about the document change
525         * WebView/WebView.m:
526         (-[WebView _progressStarted:]): notify bindings about the document change
527         (-[WebView _finalProgressComplete]): notify bindings about the document change
528         (-[WebView _declaredKeys]): added a key for the main frame document
529         (-[WebController init]):
530         (-[WebController exposedBindings]):
531         (-[WebController valueClassForBinding:]):
532         (-[WebController setContent:]):
533         (-[WebController webView]):
534         (-[WebController setWebView:]):
535         (-[WebView mainFrameDocument]): get the main frame's DOMDocument
536         * WebView/WebViewPrivate.h: Adds mainFrameDocument to pending public.
537
538 2006-04-12  David Harrison  <harrison@apple.com>
539
540         Reviewed by Darin.
541         
542         <rdar://problem/4386640> AX: AXPreviousSentenceStartTextMarkerForTextMarker does not respect paragraph boundary
543         <rdar://problem/4414575> AX: Dictionary popup cannot find some words on Dictionary.app
544         
545         (see related changes in WebCore)
546         
547         Tests added:
548         * editing/selection/extend-by-sentence-001.html: Added.
549         * fast/dom/inner-text-001.html: Added.
550
551         * WebView/WebHTMLView.m:
552         (-[NSArray validateUserInterfaceItem:]):
553         (-[NSArray moveToBeginningOfSentence:]):
554         (-[NSArray moveToBeginningOfSentenceAndModifySelection:]):
555         (-[NSArray moveToEndOfSentence:]):
556         (-[NSArray moveToEndOfSentenceAndModifySelection:]):
557         (-[NSArray selectSentence:]):
558         * WebView/WebView.m:
559         * WebView/WebViewPrivate.h:
560         Add sentence navigation and selection.
561
562 2006-04-12  Tim Omernick  <timo@apple.com>
563
564         Reviewed by Darin.
565
566         Part of <rdar://problem/4482530>
567
568         * WebView/WebView.m:
569         (-[WebView _focusedFrame]):
570         Fixed up the logic here to take into account immediate subviews of WebView, which are not actually in a WebFrameView
571         (they are peers to the main frame's WebFrameView).
572
573 2006-04-10  John Sullivan  <sullivan@apple.com>
574
575         Reviewed by Tim Omernick.
576         
577         - fixed <rdar://problem/4139799> Seed: Safari: Private Browsing leaves traces in Icon Cache
578         
579         * Misc/WebIconDatabasePrivate.h:
580         new ivars: pageURLsBoundDuringPrivateBrowsing, iconURLsBoundDuringPrivateBrowsing, and privateBrowsingEnabled
581
582         * Misc/WebIconDatabase.m:
583         (-[NSMutableDictionary init]):
584         initialize new ivars, and listen for notifications that WebPreferences changed so we can react to changes
585         to private browsing.
586         (-[NSMutableDictionary iconForURL:withSize:cache:]):
587         Don't remove icon URL from extraRetain dictionary; that's now done in _forgetIconForIconURLString. (I left a
588         comment here earlier about why I was worried about this change, but I convinced myself that it's fine.)
589         (-[WebIconDatabase removeAllIcons]):
590         Removed no-longer-true (and never very clear) comment, and braces. Also remove all objects from the two
591         private-browsing-related dictionaries.
592         (-[WebIconDatabase _setIcon:forIconURL:]):
593         remember icon URL if private browsing is enabled
594         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
595         remember icon URL if private browsing is enabled
596         (-[WebIconDatabase _setIconURL:forURL:]):
597         added an assert that helped me out at one point
598         (-[WebIconDatabase _clearDictionaries]):
599         clear the two new dictionaries too
600         (-[WebIconDatabase _loadIconDictionaries]):
601         made an existing ERROR not fire in the expected case where there are no icons at all on disk
602         (-[WebIconDatabase _updateFileDatabase]):
603         when saving the pageURLToIconURL dictionary to disk, first remove any values that were created during
604         private browsing
605         (-[WebIconDatabase _retainIconForIconURLString:]):
606         skip the code that deals with saving changes to disk if private browsing is enabled
607         (-[WebIconDatabase _forgetIconForIconURLString:]):
608         Remove the icon URL from extraRetain dictionary here. We're forgetting everything about this icon URL
609         so we should forget its former extraRetain count too.
610         (-[WebIconDatabase _resetCachedWebPreferences:]):
611         Cache the new value of private browsing. If it has now been turned off, forget everything we learned
612         while it was on. This causes (e.g.) icons for bookmarks or pre-existing history items to be forgotten
613         if the icon was only learned during private browsing.
614
615         * History/WebHistoryItem.m:
616         removed an unnecessary #import I happened to notice
617         
618 2006-04-10  David Hyatt  <hyatt@apple.com>
619
620         Make the broken CG focus ring painting work when WebCore sets a clip
621         (in addition to respecting the dirty rect clip).
622
623         Reviewed by darin
624
625         * WebCoreSupport/WebGraphicsBridge.m:
626         (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:clipRect:]):
627
628 2006-04-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
629
630         Reviewed by Darin.
631
632         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8100
633           REGRESSION (NativeTextField): Right-aligned and RTL text jitters in new text fields
634
635         * WebCoreSupport/WebTextRenderer.m:
636         (overrideLayoutOperation): For RTL runs, apply the word-rounding on the left.
637         (CG_floatWidthForRun): For RTL runs, apply the last character's rounding
638         on the left by adjusting the start position.
639         (initializeWidthIterator): Added finalRoundingWidth field to WidthIterator.
640         (advanceWidthIterator): For RTL runs, apply rounding on the left of the character,
641         by increasing the width of the next character (which is the character to the left). For
642         the last character, keep the rounding width in the iterator's finalRoundingWidth, to be used by
643         CG_floatWidthForRun().
644
645 2006-04-08  John Sullivan  <sullivan@apple.com>
646
647         Reviewed by Adele Peterson.
648
649         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=8260
650         REGRESSION: Assertion failure: ![_private->iconsToSaveWithURLs containsObject:iconURLString] 
651         in WebIconDatabase.m:695-[WebIconDatabase(WebInternal) _retainIconForIconURLString:]
652
653         * Misc/WebIconDatabase.m:
654         (-[WebIconDatabase _retainIconForIconURLString:]):
655         This new assertion was one block too high; moved it in.
656
657 2006-04-07  David Hyatt  <hyatt@apple.com>
658
659         A fix that makes coalesced updates work much better (and makes our
660         single animated GIF timer work better).  The new rect painting algorithm
661         for WebHTMLView will use the single unioned rect if the # of rects exceeds
662         a threshold (10 is my initial cut), or if the union has enough "wasted"
663         additional pixels (conservatively set at 75%).
664
665         Reviewed by darin
666
667         * WebView/WebHTMLView.m:
668         (-[NSArray drawSingleRect:]):
669         (-[NSArray drawRect:]):
670
671 2006-04-07  Maciej Stachowiak  <mjs@apple.com>
672
673         Reviewed by Darin.
674         
675         - simplify archive loading
676
677         * WebView/WebDataSource.m:
678         (-[WebDataSource representation]): fix whitespace
679         * WebView/WebHTMLRepresentation.m:
680         (-[WebHTMLRepresentation loadArchive]): Use WebFrame's loadArchive: instead
681         of trying to do a manual load here.
682         (-[WebHTMLRepresentation documentSource]): No more special case for WebArchive.
683
684 2006-04-07  John Sullivan  <sullivan@apple.com>
685
686         Reviewed by Tim Omernick.
687         
688         - fixed <rdar://problem/4507054> If an icon file is removed from disk behind Safari's back, 
689         Safari will not try to refetch it
690         
691         In addition to letting WebIconDatabase recover from disk/memory mismatches as per 4507054, I also found
692         a bug in the way icons are remembered that could account for some of the other cases where
693         site icons didn't appear (and you'd get an ERROR on debug builds about WebIconDatabase saying it
694         had some icon when it really doesn't).
695
696         * Misc/WebIconDatabase.m:
697         (-[WebIconDatabase iconForURL:withSize:cache:]):
698         When the icon file for a previously-saved site icon isn't found, forget about the darn icon URL thoroughly
699         so that this situation is self-correcting. Formerly, once you got into this state WebKit would never find
700         the icon again (short of removing the entire icon database cleanly). Note that this does *not* change
701         the behavior of sites that didn't have a site icon when WebKit checked -- these will continue to not
702         return a site icon indefinitely (that's a separate, possibly performance-sensitive issue).
703         (-[WebIconDatabase _retainIconForIconURLString:]):
704         This code did the wrong thing in the case where an icon was in the process of being forgotten about. In
705         that case, the icon would still be in _private->iconsOnDiskWithURLs, so we wouldn't try to save it here,
706         so the new icon wouldn't stick.
707
708 2006-04-07  David Hyatt  <hyatt@apple.com>
709
710         Re-enable coalesced updates.  Our move to a single timer has essentially
711         implemented coalescing of updates anyway, so the regression has already
712         come back.  Since we have to deal with that now anyway, there's no reason
713         to visually tear also. :)
714
715         Reviewed by darin
716
717         * ChangeLog:
718         * WebView/WebView.m:
719         (-[WebView _commonInitializationWithFrameName:groupName:]):
720
721 2006-04-05  Darin Adler  <darin@apple.com>
722
723         - fixed a storage leak from that last check-in
724
725         * WebView/WebUnarchivingState.m: (-[WebUnarchivingState dealloc]):
726         Release the two dictionaries.
727
728 2006-04-05  Maciej Stachowiak  <mjs@apple.com>
729
730         Reviewed by Eric.
731         
732         - start on factoring WebArchive unpacking more into a separate class.
733         http://bugzilla.opendarwin.org/show_bug.cgi?id=8208
734         
735         * WebKit.xcodeproj/project.pbxproj:
736         * WebView/WebDataSource.m:
737         (-[WebDataSourcePrivate dealloc]):
738         (-[WebDataSource _addToUnarchiveState:]):
739         (-[WebDataSource _popSubframeArchiveWithName:]):
740         (-[WebDataSource _documentFragmentWithArchive:]):
741         (-[WebDataSource _setupForReplaceByMIMEType:]):
742         (-[WebDataSource subresourceForURL:]):
743         * WebView/WebDataSourcePrivate.h:
744         * WebView/WebFrame.m:
745         (-[WebFrame _loadRequest:archive:]):
746         (-[WebFrame loadRequest:]):
747         (-[WebFrame loadArchive:]):
748         * WebView/WebFramePrivate.h:
749         * WebView/WebHTMLRepresentation.m:
750         (-[WebHTMLRepresentation loadArchive]):
751         * WebView/WebUnarchivingState.h: Added.
752         * WebView/WebUnarchivingState.m: Added.
753         (-[WebUnarchivingState init]):
754         (-[WebUnarchivingState addArchive:]):
755         (-[WebUnarchivingState archivedResourceForURL:]):
756         (-[WebUnarchivingState popSubframeArchiveWithFrameName:]):
757
758 2006-04-04  Timothy Hatcher  <timothy@apple.com>
759
760         Reviewed by Darin.
761
762         The Debug and Release frameworks are now built with install paths relative to the build products directory.
763         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
764
765         * WebKit.xcodeproj/project.pbxproj:
766
767 2006-04-04  John Sullivan  <sullivan@apple.com>
768
769         Reviewed by Adele Peterson.
770
771         - WebKit part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
772
773         * WebView/WebView.m:
774         (-[WebView _updateWebCoreSettingsFromPreferences:]):
775         Pass private browsing setting down to WebCore.
776
777 2006-04-03  John Sullivan  <sullivan@apple.com>
778
779         Reviewed by Tim Hatcher.
780         
781         - re-fixed <rdar://problem/4481198> REGRESSION (TOT): search results list in bookmarks view 
782         remains when search text is deleted
783
784         * WebView/WebView.m:
785         (-[WebView searchFor:direction:caseSensitive:wrap:]):
786         I fixed this recently, but then broke it again by adding an early bail-out to this method. So
787         now I'm removing the early bail-out.
788
789 2006-04-02  Trey Matteson  <trey@usa.net>
790
791         Reviewed by Maciej.
792
793         fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8121
794         REGRESSION: 404s are not displayed
795
796         * WebView/WebMainResourceLoader.m:
797         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
798         Only cancel failed loads for object elements, not for frames or a whole page.
799
800 2006-04-02  Maciej Stachowiak  <mjs@apple.com>
801
802         Reviewed by Hyatt.
803
804         - fixed <rdar://problem/4198619> REGRESSION: tabbing through links fails after hitting text field w/ sys's "tab to all controls" off
805         - fixed <rdar://problem/4463760> REGRESSION: Can't tab from old text field (like password fields) to new text field (6811)
806         (http://bugzilla.opendarwin.org/show_bug.cgi?id=6811)
807         - fixed tab and shift tab don't select the right things
808         http://bugzilla.opendarwin.org/show_bug.cgi?id=5685
809
810         * WebCoreSupport/WebFrameBridge.m:
811         (-[WebFrameBridge willMakeFirstResponderForNodeFocus]): New method
812         - let WebHTMLView know that the next time it becomes first
813         responder, it's to change focus within the page and the right node
814         has already been set, so it should not move focus forward or
815         backward inside it.
816         * WebView/WebHTMLView.m:
817         (-[NSArray needsPanelToBecomeKey]): Override to return YES, oddly enough this
818         is the right way to tell AppKit that you should be in the tab cycle loop.
819         (-[NSArray becomeFirstResponder]): Don't move forward or back in tab cycle
820         when this becomeFirstResponder is for tabbing from a control in the page.
821         (-[WebHTMLView _willMakeFirstResponderForNodeFocus]): Note that the next
822         time this view becomes first responder, it will be for in-page focus 
823         navigation.
824         * WebView/WebHTMLViewInternal.h:
825
826 2006-04-01  Darin Adler  <darin@apple.com>
827
828         Reviewed by Maciej.
829
830         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8105
831           REGRESSION (NativeTextField): Option-delete deletes one space before the deleted word
832
833         Test: fast/forms/input-text-option-delete.html
834
835         * WebView/WebHTMLView.m:
836         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Pass NO for
837         smartDeleteOK. Smart deletion only applies to deleting a word at a time, and none of
838         the callers of this function that delete a word at a time want smart deletion.
839         (-[WebHTMLView deleteToEndOfLine:]): Fixed tiny formatting glitch.
840
841 2006-03-31  Timothy Hatcher  <timothy@apple.com>
842
843         Reviewed by Darin.
844
845         We need to set reachedTerminalState to YES before we release
846         the resources to prevent a double dealloc of WebView
847
848         Fixes <rdar://problem/4372628> crash deallocating a WebView in -[WebFrame stopLoading]
849
850         * WebView/WebLoader.m:
851         (-[NSURLProtocol releaseResources]): set reachedTerminalState earlier
852
853 2006-03-31  John Sullivan  <sullivan@apple.com>
854
855         Reviewed by Tim Omernick.
856         
857         Some cleanup in the WebIconDatabase code in a fruitless search for the cause
858         of the mysterious -[WebFileDatabase performSetObject:forKey] crash
859
860         * Misc/WebIconDatabase.m:
861         (-[WebIconDatabase _createFileDatabase]):
862         removed obsolete comment
863         (-[WebIconDatabase _loadIconDictionaries]):
864         Added ERRORs for unexpected early returns. Made dictionaries be autoreleased until
865         the end of the method where they are retained, so that the early returns don't leak;
866         added ASSERTs that the _private->dictionary values aren't being leaked.
867         (-[WebIconDatabase _updateFileDatabase]):
868         Added an ERROR for an unexpected early return, and made a trivial style fix.
869
870 2006-03-31  Trey Matteson  <trey@usa.net>
871
872         Reviewed by Maciej, landed by ap.
873
874         http://bugzilla.opendarwin.org/show_bug.cgi?id=7739
875         REGRESSION: Assertion failure loading acid2 test in -[WebCoreFrameBridge installInFrame:]
876
877         Tests: http/tests/misc/acid2.html, http/tests/misc/acid2-pixel.html
878
879         The gist of this change is that we must cancel the load from the Webkit side when we
880         realize we're switching to the fallback content.  This is somewhat a temp workaround
881         since control of loading will be moving to WebCore.
882
883         * WebView/WebMainResourceLoader.m:
884         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
885
886 2006-03-30  Justin Garcia  <justin.garcia@apple.com>
887
888         Reviewed by darin
889         
890         http://bugzilla.opendarwin.org/show_bug.cgi?id=6989
891         REGRESSION: Plain-text mode needed for contenteditable area used in new text field
892
893         * WebView/WebHTMLView.m:
894         (-[WebHTMLView _canEditRichly]): Added.
895         (-[WebHTMLView _canIncreaseSelectionListLevel]): Use _canEditRichly
896         (-[WebHTMLView _canDecreaseSelectionListLevel]): Ditto.
897         (-[WebHTMLView _increaseSelectionListLevel]):
898         (-[WebHTMLView _decreaseSelectionListLevel]):
899         (-[NSArray validateUserInterfaceItem:]): 
900         Split rich text editing actions off from ones that can be applied anywhere.
901         (-[NSArray _applyStyleToSelection:withUndoAction:]):
902         (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]):
903         (-[NSArray _alignSelectionUsingCSSValue:withUndoAction:]):
904         * WebView/WebHTMLViewPrivate.h:
905
906 2006-03-29  Tim Omernick  <timo@apple.com>
907
908         Reviewed by John Sullivan.
909
910         <rdar://problem/4495316> REGRESSION (420+): After page has loaded, spinning progress indicator is displayed on
911         tab at versiontracker.com
912
913         * WebView/WebFrame.m:
914         (-[WebFrame _receivedMainResourceError:]):
915         Call -_clientRedirectCancelledOrFinished: here so that the frame load delegate is notified that the redirect's
916         status has changed, if there was a redirect.  The frame load delegate may have saved some state about
917         the redirect in its -webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:.  Since we are definitely
918         not going to use this provisional resource, as it was cancelled, notify the frame load delegate that the redirect
919         has ended.
920         The fix for 4432562 was similar to this, but only took care of the case where the redirect load was actually
921         committed to the frame.  The new call to -_clientRedirectCancelledOrFinished: handles the case where the redirect
922         load was successful, but was not committed.  This happens with downloads.
923         
924 2006-03-29  John Sullivan  <sullivan@apple.com>
925
926         Reviewed by Tim Omernick.
927         
928         - fixed these bugs:
929         <rdar://problem/4483806> REGRESSION (417.8-TOT): PDFs don't scale correctly with auto-size (5356)
930         <rdar://problem/3874856> Safari PDF display should be full width by default rather than 
931         sized to show the entire page
932
933         * WebView/WebPDFRepresentation.m:
934         (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
935         Let the WebPDFView handle setting the document, because that's the best time to apply
936         the sizing-related preferences.
937         
938         * WebView/WebPDFView.h:
939         eliminated firstLayoutDone ivar and -PDFSubview public method; added -setPDFDocument:
940         
941         * WebView/WebPDFView.m:
942         (-[WebPDFView initWithFrame:]):
943         eliminate use of obsolete firstLayoutDone ivar
944         (-[WebPDFView _applyPDFDefaults]):
945         renamed from _readPDFDefaults for clarity
946         (-[WebPDFView layout]):
947         removed code that applied the preferences here. This was too early to handle auto-sizing correctly,
948         because -layout can be called before the document exists, and calling setAutoSize:YES at that
949         point confuses PDFView into setting the scale factor to 20 (the maximum).
950         (-[WebPDFView setPDFDocument:]):
951         New method, does what WebPDFRepresentation used to do and also applies the preferences here.
952         This is a good place to apply them because the document is guaranteed to now exist (of course).
953         (-[WebPDFView PDFSubview]):
954         Moved this into a new FileInternal category because it's still needed by another class in
955         this file but no longer needs to be public.
956         
957         * WebView/WebPreferences.m:
958         (+[WebPreferences initialize]):
959         Change WebKitPDFScaleFactorPreferenceKey to 0, which represents auto-size. This fixes 3874856,
960         but wasn't feasible until 4483806 was fixed.
961
962 2006-03-28  Darin Adler  <darin@apple.com>
963
964         Reviewed by Geoff.
965
966         - added a build step that checks for init routines
967
968         * WebKit.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
969         check-for-global-initializers script.
970
971 2006-03-28  Tim Omernick  <timo@apple.com>
972
973         Reviewed by Darin.
974
975         <rdar://problem/3694090> -[WebBaseNetscapePluginView finalize] is incorrect; design change needed
976
977         * Plugins/WebBaseNetscapePluginView.m:
978         (-[WebBaseNetscapePluginView initWithFrame:]):
979         Don't observe preferences changes here -- we only want to observe preferences while the view is 
980         installed in the view hierarchy.  Plugins will appropriately start and stop themselves when added to
981         or removed from a window.
982         (-[WebBaseNetscapePluginView dealloc]):
983         Don't remove observers here -- they should have been removed when the view was removed from its
984         window.
985         (-[WebBaseNetscapePluginView finalize]):
986         ditto
987         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
988         Stop observing preferences when the view is removed from its window.
989         (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
990         Start observing preferences when the view is added to a window.
991
992 2006-03-27  Tim Omernick  <timo@apple.com>
993
994         Reviewed by Eric.
995
996         <rdar://problem/3694090> -[WebBaseNetscapePluginView finalize] is incorrect; design change needed
997
998         * ChangeLog:
999         * Plugins/WebBaseNetscapePluginView.m:
1000         (-[WebBaseNetscapePluginView dealloc]):
1001         Instead of calling -stop, assert that the plugin is not running.  A plugin view cannot be deallocated
1002         until it is removed from its window.  When a plugin view is removed from its window, it calls -stop
1003         on itself.  Therefore I believe that this call to -stop is unnecessary; if I'm wrong, then the
1004         assertion will help catch any edge cases.
1005         (-[WebBaseNetscapePluginView finalize]):
1006         ditto
1007
1008 2006-03-27  Tim Omernick  <timo@apple.com>
1009
1010         Reviewed by Eric.
1011
1012         <rdar://problem/3694086> -[WebBaseNetscapePluginStream finalize] is incorrect; design change needed
1013
1014         * Plugins/WebBaseNetscapePluginStream.m:
1015         (-[WebBaseNetscapePluginStream dealloc]):
1016         Assert that the stream file path either never existed, or was deleted and NULL-ed out.  The stream file
1017         is now deleted immediately after calling NPP_StreamAsFile().
1018         (-[WebBaseNetscapePluginStream finalize]):
1019         ditto
1020         (-[WebBaseNetscapePluginStream _destroyStream]):
1021         Delete the file after calling NPP_StreamAsFile(), instead of in -dealloc/-finalize.  It should be OK
1022         to delete the file here -- NPP_StreamAsFile() is always called immediately before NPP_DestroyStream()
1023         (the stream destruction function), so there can be no expectation that a plugin will read the stream file
1024         asynchronously after NPP_StreamAsFile() is called.
1025
1026 2006-03-27  Tim Omernick  <timo@apple.com>
1027
1028         Reviewed by Eric.
1029
1030         <rdar://problem/3694093> -[WebBasePluginPackage finalize] is incorrect; design change needed
1031
1032         Call -unload on plug-in packages instead of relying on -dealloc/-finalize to do it.  Currently
1033         the only place plug-in packages are deallocated is when refreshing the set of plugins, as when
1034         handling JavaScript's navigator.plugins.refresh().
1035
1036         * Plugins/WebBasePluginPackage.m:
1037         (-[WebBasePluginPackage dealloc]):
1038         Assert that the plug-in has been unloaded by the time -dealloc is called.
1039         (-[WebBasePluginPackage finalize]):
1040         ditto
1041
1042         * Plugins/WebPluginDatabase.m:
1043         (-[WebPluginDatabase refresh]):
1044         Call -unload on the plug-in packages before releasing them.
1045
1046 2006-03-27  Tim Omernick  <timo@apple.com>
1047
1048         Reviewed by Tim Hatcher.
1049
1050         Part of <rdar://problem/4448350> Deprecated ObjC language API used in JavaScriptCore, WebCore,
1051         WebKit and WebBrowser
1052
1053         * Carbon/HIViewAdapter.h:
1054         HIViewAdapter is no longer an NSView subclass, since we no longer pose it as NSView.
1055         * Carbon/HIViewAdapter.m:
1056         (+[NSView bindHIViewToNSView:nsView:]):
1057         Replace individual NSView methods instead of posing as NSView.
1058         (_webkit_NSView_setNeedsDisplay):
1059         Replacement implementation of -[NSView setNeedsDisplay:].
1060         (_webkit_NSView_setNeedsDisplayInRect):
1061         Replacement implementation of -[NSView setNeedsDisplayInRect:]
1062         (_webkit_NSView_nextValidKeyView):
1063         Replacement implementation of -[NSView nextValidKeyView]
1064
1065 2006-03-27  John Sullivan  <sullivan@apple.com>
1066
1067         Reviewed by Darin Adler.
1068         
1069         Removed two overzealous assertions that the steps to reproduce 4451831 were running into.
1070         Improved comments to match.
1071
1072         * WebCoreSupport/WebFrameBridge.m:
1073         (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
1074         Remove assertion that _inNextKeyViewOutsideWebFrameViews should always be false here.
1075         
1076         * WebView/WebHTMLView.m:
1077         (-[NSArray nextValidKeyView]):
1078         Removed assertion that the frame should never be the main frame here.
1079
1080 2006-03-27  Tim Omernick  <timo@apple.com>
1081
1082         Reviewed by Tim Hatcher.
1083
1084         Removed tabs & reformatted code.
1085         
1086         * Carbon/HIViewAdapter.m:
1087         (+[NSView bindHIViewToNSView:nsView:]):
1088         (+[NSView getHIViewForNSView:]):
1089         (+[NSView unbindNSView:]):
1090         (-[NSView setNeedsDisplay:]):
1091         (-[NSView setNeedsDisplayInRect:]):
1092         (-[NSView nextValidKeyView]):
1093         (SetViewNeedsDisplay):
1094
1095 2006-03-26  Justin Garcia  <justin.garcia@apple.com>
1096
1097         Reviewed by darin
1098         
1099         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7974>
1100         Add EditActions and WebUndoActions for CreateLink and Unlink
1101
1102         * English.lproj/Localizable.strings:
1103         * WebCoreSupport/WebFrameBridge.m:
1104         (-[WebFrameBridge nameForUndoAction:]):
1105
1106 2006-03-23  Tim Omernick  <timo@apple.com>
1107
1108         Reviewed by John Sullivan.
1109
1110         At John's suggestion, renamed a private WebFrame method and tightened up some of the redirect logic I recently touched.
1111
1112         * WebView/WebFramePrivate.h:
1113         Renamed -_clientRedirectCancelled: to -_clientRedirectCancelledOrFinished:, since we call this both when a redirect is
1114         cancelled and when a redirect is successfully committed.
1115         * WebCoreSupport/WebFrameBridge.m:
1116         (-[WebFrameBridge reportClientRedirectCancelled:]):
1117         Call renamed WebFrame method.
1118         * WebView/WebFrame.m:
1119         Added sentRedirectNotification flag to WebFramePrivate.  This flag is set when we notify the frame load delegate that a
1120         redirect will occur.  We check this flag when committing a provisional load to ensure that the frame load delegate is
1121         notified that the redirect finished.
1122         (-[WebFrame _commitProvisionalLoad:]):
1123         After committing a provisional load, make sure that the frame load delegate is notified that there is no longer a pending
1124         redirect.
1125         (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
1126         Set the new sentRedirectNotification flag.
1127         (-[WebFrame _clientRedirectCancelledOrFinished:]):
1128         Renamed method.
1129         Clear the sentRedirectNotification flag.
1130         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
1131         Call renamed method.
1132
1133 2006-03-23  Tim Omernick  <timo@apple.com>
1134
1135         Reviewed by John Sullivan.
1136
1137         <rdar://problem/4439752> TinyMCE: "Search in Google" context menu is active but fails to work when selection is active
1138         in textarea field.
1139
1140         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1141         (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
1142         Added a representedObject parameter, which is set on the newly created menu item.
1143         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
1144         Instead of setting the representedObject on each menu item after creating them all, pass the element to
1145         -menuItemWithTag:target:representedObject:.
1146         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
1147         ditto.  This fixes 4439752 because this method failed to set the representedObject on the menu items as
1148         -contextMenuItemsForElement:defaultMenuItems: did.
1149
1150 2006-03-23  Darin Adler  <darin@apple.com>
1151
1152         Reviewed by Eric.
1153
1154         - fix <rdar://problem/4380465> repro crash when unsuccessfully attempting to import image from Services menu
1155
1156         * WebView/WebDataSource.m:
1157         (-[WebDataSource _imageElementWithImageResource:]): Quietly do nothing if passed nil.
1158         (-[WebDataSource _documentFragmentWithImageResource:]): Ditto.
1159
1160 2006-03-22  Tim Omernick  <timo@apple.com>
1161
1162         Reviewed by Kevin Decker.
1163
1164         Even better fix for <rdar://problem/4432562>.  We need to notify the frame delegate of a finished redirect for both
1165         "fast" and "slow" redirects, after committing the load.  My previous change only notified for "fast", history-locking
1166         redirects.  Now we notify the frame delegate after committing any kind of provisional load, not just in the case of
1167         a fast redirect.
1168
1169         * WebView/WebFrame.m:
1170         (-[WebFrame _transitionToCommitted:]):
1171         (-[WebFrame _commitProvisionalLoad:]):
1172
1173 2006-03-22  Tim Omernick  <timo@apple.com>
1174
1175         Reviewed by Kevin Decker.
1176
1177         Better fix for <rdar://problem/4432562> REGRESSION (TOT): Safari's "stop loading" active, "view source" inactive after page load [7058]
1178
1179         * WebView/WebFrame.m:
1180         (-[WebFrame _transitionToCommitted:]):
1181         Cancel the client redirect when we commit the provisional load, if we were waiting for a redirect.
1182         This is a better fix for 7058 (<rdar://problem/4432562>).  The original fix for 7058 changed the timing of the redirect cancel
1183         in such a way that WebKit was precluded from ever reusing back/forward list entries for redirects.  Clearing the redirect state
1184         here actually makes logical sense, as the redirect's target page is being committed at this point.
1185
1186 2006-03-21  Darin Adler  <darin@apple.com>
1187
1188         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3784
1189           <rdar://problem/4483827> JavaScript save dialog disappears right away (sheet triggers blur event) (3784)
1190
1191         * WebView/WebHTMLView.m:
1192         (-[WebHTMLView _updateFocusState]): Treat window as having focus if its sheet is key.
1193         (-[WebHTMLView addWindowObservers]): Observe all focus notifications, not just the ones involving this window.
1194         (-[WebHTMLView removeWindowObservers]): Ditto.
1195         (-[WebHTMLView windowDidBecomeKey:]): Add checks so that we call the methods only when appropriate,
1196         since this will now be called for all windows.
1197         (-[WebHTMLView windowDidResignKey:]): Ditto.
1198
1199 2006-03-21  Adele Peterson  <adele@apple.com>
1200
1201         Reviewed by Darin.
1202
1203         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6813
1204         elementAtPoint needs to return input element when clicking on new text field
1205
1206         * WebView/WebDocumentInternal.h: Added elementAtPoint:allowShadowContent:
1207         * WebView/WebHTMLView.m:
1208         (-[NSArray elementAtPoint:]): Does not allow shadow content.  This way, by default, callers would get the input element instead of the inner div.
1209         (-[NSArray elementAtPoint:allowShadowContent:]): Allows callers to specify whether or not the element can be a shadow node.
1210         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Allows shadow content when getting element.
1211         (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto.
1212         (-[NSArray _isSelectionEvent:]): ditto.
1213         (-[NSArray _canProcessDragWithDraggingInfo:]): ditto.
1214         * WebView/WebFrame.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Does not allow shadow content when getting element.
1215         * WebView/WebImageView.m: (-[WebImageView elementAtPoint:allowShadowContent:]): Added to conform to the WebDocumentElement protocol.
1216         * WebView/WebPDFView.m: (-[WebPDFView elementAtPoint:allowShadowContent:]): ditto.
1217         * WebView/WebTextView.m: (-[WebTextView elementAtPoint:allowShadowContent:]): ditto.
1218
1219 2006-03-21  Tim Omernick  <timo@apple.com>
1220
1221         Reviewed by Tim Hatcher and Darin.
1222
1223         <rdar://problem/4427068> LMGetCurApRefNum, CloseConnection and GetDiskFragment deprecated, used in Netscape
1224         plugin code
1225
1226         * Plugins/WebNetscapeDeprecatedFunctions.h: Added.
1227         * Plugins/WebNetscapeDeprecatedFunctions.c: Added.
1228         Added wrappers for deprecated CFM and LowMem functions.  These exist in a separate file so that we can set
1229         -Wno-deprecated-declarations on this one file without ignoring other deprecated function usage elsewhere.
1230         (WebGetDiskFragment):
1231         (WebCloseConnection):
1232         (WebLMGetCurApRefNum):
1233         (WebLMSetCurApRefNum):
1234
1235         * Plugins/WebNetscapePluginPackage.h:
1236         Don't include connID ivar in 64-bit, since CFM is not supported in 64-bit.
1237         * Plugins/WebNetscapePluginPackage.m:
1238         (+[WebNetscapePluginPackage initialize]):
1239         Don't bother setting the resource refNum in 64-bit, because the API to get and set it does not exist.
1240         A theoretical 64-bit plugin couldn't possibly rely this, since there is no API.
1241         (-[WebNetscapePluginPackage unloadWithoutShutdown]):
1242         No need to close the connID in 64-bit.
1243         (-[WebNetscapePluginPackage load]):
1244         Don't load CFM bundles in 64-bit, because CFM is not supported.
1245
1246         * WebKit.xcodeproj/project.pbxproj:
1247         Added WebNetscapeDeprecatedFunctions.[hm].
1248
1249 2006-03-21  John Sullivan  <sullivan@apple.com>
1250
1251         Reviewed by Kevin Decker.
1252         
1253         - fixed <rdar://problem/4485637> Implementors of searchFor:direction:caseSensitive:wrap: should bail 
1254         out early if search string is empty
1255         
1256         This doesn't change any existing behavior, but avoids unnecessary work.
1257
1258         * Misc/WebSearchableTextView.m:
1259         (-[WebSearchableTextView searchFor:direction:caseSensitive:wrap:]):
1260         bail out immediately (returning NO) if search string is empty
1261         
1262         * WebView/WebHTMLView.m:
1263         (-[WebView searchFor:direction:caseSensitive:wrap:]):
1264         ditto
1265         
1266         * WebView/WebPDFView.m:
1267         (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
1268         ditto
1269         
1270         * WebView/WebView.m:
1271         (-[WebView searchFor:direction:caseSensitive:wrap:]):
1272         ditto
1273
1274 2006-03-20  Tim Omernick  <timo@apple.com>
1275
1276         Reviewed by John Sullivan.
1277
1278         Moved -_contentView from WebFrameViewInternal to WebFrameViewPrivate.  Safari
1279         needs this.
1280
1281         * WebView/WebFrameView.m:
1282         (-[WebFrameView _contentView]):
1283         * WebView/WebFrameViewInternal.h:
1284         * WebView/WebFrameViewPrivate.h:
1285
1286 2006-03-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1287
1288         Reviewed by Darin, landed by Beth.
1289
1290         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7693
1291           WebKit relies on unpredictable timing for onload events
1292
1293         * WebView/WebDataSource.m:
1294         (-[WebDataSource _receivedMainResourceError:complete:]): Check for 
1295         completion on the WebCore side before checking on the WebKit side, 
1296         to ensure that the onload event is emitted before the WebFrame load 
1297         delegate is sent the webView:didFinishLoadForFrame: message. For 
1298         DumpRenderTree, this ensures that the render tree is dumped after 
1299         the onload handler is run.
1300         * WebView/WebLoader.m:
1301         (-[NSURLProtocol didFailWithError:]): If load has already been 
1302         cancelled (which could happen if the parent's onload handler caused 
1303         the frame to detach), do nothing.
1304
1305 2006-03-17  John Sullivan  <sullivan@apple.com>
1306
1307         Reviewed by Beth Dakin
1308         
1309         - fixed <rdar://problem/4239051> Sometimes "Copy Link" in Safari results in a 
1310         URL on the pasteboard with no usable "title"
1311
1312         * History/WebURLsWithTitles.m:
1313         (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]):
1314         trim whitespace from titles that are put on pasteboard. This leaves an empty string
1315         for the title in cases where there's no displayed text, like an image in an <a> element
1316         that happens to have whitespace in the source, e.g. <a href="foo"> <img whatever></a>
1317
1318 2006-03-17  Darin Adler  <darin@apple.com>
1319
1320         - missing bit of my check-in yesterday
1321
1322         Maciej moved setWindowFrame for me, but I also had removed
1323         setWindowContentRect.
1324
1325         * WebCoreSupport/WebFrameBridge.m: Removed unused setWindowContextRect and
1326         windowContentRect methods.
1327
1328 2006-03-17  Adele Peterson  <adele@apple.com>
1329
1330         Reviewed by Hyatt.
1331
1332         WebKit part of fix for:
1333         http://bugzilla.opendarwin.org/show_bug.cgi?id=7797 
1334         Can't set background color on new text fields
1335
1336         Added function to draw bezeled text field without drawing background.
1337
1338         * WebCoreSupport/WebGraphicsBridge.m:
1339         (-[WebGraphicsBridge drawBezeledTextFieldCell:enabled:]): Added.
1340
1341 2006-03-16  Maciej Stachowiak  <mjs@apple.com>
1342
1343         Reviewed by Eric.
1344         
1345         - move setWindowFrame / windowFrame to WebPageBridge to fix build
1346
1347         * WebCoreSupport/WebFrameBridge.m:
1348         * WebCoreSupport/WebPageBridge.m:
1349         (-[WebPageBridge setWindowFrame:]):
1350         (-[WebPageBridge windowFrame]):
1351
1352 2006-03-15  Darin Adler  <darin@apple.com>
1353
1354         Fix by Patrick Beard, reviewed by me.
1355
1356         - fix <rdar://problem/4478181> WebPluginController leaks NSArray and NSMutableSet objects
1357
1358         * Plugins/WebPluginController.m:
1359         (-[WebPluginController initWithDocumentView:]): Call CFMakeCollectable on the CFSet
1360         so we can act like it's an NSSet.
1361         (-[WebPluginController dealloc]): Release _views and _checksInProgress.
1362
1363 2006-03-13  Tim Omernick  <timo@apple.com>
1364
1365         Reviewed by Maciej.
1366
1367         <rdar://problem/4476873> Support printing for plugin documents (not embedded plugins)
1368
1369         * WebView/WebFrameViewPrivate.h:
1370         * WebView/WebFrameView.m:
1371         (-[WebFrameView documentViewShouldHandlePrint]):
1372         Called by the host application before it initializes and runs a print operation.  If NO
1373         is returned, the host application will abort its print operation and call
1374         -printDocumentView on the WebFrameView.  The document view is then expected to run its
1375         own print operation.  If YES is returned, the host application's print operation will
1376         continue as normal.
1377         (-[WebFrameView printDocumentView]):
1378         Called by the host application when the WebFrameView returns YES from -documentViewShouldHandlePrint.
1379
1380         * Plugins/WebNetscapePluginDocumentView.m:
1381         (-[WebNetscapePluginDocumentView documentViewShouldHandlePrint]):
1382         Allow the plugin to take over printing if it defines an NPP_Print function
1383         (-[WebNetscapePluginDocumentView printDocumentView]):
1384         Print the plugin document.
1385
1386 2006-03-13  Geoffrey Garen  <ggaren@apple.com>
1387
1388         Reviewed by timo.
1389
1390         - Fixed the load progress indicator to give more incremental feedback, 
1391         and to stop spending so much time near 100%.
1392
1393         I did two things:
1394         (1) Fixed some bugs and a misspelling in the previous heuristic's 
1395         implementation
1396         (2) Added two new rules to the heuristic:
1397             (a) Treat the first layout as the half-way point.
1398             (b) Just like we jump the first 10% to indicate that a load has
1399             started, jump the last 10% to indicate that a load has finished.
1400
1401         Rule 2a is good for two reasons. First, it seems unnatural for loading
1402         to be "more than half done" when you can't even see anything. Second,
1403         in the early stages of laading our estimate of how much we'll need to
1404         load is often off by as much as 6000% (e.g., cnn.com). So anything that
1405         makes the progress indicator more conservative in the early stages of 
1406         loading is helpful.
1407
1408         Rule 2b is good because it's confusing for loading to be "100% done"
1409         but still ongoing.
1410
1411         FIXME: The indicator still isn't perfect. For example, the old behavior
1412         shows up @ moviefone.com. Two areas for future work:
1413         (1) Estimate number of linked resources. Our code estimates the size
1414         of a single resource, but does nothing to estimate the number of
1415         resources that resource might link to. This is the key to why we're
1416         so wrong at the beginning.
1417         (2) Improve "when to do first layout" heuristic. A JavaScript query
1418         for a style property forces layout, creating a phantom first layout 
1419         with no content, essentially nullifying 2a for certain pages.
1420         
1421         Filed <rdar://problem/4475834> to track estimating the number of 
1422         linked resources. Phantom layouts are already on Hyatt's radar.
1423
1424         * WebView/WebFrame.m:
1425         (-[WebFrame _setState:]): Update firstLayoutDone
1426         (-[WebFrame _numPendingOrLoadingRequests:]): Bug fix: In the recurisve 
1427         case, query 'frame' instead of 'self', so that we actually recurse.
1428         (-[WebFrame _firstLayoutDone]): New method
1429         (-[WebFrame _didFirstLayout]): Update firstLayoutDone
1430         * WebView/WebFramePrivate.h: Added firstLayoutDone ivar
1431         * WebView/WebView.m:
1432         (-[WebView _incrementProgressForConnectionDelegate:data:]):
1433         (1) Implemented 2a and 2b
1434         (2) Bug fix: only update the 'last time I sent a notification' time if 
1435         we actually send a notification.
1436         (3) Don't test for progress < 0 because ensuring progress < max
1437         also ensures max - progress > 0. (Do still test for progress > max 
1438         because rounding errors make that a possibility -- although a very 
1439         minor one.)
1440         (4) Query only the loading frame and its subframes for pending
1441         requests instead of defaulting to the main frame. This is a slight
1442         optimization in cases where the main frame did not begin the load,
1443         and it makes the code more consistent.
1444
1445 2006-03-13  John Sullivan  <sullivan@apple.com>
1446
1447         Reviewed by Tim Omernick.
1448         
1449         - fixed <rdar://problem/4475857> API: Setting a history item limit programmatically doesn't work
1450
1451         * History/WebHistory.m:
1452         (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
1453         use [self historyItemLimit], which prefers the explicitly-set value and falls back to the
1454         NSUserDefaults value, instead of using the NSUserDefaults value explicitly.
1455
1456 2006-03-10  Darin Adler  <darin@apple.com>
1457
1458         Reviewed by Adele.
1459
1460         * WebCoreSupport/WebFrameBridge.m: Remove unused requestedURLString method.
1461
1462 2006-03-10  Darin Adler  <darin@apple.com>
1463
1464         Reviewed by Geoff.
1465
1466         - change how frame namespacing works to be more completely on the WebCore side
1467
1468         * WebView/WebFrameInternal.h: Remove _setFrameNamespace: and _frameNamespace.
1469         * WebView/WebFrame.m: Ditto.
1470
1471         * WebView/WebView.m:
1472         (-[WebView setGroupName:]): Call -[WebCorePageBridge setGroupName:].
1473         (-[WebView groupName]): Call -[WebCorePageBridge groupName].
1474
1475 2006-03-09  Alexey Proskuryakov  <ap@nypop.com>
1476
1477         Reviewed by Darin.
1478
1479         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7656
1480          Query string always appended to Flash URLs, instead of being replaced.
1481
1482         * Misc/WebNSURLExtras.h: Added _webkit_URLByRemovingResourceSpecifier.
1483         * Misc/WebNSURLExtras.m:
1484         (+[NSURL _web_URLWithData:relativeToURL:]): Call _webkit_URLByRemovingResourceSpecifier to
1485         work around CFURL not removing non-path components from base URLs in some cases.
1486         (-[NSURL _webkit_URLByRemovingComponent:]): New generic function for removing URL components.
1487         (-[NSURL _webkit_URLByRemovingFragment]): Moved implementation to the above method.
1488         (-[NSURL _webkit_URLByRemovingResourceSpecifier]): Added.
1489
1490 2006-03-07  Darin Adler  <darin@apple.com>
1491
1492         Reviewed by Anders.
1493
1494         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7655
1495           unwanted output while running layout tests
1496
1497         * WebView/WebDataSourcePrivate.h:
1498         * WebView/WebDataSource.m:
1499         (-[WebDataSource _setRepresentation:]): Clear the flag that records whether we've sent
1500         all the data to the representation or not; need this to prevent telling the same representation
1501         both that we've succeeded and then later that we've failed.
1502         (-[WebDataSource _setMainDocumentError:]): Don't send an error if representationFinishedLoading
1503         is already YES. Set representationFinishedLoading.
1504         (-[WebDataSource _finishedLoading]): Set representationFinishedLoading.
1505         (-[WebDataSource _setupForReplaceByMIMEType:]): Ditto.
1506
1507 2006-03-06  Tim Omernick  <timo@apple.com>
1508
1509         Reviewed by Kevin Decker.
1510
1511         <rdar://problem/4457574> assertion failure watching trailers at netflix.com -[WebNetscapePluginRepresentation
1512         receivedData:withDataSource:] + 684
1513
1514         * Plugins/WebNetscapePluginRepresentation.m:
1515         (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
1516         Moved the ASSERT(instance) to the block that actually requires an assertion -- the plugin view should never
1517         have a NULL instance by the time we start the NPStream (by calling -startStreamWithResponse:).
1518         Some stream teardown logic changed with my fix to 4153419: when a WebBaseNetscapePluginStream is destroyed,
1519         it now clears its NPP instance backpointer.  The WebBaseNetscapePluginStream may be destroyed from within
1520         -startStreamWithResponse: if NPP_NewStream() returns an error.  We can handle this gracefully by changing
1521         the assertion before -receivedData: to a simple NULL check.
1522         This is unrelated to the Radar, but prior to this fix, we would attempt an NPP_Write() with the initial
1523         stream data even if NPP_NewStream() returned an error.  Seems like that alone could cause issues, though
1524         I'm guessing that plugins handle this in practice.
1525
1526 2006-03-03  Timothy Hatcher  <timothy@apple.com>
1527
1528         Reviewed by Darin.
1529         
1530         <rdar://problem/4411822> wrong element shown in Inspector inspecting main image at apple.com
1531         <rdar://problem/4411908> in the Web Inspector, state of disclosure triangles should be preserved after search
1532         http://bugzilla.opendarwin.org/show_bug.cgi?id=6616
1533         Bug 6616: Double-clicking on a search result seems broken
1534         http://bugzilla.opendarwin.org/show_bug.cgi?id=6709
1535         Bug 6709: TypeError: Value undefined (result of expression treeScrollbar.refresh) is not object.
1536
1537         Code clean up and move more code into JavaScript.
1538         Removes a few unused ObjC methods.
1539         Many search fixes. Reveals the focused node when exiting the search.
1540         Shows a "No Selection" screen when there are no search results.
1541         Shows a node count for the number of results.
1542         Fixes a couple of TypeErrors that show on the console.
1543         Uses the system selection color in the Style pane tables.
1544
1545         * English.lproj/Localizable.strings: removed localized strings
1546         * WebInspector.subproj/WebInspector.m:
1547         (-[WebInspector init]):
1548         (-[WebInspector dealloc]):
1549         (-[WebInspector window]):
1550         (-[WebInspector setSearchQuery:]):
1551         (-[WebInspector resizeTopArea]):
1552         (-[WebInspector searchPerformed:]): called from JavaScript when a search happens
1553         (-[WebInspector _toggleIgnoreWhitespace:]):
1554         (-[WebInspector _exitSearch:]): exit search results on double click
1555         (-[WebInspector _focusRootNode:]):
1556         (-[WebInspector _revealAndSelectNodeInTree:]):
1557         (-[WebInspector _refreshSearch]):
1558         (-[WebInspector _update]):
1559         (-[WebInspector _updateTraversalButtons]):
1560         (-[WebInspector _updateRoot]):
1561         (-[WebInspector _updateTreeScrollbar]):
1562         (-[WebInspector _updateSystemColors]): update CSS with system colors
1563         (-[WebInspector webView:didFinishLoadForFrame:]):
1564         (-[WebInspector webView:plugInViewWithArguments:]):
1565         (-[WebInspector outlineViewSelectionDidChange:]): test for webViewLoaded
1566         (-[WebInspectorPrivate init]): alloc rightArrowImage and downArrowImage
1567         (-[WebInspectorPrivate dealloc]): no more matchedRules
1568         (-[DOMNode _displayName]): removed localization UI_STRING calls.
1569         * WebInspector.subproj/WebInspectorInternal.h:
1570         * WebInspector.subproj/webInspector/inspector.css:
1571         * WebInspector.subproj/webInspector/inspector.html:
1572         * WebInspector.subproj/webInspector/inspector.js:
1573
1574 2006-03-02  Alexey Proskuryakov  <ap@nypop.com>
1575
1576         Fixed a typo in the comments added in the previous checkin.
1577
1578         * WebCoreSupport/WebFrameBridge.m:
1579         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1580         * WebCoreSupport/WebSubresourceLoader.m:
1581         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
1582         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
1583
1584 2006-03-02  Alexey Proskuryakov  <ap@nypop.com>
1585
1586         Reviewed by Darin.
1587
1588         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7540
1589           REGRESSION: frequent cache-related crashes
1590
1591         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7393
1592           A stale comment about XMLHttpRequest responses being never cached
1593
1594         * WebCoreSupport/WebFrameBridge.m: Don't call setHTTPHeader if the method is GET.
1595         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1596         * WebCoreSupport/WebSubresourceLoader.m: Ditto. Also removed a stale comment about
1597         XMLHTTPRequests.
1598         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
1599         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
1600
1601 2006-02-23  David Harrison  <harrison@apple.com>
1602
1603         Reviewed by Justin.
1604
1605         <rdar://problem/4359736> Support outlining ability with lists
1606
1607         Added Mail SPI for list level changes.  It is SPI because it is not complete support
1608         for outlining.  See <rdar://problem/4457070> "API for html lists as note outlines".
1609         
1610         * WebView/WebHTMLView.m:
1611         (-[WebHTMLView _canIncreaseSelectionListLevel]):
1612         (-[WebHTMLView _canDecreaseSelectionListLevel]):
1613         (-[WebHTMLView _increaseSelectionListLevel]):
1614         (-[WebHTMLView _decreaseSelectionListLevel]):
1615         * WebView/WebHTMLViewPrivate.h:
1616
1617 2006-03-01  Alexey Proskuryakov  <ap@nypop.com>
1618
1619         Reviewed by Darin.
1620
1621         - http://bugzilla.opendarwin.org/show_bug.cgi?id=3812
1622           XMLHttpRequest: PUT, DELETE, HEAD and all other methods but POST actually do a GET.
1623
1624         All WebKit changes are to use the method parameter passed from WebCore.
1625
1626         * WebCoreSupport/WebFrameBridge.m:
1627         (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
1628         (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
1629         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1630         * WebCoreSupport/WebSubresourceLoader.h:
1631         * WebCoreSupport/WebSubresourceLoader.m:
1632         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
1633         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
1634
1635 2006-03-01  Timothy Hatcher  <timothy@apple.com>
1636
1637         Reviewed by Darin.
1638
1639         http://bugzilla.opendarwin.org/show_bug.cgi?id=7450
1640         elementAtPoint is expensive and should return a smart dictionary
1641         
1642         <rdar://problem/2952761> moving the mouse around eats more CPU than I would expect (7450)
1643         
1644         elementAtPoint for WebHTMLView now returns a WebElementDictionary,
1645         when objectForKey is called it will lookup in the DOM, cache and return the value
1646
1647         * Misc/WebElementDictionary.h: Added.
1648         * Misc/WebElementDictionary.m: Added.
1649         (addLookupKey):
1650         (cacheValueForKey):
1651         (+[WebElementDictionary initializeLookupTable]):
1652         (-[WebElementDictionary initWithInnerNonSharedNode:innerNode:URLElement:andPoint:]):
1653         (-[WebElementDictionary dealloc]):
1654         (-[WebElementDictionary _fillCache]):
1655         (-[WebElementDictionary count]):
1656         (-[WebElementDictionary keyEnumerator]):
1657         (-[WebElementDictionary objectForKey:]):
1658         (-[WebElementDictionary _domNode]):
1659         (-[WebElementDictionary _webFrame]):
1660         (-[WebElementDictionary _targetWebFrame]):
1661         (-[WebElementDictionary _title]):
1662         (-[WebElementDictionary _imageRect]):
1663         (-[WebElementDictionary _isSelected]):
1664         * Misc/WebNSViewExtras.m:
1665         (-[NSView _web_dragImage:element:rect:event:pasteboard:source:offset:]):
1666         * WebKit.xcodeproj/project.pbxproj:
1667         * WebView/WebHTMLView.m:
1668         (-[WebHTMLView _updateMouseoverWithEvent:]):
1669         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
1670         (-[NSArray elementAtPoint:]):
1671         * WebView/WebView.m:
1672         * WebView/WebViewPrivate.h:
1673
1674 2006-02-28  Darin Adler  <darin@apple.com>
1675
1676         Reviewed by Adele.
1677
1678         - remove obsolete WebCoreScrollView class
1679
1680         * WebView/WebDynamicScrollBarsView.h: Change base class to NSScrollView instead of WebCoreScrollView.
1681         * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView autoforwardsScrollWheelEvents]): Added.
1682
1683 2006-02-28  John Sullivan  <sullivan@apple.com>
1684
1685         Reviewed by Eric Seidel
1686         
1687         Wean WebKit from one more SPI call. We learned about this new-to-Tiger
1688         API from filing Radar 4433222.
1689
1690         * WebView/WebHTMLView.m:
1691         (-[WebHTMLView _autoscroll]):
1692         use public CGEventSourceButtonState() instead of WKMouseIsDown() (which was using SPI internally)
1693
1694 2006-02-27  Tim Omernick  <timo@apple.com>
1695
1696         Reviewed by Adele.
1697
1698         <rdar://problem/4222043> Safari should reduce null events sent to invisible plugins
1699
1700         * Plugins/WebBaseNetscapePluginView.h:
1701         * Plugins/WebBaseNetscapePluginView.m:
1702         (-[WebBaseNetscapePluginView restartNullEvents]):
1703         Check to see if the plugin view is completely obscured (scrolled out of view, for example).  If it is
1704         obscured and it wasn't before, or the other way around, then restart the null event timer so it can
1705         fire at the appropriate rate.
1706         (-[WebBaseNetscapePluginView viewHasMoved:]):
1707         If a plugin is obscured, send it null events as if it were in an inactive window.
1708
1709 2006-02-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1710
1711         Test: fast/frames/empty-frame-document.html
1712
1713         Reviewed by Darin.
1714
1715         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7293
1716           REGRESSION: Using Javascript Bookmarklets that reference location.href on a blank tab crashes WebKit
1717
1718         The crash happened because an empty frame did not have a document.
1719
1720         * WebView/WebFrame.m:
1721         (-[WebFrame _commitProvisionalLoad:]): Use "about:blank" instead of an empty URL for empty
1722         frames. This causes a document to be created for the frame.
1723
1724 2006-02-21  Kevin Decker  <kdecker@apple.com>
1725
1726         Reviewed by Darin.
1727
1728         Backed out my previous check in. Since these methods are internal to WebKit (and not private)
1729         it's perfectly OK for them to remain as categories. 
1730         * ChangeLog:
1731         * WebView/WebPreferences.m:
1732         (-[WebPreferences _integerValueForKey:]):
1733         (-[WebPreferences _setIntegerValue:forKey:]):
1734         (-[WebPreferences _floatValueForKey:]):
1735         (-[WebPreferences _setFloatValue:forKey:]):
1736         (-[WebPreferences _boolValueForKey:]):
1737         (-[WebPreferences _setBoolValue:forKey:]):
1738         * WebView/WebPreferencesPrivate.h:
1739
1740 2006-02-20  Darin Adler  <darin@apple.com>
1741
1742         Collaborated with Graham Dennis <Graham.Dennis@gmail.com> on this.
1743
1744         - WebKit part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6831
1745           contentEditable outline darkens as caret moves
1746
1747         * WebCoreSupport/WebGraphicsBridge.m:
1748         (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:]):
1749         Replaced the old bridge function that set up style with this one that renders a path.
1750
1751 2006-02-19  Darin Adler  <darin@apple.com>
1752
1753         Reviewed by Maciej.
1754
1755         - cut out a little unneeded bridge code
1756
1757         * WebCoreSupport/WebFrameBridge.m:
1758         (-[WebFrameBridge webView]): Added. Helper, since the WebCore side of the bridge no longer
1759         has this method.
1760         (-[WebFrameBridge createWindowWithURL:]): Removed the frameName parameter -- this is now
1761         handled on the WebCore side. Also return a page bridge instead of a frame bridge.
1762         (-[WebFrameBridge createModalDialogWithURL:]): Changed to return a page bridge instead of
1763         a frame bridge.
1764
1765         * WebView/WebFrame.m: (-[WebFrame webView]): Change to get the webView from the page bridge
1766         instead of the frame bridge, since it's a per-page thing.
1767
1768         * WebView/WebView.m: Removed init method since it just does what the default does (calls
1769         initWithFrame: with a zero rect).
1770         (-[WebView initWithCoder:]): Added checking so that if the obejcts have the wrong type
1771         we will fail gracefully instead of hitting "method not found" and the like.
1772         (-[WebView setPreferencesIdentifier:]): Fix storage leak. The WebPreferences object was
1773         not released.
1774         (-[WebView mainFrame]): Removed excess "return nil".
1775         (-[WebView _pageBridge]): Added. Helper to let you go from the WebView to the bridge
1776         from outside the WebView class.
1777         * WebView/WebViewInternal.h: Put _pageBridge into an internal header.
1778
1779         * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge outerView]): Added. Replaces "webView"
1780         as public method to tell the WebCore side about the view everything's embedded in.
1781
1782         - other cleanup
1783
1784         * WebCoreSupport/WebPageBridge.h: Removed some unneeded declarations.
1785
1786         * Plugins/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]):
1787         Rearrange code so it doesn't have to get the main frame twice.
1788
1789 2006-02-18  Maciej Stachowiak  <mjs@apple.com>
1790
1791         Not reviewed.
1792         
1793         - fix build broken by my last checkin, the remaining code was not doing anything.
1794
1795         * WebView/WebDataSource.m:
1796         * WebView/WebDataSourcePrivate.h:
1797         * WebView/WebFrame.m:
1798         (-[WebFrame _createPageCacheForItem:]):
1799
1800 2006-02-16  Maciej Stachowiak  <mjs@apple.com>
1801
1802         Reviewed by Darin.
1803         
1804         - removed a few unused fields and methods of WebDataSource
1805
1806         * WebView/WebDataSource.m:
1807         * WebView/WebDataSourcePrivate.h:
1808         * WebView/WebView.m:
1809         (+[WebView _MIMETypeForFile:]):
1810         (-[WebView _updateWebCoreSettingsFromPreferences:]):
1811
1812 2006-02-15  Justin Garcia  <justin.garcia@apple.com>
1813
1814         Reviewed by darin
1815         
1816         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7148>
1817         Add drag and drop support to DumpRenderTree
1818         
1819         Added a UI delegate method so that DumpRenderTree can perform dragging on its own.
1820         Made _updateFocusState SPI, to allow us to test the behavior and appearance of
1821         windows that have or don't have focus.
1822
1823         * WebView/WebHTMLView.m:
1824         (-[WebHTMLView _updateFocusState]):
1825         (-[NSArray viewDidMoveToWindow]):
1826         (-[NSArray windowDidBecomeKey:]):
1827         (-[NSArray windowDidResignKey:]):
1828         (-[NSArray dragImage:at:offset:event:pasteboard:source:slideBack:]):
1829         (-[NSArray becomeFirstResponder]):
1830         (-[NSArray resignFirstResponder]):
1831         (-[WebHTMLView _formControlIsResigningFirstResponder:]):
1832         * WebView/WebHTMLViewInternal.h:
1833         * WebView/WebHTMLViewPrivate.h:
1834         * WebView/WebUIDelegatePrivate.h:
1835         * WebView/WebView.m:
1836
1837 2006-02-15  Darin Adler  <darin@apple.com>
1838
1839         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
1840
1841 2006-02-15  Maciej Stachowiak  <mjs@apple.com>
1842
1843         Rubber stamped by Anders.
1844
1845         * WebView/WebControllerPolicyHandlerDelegate.h: Removed.
1846
1847 2006-02-15  Maciej Stachowiak  <mjs@apple.com>
1848
1849         Reviewed by Anders.
1850         
1851         - remove some voodoo code
1852
1853         * WebView/WebDataSource.m:
1854         (-[WebDataSource _setLoading:]): Removed useless ref/deref of self and WebView.
1855         A WebDataSource cannot be loading unless it is still connected to the WebView that
1856         owns it and retained by it, because getting disconnected stops loading.
1857
1858 2006-02-13  Maciej Stachowiak  <mjs@apple.com>
1859
1860         Reviewed by Anders.
1861         
1862         Improvements to frame loading:
1863         
1864         - remove LayoutAcceptable state entirely
1865         - fix WebImageView to work right without LayoutAcceptable state
1866         - move guts of commitIfReady: to WebFrame
1867         - try to separate page cache loading from normal loading a bit more
1868
1869         * English.lproj/StringsNotToBeLocalized.txt:
1870         * WebView/WebDataSource.m:
1871         (-[WebDataSource _prepareForLoadStart]):
1872         (-[WebDataSource _loadFromPageCache:]):
1873         (-[WebDataSource _startLoading]):
1874         (-[WebDataSource _commitIfReady]):
1875         (-[WebDataSource _setupForReplaceByMIMEType:]):
1876         * WebView/WebDataSourcePrivate.h:
1877         * WebView/WebFrame.m:
1878         (-[WebFrame _transitionToCommitted:]):
1879         (-[WebFrame _commitProvisionalLoad:]):
1880         (-[WebFrame _checkLoadCompleteForThisFrame]):
1881         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
1882         * WebView/WebFramePrivate.h:
1883         * WebView/WebImageRepresentation.h:
1884         * WebView/WebImageRepresentation.m:
1885         * WebView/WebImageView.m:
1886         (-[WebImageView dataSourceUpdated:]):
1887         (-[WebImageView setNeedsLayout:]):
1888         (-[WebImageView writeImageToPasteboard:types:]):
1889         (-[WebImageView copy:]):
1890         (-[WebImageView mouseDragged:]):
1891         * WebView/WebView.m:
1892         (-[WebView _finishedLoadingResourceFromDataSource:]):
1893         (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]):
1894
1895 2006-02-13  John Sullivan  <sullivan@apple.com>
1896
1897         Reviewed by Tim Omernick.
1898
1899         Support for highlighting multiple text matches.
1900
1901         * WebView/WebHTMLViewPrivate.h:
1902         * WebView/WebHTMLView.m:
1903         (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]):
1904         new method, calls through to bridge
1905         (-[WebHTMLView clearHighlightedMatches]):
1906         ditto
1907
1908         * WebView/WebViewPrivate.h:
1909         * WebView/WebView.m:
1910         (-[WebView highlightAllMatchesForString:caseSensitive:]):
1911         new method, calls through to documentView. For now this is hardwired to only work
1912         with WebHTMLViews.
1913         (-[WebView clearHighlightedMatches]):
1914         ditto
1915
1916 2006-02-13  Darin Adler  <darin@apple.com>
1917
1918         Reviewed by Maciej.
1919
1920         - move pointer from frame to page over to WebCore
1921
1922         * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge initWithMainFrameName:webView:frameView:]):
1923         Call super init to create the page before creating the main frame and calling setMainFrame: with it.
1924
1925         * WebCoreSupport/WebFrameBridge.h: Remove page pointer, and change init function parameters.
1926         * WebCoreSupport/WebFrameBridge.m:
1927         (-[WebFrameBridge initMainFrameWithPage:frameName:view:]): New function that is used only for
1928         the main frame. Passes the page over to the other side of the bridge.
1929         (-[WebFrameBridge initSubframeWithRenderer:frameName:view:]): New function that is used only for
1930         subframes. Passes the renderer over to the other side of the bridge.
1931         (-[WebFrameBridge mainFrame]):
1932         (-[WebFrameBridge webView]):
1933         (-[WebFrameBridge createWindowWithURL:frameName:]):
1934         (-[WebFrameBridge showWindow]):
1935         (-[WebFrameBridge areToolbarsVisible]):
1936         (-[WebFrameBridge setToolbarsVisible:]):
1937         (-[WebFrameBridge isStatusbarVisible]):
1938         (-[WebFrameBridge setStatusbarVisible:]):
1939         (-[WebFrameBridge setWindowFrame:]):
1940         (-[WebFrameBridge windowFrame]):
1941         (-[WebFrameBridge setWindowContentRect:]):
1942         (-[WebFrameBridge windowContentRect]):
1943         (-[WebFrameBridge setWindowIsResizable:]):
1944         (-[WebFrameBridge windowIsResizable]):
1945         (-[WebFrameBridge firstResponder]):
1946         (-[WebFrameBridge makeFirstResponder:]):
1947         (-[WebFrameBridge closeWindowSoon]):
1948         (-[WebFrameBridge runJavaScriptAlertPanelWithMessage:]):
1949         (-[WebFrameBridge runJavaScriptConfirmPanelWithMessage:]):
1950         (-[WebFrameBridge canRunBeforeUnloadConfirmPanel]):
1951         (-[WebFrameBridge runBeforeUnloadConfirmPanelWithMessage:]):
1952         (-[WebFrameBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
1953         (-[WebFrameBridge addMessageToConsole:]):
1954         (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
1955         (-[WebFrameBridge setStatusText:]):
1956         (-[WebFrameBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1957         (-[WebFrameBridge focusWindow]):
1958         (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
1959         (-[WebFrameBridge userAgentForURL:]):
1960         (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
1961         (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]):
1962         (-[WebFrameBridge defersLoading]):
1963         (-[WebFrameBridge setDefersLoading:]):
1964         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
1965         (-[WebFrameBridge _preferences]):
1966         (-[WebFrameBridge selectWordBeforeMenuEvent]):
1967         (-[WebFrameBridge historyLength]):
1968         (-[WebFrameBridge canGoBackOrForward:]):
1969         (-[WebFrameBridge goBackOrForward:]):
1970         (-[WebFrameBridge print]):
1971         (-[WebFrameBridge pollForAppletInView:]):
1972         (-[WebFrameBridge respondToChangedContents]):
1973         (-[WebFrameBridge respondToChangedSelection]):
1974         (-[WebFrameBridge undoManager]):
1975         (-[WebFrameBridge issueCutCommand]):
1976         (-[WebFrameBridge issueCopyCommand]):
1977         (-[WebFrameBridge issuePasteCommand]):
1978         (-[WebFrameBridge issuePasteAndMatchStyleCommand]):
1979         (-[WebFrameBridge canPaste]):
1980         (-[WebFrameBridge overrideMediaType]):
1981         (-[WebFrameBridge isEditable]):
1982         (-[WebFrameBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
1983         (-[WebFrameBridge shouldBeginEditing:]):
1984         (-[WebFrameBridge shouldEndEditing:]):
1985         (-[WebFrameBridge windowObjectCleared]):
1986         (-[WebFrameBridge spellCheckerDocumentTag]):
1987         (-[WebFrameBridge isContinuousSpellCheckingEnabled]):
1988         (-[WebFrameBridge didFirstLayout]):
1989         (-[WebFrameBridge dashboardRegionsChanged:]):
1990         (-[WebFrameBridge createModalDialogWithURL:]):
1991         (-[WebFrameBridge canRunModal]):
1992         (-[WebFrameBridge runModal]):
1993         Change all calls to [_page webView] to use [self webView] instead.
1994
1995 === WebKit-521.7
1996
1997 2006-02-11  Maciej Stachowiak  <mjs@apple.com>
1998
1999         Reviewed by Hyatt.
2000         
2001         - factor WebArchive creation code out of other classes into new WebArchiver
2002         http://bugzilla.opendarwin.org/show_bug.cgi?id=7208
2003
2004         * DOM/WebDOMOperations.m:
2005         (-[DOMNode webArchive]):
2006         (-[DOMRange webArchive]):
2007         * WebKit.xcodeproj/project.pbxproj:
2008         * WebView/WebArchiver.h: Added.
2009         * WebView/WebArchiver.m: Added.
2010         (+[WebArchiver _subframeArchivesForFrame:]):
2011         (+[WebArchiver archiveFrame:]):
2012         (+[WebArchiver _archiveCurrentStateForFrame:]):
2013         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
2014         (+[WebArchiver archiveRange:]):
2015         (+[WebArchiver archiveNode:]):
2016         (+[WebArchiver archiveSelectionInFrame:]):
2017         * WebView/WebDataSource.m:
2018         (-[WebDataSource webArchive]):
2019         * WebView/WebDataSourcePrivate.h:
2020         * WebView/WebHTMLView.m:
2021         (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
2022         (-[WebHTMLView _writeSelectionToPasteboard:]):
2023         * WebView/WebHTMLViewPrivate.h:
2024
2025 2006-02-11  Darin Adler  <darin@apple.com>
2026
2027         * English.lproj/StringsNotToBeLocalized.txt: Updated paths for recent changes in directory structure.
2028
2029 2006-02-11  David Kilzer  <ddkilzer@kilzer.net>
2030
2031         Reviewed by John Sullivan.
2032
2033         - Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7171
2034         No description in WebKitErrors.m for WebKitErrorPlugInWillHandleLoad
2035
2036         * English.lproj/Localizable.strings: Added new UI_STRING().
2037         * Misc/WebKitErrors.m: Added #define for description.
2038         (registerErrors): Added dictionary entry.
2039
2040 2006-02-09  Tim Omernick  <timo@apple.com>
2041
2042         Reviewed by Tim Hatcher.
2043
2044         <rdar://problem/4153419> CrashTracer: 576 crashes in Safari at com.apple.WebKit: NPN_DestroyStream + 56
2045
2046         I never could reproduce this crasher, which seems to be caused by the Speed Download plugin.  However,
2047         I did find a way to make the affected code more bulletproof for those who are experiencing the crash.
2048         
2049         * Plugins/WebBaseNetscapePluginStream.h:
2050         Keep a WebBaseNetscapePluginView instead of the WebNetscapePluginPackage, since the plugin view could
2051         potentially be deallocated before the stream finishes loading.
2052         * Plugins/WebBaseNetscapePluginStream.m:
2053         (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
2054         Use pluginView instead of plugin.
2055         (-[WebBaseNetscapePluginStream dealloc]):
2056         Assert that the plugin instance has been nulled out, since that's now part of the stream's teardown
2057         phase.
2058         Release pluginView instead of plugin.
2059         (-[WebBaseNetscapePluginStream setPluginPointer:]):
2060         Retain the plugin view instead of the plugin package, since the plugin view could be deallocated while
2061         the stream is running.
2062         This method now accepts a NULL argument so that we can easily clear out the pluginView backpointer
2063         (and other ivars derived from it).
2064         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
2065         Use pluginView instead of plugin.
2066         (-[WebBaseNetscapePluginStream _destroyStream]):
2067         ditto
2068         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
2069         ditto
2070         (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError]):
2071         Set the plugin instance to NULL, so that the pluginView backpointer is released.  This method is called
2072         for every plugin view's stream when the plugin view is stopped/destroyed.
2073         (-[WebBaseNetscapePluginStream _deliverData]):
2074         Use pluginView instead of plugin.
2075
2076 == Rolled over to ChangeLog-2006-02-09 ==