d6e45b4ec02e8dcffef28f078dfcae48f6a5116f
[WebKit-https.git] / WebKit / ChangeLog
1 2006-06-01  Anders Carlsson  <acarlsson@apple.com>
2
3         Reviewed by Darin.
4
5         * WebView/WebFrameView.m:
6         (+[WebFrameView _canShowMIMETypeAsHTML:]):
7         Use _webkit_objectForMIMEType here so we'll get an object back for "text/".
8
9 2006-05-31  David Hyatt  <hyatt@apple.com>
10
11         Make programmatic focus/blur actually work on sub-frames.  Make the
12         top-level UI delegate get called for deactivation of windows.
13
14         Reviewed by darin
15
16         * WebCoreSupport/WebFrameBridge.m:
17         (-[WebFrameBridge activateWindow]):
18         (-[WebFrameBridge deactivateWindow]):
19         (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
20         (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
21         * WebKit.xcodeproj/project.pbxproj:
22
23 === WebKit-521.12 ===
24
25 2006-05-26  David Harrison  <harrison@apple.com>
26
27         Reviewed by John Sullivan.
28
29         <rdar://problem/4514529> Add a list type parameter and a return value to _increaseSelectionListLevel
30
31         * WebView/WebHTMLView.m:
32         (-[WebHTMLView _increaseSelectionListLevel]):
33         - Now returns DOMNode*
34
35         (-[WebHTMLView _increaseSelectionListLevelOrdered]):
36         (-[WebHTMLView _increaseSelectionListLevelUnordered]):
37         - Added.  These also return DOMNode*
38
39         * WebView/WebHTMLViewPrivate.h:
40         - Updated as above
41
42 2006-05-25  Tim Omernick  <timo@apple.com>
43
44         Reviewed by Anders.
45
46         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8347>
47         REGRESSION: Flash movie audible but not visible until window is resized
48
49         * Plugins/WebNetscapePluginDocumentView.m:
50         (-[WebNetscapePluginDocumentView dataSourceUpdated:]):
51         Layout if needed here.  Maciej recently removed the "LayoutAcceptable" frame state, which used to
52         cause plugin document views to lay out immediately upon receiving data.  This call to -layout has
53         the same effect.
54
55 === WebKit-521.11.1 ===
56
57 2006-05-25  Timothy Hatcher  <timothy@apple.com>
58
59         Reviewed by Tim O.
60
61         <rdar://problem/4559808> WebKit fails to compile for ppc64
62         <rdar://problem/4522085> 64-bit: WebKit uses FSSpec which is not available in 64-bit
63         Gets WebKit building under 64-bit. Rename WebNSInt and WebNSUInt to WebNSInteger and WebNSUInteger.
64         Start using WebNSInteger where we need to match AppKit API usage of NSInteger.
65
66         HIWebView and a couple of helper functions are disabled until they can be moved off of QuickDraw.
67         <rdar://problem/4561772> HIWebView needs to be reworked to not use QuickDraw, needed for 64-bit
68
69         * Carbon/CarbonUtils.m: disabled this file in 64-bit <rdar://problem/4561772>
70         * Carbon/CarbonWindowAdapter.m:
71         (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
72         * Carbon/CarbonWindowFrame.m:
73         (+[CarbonWindowFrame frameRectForContentRect:styleMask:]):
74         (+[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
75         (+[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
76         (-[CarbonWindowFrame frameRectForContentRect:styleMask:]):
77         (-[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
78         (-[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
79         * Carbon/HIViewAdapter.m: disabled this file in 64-bit <rdar://problem/4561772>
80         * Carbon/HIWebView.m: disabled this file in 64-bit <rdar://problem/4561772>
81         (HIWebViewEventHandler):
82         * DefaultDelegates/WebDefaultResourceLoadDelegate.m:
83         (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]):
84         * History/WebBackForwardList.m:
85         (-[WebBackForwardList removeItem:]):
86         (-[WebBackForwardList goToItem:]):
87         * Misc/WebDownload.m:
88         (-[WebDownloadInternal download:didReceiveDataOfLength:]):
89         * Misc/WebFileDatabase.m:
90         (UniqueFilePathForKey):
91         * Misc/WebIconDatabase.m:
92         (-[NSMutableDictionary retainIconForURL:]):
93         (-[NSMutableDictionary releaseIconForURL:]):
94         (-[WebIconDatabase _totalRetainCountForIconURLString:]):
95         (-[WebIconDatabase _retainIconForIconURLString:]):
96         (-[WebIconDatabase _releaseIconForIconURLString:]):
97         * Misc/WebSearchableTextView.m:
98         (-[NSString selectionRect]):
99         * Misc/WebTypesInternal.h: Added.
100         * Plugins/WebBaseNetscapePluginStream.m:
101         (-[WebBaseNetscapePluginStream _destroyStream]):
102         (CarbonPathFromPOSIXPath):
103         * Plugins/WebBaseNetscapePluginView.m:
104         (-[WebBaseNetscapePluginView sendActivateEvent:]):
105         (-[WebBaseNetscapePluginView sendUpdateEvent]):
106         (TSMEventHandler):
107         (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):
108         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
109         (-[NSData _web_locationAfterFirstBlankLine]):
110         * Plugins/WebBasePluginPackage.m:
111         (-[WebBasePluginPackage hash]):
112         * Plugins/WebNetscapePluginPackage.m:
113         (-[WebNetscapePluginPackage load]):
114         (functionPointerForTVector):
115         * WebInspector/WebInspector.m:
116         (-[WebInspector _updateSystemColors]):
117         * WebKit.xcodeproj/project.pbxproj:
118         * WebView/WebDataSource.m:
119         (-[WebDataSource _didReceiveData:contentLength:forResource:]):
120         * WebView/WebFrame.m:
121         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
122         * WebView/WebHTMLView.m:
123         (-[NSArray drawRect:]):
124         (-[WebHTMLView characterIndexForPoint:]):
125         (-[WebHTMLView conversationIdentifier]):
126         * WebView/WebResourceLoadDelegate.h:
127         * WebView/WebUIDelegate.h:
128         * WebView/WebView.h:
129         * WebView/WebView.m:
130         (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
131         (-[WebView spellCheckerDocumentTag]):
132         * WebView/WebViewInternal.h:
133         * WebView/WebViewPrivate.h:
134
135 === WebKit-521.11 ===
136
137 2006-05-23  Maciej Stachowiak  <mjs@apple.com>
138
139         Reviewed by Tim.
140         
141         - more loader refactoring to simplify things and remove knowledge of WebView from WebSubresourceLoader
142
143         * WebCoreSupport/WebSubresourceLoader.m:
144         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
145         (-[WebSubresourceLoader didReceiveResponse:]):
146         * WebView/WebDataSource.m:
147         (-[WebDataSource _loadIcon]):
148         (-[WebDataSource _startLoading]):
149         * WebView/WebFrame.m:
150         (-[WebFrame _loadRequest:archive:]):
151         (-[WebFrame _loadItem:withLoadType:]):
152         (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
153         (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
154         (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
155         * WebView/WebFrameInternal.h:
156         * WebView/WebFramePrivate.h:
157         * WebView/WebLoader.h:
158         * WebView/WebLoader.m:
159         * WebView/WebMainResourceLoader.m:
160         (-[WebMainResourceLoader initWithDataSource:]):
161         (-[WebMainResourceLoader didReceiveResponse:]):
162
163 2006-05-23  Tim Omernick  <timo@apple.com>
164
165         Reviewed by John Sullivan.
166
167         <rdar://problem/4558301> REGRESSION (420+): After clearing history and closing bookmark view window,
168         attempting to select Safari's menu bar results in a crash
169
170         * Misc/WebNSWindowExtras.m:
171         (replacementPostWindowNeedsDisplay):
172         My fix yesterday for 4557117 was not quite good enough.  Now that we cancel the display timer for a
173         window *before* it deallocates, we need to make sure that while a window deallocates, no new display
174         timers are scheduled for that window.  This is actually possible, as 4558301 demonstrates.
175         Luckily, NSWindow sets a handy "windowDying" flag when it deallocates, so we can just check that flag
176         and bail out of the throttle hack if it is set.  This should fix the last of the crashes involving
177         display timers scheduled for deallocated or deallocating windows.
178
179 2006-05-23  Maciej Stachowiak  <mjs@apple.com>
180
181         Reviewed by Eric.
182         
183         - remove knowledge of WebView from WebLoader in preparation for moving the code down
184
185         * WebView/WebDataSource.m:
186         (-[WebDataSource _defersCallbacks]):
187         (-[WebDataSource _identifierForInitialRequest:]):
188         (-[WebDataSource _willSendRequest:forResource:redirectResponse:]):
189         (-[WebDataSource _didReceiveAuthenticationChallenge:forResource:]):
190         (-[WebDataSource _didCancelAuthenticationChallenge:forResource:]):
191         (-[WebDataSource _didReceiveResponse:forResource:]):
192         (-[WebDataSource _didReceiveData:contentLength:forResource:]):
193         (-[WebDataSource _didFinishLoadingForResource:]):
194         (-[WebDataSource _didFailLoadingWithError:forResource:]):
195         (-[WebDataSource _downloadWithLoadingConnection:request:response:proxy:]):
196         (-[WebDataSource _privateBrowsingEnabled]):
197         * WebView/WebDataSourceInternal.h:
198         * WebView/WebLoader.h:
199         * WebView/WebLoader.m:
200         (-[WebLoader releaseResources]):
201         (-[WebLoader setDataSource:]):
202         (-[WebLoader willSendRequest:redirectResponse:]):
203         (-[WebLoader didReceiveAuthenticationChallenge:]):
204         (-[WebLoader didCancelAuthenticationChallenge:]):
205         (-[WebLoader didReceiveResponse:]):
206         (-[WebLoader didReceiveData:lengthReceived:]):
207         (-[WebLoader signalFinish]):
208         (-[WebLoader didFinishLoading]):
209         (-[WebLoader didFailWithError:]):
210         (-[WebLoader willCacheResponse:]):
211         (-[WebLoader cancelWithError:]):
212         * WebView/WebMainResourceLoader.m:
213         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
214         * WebView/WebView.m:
215         (-[WebView _incrementProgressForIdentifier:response:]):
216         (-[WebView _incrementProgressForIdentifier:data:]):
217         (-[WebView _completeProgressForIdentifier:]):
218         * WebView/WebViewInternal.h:
219
220 === WebKit-521.10 ===
221
222 2006-05-22  Tim Omernick  <timo@apple.com>
223
224         Reviewed by Geoff.
225
226         <rdar://problem/4557117> TOT REGRESSION: Repro crash in cancelPendingWindowDisplay --> _timerRelease when
227         opening file from file open dialog
228
229         Note that I could not reproduce this situation at all on any of my machines; I had to debug this on Geoff's
230         machine.
231
232         * Misc/WebNSWindowExtras.m:
233         (replacementDealloc):
234         Cancel display timer before dealloc, not after.  Cancelling the timer can cause a message to be sent to the
235         window; best to do that before the window deallocates.
236         (replacementFinalize):
237         ditto
238
239 2006-05-20  Maciej Stachowiak  <mjs@apple.com>
240
241         Reviewed by Beth.
242         
243         - fix assertion failure on layout tests
244
245         * WebView/WebDataSource.m:
246         (-[WebDataSource _mainReceivedError:complete:]): Don't do anything
247         if this data source is no longer connected to a frame. Used to be
248         this couldn't happen because the WebView would have been nil, but
249         we no longer go through the WebView.
250
251 2006-05-20  Timothy Hatcher  <timothy@apple.com>
252
253         Reviewed by Anders.
254
255         Bug 9018: REGRESSION: resizing the top area of the inspector does not grow as expected
256         http://bugzilla.opendarwin.org/show_bug.cgi?id=9018
257         
258         Use clientHeight now that offsetHeight includes the border and padding.
259         clientHeight should have been used initially.
260
261         * WebInspector/WebInspector.m:
262         (-[WebInspector resizeTopArea]):
263
264 2006-05-18  Maciej Stachowiak  <mjs@apple.com>
265
266         Reviewed by Eric.
267         
268         - remove loading-related code from WebView
269         http://bugzilla.opendarwin.org/show_bug.cgi?id=8981
270
271         * Plugins/WebNetscapePluginStream.m:
272         (-[WebNetscapePlugInStreamLoader didFinishLoading]):
273         (-[WebNetscapePlugInStreamLoader didFailWithError:]):
274         * WebCoreSupport/WebSubresourceLoader.m:
275         (-[WebSubresourceLoader receivedError:]):
276         (-[WebSubresourceLoader signalFinish]):
277         * WebView/WebDataSource.m:
278         (-[WebDataSource _stopLoading]):
279         (-[WebDataSource _receivedMainResourceError:complete:]):
280         (-[WebDataSource _finishedLoadingResource]):
281         (-[WebDataSource _mainReceivedBytesSoFar:complete:]):
282         (-[WebDataSource _receivedError:]):
283         (-[WebDataSource _mainReceivedError:complete:]):
284         * WebView/WebDataSourceInternal.h:
285         * WebView/WebFrame.m:
286         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
287         * WebView/WebMainResourceLoader.m:
288         (-[WebMainResourceLoader didReceiveData:lengthReceived:]):
289         (-[WebMainResourceLoader didFinishLoading]):
290         * WebView/WebView.m:
291         * WebView/WebViewInternal.h:
292
293 2006-05-18  Tim Omernick  <timo@apple.com>
294
295         Reviewed by John Sullivan.
296
297         <rdar://problem/4551938> More options needed for window display throttle
298
299         We decided to play it safe and leave our window flushing behavior unchanged from the previous
300         public release.  By default, CoreGraphics deferred updates are once again OFF, and the window
301         display throttle is OFF.
302
303         Individual applications should set the WebKitThrottleWindowDisplayPreferenceKey and 
304         WebKitEnableDeferredUpdatesPreferenceKey defaults to suit their needs.
305
306         Old behavior (like 10.4.6): WebKitThrottleWindowDisplayPreferenceKey=0 (or unset), 
307         WebKitEnableDeferredUpdatesPreferenceKey (or unset).
308
309         Tear-free scrolling/animations: WebKitThrottleWindowDisplayPreferenceKey=0 (or unset),
310         WebKitEnableDeferredUpdatesPreferenceKey=1.  While this configuration fixes the tearing issues
311         caused by over-flushing, some applications will experience performance problems as over-flushing
312         with CG deferred updates enabled will cause the app to block.
313
314         Tear-free scrolling/animations, high performance: WebKitThrottleWindowDisplayPreferenceKey=1, 
315         WebKitEnableDeferredUpdatesPreferenceKey=1.  This is the riskiest configuration in that it
316         enables the window display throttle "feature", potentially breaking applications' assumptions
317         about when displays occur.  However, it provides the "best of both worlds", in that updates
318         are tear-free, and performance impact should me minimal.
319
320         * WebView/WebPreferenceKeysPrivate.h:
321         Declared WebKitThrottleWindowDisplayPreferenceKey and WebKitEnableDeferredUpdatesPreferenceKey.
322
323         * WebView/WebFrameView.m:
324         (-[WebFrameView initWithFrame:]):
325         Turn off CG deferred updates if WebKitEnableDeferredUpdatesPreferenceKey is NO or has no value.
326         Added some comments.
327
328 2006-05-18  John Sullivan  <sullivan@apple.com>
329
330         Reviewed by Darin Adler.
331         
332         - fixed <rdar://problem/4552713> REGRESSION: WebFrameView no longer responds to responder methods sent by Safari code
333
334         * WebView/WebView.m:
335         (-[WebView _responderForResponderOperations]):
336         Treat sibling views of the main frameView the same as views outside of the webview for the purposes of this mechanism.
337
338 2006-05-18  Tim Omernick  <timo@apple.com>
339
340         Reviewed by John Sullivan.
341
342         <rdar://problem/4553450> Make disabling window throttle safer
343
344         * Misc/WebNSWindowExtras.m:
345         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
346         Don't assume that +_webkit_disableWindowDisplayThrottle restored the NSWindow method implementations; 
347         now we'll only swizzle them once, and our replacement IMPs will call the old IMPs when the window
348         throttle is disabled.  This is a safer approach when other components/"haxies" override the same methods
349         that we are overriding, as it allows the overrides to "chain" properly.
350         Moved the dictionary initialization code down a bit.  The order doesn't matter here.
351         (disableWindowDisplayThrottleApplierFunction):
352         Noticed that this could have been written safer with respect to the timer having the last reference to
353         the window.  I never experienced a crash here, but this code is definitely safer.
354         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
355         Don't restore NSWindow method implementations; just clear the flag, flush pending displays, and destroy
356         the dictionary.
357         (replacementPostWindowNeedsDisplay):
358         If throttling is disabled, just call the original IMP.
359         (clearWindowDisplayInfo):
360         Added an assert.
361         (replacementDealloc):
362         Don't call clearWindowDisplayInfo() when throttling is disabled.
363         (replacementFinalize):
364         ditto
365         (cancelPendingWindowDisplay):
366         Removed an unnecessary assertion.
367
368 2006-05-17  Tim Omernick  <timo@apple.com>
369
370         Reviewed by Kevin Decker and John Sullivan.
371
372         <rdar://problem/4550801> REGRESSION: Window throttle code can sometimes leak NSWindows
373
374         The window display throttle depended on windows being closed before they were deallocated; this is
375         not guaranteed by AppKit.  Windows that were being released without being closed were getting stuck
376         in our NSWindow -> WindowDisplayInfo dictionary.
377         
378         * Misc/WebNSWindowExtras.m:
379         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
380         Don't retain the NSWindow keys in the window display info dictionary.
381         Instead of overriding -close, override -dealloc and -finalize so that we can remove the NSWindow ->
382         WindowDisplayInfo mapping when a window deallocates.
383         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
384         Restore -dealloc and -finalize.
385         (clearWindowDisplayInfo):
386         Factored the WindowDisplayInfo cleanup code out of the now-defunct replacementClose().
387         (replacementClose):
388         Removed; no longer needed.
389         (replacementDealloc):
390         Clear the WindowDisplayInfo for the window after deallocation.
391         (replacementFinalize):
392         ditto
393         (-[NSWindow _webkit_doPendingPostWindowNeedsDisplay:]):
394         Rewrote this method to be safe in the case where the firing display timer has the last reference to the
395         window.
396         Added comments.
397         
398 2006-05-17  bradeeoh  <beidson@apple.com>
399
400         Reviewed by Tim Hatcher
401
402         Consolidated WebDatabase base class into WebFileDatabase as the inheritance relationship became 
403         obsolete.  This improves readability and sets the stage for a further in-depth rewrite of the 
404         WebIcon* code.
405
406         * Misc/WebDatabase.h: Removed.
407         * Misc/WebDatabase.m: Removed.
408         * Misc/WebFileDatabase.h:
409         * Misc/WebFileDatabase.m:
410         (-[WebFileDatabaseOp dealloc]): 
411         (-[WebFileDatabase dealloc]):  
412         (-[WebFileDatabase path]):
413         (-[WebFileDatabase isOpen]):
414         (-[WebFileDatabase sizeLimit]):
415         * WebKit.xcodeproj/project.pbxproj:
416
417 2006-05-17  Adele Peterson  <adele@apple.com>
418
419         Reviewed by Hyatt.
420
421         WebKit part of initial checkin to prepare for http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
422         Switch to use new text field implementation for <textarea>
423
424         * WebView/WebHTMLView.m:
425         (-[NSArray insertNewline:]): If we're in plain text mode, insert a line break instead of a paragraph separator.
426         (-[NSArray insertParagraphSeparator:]): ditto.
427         * WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]):
428         Checks for textareas as well as textfields before allowing the delegate to control
429         the context menu.  This won't affect the old textareas because AppKit handles those context menus.
430
431 2006-05-17  John Sullivan  <sullivan@apple.com>
432
433         Reviewed by Maciej.
434
435         First step towards making text-matching mechanism more flexible; updated for changes
436         to WebCoreFrameBridge calls.
437
438         * WebView/WebHTMLView.m:
439         (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]):
440         updated for name change in WebCoreFrameBridge, also now calls setMarkedTextMatchesAreHighlighted:
441         (-[WebHTMLView clearHighlightedMatches]):
442         updated for name change in WebCoreFrameBridge
443
444 2006-05-16  Matt Gough  <matt@softchaos.com>
445
446         Reviewed by Geoff.
447         
448         Ensured all the public headers have a newline at their end.
449
450         Client code can now have 'Missing Newline at end of File' warnings enabled without emitting
451         such warnings against any WebKit includes.
452
453         * Misc/WebDownload.h:
454         * Plugins/npfunctions.h:
455         * WebView/WebResourceLoadDelegate.h:
456         * WebView/WebUIDelegate.h:
457         * WebView/WebView.h:
458
459 2006-05-16  Tim Omernick  <timo@apple.com>
460
461         Reviewed by Tim Hatcher.
462
463         http://bugzilla.opendarwin.org/show_bug.cgi?id=8945 (REGRESSION: Scrolling is very slow when dragging
464         the thumb)
465
466         Rolled out one of my tweaks to the window display throttle hack (remember the last flush time instead
467         of the last display time).  While that was technically a better approach, we discovered a problem
468         with how it interacts with NSView scroll tracking.  Rather than further complicate this already
469         crazy hack, I'm reverting back to the simple version.  This should yield similar numbers on iBench,
470         but not exhibit the nasty scrolling problem.
471         
472         * Misc/WebNSWindowExtras.m:
473         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
474         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
475         (getWindowDisplayInfo):
476         (requestWindowDisplay):
477
478 2006-05-16  bradeeoh  <beidson@apple.com>
479
480         Reviewed by Maciej Stachowiak
481
482         - Fixed an old deprecated method in Misc/WebFileDatabase.m
483
484         * Misc/WebFileDatabase.m:
485         (UniqueFilePathForKey):  changed `lossyCString` to `UTF8String`
486
487 2006-05-16  Darin Adler  <darin@apple.com>
488
489         Reviewed by Anders.
490
491         - did the name change from "ImageElement" to "ImageForElement" that I said I would
492           (oops!)
493
494         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
495         (-[WebDefaultUIDelegate copyImageToClipboard:]):
496         * Misc/WebNSPasteboardExtras.h:
497         * Misc/WebNSPasteboardExtras.m:
498         (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
499         * Misc/WebNSViewExtras.h:
500         * Misc/WebNSViewExtras.m:
501         (-[NSView _web_DragImageForElement:rect:event:pasteboard:source:offset:]):
502         * WebView/WebHTMLView.m:
503         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
504         * WebView/WebView.m:
505         (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]):
506         (-[WebView writeElement:withPasteboardTypes:toPasteboard:]):
507         * WebView/WebViewInternal.h:
508
509 2006-05-16  Darin Adler  <darin@apple.com>
510
511         Reviewed by Anders.
512
513         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8940
514           remove extra copy of image code
515
516         * English.lproj/StringsNotToBeLocalized.txt: Updated for many recent changes.
517
518         * WebKit.xcodeproj/project.pbxproj: Removed files.
519         * WebCoreSupport/WebImageData.h: Removed.
520         * WebCoreSupport/WebImageData.m: Removed.
521         * WebCoreSupport/WebImageDecodeItem.h: Removed.
522         * WebCoreSupport/WebImageDecodeItem.m: Removed.
523         * WebCoreSupport/WebImageDecoder.h: Removed.
524         * WebCoreSupport/WebImageDecoder.m: Removed.
525         * WebCoreSupport/WebImageRenderer.h: Removed.
526         * WebCoreSupport/WebImageRenderer.m: Removed.
527
528         * WebCoreSupport/WebImageRendererFactory.h:
529         * WebCoreSupport/WebImageRendererFactory.m: Removed everything except for
530         shouldUseThreadedDecoding, setShouldUseThreadedDecoding, and imageDataForName:.
531
532         * Misc/WebNSPasteboardExtras.h: Removed WebImageRenderer parameter from
533         _web_declareAndWriteDragImage and renamed _web_declareAndWriteDragImageElement.
534         * Misc/WebNSPasteboardExtras.m:
535         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Changed to
536         call +[WebFrameBridge supportedImageResourceMIMETypes] instead of
537         -[WebImageRendererFactory supportedMIMETypes].
538         (-[NSPasteboard _web_declareAndWriteDragImageElement:URL:title:archive:source:]):
539         Removed WebImageRenderer parameter, and updated code since it was always nil.
540
541         * Misc/WebNSViewExtras.h: Removed WebImageRenderer parameter from
542         _web_dragImage and renamed _web_dragImageElement.
543         * Misc/WebNSViewExtras.m:
544         (-[NSView _web_dragImageElement:rect:event:pasteboard:source:offset:]):
545         Removed WebImageRenderer parameter, and updated code since it was always nil.
546
547         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Added some new
548         functions now used by WebCore.
549
550         * WebView/WebDataSource.m: (-[WebDataSource _documentFragmentWithArchive:]):
551         Call +[WebFrameBridge supportedImageResourceMIMETypes] instead of
552         -[WebImageRendererFactory supportedMIMETypes].
553
554         * WebView/WebFrameView.m: Removed include of WebImageRenderer.h.
555
556         * WebView/WebHTMLRepresentation.m: (+[WebHTMLRepresentation supportedImageMIMETypes]):
557         Removed call to +[WebImageRendererFactory createSharedFactory].
558
559         * WebView/WebHTMLView.m:
560         (-[WebHTMLView _imageExistsAtPaths:]): Call +[WebFrameBridge supportedImageResourceMIMETypes]
561         instead of -[WebImageRendererFactory supportedMIMETypes].
562         (-[WebHTMLView _documentFragmentWithPaths:]): Ditto.
563         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Update
564         to no longer pass nil for an image to _web_declareAndWriteDragImageElement and to
565         _web_dragImageElement.
566         (-[WebHTMLView dealloc]): Remove call to now-unneeded _reset.
567         (-[WebHTMLView finalize]): Ditto.
568         (-[WebHTMLView viewDidMoveToWindow]): Remove logic for calling _reset, including the inWindow
569         boolean field.
570
571         * WebView/WebHTMLViewInternal.h: Removed inWindow boolean.
572         * WebView/WebHTMLViewPrivate.h: Removed _reset method.
573
574 2006-05-16  Darin Adler  <darin@apple.com>
575
576         Reviewed by Hyatt.
577
578         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8898
579           REGRESSION: Attempting to right-click image in own tab on website causes crash
580         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8919
581           REGRESSION: image could not be dragged, subsequent click-drag activity caused crash
582
583         These fixes may become obsolete when Anders lands his standalone image viewer
584         patch, but in my tree they are needed to make Copy Image work after the fix
585         over on the WebCore side to avoid the crashes.
586
587         * Misc/WebNSPasteboardExtras.h: Change _web_writeImage parameter to an NSImage.
588         * Misc/WebNSPasteboardExtras.m:
589         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Change parameter
590         to an NSImage instead of a WebImageRenderer.
591         (-[NSPasteboard _web_declareAndWriteDragImage:element:URL:title:archive:source:]):
592         Call -[WebImageRenderer image] to get an NSImage to pass to _web_writeImage.
593
594         * WebView/WebView.m: (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
595         Get the image using WebElementImageKey if WebElementDOMNodeKey is nil.
596
597 2006-05-16  Anders Carlsson  <acarlsson@apple.com>
598
599         Reviewed by Maciej.
600
601         http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
602         Use WebCore to render full-frame images
603         
604         * WebCoreSupport/WebFrameBridge.m:
605         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
606         Remove WebImageView handling.
607         
608         (-[WebFrameBridge mainResourceURLResponse]):
609         New function which returns the URL response for the main resource. This is used by the
610         manual loading of images.
611         
612         (-[WebFrameBridge imageTitleForFilename:size:]):
613         New function which returns a correctly translated image title given a filename and a size.
614         
615         * WebCoreSupport/WebImageRenderer.m:
616         (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
617         Remove WebImageView handling.
618         
619         * WebKit.xcodeproj/project.pbxproj:
620         Remove WebImageRepresentation and WebImageView.
621         
622         * WebView/WebArchiver.h:
623         * WebView/WebArchiver.m:
624         (+[WebArchiver archiveMainResourceForFrame:]):
625         New functions which returns a WebArchive with just the main resource, ignoring any subresources.
626         
627         * WebView/WebDataSource.m:
628         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
629         Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
630         
631         * WebView/WebFrameView.m:
632         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
633         Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
634         
635         (+[WebHTMLRepresentation supportedMIMETypes]):
636         Create an array of image and non-image MIME Types.
637         
638         (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
639         (+[WebHTMLRepresentation supportedImageMIMETypes]):
640         New functions, separating the list of MIME types into image and non-image ones.
641         
642         * WebView/WebHTMLView.m:
643         (+[WebHTMLView supportedImageMIMETypes]):
644         (+[WebHTMLView supportedNonImageMIMETypes]):
645         New functions which call down to WebHTMLRepresentation.
646         
647         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
648         If the image element comes from an ImageDocument, just use an archive of the main resource
649         instead of the generated HTML document.
650         
651         * WebView/WebHTMLViewPrivate.h:
652         Declare new functions.
653         
654         * WebView/WebImageRepresentation.h: Removed.
655         * WebView/WebImageRepresentation.m: Removed.
656         * WebView/WebImageView.h: Removed.
657         * WebView/WebImageView.m: Removed.
658         
659 2006-05-15  Tim Omernick  <timo@apple.com>
660
661         Reviewed by John Sullivan.
662
663         Part of <rdar://problem/4466508> Add 64-bit support to the Netscape Plugin API
664
665         Added to the Netscape Plugin API the concept of "plugin drawing models".  The drawing model
666         determines the kind of graphics context created by the browser for the plugin, as well as 
667         the Mac types of various Netscape Plugin API data structures.
668
669         There is a drawing model to represent the old QuickDraw-based API.  It is used by default
670         if QuickDraw is available on the system, unless the plugin specifies another drawing model.
671
672         The big change is the addition of the CoreGraphics drawing model.  A plugin may request this
673         drawing model to obtain access to a CGContextRef for drawing, instead of a QuickDraw CGrafPtr.
674
675         * Plugins/WebBaseNetscapePluginView.h:
676         Added PluginPort union, which wraps a NP_Port and a NP_CGContext.  This is to make access to
677         the nPort and lastSetPort ivars more convenient now that the port type differs based on the 
678         drawing model.
679         Changed types of nPort and lastSetPort to PluginPort so they can be used with any drawing model.
680         Added drawingModel ivar.
681         * Plugins/WebBaseNetscapePluginView.m:
682         Renamed PortState to PortState_QD.  PortState is now an opaque pointer.  PortState_QD cannot be
683         used if QuickDraw is unavailable.
684         (-[WebBaseNetscapePluginView fixWindowPort]):
685         Cannot be used if QuickDraw is unavailable.
686         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
687         Only fix window port if drawing model is QuickDraw.
688         Re-ordered some code so I could group QuickDraw-specific stuff into switch and if blocks (that's
689         why the diff here is so terrible).
690         Now returns a malloc()'ed PortState that the caller is responsible for freeing.  Renamed to
691         better reflect this behavior.
692         Support for the CoreGraphics drawing model -- fill PortState_CG struct, save CGContext state.
693         (-[WebBaseNetscapePluginView restorePortState:]):
694         Switch based on drawing model.
695         Support for the CoreGraphics drawing model -- restore CGContext state saved earlier.
696         (-[WebBaseNetscapePluginView sendEvent:]):
697         Formatting.
698         Don't set save/set port state or set the window in CoreGraphics mode unless the event being
699         sent is an updateEvt.  We can't provide the plugin with a CGContext outside of our view display
700         cycle.
701         Don't restore PortState if it's NULL (didn't used to be a pointer).  Free when we're done with it.
702         (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]):
703         Formatting.
704         Switch how we compare ports based on the drawing model.
705         (-[WebBaseNetscapePluginView updateAndSetWindow]):
706         Fixed for CoreGraphics by triggering a redisplay instead of sending an update event to the plugin
707         outside of the view display cycle.
708         Don't restore PortState if it's NULL (didn't used to be a pointer).  Free when we're done with it.
709         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
710         Assert that the window is only set when updating in CoreGraphics mode.
711         Log differently depending on the drawing model.
712         (-[WebBaseNetscapePluginView start]):
713         Fall back on QuickDraw if the plugin does not specify a drawing model.
714         (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
715         Cannot be used if QuickDraw is unavailable.
716         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
717         Only call -tellQuickTimeToChill in QuickDraw mode.
718         (-[WebBaseNetscapePluginView viewHasMoved:]):
719         ditto
720         (-[WebBaseNetscapePluginView invalidateRegion:]):
721         NPRegion is a CGPathRef in CoreGraphics mode.
722         (-[WebBaseNetscapePluginView getVariable:value:]):
723         Added support for retriveing the NPNVpluginDrawingModel, NPNVsupportsQuickDrawBool, and
724         NPNVsupportsCoreGraphicsBool browser variables.
725         (-[WebBaseNetscapePluginView setVariable:value:]):
726         Added support for setting the NPNVpluginDrawingModel variable.
727
728 2006-05-15  Tim Omernick  <timo@apple.com>
729
730         Reviewed by Kevin Decker.
731
732         Follow-up to my previous PLT fix.  I found upon further testing (by dramatically decreasing the
733         allowed display rate) that +_webkit_displayThrottledWindows did not always force a display when
734         necessary.  The reason is that I was not giving a proper timeout to CFRunLoopRunInMode().  I was
735         passing 0, which was causing only "expired" timers to fire.  This method is actually supposed to
736         block until all currently scheduled display timers fire.
737
738         I tested this change and found that it did not affect my PLT times when the display rate was
739         capped to 60 fps.  It also behaves as expected when the display rate is set much lower (say, 1
740         display per second); my previous fix did not work well at such display rates.
741
742         * Misc/WebNSWindowExtras.m:
743         (+[NSWindow _webkit_displayThrottledWindows]):
744         Run the runloop for an amount of time equal to the minimum allowed interval between displays.
745         This ensures that we'll block until all currently scheduled display timers fire (but we won't
746         block for future display timers).
747
748 2006-05-15  John Sullivan  <sullivan@apple.com>
749
750         Reviewed by Tim Omernick.
751         
752         - followup to previous fix; I hadn't tested quitting adequately
753
754         * WebView/WebHTMLView.m:
755         (-[WebHTMLView dealloc]):
756         call removeAllToolTips before clearing _private so that removeTrackingRect: override can work 
757         properly. Normally removeAllToolTips would be called by super, but that's too late.
758         (-[WebHTMLView finalize]):
759         ditto
760
761 2006-05-15  John Sullivan  <sullivan@apple.com>
762
763         Reviewed by Darin.
764         
765         - fixed <rdar://problem/4503016> TOT assertion failure in -[WebHTMLView(WebPrivate) removeTrackingRect:]
766         
767         We have some tricky code to deal with tracking rects, which succumbed to a fix in AppKit. Updated our
768         tricky code to work with the AppKit fix.
769
770         * WebView/WebHTMLViewInternal.h:
771         new instance variable lastToolTipTag
772         
773         * WebView/WebHTMLView.m:
774         (-[WebHTMLView removeTrackingRect:]):
775         handle removing lastToolTipTag by calling super
776         (-[WebHTMLView _setToolTip:]):
777         save tool tip tag in lastToolTipTag; this apparently used to always return 0, so we formerly had no way
778         to distinguish it from the no-tool-tips-yet case.
779
780         * WebKit.xcodeproj/project.pbxproj:
781         Xcode removed some old cruft
782
783 2006-05-15  Tim Omernick  <timo@apple.com>
784
785         Reviewed by Darin.
786
787         Safari's Page Load Test (PLT) saturates the runloop with so many sources that timers are not allowed to fire 
788         as frequently as they should.  This is a general problem with the PLT -- because of this, it does not measure
789         work done in timer callbacks during/after the page load process.
790
791         Unfortunately, this aspect of the PLT interferes with our window display throttle hack.  Because we throttle
792         display using timers, and the PLT starves timers, most of the pages loaded by the PLT do not actually display.
793         This makes the PLT run "too fast", yielding ridiculously fast numbers compared to when throttling is disabled.
794
795         I've added a new method that the PLT can call after each page load to force any starved display throttle timers
796         to fire.  By doing this, Safari's PLT will be guaranteed to display each page at least once.
797
798         * Misc/WebNSWindowExtras.h:
799         * Misc/WebNSWindowExtras.m:
800         Added a special internal runloop mode for the throttle timers.
801         (+[NSWindow _webkit_displayThrottledWindows]):
802         Run the runloop in our special internal mode until there are no more sources to handle.
803         (requestWindowDisplay):
804         Schedule the timer in the new mode as well as the standard modes.
805         
806 2006-05-15  Anders Carlsson  <acarlsson@apple.com>
807
808         Reviewed by Maciej.
809
810         http://bugzilla.opendarwin.org/show_bug.cgi?id=8913
811         REGRESSION: Can view source for text files
812
813         * WebView/WebDocumentPrivate.h:
814         Add canSaveAsWebArchive.
815         
816         * WebView/WebHTMLRepresentation.m:
817         (-[WebHTMLRepresentation canProvideDocumentSource]):
818         Call the bridge.
819         
820         (-[WebHTMLRepresentation canSaveAsWebArchive]):
821         New function. This will be used in Safari ToT to determine if a page can be saved as an archive.
822
823 2006-05-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
824
825         Reviewed by Darin.
826
827         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8739
828           Crash in RenderTableSection::paint due to manipulating DOM on resize
829
830         Manual test: manual-tests/dom-manipulation-on-resize.html
831
832         * WebView/WebHTMLView.m:
833         (-[NSArray layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Relayout if necessary
834         after sending the resize event.
835
836 2006-05-12  Maciej Stachowiak  <mjs@apple.com>
837
838         Reviewed by Brady.
839         
840         http://bugzilla.opendarwin.org/show_bug.cgi?id=8876
841         - move most private WebDataSource methods to uninstalled header
842         
843         I put the declarations for the ones only used in WebKit in WebDataSourceInternal.h
844         and removed two entirey unused ones.
845
846         * Plugins/WebNetscapePluginRepresentation.m:
847         * Plugins/WebNetscapePluginStream.m:
848         * Plugins/WebPluginController.m:
849         * Plugins/WebPluginDocumentView.m:
850         * WebCoreSupport/WebFrameBridge.m:
851         (-[WebFrameBridge dataSource]):
852         * WebCoreSupport/WebSubresourceLoader.m:
853         * WebKit.xcodeproj/project.pbxproj:
854         * WebView/WebDataSource.m:
855         (-[WebDataSource _updateIconDatabaseWithURL:]):
856         (-[WebDataSource _loadIcon]):
857         (-[WebDataSource _clearErrors]):
858         (-[WebDataSource _commitLoadWithData:]):
859         (-[WebDataSource _doesProgressiveLoadWithMIMEType:]):
860         (-[WebDataSource _addResponse:]):
861         * WebView/WebDataSourceInternal.h: Added.
862         * WebView/WebDataSourcePrivate.h:
863         * WebView/WebFrame.m:
864         * WebView/WebHTMLRepresentation.m:
865         * WebView/WebHTMLView.m:
866         * WebView/WebImageView.m:
867         * WebView/WebLoader.m:
868         * WebView/WebMainResourceLoader.m:
869         * WebView/WebPDFView.m:
870         * WebView/WebRenderNode.m:
871         * WebView/WebView.m:
872
873 2006-05-12  Tim Omernick  <timo@apple.com>
874
875         Reviewed by John Sullivan.
876
877         <rdar://problem/4542808> REGRESSION: benchjs test 1 has slowed by over 150% (8740)
878         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8740>
879
880         Improvement to my NSWindow display throttle hack.  Remember the last flush time instead of the last display time.
881         Our goal is to never draw less than 1/60th of a second after the window is flushed in order to avoid blocking on
882         a CG coalesced update.  Using the last display time is close, but this is much more accurate.  I have verified that
883         this further improves our score on BenchJS Test 1 (by 9.8% with the status bar shown compared to the previous build),
884         as well as on our internal PLT scores by a smaller percentage.
885
886         * Misc/WebNSWindowExtras.m:
887         Renamed lastDisplayTime to lastFlushTime.
888         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
889         Replace -[NSWindow flushWindow] with our own implementation.
890         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
891         Restore -[NSWindow flushWindow].
892         (replacementFlushWindow):
893         Use the last flush time instead of the last display time.
894         (getWindowDisplayInfo):
895         Renamed lastDisplayTime to lastFlushTime.
896         (requestWindowDisplay):
897         Moved some code to replacementFlushWindow().
898
899 2006-05-11  Timothy Hatcher  <timothy@apple.com>
900
901         Reviewed by Darin.
902
903         Bug 8856: Web Inspector should show the Xpath for the selected node
904         http://bugzilla.opendarwin.org/show_bug.cgi?id=8856
905         
906         Adds an Xpath area to the Node panel.
907
908         * WebInspector/webInspector/inspector.css:
909         * WebInspector/webInspector/inspector.html:
910         * WebInspector/webInspector/inspector.js:
911
912 2006-05-11  Timothy Hatcher  <timothy@apple.com>
913
914         Reviewed by Anders.
915
916         Fixes <rdar://problem/4411845> lots of SPOD trying to scroll through
917         Markup & Content inspecting body at apple.com (6614)
918         http://bugzilla.opendarwin.org/show_bug.cgi?id=6614
919
920         Removed the Markup & Content pane when viewing a element.
921         This pane was not that useful and made the inspector really slow
922         when the markup was large. Only show this pane for text nodes.
923
924         * WebInspector/webInspector/inspector.css: use -webkit prefix
925         * WebInspector/webInspector/inspector.html:
926         * WebInspector/webInspector/inspector.js:
927
928 2006-05-11  Sam Weinig  <sam.weinig@gmail.com>
929
930         Reviewed by Timothy.
931
932         Patch for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8810>
933         Bug 8810: Scrollbars in WebInspector rendered incorrectly
934
935         * WebInspector/webInspector/inspector.css: 
936         Make scroll bars absolutely positioned.
937
938 2006-05-10  Tim Omernick  <timo@apple.com>
939
940         Reviewed by Darin.
941
942         <rdar://problem/4542808> REGRESSION: benchjs test 1 has slowed by over 150% (8740)
943         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8740>
944
945         * Misc/WebNSWindowExtras.h:
946         * Misc/WebNSWindowExtras.m:
947         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
948         Overrides certain NSWindow methods so that window autodisplay can be throttled to 60Hz.
949
950         (disableWindowDisplayThrottleApplierFunction):
951         CFDictionary applier function for when the throttle is disabled.  Cancels all pending window displays,
952         and calls -displayIfNeeded on each window with a pending display.
953
954         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
955         Restores default NSWindow method implementations and clears pending window displays.
956
957         (swizzleInstanceMethod):
958         Helper function to swizzle ObjC method implementations.
959
960         (replacementPostWindowNeedsDisplay):
961         Don't call into -[NSWindow _postWindowNeedsDisplay] if requestWindowDisplay() returns NO (this is the
962         function that throttles display).
963
964         (replacementClose):
965         Clean up the WindowDisplayInfo struct for the window, since it's about to go away.
966
967         (getWindowDisplayInfo):
968         Gets the WindowDisplayInfo struct for the window, or creates it if absent.
969
970         (requestWindowDisplay):
971         Returns YES if a display is allowed right now.  Returns NO otherwise, and schedules a timer to try the
972         display again.
973
974         (cancelPendingWindowDisplay):
975         Cancels the pending display for the window, if any.
976
977         (-[NSWindow _webkit_doPendingPostWindowNeedsDisplay:]):
978         Try to call _postWindowNeedsDisplay again.
979
980         * WebView/WebFrameView.m:
981         (-[WebFrameView initWithFrame:]):
982         If the secret "WebKitThrottleWindowDisplay" default is set, then enable the NSWindow throttle.
983
984 2006-05-10  Anders Carlsson  <acarlsson@apple.com>
985
986         Reviewed by Maciej.
987
988         * WebView/WebHTMLView.m:
989         (+[WebHTMLView unsupportedTextMIMETypes]):
990         Add text/rtf
991         
992 2006-05-09  Levi Weintraub  <lweintraub@apple.com>
993
994         Reviewed by justin.
995
996         <rdar://problem/4442395>
997         Tiny MCE: Link isn't inserted after dragging into textarea field
998         
999         * WebView/WebHTMLView.m:
1000         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]):
1001         Modified to create an anchor object with a title as opposed to just the URL as text.
1002
1003 2006-05-09  Tim Omernick  <timo@apple.com>
1004
1005         Reviewed by Dave Harrison.
1006
1007         <rdar://problem/4523432> safari crashed right after disabling "block pop up windows" (or
1008         other WebPreferences changes)
1009
1010         * Plugins/WebBaseNetscapePluginView.m:
1011         (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]):
1012         When the plugin view is removed from both its window and its hostWindow, stop observing
1013         WebPreferences.
1014
1015 2006-05-09  Anders Carlsson  <acarlsson@apple.com>
1016
1017         Reviewed by Darin.
1018
1019         http://bugzilla.opendarwin.org/show_bug.cgi?id=8808
1020         WebCore should handle text files
1021
1022         * WebKit.exp:
1023         Remove WebTextView.
1024         
1025         * WebKit.xcodeproj/project.pbxproj:
1026         Get rid of WebTextView and WebTextRepresentation.
1027         
1028         * WebView/WebDataSource.m:
1029         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
1030         * WebView/WebFrameView.m:
1031         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
1032         * WebView/WebHTMLView.m:
1033         The text MIME types are now handled by WebHTMLView.
1034         
1035         (+[WebHTMLView unsupportedTextMIMETypes]):
1036         New function, moved here from WebTextView.
1037         
1038         * WebView/WebHTMLViewPrivate.h:
1039         * WebView/WebTextRepresentation.h: Removed.
1040         * WebView/WebTextRepresentation.m: Removed.
1041         * WebView/WebTextView.h: Removed.
1042         * WebView/WebTextView.m: Removed.
1043         
1044         * WebView/WebView.m:
1045         (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
1046         Now special-case WebHTMLView instead of WebTextView for MIME types
1047         that shouldn't be shown.
1048
1049 2006-05-09  Maciej Stachowiak  <mjs@apple.com>
1050
1051         Rubber stamped by Anders.
1052         
1053         - renamed kxmlcore to wtf
1054         
1055         kxmlcore --> wtf
1056         KXMLCore --> WTF
1057         KXC --> WTF
1058
1059         * Misc/WebKitLogging.h:
1060         * Misc/WebKitLogging.m:
1061         (initializeLogChannel):
1062
1063 2006-05-09  Timothy Hatcher  <timothy@apple.com>
1064
1065         Reviewed by Anders.
1066
1067         Bug 8804: Inspector should support searching by Xpath query
1068         http://bugzilla.opendarwin.org/show_bug.cgi?id=8804
1069
1070         * WebInspector/WebInspector.m:
1071         (-[WebInspector _refreshSearch]):
1072         * WebInspector/webInspector/inspector.js:
1073
1074 2006-05-08  Maciej Stachowiak  <mjs@apple.com>
1075
1076         Reviewed by Tim Hatcher.
1077         
1078         - refactor things so that WebKit doesn't save a WebResource for every loaded URL,
1079         but rather retrieves the data from the WebCore cache as needed.
1080         http://bugzilla.opendarwin.org/show_bug.cgi?id=8802
1081
1082         * WebCoreSupport/WebFrameBridge.m:
1083         (-[WebFrameBridge objectLoadedFromCacheWithURL:response:data:]):
1084         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1085         * WebCoreSupport/WebSubresourceLoader.m:
1086         (-[WebSubresourceLoader didReceiveResponse:]):
1087         * WebView/WebDataSource.m:
1088         (-[WebDataSourcePrivate dealloc]):
1089         (-[WebDataSource _setupForReplaceByMIMEType:]):
1090         (-[WebDataSource _archivedSubresourceForURL:]):
1091         (-[WebDataSource initWithRequest:]):
1092         (-[WebDataSource subresources]):
1093         (-[WebDataSource subresourceForURL:]):
1094         (-[WebDataSource addSubresource:]):
1095         * WebView/WebDataSourcePrivate.h:
1096         * WebView/WebFrame.m:
1097         * WebView/WebFrameInternal.h:
1098         * WebView/WebHTMLView.m:
1099         * WebView/WebLoader.h:
1100         * WebView/WebLoader.m:
1101         (-[NSURLProtocol loadWithRequest:]):
1102         (-[NSURLProtocol didFinishLoading]):
1103         * WebView/WebUnarchivingState.h:
1104         * WebView/WebUnarchivingState.m:
1105         (-[WebUnarchivingState addResource:]):
1106
1107 2006-05-04  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1108
1109         Reviewed by Darin.
1110
1111         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8594
1112           REGRESSION: Exception on closing a page containing (just) an mp3
1113
1114         Test: plugins/pluginDocumentView-deallocated-dataSource.html
1115
1116         * Plugins/WebPluginDocumentView.m:
1117         (-[WebPluginDocumentView dealloc]): Release the dataSource.
1118         (-[WebPluginDocumentView setDataSource:]): Retain the dataSource.
1119
1120 2006-05-04  Tim Omernick  <timo@apple.com>
1121
1122         Reviewed by Darin.
1123
1124         <rdar://problem/4537606> Give Java WebKit plugin access to its own DOM element
1125
1126         * WebCoreSupport/WebFrameBridge.m:
1127         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
1128         Pass the DOMElement to the plugin if it's a WebKit plugin (we need to handle Netscape plugins
1129         differently).
1130
1131 2006-05-04  Tim Omernick  <timo@apple.com>
1132
1133         Reviewed by John Sullivan.
1134
1135         <rdar://problem/4480186> Give WebKit plugins access to their own DOM element
1136
1137         This does not fix <rdar://problem/4480187> Give Netscape plugins access to their own DOM element --
1138         we're not going to use the ObjC DOM API for that, but rather the NP bindings API.
1139
1140         * Plugins/WebPluginPackage.m:
1141         Declared WebPlugInContainingElementKey.  This is not a new plugin argument -- it's been in our public
1142         headers since all along, but has never been concretely declared -- plugins that referenced it would not
1143         link.
1144
1145         * WebCoreSupport/WebFrameBridge.m:
1146         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:]):
1147         Added DOMElement parameter, which is now included in the plugin arguments dictionary.
1148         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:]):
1149         ditto
1150
1151         * WebKit.exp:
1152         Export WebPlugInContainingElementKey.
1153
1154 2006-05-02  Darin Adler  <darin@apple.com>
1155
1156         Reviewed by Eric.
1157
1158         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8677
1159           REGRESSION: wkSetUpFontCache() may be called before the SPIs are connected.
1160
1161         I don't know how reproduce this without one of Rosyna's hacks installed, so I
1162         did not include a test.
1163
1164         * Misc/WebStringTruncator.m: (+[WebStringTruncator initialize]): Add call to
1165         InitWebCoreSystemInterface.
1166
1167         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Add a boolean
1168         so we will only do this one time.
1169
1170 2006-05-02  Adele Peterson  <adele@apple.com>
1171
1172         Reviewed by Tim O.
1173
1174         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6988
1175         REGRESSION: Display correct context menus for new text fields
1176
1177         * WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]):
1178         Don't let the UI delegate have control over the context menu for text fields.
1179
1180 2006-05-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1181
1182         Reviewed by Darin.
1183
1184         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8658
1185           Assertion failure in -[WebPluginContainerCheck _isForbiddenFileLoad]
1186           (bridge is null) when clicking QuickTime object with href
1187
1188         * WebView/WebHTMLView.m:
1189        (-[WebHTMLView setDataSource:]): Set the pluginController's dataSource.
1190
1191 2006-05-01  Maciej Stachowiak  <mjs@apple.com>
1192
1193         - fix build
1194
1195         * WebKit.exp: Add symbol that the new Safari will need.
1196
1197 2006-05-01  John Sullivan  <sullivan@apple.com>
1198
1199         Reviewed by Tim Omernick.
1200         
1201         - fixed <rdar://problem/3126419> history load enforces history limit, but deletes the newest instead of oldest items
1202         - added notification reporting items discarded during load because the age limit or item count limit is exceeded
1203         - a few other minor tweaks
1204
1205         * History/WebHistory.h:
1206         fixed a typo and an incorrect method name
1207         
1208         * History/WebHistoryPrivate.h:
1209         Added declaration of WebHistoryItemsDiscardedWhileLoadingNotification. Also changed signature of
1210         WebHistoryPrivate method -loadFromURL:error: to have new collectDiscardedItemsInto: parameter.
1211         Also deleted declarations of two methods that didn't actually exist (loadHistory and initWithFile:), 
1212         and added comments about which methods should become public API, WebKit-internal, or file-internal.
1213
1214         * History/WebHistory.m:
1215         (-[WebHistoryPrivate arrayRepresentation]):
1216         This method, called only by _saveHistoryGuts:, used to deliberately leave out items that violated
1217         either the age limit or the item count limit. Now all the items are included (and thus saved), and
1218         all the pruning is done at load time, so clients can keep track of the pruned items by observing
1219         the new WebHistoryItemsDiscardedWhileLoadingNotification
1220         (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
1221         Now keeps track of all the items that violated the age limit or item count limit in the new
1222         collectedDiscardedItemsInto: parameter. Also, now processes items in forward order rather than
1223         reverse order to fix 3126419. Now uses compare: rather than _webkit_compareDay: to check against
1224         age limit; this is faster and also more correct (most noticeable with small age limits).
1225         (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]):
1226         new collectDiscardedItemsInto: parameter, passed into _loadHistoryGuts:...
1227         (-[WebHistory loadFromURL:error:]):
1228         Now sends new WebHistoryItemsDiscardedWhileLoadingNotification if any items were discarded due
1229         to age limit or item count limit.
1230         
1231         * WebKit.exp:
1232         exported symbol for WebHistoryItemsDiscardedWhileLoadingNotification
1233
1234 2006-04-29  Timothy Hatcher  <timothy@apple.com>
1235
1236         Reviewed by Maciej.
1237
1238         Bug 8577: [TabBarView _web_superviewOfClass:stoppingAtClass:]
1239         http://bugzilla.opendarwin.org/show_bug.cgi?id=8577
1240
1241         Added back _web_superviewOfClass:stoppingAtClass:.
1242         This method was removed in r14032 (bug 8562), but Safari 2.0 still uses it.
1243         We should remove this method once Open Source users have a new version
1244         to use with TOT WebKit.
1245
1246         * Misc/WebNSViewExtras.m:
1247         (-[NSView _web_superviewOfClass:stoppingAtClass:]):
1248
1249 2006-04-28  David Hyatt  <hyatt@apple.com>
1250
1251         Double the cache size to account for our revised (more accurate)
1252         measurement of the image buffers.
1253
1254         Reviewed by darin
1255
1256         * WebView/WebPreferences.m:
1257         (+[WebPreferences initialize]):
1258
1259 2006-04-28  David Hyatt  <hyatt@apple.com>
1260
1261         Fix for 8586, move WebTextRenderer into WebCore.
1262
1263         Reviewed by darin
1264
1265         * Misc/WebKitNSStringExtras.m:
1266         (-[NSString _web_drawAtPoint:font:textColor:]):
1267         (-[NSString _web_widthWithFont:]):
1268         * Misc/WebStringTruncator.m:
1269         (+[WebStringTruncator centerTruncateString:toWidth:]):
1270         (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
1271         (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
1272         (+[WebStringTruncator widthOfString:font:]):
1273         * WebCoreSupport/WebSystemInterface.m:
1274         (InitWebCoreSystemInterface):
1275         * WebCoreSupport/WebTextRenderer.h: Removed.
1276         * WebCoreSupport/WebTextRenderer.m: Removed.
1277         * WebCoreSupport/WebTextRendererFactory.h: Removed.
1278         * WebCoreSupport/WebTextRendererFactory.m: Removed.
1279         * WebKit.xcodeproj/project.pbxproj:
1280         * WebView/WebFrameView.m:
1281         (-[WebFrameView initWithFrame:]):
1282         * WebView/WebHTMLView.m:
1283         (-[NSArray _addToStyle:fontA:fontB:]):
1284         * WebView/WebTextView.m:
1285         (-[WebTextView setFixedWidthFont]):
1286         * WebView/WebView.m:
1287         (+[WebView _setAlwaysUseATSU:]):
1288         (+[WebView _setShouldUseFontSmoothing:]):
1289         (+[WebView _shouldUseFontSmoothing]):
1290
1291 2006-04-28  Eric Seidel  <eseidel@apple.com>
1292
1293         Reviewed by darin.
1294
1295         Misc. style cleanup.
1296         http://bugzilla.opendarwin.org/show_bug.cgi?id=8643
1297
1298         * Misc/WebIconDatabase.m:
1299         (-[NSMutableDictionary iconForURL:withSize:cache:]):
1300         (-[NSMutableDictionary iconURLForURL:]):
1301         (-[NSMutableDictionary retainIconForURL:]):
1302         (-[NSMutableDictionary releaseIconForURL:]):
1303         (-[WebIconDatabase _setIcon:forIconURL:]):
1304         (-[WebIconDatabase _iconsForIconURLString:]):
1305         (-[WebIconDatabase _forgetIconForIconURLString:]):
1306         (-[WebIconDatabase _releaseIconForIconURLString:]):
1307         (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
1308         * Plugins/WebBasePluginPackage.m:
1309         (+[WebBasePluginPackage pluginWithPath:]):
1310         (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
1311         (-[WebBasePluginPackage initWithPath:]):
1312         (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]):
1313         (-[WebBasePluginPackage pListForPath:createFile:]):
1314         (-[WebBasePluginPackage getPluginInfoFromPLists]):
1315         (-[WebBasePluginPackage load]):
1316         (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
1317         (-[WebBasePluginPackage isNativeLibraryData:]):
1318         (-[NSArray _web_lowercaseStrings]):
1319         * Plugins/WebNetscapePluginPackage.m:
1320         (-[WebNetscapePluginPackage openResourceFile]):
1321         (-[WebNetscapePluginPackage closeResourceFile:]):
1322         (-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
1323         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
1324         (-[WebNetscapePluginPackage initWithPath:]):
1325         (-[WebNetscapePluginPackage executableType]):
1326         (-[WebNetscapePluginPackage unloadWithoutShutdown]):
1327         (-[WebNetscapePluginPackage load]):
1328         (-[WebNetscapePluginPackage unload]):
1329         * Plugins/WebNetscapePluginRepresentation.m:
1330         (-[WebNetscapePluginRepresentation redeliverStream]):
1331         * Plugins/WebPluginDatabase.m:
1332         (+[WebPluginDatabase installedPlugins]):
1333         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
1334         (-[WebPluginDatabase pluginForExtension:]):
1335         (pluginLocations):
1336         (-[WebPluginDatabase init]):
1337         (-[WebPluginDatabase refresh]):
1338         * Plugins/npapi.m:
1339         (NPN_MemAlloc):
1340         (NPN_MemFree):
1341         (pluginViewForInstance):
1342         * WebCoreSupport/WebSubresourceLoader.m:
1343         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
1344         (-[WebSubresourceLoader willSendRequest:redirectResponse:]):
1345         * WebView/WebDataSource.m:
1346         (-[WebDataSource isLoading]):
1347         * WebView/WebFrame.m:
1348         (-[WebFrame _loadDataSource:withLoadType:formState:]):
1349         (-[WebFrame _subframeIsLoading]):
1350         * WebView/WebView.m:
1351         (-[WebView initWithFrame:]):
1352         (-[WebView initWithFrame:frameName:groupName:]):
1353
1354 2006-04-26  Tim Omernick  <timo@apple.com>
1355
1356         Reviewed by Geoff.
1357
1358         <rdar://problem/4525105> Repro TOT crash in [WebBaseNetscapePluginView dealloc] at coachella.com
1359         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8564> crashed when closing a tab
1360
1361         * WebView/WebFrame.m:
1362         (-[WebFramePrivate dealloc]):
1363         Assert that plugInViews has been released.
1364         (-[WebFrame _addPlugInView:]):
1365         New method.  Adds the plug-in view to the plugInViews set and calls -setWebFrame: on it.
1366         (-[WebFrame _removeAllPlugInViews]):
1367         New method.  Calls -setWebFrame:nil on all plug-in views and releases the plugInViews set.
1368         (-[WebFrame _willCloseURL]):
1369         New method.  Dispose of plug-in views when leaving a page (or closing the WebView).
1370
1371         * WebView/WebFrameInternal.h:
1372         Declared -_addPlugInView:, -_removeAllPlugInViews, -_willCloseURL
1373
1374         * WebCoreSupport/WebFrameBridge.m:
1375         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
1376         Call -[WebFrame _addPlugInView:] instead of directly setting plug-in views' frames.  This
1377         allows us to keep track of them so that we can explicitly dispose of them when leaving the page.
1378         (-[WebFrameBridge closeURL]):
1379         Override -[WebCoreFrameBridge closeURL] so that we can perform our own teardown when leaving
1380         a page or closing the WebView.
1381
1382         * Plugins/WebBaseNetscapePluginView.h:
1383         Declared -stop so that subclass WebNetscapePluginEmbeddedView can call it.
1384
1385         * Plugins/WebNetscapePluginEmbeddedView.m:
1386         (-[WebNetscapePluginEmbeddedView setWebFrame:]):
1387         Stop the plug-in when it is removed from its WebFrame.
1388
1389 2006-04-25  Tim Omernick  <timo@apple.com>
1390
1391         Reviewed by John Sullivan.
1392
1393         <rdar://problem/4472035> SPI that checks for URL policy fails in plugin documents
1394
1395         * Plugins/WebPluginController.h:
1396         * Plugins/WebPluginController.m:
1397         (-[WebPluginController URLPolicyCheckReferrer]):
1398         New method.  Get the referrer from the frame's data source's NSURLResponse.  Note that for
1399         document types loaded by WebCore, this URL is the same as -[WebCorePageBridge referrer],
1400         since the response URL is what we pass to -[WebCorePageBridge openURL:].
1401
1402         * Plugins/WebPluginContainerCheck.m:
1403         (-[WebPluginContainerCheck _isForbiddenFileLoad]):
1404         Use the WebPluginController's -URLPolicyCheckReferrer instead of assuming that the bridge's
1405         -referrer is valid.  -[WebCorePageBridge referrer] is only set during the normal WebCore page
1406         load process, which has nothing to do with loading standalone plugin documents.
1407
1408 2006-04-25  Tim Omernick  <timo@apple.com>
1409
1410         Reviewed by Eric.
1411
1412         <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc]
1413         running layout tests
1414
1415         * Plugins/WebPluginPackage.m:
1416         (-[WebPluginPackage unload]):
1417         Clear isLoaded here.  It turns out that only WebNetscapePluginPackage cleared its isLoaded
1418         flag in -unload.  We need to also do it here, because the superclass (WebBasePluginPackage)
1419         asserts in -dealloc that -unload has been called.
1420
1421 2006-04-25  Tim Omernick  <timo@apple.com>
1422
1423         Reviewed by Eric.
1424
1425         <rdar://problem/4526120> -[WebBasePluginPackage finalize] leaks the CFBundle (under GC only)
1426
1427         * Plugins/WebBasePluginPackage.m:
1428         (-[WebBasePluginPackage finalize]):
1429         Release the CFBundle here.
1430
1431 2006-04-25  Tim Omernick  <timo@apple.com>
1432
1433         Reviewed by Geoff.
1434
1435         <rdar://problem/4472037>
1436         
1437         Private extensions to the WebPlugin interface.  A plugin may implement these methods to receive loading callbacks
1438         for its main resource.  Plug-ins that implement this SPI show better loading progress in the browser, can be saved
1439         to disk, and are more efficient by avoiding making duplicate GET or POST requests for the plug-in's main resource.
1440
1441         I want to provide a solid API for plug-in networking, but time constraints require that I first provide this simple
1442         SPI for internal clients.
1443
1444         * Plugins/WebPluginViewFactoryPrivate.h:
1445         Added a new plugin argument, WebPlugInShouldLoadMainResourceKey.  If YES, the plugin is responsible
1446         for loading its own content.  If NO, the plugin should wait for WebKit to send it the data via the
1447         new request-sharing SPI.
1448
1449         * Plugins/WebPluginPrivate.h: Added.
1450         Request-sharing SPI.  See comments in code.
1451
1452         * Plugins/WebPluginDocumentView.h:
1453         Hang onto the plugin view as an ivar so we can call the new resource loading methods on it.
1454         * Plugins/WebPluginDocumentView.m:
1455         (-[WebPluginDocumentView dealloc]):
1456         Release pluginView ivar.
1457         (-[WebPluginDocumentView setDataSource:]):
1458         Pass NO for WebPlugInShouldLoadMainResourceKey to indicate to the plugin that it should not 
1459         load its own main resource -- the data will come from WebKit.  This is only necessary for plugin
1460         documents.  By the time we create the view for a plugin document, we already have fetched some
1461         of its main resource's data.  Embedded plugins do not have this issue because WebKit is not
1462         involved in loading their content.
1463         Call -webPlugInMainResourceDidReceivResponse: on the plugin if necessary.  This lets the plugin
1464         know how much and what kind of data is going to be received.
1465         (-[WebPluginDocumentView dataSourceUpdated:]):
1466         If the plugin implements the new request-sharing SPI, don't cancel the in-progress request.
1467         (-[WebPluginDocumentView receivedData:withDataSource:]):
1468         Forward to the plugin via the new request-sharing SPI.
1469         (-[WebPluginDocumentView receivedError:withDataSource:]):
1470         ditto
1471         (-[WebPluginDocumentView finishedLoadingWithDataSource:]):
1472         ditto
1473
1474         * Plugins/WebPluginPackage.m:
1475         Added WebPlugInShouldLoadMainResourceKey, tweaked some style a bit.
1476
1477         * WebCoreSupport/WebFrameBridge.m:
1478         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]):
1479         Pass YES for WebPlugInShouldLoadMainResourceKey.  Embedded plugins must load their own data.
1480         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
1481         ditto
1482         
1483         * WebKit.xcodeproj/project.pbxproj:
1484         Added WebPluginPrivate.h
1485
1486 2006-04-24  Maciej Stachowiak  <mjs@apple.com>
1487
1488         Reviewed by Geoff.
1489         
1490         <rdar://problem/4525364> REGRESSION (yesterday?): LOG() mechanism is broken
1491         
1492         - initialize WebKit's log channels
1493
1494         * Misc/WebKitLogging.h:
1495         * Misc/WebKitLogging.m:
1496         (initializeLogChannel):
1497         (WebKitInitializeLoggingChannelsIfNecessary):
1498         * WebView/WebPreferences.m:
1499         (+[WebPreferences initialize]):
1500         * WebView/WebView.m:
1501         (-[WebView _commonInitializationWithFrameName:groupName:]):
1502
1503 2006-04-24  Maciej Stachowiak  <mjs@apple.com>
1504
1505         Build fix:
1506         
1507         - move some prematurely moved code back
1508
1509         * WebCoreSupport/WebFrameBridge.h:
1510         * WebCoreSupport/WebFrameBridge.m:
1511         (-[WebFrameBridge fini]):
1512         (-[WebFrameBridge _preferences]):
1513         (-[WebFrameBridge _retrieveKeyboardUIModeFromPreferences:]):
1514         (-[WebFrameBridge keyboardUIMode]):
1515
1516 2006-04-24  Maciej Stachowiak  <mjs@apple.com>
1517
1518         Reviewed by Darin.
1519
1520         - move more code from WebFrameBridge to WebCoreFrameBridge
1521
1522         * WebCoreSupport/WebFrameBridge.h:
1523         * WebCoreSupport/WebFrameBridge.m:
1524         (-[WebFrameBridge fini]):
1525         (-[WebFrameBridge expiresTimeForResponse:]):
1526         (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
1527         (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
1528         (-[WebFrameBridge valueForKey:keys:values:]):
1529         (-[WebFrameBridge _preferences]):
1530
1531 2006-04-24  Maciej Stachowiak  <mjs@apple.com>
1532
1533         Reviewed by Anders.
1534         
1535         - Remove use of _webSuperviewOfClass: and related
1536         http://bugzilla.opendarwin.org/show_bug.cgi?id=8562
1537         
1538         I removed all use of these, now objects get at each other via
1539         actual pointers, not using the view hierarchy. However, I left two
1540         of the calls in because other clients rely on them as SPI (ugh).
1541
1542         * History/WebHistoryItem.m:
1543         * Misc/WebNSViewExtras.h:
1544         * Misc/WebNSViewExtras.m:
1545         (-[NSView _web_superviewOfClass:]):
1546         (-[NSView _web_parentWebFrameView]):
1547         * Plugins/WebNetscapePluginDocumentView.m:
1548         (-[WebNetscapePluginDocumentView layout]):
1549         * Plugins/WebNetscapePluginEmbeddedView.h:
1550         * Plugins/WebNetscapePluginEmbeddedView.m:
1551         (-[WebNetscapePluginEmbeddedView setWebFrame:]):
1552         (-[WebNetscapePluginEmbeddedView dataSource]):
1553         * Plugins/WebNullPluginView.h:
1554         * Plugins/WebNullPluginView.m:
1555         (-[WebNullPluginView setWebFrame:]):
1556         (-[WebNullPluginView viewDidMoveToWindow]):
1557         * Plugins/WebPluginController.h:
1558         * Plugins/WebPluginController.m:
1559         (-[WebPluginController setDataSource:]):
1560         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
1561         (-[WebPluginController webPlugInContainerShowStatus:]):
1562         (-[WebPluginController webPlugInContainerSelectionColor]):
1563         (-[WebPluginController webFrame]):
1564         * Plugins/WebPluginDocumentView.h:
1565         * Plugins/WebPluginDocumentView.m:
1566         (-[WebPluginDocumentView setDataSource:]):
1567         (-[WebPluginDocumentView layout]):
1568         (-[WebPluginDocumentView currentWindow]):
1569         (-[WebPluginDocumentView viewWillMoveToWindow:]):
1570         * WebCoreSupport/WebFrameBridge.m:
1571         (-[WebFrameBridge formControlIsBecomingFirstResponder:]):
1572         (-[WebFrameBridge formControlIsResigningFirstResponder:]):
1573         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
1574         * WebCoreSupport/WebViewFactory.m:
1575         (-[WebViewFactory bridgeForView:]):
1576         * WebView/WebClipView.m:
1577         (-[NSView initWithFrame:]):
1578         * WebView/WebFrameView.m:
1579         (-[WebFrameView _shouldDrawBorder]):
1580         (-[WebFrameView webCoreBridge]):
1581         * WebView/WebHTMLView.m:
1582         (-[WebTextCompleteController dealloc]):
1583         (-[WebHTMLView _dataSource]):
1584         (-[WebHTMLView _bridge]):
1585         (-[WebHTMLView _webView]):
1586         (-[WebHTMLView _frameView]):
1587         (-[WebHTMLView _web_firstResponderCausesFocusDisplay]):
1588         (-[NSArray becomeFirstResponder]):
1589         (-[NSArray setDataSource:]):
1590         (-[NSArray pageUp:]):
1591         (-[NSArray pageDown:]):
1592         (-[NSArray pageUpAndModifySelection:]):
1593         (-[NSArray pageDownAndModifySelection:]):
1594         (-[WebHTMLView _frame]):
1595         * WebView/WebHTMLViewInternal.h:
1596         * WebView/WebImageView.h:
1597         * WebView/WebImageView.m:
1598         (-[WebImageView drawRect:]):
1599         (-[WebImageView adjustFrameSize]):
1600         (-[WebImageView setDataSource:]):
1601         (-[WebImageView webView]):
1602         (-[WebImageView writeImageToPasteboard:types:]):
1603         (-[WebImageView copy:]):
1604         (-[WebImageView elementAtPoint:]):
1605         (-[WebImageView mouseDragged:]):
1606         * WebView/WebPDFView.h:
1607         * WebView/WebPDFView.m:
1608         (-[WebPDFView _applyPDFDefaults]):
1609         (-[WebPDFView _trackFirstResponder]):
1610         (-[PDFPrefUpdatingProxy forwardInvocation:]):
1611         * WebView/WebRenderNode.m:
1612         (-[WebRenderNode initWithWebFrameView:]):
1613         * WebView/WebTextView.h:
1614         * WebView/WebTextView.m:
1615         (-[WebTextView _textSizeMultiplierFromWebView]):
1616         (-[WebTextView _preferences]):
1617         (-[WebTextView setDataSource:]):
1618         (-[WebTextView _webFrame]):
1619         (-[WebTextView dragSelectionWithEvent:offset:slideBack:]):
1620         (-[WebTextView menuForEvent:]):
1621         (-[WebTextView resignFirstResponder]):
1622         (-[WebTextView drawPageBorderWithSize:]):
1623         (-[WebTextView knowsPageRange:]):
1624         * WebView/WebView.m:
1625         (-[WebView searchFor:direction:caseSensitive:wrap:]):
1626         (containingFrameView):
1627         (-[WebView _focusedFrame]):
1628         (-[WebView _frameViewAtWindowPoint:]):
1629
1630 2006-04-23  Maciej Stachowiak  <mjs@apple.com>
1631
1632         Reviewed by Darin.
1633         
1634         - push WebFileButton and WebStringTruncator code down to WebCore
1635         http://bugzilla.opendarwin.org/show_bug.cgi?id=8552
1636
1637         * Misc/WebStringTruncator.m:
1638         (+[WebStringTruncator centerTruncateString:toWidth:]):
1639         (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
1640         (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
1641         (+[WebStringTruncator widthOfString:font:]):
1642         * WebCoreSupport/WebFileButton.h: Removed.
1643         * WebCoreSupport/WebFileButton.m: Removed.
1644         * WebCoreSupport/WebFrameBridge.h:
1645         * WebCoreSupport/WebFrameBridge.m:
1646         (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
1647         * WebCoreSupport/WebViewFactory.m:
1648         (-[WebViewFactory fileButtonChooseFileLabel]):
1649         (-[WebViewFactory fileButtonNoFileSelectedLabel]):
1650         * WebKit.xcodeproj/project.pbxproj:
1651
1652 2006-04-23  Maciej Stachowiak  <mjs@apple.com>
1653
1654         Reviewed by Eric.
1655         
1656         - remove WebCookieAdapter, WebCore can just use Foundation directly.
1657
1658         * WebCoreSupport/WebCookieAdapter.h: Removed.
1659         * WebCoreSupport/WebCookieAdapter.m: Removed.
1660         * WebKit.xcodeproj/project.pbxproj:
1661         * WebView/WebFrameView.m:
1662         (-[WebFrameView initWithFrame:]):
1663
1664 2006-04-23  Maciej Stachowiak  <mjs@apple.com>
1665
1666         Reviewed by Adele.
1667         
1668         - prune WebView SPI of unused calls
1669         
1670         Specifically I moved methods that have no callers outside WebKit
1671         to WebViewInternal.h or removed them entirely.
1672
1673         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1674         * Plugins/WebBaseNetscapePluginView.m:
1675         * Plugins/WebNetscapePluginDocumentView.m:
1676         * Plugins/WebNetscapePluginStream.m:
1677         * Plugins/WebNullPluginView.m:
1678         * Plugins/WebPluginContainerCheck.m:
1679         * Plugins/WebPluginController.m:
1680         * WebCoreSupport/WebFrameBridge.m:
1681         * WebCoreSupport/WebPageBridge.m:
1682         * WebCoreSupport/WebSubresourceLoader.m:
1683         * WebView/WebDataSource.m:
1684         * WebView/WebHTMLView.m:
1685         * WebView/WebImageView.m:
1686         * WebView/WebLoader.m:
1687         * WebView/WebMainResourceLoader.m:
1688         * WebView/WebPDFView.m:
1689         * WebView/WebScriptDebugDelegate.m:
1690         * WebView/WebView.m:
1691         (-[WebView _downloadURL:]):
1692         * WebView/WebViewInternal.h:
1693         * WebView/WebViewPrivate.h:
1694
1695 2006-04-22  Maciej Stachowiak  <mjs@apple.com>
1696
1697         Reviewed by Eric.
1698
1699         - remove WebKit copy of assertions code, use the assertions
1700         stuff from JavaScriptCore instead.
1701
1702         * Carbon/HIViewAdapter.m:
1703         * DOM/WebDOMOperations.m:
1704         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1705         * DefaultDelegates/WebDefaultPolicyDelegate.m:
1706         (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]):
1707         * History/WebBackForwardList.m:
1708         * History/WebHistory.m:
1709         (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
1710         (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
1711         * History/WebHistoryItem.m:
1712         * Misc/WebAssertions.h: Removed.
1713         * Misc/WebAssertions.m: Removed.
1714         * Misc/WebDatabase.m:
1715         * Misc/WebDownload.m:
1716         * Misc/WebFileDatabase.m:
1717         (SetThreadPriority):
1718         * Misc/WebIconDatabase.m:
1719         (-[NSMutableDictionary iconForURL:withSize:cache:]):
1720         (-[NSMutableDictionary releaseIconForURL:]):
1721         (-[NSMutableDictionary delayDatabaseCleanup]):
1722         (-[NSMutableDictionary allowDatabaseCleanup]):
1723         (-[WebIconDatabase _loadIconDictionaries]):
1724         (-[WebIconDatabase _updateFileDatabase]):
1725         (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
1726         * Misc/WebIconLoader.m:
1727         * Misc/WebKitLogging.h:
1728         * Misc/WebKitLogging.m:
1729         * Misc/WebKitSystemBits.m:
1730         (initCapabilities):
1731         * Misc/WebLRUFileList.m:
1732         (WebLRUFileListRemoveOldestFileFromList):
1733         (WebLRUFileListGetFileSize):
1734         * Misc/WebLocalizableStrings.m:
1735         * Misc/WebNSCalendarDateExtras.m:
1736         * Misc/WebNSDataExtras.m:
1737         * Misc/WebNSDictionaryExtras.m:
1738         * Misc/WebNSFileManagerExtras.m:
1739         * Misc/WebNSPasteboardExtras.m:
1740         * Misc/WebNSURLExtras.m:
1741         (hexDigit):
1742         (hexDigitValue):
1743         (allCharactersInIDNScriptWhiteList):
1744         * Misc/WebNSURLRequestExtras.m:
1745         * Misc/WebNSUserDefaultsExtras.m:
1746         * Misc/WebStringTruncator.m:
1747         * Panels/WebAuthenticationPanel.m:
1748         (-[WebAuthenticationPanel loadNib]):
1749         * Panels/WebPanelAuthenticationHandler.m:
1750         * Plugins/WebBaseNetscapePluginStream.m:
1751         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
1752         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
1753         * Plugins/WebBaseNetscapePluginView.m:
1754         (TSMEventHandler):
1755         (-[WebBaseNetscapePluginView start]):
1756         (-[WebBaseNetscapePluginView status:]):
1757         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
1758         * Plugins/WebBasePluginPackage.m:
1759         * Plugins/WebNetscapePluginDocumentView.m:
1760         * Plugins/WebNetscapePluginPackage.m:
1761         (-[WebNetscapePluginPackage load]):
1762         * Plugins/WebNetscapePluginRepresentation.m:
1763         * Plugins/WebPluginContainerCheck.m:
1764         * Plugins/WebPluginController.m:
1765         (-[WebPluginController addPlugin:]):
1766         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
1767         (-[WebPluginController webPlugInContainerShowStatus:]):
1768         * Plugins/WebPluginDatabase.m:
1769         * Plugins/WebPluginDocumentView.m:
1770         * WebCoreSupport/WebCookieAdapter.m:
1771         * WebCoreSupport/WebFileButton.m:
1772         * WebCoreSupport/WebFrameBridge.m:
1773         (-[WebFrameBridge runModal]):
1774         * WebCoreSupport/WebImageData.m:
1775         (-[WebImageData _checkSolidColor:]):
1776         (-[WebImageData tileInRect:fromPoint:context:]):
1777         (-[WebImageData scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
1778         * WebCoreSupport/WebImageDecoder.m:
1779         * WebCoreSupport/WebImageRenderer.m:
1780         (-[WebImageRenderer TIFFRepresentation]):
1781         * WebCoreSupport/WebImageRendererFactory.m:
1782         * WebCoreSupport/WebJavaScriptTextInputPanel.m:
1783         * WebCoreSupport/WebKeyGenerator.m:
1784         * WebCoreSupport/WebPageBridge.m:
1785         * WebCoreSupport/WebSubresourceLoader.m:
1786         * WebCoreSupport/WebTextRenderer.m:
1787         (widthForGlyph):
1788         (-[WebTextRenderer initWithFont:]):
1789         (drawGlyphs):
1790         (initializeATSUStyle):
1791         (createATSULayoutParameters):
1792         (getTextBounds):
1793         (ATSU_draw):
1794         * WebCoreSupport/WebTextRendererFactory.m:
1795         * WebCoreSupport/WebViewFactory.m:
1796         * WebKit.exp:
1797         * WebKit.xcodeproj/project.pbxproj:
1798         * WebKitPrefix.h:
1799         * WebView/WebArchiver.m:
1800         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
1801         * WebView/WebClipView.m:
1802         * WebView/WebDataProtocol.m:
1803         * WebView/WebDataSource.m:
1804         (-[WebDataSource _startLoading]):
1805         * WebView/WebFormDataStream.m:
1806         (formEventCallback):
1807         (webSetHTTPBody):
1808         * WebView/WebFrame.m:
1809         (-[WebFrame _transitionToCommitted:]):
1810         * WebView/WebFrameView.m:
1811         * WebView/WebHTMLRepresentation.m:
1812         * WebView/WebHTMLView.m:
1813         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
1814         (-[NSArray drawSingleRect:]):
1815         (-[NSArray namesOfPromisedFilesDroppedAtDestination:]):
1816         (-[NSArray _scaleFactorForPrintOperation:]):
1817         (-[NSArray deleteBackwardByDecomposingPreviousCharacter:]):
1818         (-[NSArray checkSpelling:]):
1819         (-[NSArray showGuessPanel:]):
1820         (-[NSArray _changeSpellingToWord:]):
1821         (-[NSArray ignoreSpelling:]):
1822         (-[NSArray performFindPanelAction:]):
1823         (-[WebTextCompleteController doCompletion]):
1824         * WebView/WebImageView.m:
1825         * WebView/WebLoader.m:
1826         (-[NSURLProtocol connection:willCacheResponse:]):
1827         * WebView/WebPDFRepresentation.m:
1828         (+[WebPDFRepresentation PDFDocumentClass]):
1829         * WebView/WebPDFView.m:
1830         (+[WebPDFView PDFKitBundle]):
1831         (+[WebPDFView PDFViewClass]):
1832         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
1833         * WebView/WebTextRepresentation.m:
1834         * WebView/WebTextView.m:
1835         * WebView/WebUnarchivingState.m:
1836         * WebView/WebView.m:
1837
1838 2006-04-22  Timothy Hatcher  <timothy@apple.com>
1839
1840         Reviewed by Eric.
1841
1842         http://bugzilla.opendarwin.org/show_bug.cgi?id=8514
1843         Bug 8514: Web Inspector hides when the app is in the background
1844
1845         Makes the inspector not hide in the background. Since the inspector is a floating panel
1846         we need to call setFloatingPanel:NO when the app is switching into the background. Then
1847         call setFloatingPanel:YES when the app is activated again. Without this the inspector
1848         would float above all applications.
1849
1850         * WebInspector/WebInspector.m:
1851         (-[NSWindow window]): setHidesOnDeactivate:NO
1852         (-[NSWindow windowWillClose:]): de-regiser appliction active notifications
1853         (-[NSWindow showWindow:]): register for appliction active notifications
1854         (-[WebInspector _applicationWillResignActive]): setFloatingPanel:NO
1855         (-[WebInspector _applicationDidBecomeActive]): setFloatingPanel:YES
1856
1857 2006-04-21  Adele Peterson  <adele@apple.com>
1858
1859         Reviewed by Darin.
1860
1861         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8181
1862         REGRESSION: After tabbing in page's field, attempting to tab from Google toolbar search to page fails on first try
1863
1864         Test: manual-tests/tabbing-input-google.html
1865
1866         * WebView/WebHTMLView.m: (-[NSArray resignFirstResponder]):
1867         When resigning first responder, reset willBecomeFirstResponderForNodeFocus, so when the WebHTMLView gets focus again
1868         it knows it can start moving through the tab cycle.
1869
1870 2006-04-20  Tim Omernick  <timo@apple.com>
1871
1872         Reviewed by John Sullivan.
1873
1874         <rdar://problem/4476875> Support printing for embedded Netscape plugins
1875
1876         NOTE: This only works with the Flash plugin right now.  It appears that the other
1877         major plugins either have awful printing support, or no printing support.  If someone
1878         can find an example of any other embedded Netscape plugin printing in any browser on
1879         the Mac, I will be happy to eat my own words!
1880
1881         * Plugins/WebBaseNetscapePluginView.m:
1882         (-[WebBaseNetscapePluginView drawRect:]):
1883         When printing, get the printed bitmap via -_printedPluginBitmap, and draw it into the
1884         plugin view.
1885         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
1886         Call NPP_Print on the plugin to render it into a GWorld.  This GWorld has the same
1887         underlying buffer as an NSBitmapImageRep, which is returned to the caller.
1888
1889 2006-04-20 Mitz Pettel  <opendarwin.org@mitzpettel.com>
1890
1891         Reviewed by Darin.
1892
1893         WebKit part of:
1894         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8276
1895           REGRESSION (NativeTextField): Pasting a Finder item into a text field results in
1896             a file: URL being pasted instead of just the file name
1897         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8283
1898           REGRESSION: File's path doesn't appear after dragging file into input field
1899
1900         * WebView/WebHTMLView.m:
1901         (-[WebHTMLView _plainTextFromPasteboard:]): Added method that tries to copy AppKit
1902         text fields' logic for extracting plain text from the pasteboard.
1903         (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Added helper method.
1904         (-[WebHTMLView _shouldInsertText:replacingDOMRange:givenAction:]):
1905         (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]):
1906         (-[WebHTMLView readSelectionFromPasteboard:]): Paste as plain text if
1907         rich text is not allowed.
1908         (-[WebHTMLView validateUserInterfaceItem:]): Changed to not allow pasteAsRichText:
1909         if the paste is not going to be handled by the DOM and the selection
1910         does not allow pasting rich text.
1911         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Paste as plain text if
1912         rich text is not allowed.
1913         (-[WebHTMLView paste:]): Ditto.
1914         (-[WebHTMLView pasteAsPlainText:]):
1915
1916 2006-04-20  Darin Adler  <darin@apple.com>
1917
1918         Reviewed by Adele.
1919
1920         - WebKit part of http://bugzilla.opendarwin.org/show_bug.cgi?id=8505
1921           eliminate WebCoreGraphics bridge, demonstrate new SystemInterface technique
1922
1923         * WebCoreSupport/WebGraphicsBridge.h: Removed.
1924         * WebCoreSupport/WebGraphicsBridge.m: Removed.
1925         * WebCoreSupport/WebSystemInterface.h: Added.
1926         * WebCoreSupport/WebSystemInterface.m: Added.
1927
1928         * WebKit.xcodeproj/project.pbxproj: Updated for removed and added files.
1929
1930         * WebCoreSupport/WebImageData.m: Removed unneeded include of WebGraphicsBridge.h.
1931         * WebCoreSupport/WebImageRenderer.m: Ditto.
1932         * WebCoreSupport/WebTextRenderer.m: Ditto.
1933
1934         * WebView/WebFrameView.m: (-[WebFrameView initWithFrame:]): Guarded all the one-time
1935         initialization inside a boolean, just in case some things take a little time. Added
1936         a call to InitWebCoreSystemInterface to the one-time initialization here. Later, we
1937         will need to add it in some other places if we call code that requires the use of
1938         WebCoreSystemInterface functions from anywhere that can be invoked before creations
1939         of the first WebFrameView, but for now there is no need.
1940
1941 2006-04-19  James G. Speth  <speth@end.com>
1942
1943         Reviewed by Timothy.
1944
1945         http://bugzilla.opendarwin.org/show_bug.cgi?id=8442
1946         Bug 8442: improvements to Cocoa bindings support in WebView - code simplification
1947
1948         Removes the WebController class added earlier; changes NSTreeController and 
1949         WebView to together without it. Now you can just bind the contentObject binding
1950         of the tree controller directly to the mainFrameDocument key of the WebView.
1951
1952         * WebCoreSupport/WebFrameBridge.m:
1953         (-[WebFrameBridge windowObjectCleared]):
1954         * WebView/WebDataSource.m:
1955         (-[WebDataSource _setTitle:]):
1956         * WebView/WebFrame.m:
1957         (-[WebFrame _closeOldDataSources]):
1958         * WebView/WebView.m:
1959         (-[WebView _progressStarted:]):
1960         (-[WebView _finalProgressComplete]):
1961         (-[WebView _commonInitializationWithFrameName:groupName:]):
1962         (-[WebView setMainFrameDocumentReady:]):
1963         (-[WebView mainFrameDocument]):
1964         * WebView/WebViewPrivate.h:
1965
1966 2006-04-19  James G. Speth  <speth@end.com>
1967
1968         Reviewed by Timothy.
1969
1970         http://bugzilla.opendarwin.org/show_bug.cgi?id=6635
1971         Bug 6635: Crash selecting inspector nodes for tabs that aren't foremost
1972
1973         Stop observing window will close notifications before we tell the highlight window to close,
1974         this prevents the crash. Also prevent drawing highlights for hidden tabs.
1975
1976         * WebInspector/WebInspector.m:
1977         (-[WebInspector _highlightNode:]):
1978         * WebInspector/WebNodeHighlight.m:
1979         (-[WebNodeHighlight expire]):
1980
1981 2006-04-19  James G. Speth  <speth@end.com>
1982
1983         Reviewed by Timothy.
1984
1985         http://bugzilla.opendarwin.org/show_bug.cgi?id=6637
1986         Bug 6637: selecting node in Inspector after closing window crashes Safari
1987
1988         When the window the Web Inspector was inspecting is closed, the inspector goes into its
1989         no-selection state. Choosing to inspect another element activates it again. The inspector
1990         will also follow the WebView if the URL changes and select the root element on the new page.
1991
1992         * WebInspector/WebInspector.m:
1993         (-[NSWindow setWebFrame:]):
1994         (-[NSWindow setRootDOMNode:]):
1995         (-[WebInspector _revealAndSelectNodeInTree:]):
1996         (-[WebInspector _update]):
1997         (-[WebInspector _updateRoot]):
1998         (-[WebInspector inspectedWebViewProgressFinished:]):
1999         (-[WebInspector inspectedWindowWillClose:]):
2000         (-[WebInspector webView:didFinishLoadForFrame:]):
2001         * WebInspector/WebInspectorPanel.m:
2002         (-[WebInspectorPanel canBecomeMainWindow]):
2003
2004 2006-04-18  Darin Adler  <darin@apple.com>
2005
2006         Reviewed by Beth.
2007
2008         * WebInspector/webInspector/inspector.css: Add "-webkit-" prefixes to the border
2009         radius properties to make the corners rounded again.
2010
2011 2006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2012
2013         Reviewed by Darin.
2014
2015         - WebKit part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8324
2016           REGRESSION: textarea :focus not applied immediately
2017
2018         * WebCoreSupport/WebFrameBridge.m:
2019         (-[WebFrameBridge formControlIsBecomingFirstResponder:]): Added. Calls the ancestor
2020         WebHTMLView's _formControlIsBecomingFirstResponder:
2021         * WebView/WebHTMLView.m:
2022         (-[WebHTMLView _updateFocusState:]): If a descendant is becoming first responder,
2023         enable focused appearance.
2024         (-[WebHTMLView _formControlIsBecomingFirstResponder:]): Added. Calls _updateFocusState,
2025         causing the frame to display with focus attributes.
2026         * WebView/WebHTMLViewInternal.h:
2027
2028 2006-04-14  James G. Speth  <speth@end.com>
2029
2030         Reviewed by Timothy.
2031
2032         Bug 8389: support for Cocoa bindings - binding an NSTreeController to the WebView's DOM
2033         http://bugzilla.opendarwin.org/show_bug.cgi?id=8389
2034
2035         Added a controller class, WebController, that is a subclass of
2036         NSTreeController that has a new outlet/binding for the WebView.
2037
2038         * WebCoreSupport/WebFrameBridge.m:
2039         (-[WebFrameBridge windowObjectCleared]): notify bindings about the document change
2040         * WebView/WebView.m:
2041         (-[WebView _progressStarted:]): notify bindings about the document change
2042         (-[WebView _finalProgressComplete]): notify bindings about the document change
2043         (-[WebView _declaredKeys]): added a key for the main frame document
2044         (-[WebController init]):
2045         (-[WebController exposedBindings]):
2046         (-[WebController valueClassForBinding:]):
2047         (-[WebController setContent:]):
2048         (-[WebController webView]):
2049         (-[WebController setWebView:]):
2050         (-[WebView mainFrameDocument]): get the main frame's DOMDocument
2051         * WebView/WebViewPrivate.h: Adds mainFrameDocument to pending public.
2052
2053 2006-04-12  David Harrison  <harrison@apple.com>
2054
2055         Reviewed by Darin.
2056         
2057         <rdar://problem/4386640> AX: AXPreviousSentenceStartTextMarkerForTextMarker does not respect paragraph boundary
2058         <rdar://problem/4414575> AX: Dictionary popup cannot find some words on Dictionary.app
2059         
2060         (see related changes in WebCore)
2061         
2062         Tests added:
2063         * editing/selection/extend-by-sentence-001.html: Added.
2064         * fast/dom/inner-text-001.html: Added.
2065
2066         * WebView/WebHTMLView.m:
2067         (-[NSArray validateUserInterfaceItem:]):
2068         (-[NSArray moveToBeginningOfSentence:]):
2069         (-[NSArray moveToBeginningOfSentenceAndModifySelection:]):
2070         (-[NSArray moveToEndOfSentence:]):
2071         (-[NSArray moveToEndOfSentenceAndModifySelection:]):
2072         (-[NSArray selectSentence:]):
2073         * WebView/WebView.m:
2074         * WebView/WebViewPrivate.h:
2075         Add sentence navigation and selection.
2076
2077 2006-04-12  Tim Omernick  <timo@apple.com>
2078
2079         Reviewed by Darin.
2080
2081         Part of <rdar://problem/4482530>
2082
2083         * WebView/WebView.m:
2084         (-[WebView _focusedFrame]):
2085         Fixed up the logic here to take into account immediate subviews of WebView, which are not actually in a WebFrameView
2086         (they are peers to the main frame's WebFrameView).
2087
2088 2006-04-10  John Sullivan  <sullivan@apple.com>
2089
2090         Reviewed by Tim Omernick.
2091         
2092         - fixed <rdar://problem/4139799> Seed: Safari: Private Browsing leaves traces in Icon Cache
2093         
2094         * Misc/WebIconDatabasePrivate.h:
2095         new ivars: pageURLsBoundDuringPrivateBrowsing, iconURLsBoundDuringPrivateBrowsing, and privateBrowsingEnabled
2096
2097         * Misc/WebIconDatabase.m:
2098         (-[NSMutableDictionary init]):
2099         initialize new ivars, and listen for notifications that WebPreferences changed so we can react to changes
2100         to private browsing.
2101         (-[NSMutableDictionary iconForURL:withSize:cache:]):
2102         Don't remove icon URL from extraRetain dictionary; that's now done in _forgetIconForIconURLString. (I left a
2103         comment here earlier about why I was worried about this change, but I convinced myself that it's fine.)
2104         (-[WebIconDatabase removeAllIcons]):
2105         Removed no-longer-true (and never very clear) comment, and braces. Also remove all objects from the two
2106         private-browsing-related dictionaries.
2107         (-[WebIconDatabase _setIcon:forIconURL:]):
2108         remember icon URL if private browsing is enabled
2109         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
2110         remember icon URL if private browsing is enabled
2111         (-[WebIconDatabase _setIconURL:forURL:]):
2112         added an assert that helped me out at one point
2113         (-[WebIconDatabase _clearDictionaries]):
2114         clear the two new dictionaries too
2115         (-[WebIconDatabase _loadIconDictionaries]):
2116         made an existing ERROR not fire in the expected case where there are no icons at all on disk
2117         (-[WebIconDatabase _updateFileDatabase]):
2118         when saving the pageURLToIconURL dictionary to disk, first remove any values that were created during
2119         private browsing
2120         (-[WebIconDatabase _retainIconForIconURLString:]):
2121         skip the code that deals with saving changes to disk if private browsing is enabled
2122         (-[WebIconDatabase _forgetIconForIconURLString:]):
2123         Remove the icon URL from extraRetain dictionary here. We're forgetting everything about this icon URL
2124         so we should forget its former extraRetain count too.
2125         (-[WebIconDatabase _resetCachedWebPreferences:]):
2126         Cache the new value of private browsing. If it has now been turned off, forget everything we learned
2127         while it was on. This causes (e.g.) icons for bookmarks or pre-existing history items to be forgotten
2128         if the icon was only learned during private browsing.
2129
2130         * History/WebHistoryItem.m:
2131         removed an unnecessary #import I happened to notice
2132         
2133 2006-04-10  David Hyatt  <hyatt@apple.com>
2134
2135         Make the broken CG focus ring painting work when WebCore sets a clip
2136         (in addition to respecting the dirty rect clip).
2137
2138         Reviewed by darin
2139
2140         * WebCoreSupport/WebGraphicsBridge.m:
2141         (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:clipRect:]):
2142
2143 2006-04-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2144
2145         Reviewed by Darin.
2146
2147         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8100
2148           REGRESSION (NativeTextField): Right-aligned and RTL text jitters in new text fields
2149
2150         * WebCoreSupport/WebTextRenderer.m:
2151         (overrideLayoutOperation): For RTL runs, apply the word-rounding on the left.
2152         (CG_floatWidthForRun): For RTL runs, apply the last character's rounding
2153         on the left by adjusting the start position.
2154         (initializeWidthIterator): Added finalRoundingWidth field to WidthIterator.
2155         (advanceWidthIterator): For RTL runs, apply rounding on the left of the character,
2156         by increasing the width of the next character (which is the character to the left). For
2157         the last character, keep the rounding width in the iterator's finalRoundingWidth, to be used by
2158         CG_floatWidthForRun().
2159
2160 2006-04-08  John Sullivan  <sullivan@apple.com>
2161
2162         Reviewed by Adele Peterson.
2163
2164         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=8260
2165         REGRESSION: Assertion failure: ![_private->iconsToSaveWithURLs containsObject:iconURLString] 
2166         in WebIconDatabase.m:695-[WebIconDatabase(WebInternal) _retainIconForIconURLString:]
2167
2168         * Misc/WebIconDatabase.m:
2169         (-[WebIconDatabase _retainIconForIconURLString:]):
2170         This new assertion was one block too high; moved it in.
2171
2172 2006-04-07  David Hyatt  <hyatt@apple.com>
2173
2174         A fix that makes coalesced updates work much better (and makes our
2175         single animated GIF timer work better).  The new rect painting algorithm
2176         for WebHTMLView will use the single unioned rect if the # of rects exceeds
2177         a threshold (10 is my initial cut), or if the union has enough "wasted"
2178         additional pixels (conservatively set at 75%).
2179
2180         Reviewed by darin
2181
2182         * WebView/WebHTMLView.m:
2183         (-[NSArray drawSingleRect:]):
2184         (-[NSArray drawRect:]):
2185
2186 2006-04-07  Maciej Stachowiak  <mjs@apple.com>
2187
2188         Reviewed by Darin.
2189         
2190         - simplify archive loading
2191
2192         * WebView/WebDataSource.m:
2193         (-[WebDataSource representation]): fix whitespace
2194         * WebView/WebHTMLRepresentation.m:
2195         (-[WebHTMLRepresentation loadArchive]): Use WebFrame's loadArchive: instead
2196         of trying to do a manual load here.
2197         (-[WebHTMLRepresentation documentSource]): No more special case for WebArchive.
2198
2199 2006-04-07  John Sullivan  <sullivan@apple.com>
2200
2201         Reviewed by Tim Omernick.
2202         
2203         - fixed <rdar://problem/4507054> If an icon file is removed from disk behind Safari's back, 
2204         Safari will not try to refetch it
2205         
2206         In addition to letting WebIconDatabase recover from disk/memory mismatches as per 4507054, I also found
2207         a bug in the way icons are remembered that could account for some of the other cases where
2208         site icons didn't appear (and you'd get an ERROR on debug builds about WebIconDatabase saying it
2209         had some icon when it really doesn't).
2210
2211         * Misc/WebIconDatabase.m:
2212         (-[WebIconDatabase iconForURL:withSize:cache:]):
2213         When the icon file for a previously-saved site icon isn't found, forget about the darn icon URL thoroughly
2214         so that this situation is self-correcting. Formerly, once you got into this state WebKit would never find
2215         the icon again (short of removing the entire icon database cleanly). Note that this does *not* change
2216         the behavior of sites that didn't have a site icon when WebKit checked -- these will continue to not
2217         return a site icon indefinitely (that's a separate, possibly performance-sensitive issue).
2218         (-[WebIconDatabase _retainIconForIconURLString:]):
2219         This code did the wrong thing in the case where an icon was in the process of being forgotten about. In
2220         that case, the icon would still be in _private->iconsOnDiskWithURLs, so we wouldn't try to save it here,
2221         so the new icon wouldn't stick.
2222
2223 2006-04-07  David Hyatt  <hyatt@apple.com>
2224
2225         Re-enable coalesced updates.  Our move to a single timer has essentially
2226         implemented coalescing of updates anyway, so the regression has already
2227         come back.  Since we have to deal with that now anyway, there's no reason
2228         to visually tear also. :)
2229
2230         Reviewed by darin
2231
2232         * ChangeLog:
2233         * WebView/WebView.m:
2234         (-[WebView _commonInitializationWithFrameName:groupName:]):
2235
2236 2006-04-05  Darin Adler  <darin@apple.com>
2237
2238         - fixed a storage leak from that last check-in
2239
2240         * WebView/WebUnarchivingState.m: (-[WebUnarchivingState dealloc]):
2241         Release the two dictionaries.
2242
2243 2006-04-05  Maciej Stachowiak  <mjs@apple.com>
2244
2245         Reviewed by Eric.
2246         
2247         - start on factoring WebArchive unpacking more into a separate class.
2248         http://bugzilla.opendarwin.org/show_bug.cgi?id=8208
2249         
2250         * WebKit.xcodeproj/project.pbxproj:
2251         * WebView/WebDataSource.m:
2252         (-[WebDataSourcePrivate dealloc]):
2253         (-[WebDataSource _addToUnarchiveState:]):
2254         (-[WebDataSource _popSubframeArchiveWithName:]):
2255         (-[WebDataSource _documentFragmentWithArchive:]):
2256         (-[WebDataSource _setupForReplaceByMIMEType:]):
2257         (-[WebDataSource subresourceForURL:]):
2258         * WebView/WebDataSourcePrivate.h:
2259         * WebView/WebFrame.m:
2260         (-[WebFrame _loadRequest:archive:]):
2261         (-[WebFrame loadRequest:]):
2262         (-[WebFrame loadArchive:]):
2263         * WebView/WebFramePrivate.h:
2264         * WebView/WebHTMLRepresentation.m:
2265         (-[WebHTMLRepresentation loadArchive]):
2266         * WebView/WebUnarchivingState.h: Added.
2267         * WebView/WebUnarchivingState.m: Added.
2268         (-[WebUnarchivingState init]):
2269         (-[WebUnarchivingState addArchive:]):
2270         (-[WebUnarchivingState archivedResourceForURL:]):
2271         (-[WebUnarchivingState popSubframeArchiveWithFrameName:]):
2272
2273 2006-04-04  Timothy Hatcher  <timothy@apple.com>
2274
2275         Reviewed by Darin.
2276
2277         The Debug and Release frameworks are now built with install paths relative to the build products directory.
2278         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
2279
2280         * WebKit.xcodeproj/project.pbxproj:
2281
2282 2006-04-04  John Sullivan  <sullivan@apple.com>
2283
2284         Reviewed by Adele Peterson.
2285
2286         - WebKit part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
2287
2288         * WebView/WebView.m:
2289         (-[WebView _updateWebCoreSettingsFromPreferences:]):
2290         Pass private browsing setting down to WebCore.
2291
2292 2006-04-03  John Sullivan  <sullivan@apple.com>
2293
2294         Reviewed by Tim Hatcher.
2295         
2296         - re-fixed <rdar://problem/4481198> REGRESSION (TOT): search results list in bookmarks view 
2297         remains when search text is deleted
2298
2299         * WebView/WebView.m:
2300         (-[WebView searchFor:direction:caseSensitive:wrap:]):
2301         I fixed this recently, but then broke it again by adding an early bail-out to this method. So
2302         now I'm removing the early bail-out.
2303
2304 2006-04-02  Trey Matteson  <trey@usa.net>
2305
2306         Reviewed by Maciej.
2307
2308         fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8121
2309         REGRESSION: 404s are not displayed
2310
2311         * WebView/WebMainResourceLoader.m:
2312         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
2313         Only cancel failed loads for object elements, not for frames or a whole page.
2314
2315 2006-04-02  Maciej Stachowiak  <mjs@apple.com>
2316
2317         Reviewed by Hyatt.
2318
2319         - fixed <rdar://problem/4198619> REGRESSION: tabbing through links fails after hitting text field w/ sys's "tab to all controls" off
2320         - fixed <rdar://problem/4463760> REGRESSION: Can't tab from old text field (like password fields) to new text field (6811)
2321         (http://bugzilla.opendarwin.org/show_bug.cgi?id=6811)
2322         - fixed tab and shift tab don't select the right things
2323         http://bugzilla.opendarwin.org/show_bug.cgi?id=5685
2324
2325         * WebCoreSupport/WebFrameBridge.m:
2326         (-[WebFrameBridge willMakeFirstResponderForNodeFocus]): New method
2327         - let WebHTMLView know that the next time it becomes first
2328         responder, it's to change focus within the page and the right node
2329         has already been set, so it should not move focus forward or
2330         backward inside it.
2331         * WebView/WebHTMLView.m:
2332         (-[NSArray needsPanelToBecomeKey]): Override to return YES, oddly enough this
2333         is the right way to tell AppKit that you should be in the tab cycle loop.
2334         (-[NSArray becomeFirstResponder]): Don't move forward or back in tab cycle
2335         when this becomeFirstResponder is for tabbing from a control in the page.
2336         (-[WebHTMLView _willMakeFirstResponderForNodeFocus]): Note that the next
2337         time this view becomes first responder, it will be for in-page focus 
2338         navigation.
2339         * WebView/WebHTMLViewInternal.h:
2340
2341 2006-04-01  Darin Adler  <darin@apple.com>
2342
2343         Reviewed by Maciej.
2344
2345         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8105
2346           REGRESSION (NativeTextField): Option-delete deletes one space before the deleted word
2347
2348         Test: fast/forms/input-text-option-delete.html
2349
2350         * WebView/WebHTMLView.m:
2351         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Pass NO for
2352         smartDeleteOK. Smart deletion only applies to deleting a word at a time, and none of
2353         the callers of this function that delete a word at a time want smart deletion.
2354         (-[WebHTMLView deleteToEndOfLine:]): Fixed tiny formatting glitch.
2355
2356 2006-03-31  Timothy Hatcher  <timothy@apple.com>
2357
2358         Reviewed by Darin.
2359
2360         We need to set reachedTerminalState to YES before we release
2361         the resources to prevent a double dealloc of WebView
2362
2363         Fixes <rdar://problem/4372628> crash deallocating a WebView in -[WebFrame stopLoading]
2364
2365         * WebView/WebLoader.m:
2366         (-[NSURLProtocol releaseResources]): set reachedTerminalState earlier
2367
2368 2006-03-31  John Sullivan  <sullivan@apple.com>
2369
2370         Reviewed by Tim Omernick.
2371         
2372         Some cleanup in the WebIconDatabase code in a fruitless search for the cause
2373         of the mysterious -[WebFileDatabase performSetObject:forKey] crash
2374
2375         * Misc/WebIconDatabase.m:
2376         (-[WebIconDatabase _createFileDatabase]):
2377         removed obsolete comment
2378         (-[WebIconDatabase _loadIconDictionaries]):
2379         Added ERRORs for unexpected early returns. Made dictionaries be autoreleased until
2380         the end of the method where they are retained, so that the early returns don't leak;
2381         added ASSERTs that the _private->dictionary values aren't being leaked.
2382         (-[WebIconDatabase _updateFileDatabase]):
2383         Added an ERROR for an unexpected early return, and made a trivial style fix.
2384
2385 2006-03-31  Trey Matteson  <trey@usa.net>
2386
2387         Reviewed by Maciej, landed by ap.
2388
2389         http://bugzilla.opendarwin.org/show_bug.cgi?id=7739
2390         REGRESSION: Assertion failure loading acid2 test in -[WebCoreFrameBridge installInFrame:]
2391
2392         Tests: http/tests/misc/acid2.html, http/tests/misc/acid2-pixel.html
2393
2394         The gist of this change is that we must cancel the load from the Webkit side when we
2395         realize we're switching to the fallback content.  This is somewhat a temp workaround
2396         since control of loading will be moving to WebCore.
2397
2398         * WebView/WebMainResourceLoader.m:
2399         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
2400
2401 2006-03-30  Justin Garcia  <justin.garcia@apple.com>
2402
2403         Reviewed by darin
2404         
2405         http://bugzilla.opendarwin.org/show_bug.cgi?id=6989
2406         REGRESSION: Plain-text mode needed for contenteditable area used in new text field
2407
2408         * WebView/WebHTMLView.m:
2409         (-[WebHTMLView _canEditRichly]): Added.
2410         (-[WebHTMLView _canIncreaseSelectionListLevel]): Use _canEditRichly
2411         (-[WebHTMLView _canDecreaseSelectionListLevel]): Ditto.
2412         (-[WebHTMLView _increaseSelectionListLevel]):
2413         (-[WebHTMLView _decreaseSelectionListLevel]):
2414         (-[NSArray validateUserInterfaceItem:]): 
2415         Split rich text editing actions off from ones that can be applied anywhere.
2416         (-[NSArray _applyStyleToSelection:withUndoAction:]):
2417         (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]):
2418         (-[NSArray _alignSelectionUsingCSSValue:withUndoAction:]):
2419         * WebView/WebHTMLViewPrivate.h:
2420
2421 2006-03-29  Tim Omernick  <timo@apple.com>
2422
2423         Reviewed by John Sullivan.
2424
2425         <rdar://problem/4495316> REGRESSION (420+): After page has loaded, spinning progress indicator is displayed on
2426         tab at versiontracker.com
2427
2428         * WebView/WebFrame.m:
2429         (-[WebFrame _receivedMainResourceError:]):
2430         Call -_clientRedirectCancelledOrFinished: here so that the frame load delegate is notified that the redirect's
2431         status has changed, if there was a redirect.  The frame load delegate may have saved some state about
2432         the redirect in its -webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:.  Since we are definitely
2433         not going to use this provisional resource, as it was cancelled, notify the frame load delegate that the redirect
2434         has ended.
2435         The fix for 4432562 was similar to this, but only took care of the case where the redirect load was actually
2436         committed to the frame.  The new call to -_clientRedirectCancelledOrFinished: handles the case where the redirect
2437         load was successful, but was not committed.  This happens with downloads.
2438         
2439 2006-03-29  John Sullivan  <sullivan@apple.com>
2440
2441         Reviewed by Tim Omernick.
2442         
2443         - fixed these bugs:
2444         <rdar://problem/4483806> REGRESSION (417.8-TOT): PDFs don't scale correctly with auto-size (5356)
2445         <rdar://problem/3874856> Safari PDF display should be full width by default rather than 
2446         sized to show the entire page
2447
2448         * WebView/WebPDFRepresentation.m:
2449         (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
2450         Let the WebPDFView handle setting the document, because that's the best time to apply
2451         the sizing-related preferences.
2452         
2453         * WebView/WebPDFView.h:
2454         eliminated firstLayoutDone ivar and -PDFSubview public method; added -setPDFDocument:
2455         
2456         * WebView/WebPDFView.m:
2457         (-[WebPDFView initWithFrame:]):
2458         eliminate use of obsolete firstLayoutDone ivar
2459         (-[WebPDFView _applyPDFDefaults]):
2460         renamed from _readPDFDefaults for clarity
2461         (-[WebPDFView layout]):
2462         removed code that applied the preferences here. This was too early to handle auto-sizing correctly,
2463         because -layout can be called before the document exists, and calling setAutoSize:YES at that
2464         point confuses PDFView into setting the scale factor to 20 (the maximum).
2465         (-[WebPDFView setPDFDocument:]):
2466         New method, does what WebPDFRepresentation used to do and also applies the preferences here.
2467         This is a good place to apply them because the document is guaranteed to now exist (of course).
2468         (-[WebPDFView PDFSubview]):
2469         Moved this into a new FileInternal category because it's still needed by another class in
2470         this file but no longer needs to be public.
2471         
2472         * WebView/WebPreferences.m:
2473         (+[WebPreferences initialize]):
2474         Change WebKitPDFScaleFactorPreferenceKey to 0, which represents auto-size. This fixes 3874856,
2475         but wasn't feasible until 4483806 was fixed.
2476
2477 2006-03-28  Darin Adler  <darin@apple.com>
2478
2479         Reviewed by Geoff.
2480
2481         - added a build step that checks for init routines
2482
2483         * WebKit.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
2484         check-for-global-initializers script.
2485
2486 2006-03-28  Tim Omernick  <timo@apple.com>
2487
2488         Reviewed by Darin.
2489
2490         <rdar://problem/3694090> -[WebBaseNetscapePluginView finalize] is incorrect; design change needed
2491
2492         * Plugins/WebBaseNetscapePluginView.m:
2493         (-[WebBaseNetscapePluginView initWithFrame:]):
2494         Don't observe preferences changes here -- we only want to observe preferences while the view is 
2495         installed in the view hierarchy.  Plugins will appropriately start and stop themselves when added to
2496         or removed from a window.
2497         (-[WebBaseNetscapePluginView dealloc]):
2498         Don't remove observers here -- they should have been removed when the view was removed from its
2499         window.
2500         (-[WebBaseNetscapePluginView finalize]):
2501         ditto
2502         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
2503         Stop observing preferences when the view is removed from its window.
2504         (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
2505         Start observing preferences when the view is added to a window.
2506
2507 2006-03-27  Tim Omernick  <timo@apple.com>
2508
2509         Reviewed by Eric.
2510
2511         <rdar://problem/3694090> -[WebBaseNetscapePluginView finalize] is incorrect; design change needed
2512
2513         * ChangeLog:
2514         * Plugins/WebBaseNetscapePluginView.m:
2515         (-[WebBaseNetscapePluginView dealloc]):
2516         Instead of calling -stop, assert that the plugin is not running.  A plugin view cannot be deallocated
2517         until it is removed from its window.  When a plugin view is removed from its window, it calls -stop
2518         on itself.  Therefore I believe that this call to -stop is unnecessary; if I'm wrong, then the
2519         assertion will help catch any edge cases.
2520         (-[WebBaseNetscapePluginView finalize]):
2521         ditto
2522
2523 2006-03-27  Tim Omernick  <timo@apple.com>
2524
2525         Reviewed by Eric.
2526
2527         <rdar://problem/3694086> -[WebBaseNetscapePluginStream finalize] is incorrect; design change needed
2528
2529         * Plugins/WebBaseNetscapePluginStream.m:
2530         (-[WebBaseNetscapePluginStream dealloc]):
2531         Assert that the stream file path either never existed, or was deleted and NULL-ed out.  The stream file
2532         is now deleted immediately after calling NPP_StreamAsFile().
2533         (-[WebBaseNetscapePluginStream finalize]):
2534         ditto
2535         (-[WebBaseNetscapePluginStream _destroyStream]):
2536         Delete the file after calling NPP_StreamAsFile(), instead of in -dealloc/-finalize.  It should be OK
2537         to delete the file here -- NPP_StreamAsFile() is always called immediately before NPP_DestroyStream()
2538         (the stream destruction function), so there can be no expectation that a plugin will read the stream file
2539         asynchronously after NPP_StreamAsFile() is called.
2540
2541 2006-03-27  Tim Omernick  <timo@apple.com>
2542
2543         Reviewed by Eric.
2544
2545         <rdar://problem/3694093> -[WebBasePluginPackage finalize] is incorrect; design change needed
2546
2547         Call -unload on plug-in packages instead of relying on -dealloc/-finalize to do it.  Currently
2548         the only place plug-in packages are deallocated is when refreshing the set of plugins, as when
2549         handling JavaScript's navigator.plugins.refresh().
2550
2551         * Plugins/WebBasePluginPackage.m:
2552         (-[WebBasePluginPackage dealloc]):
2553         Assert that the plug-in has been unloaded by the time -dealloc is called.
2554         (-[WebBasePluginPackage finalize]):
2555         ditto
2556
2557         * Plugins/WebPluginDatabase.m:
2558         (-[WebPluginDatabase refresh]):
2559         Call -unload on the plug-in packages before releasing them.
2560
2561 2006-03-27  Tim Omernick  <timo@apple.com>
2562
2563         Reviewed by Tim Hatcher.
2564
2565         Part of <rdar://problem/4448350> Deprecated ObjC language API used in JavaScriptCore, WebCore,
2566         WebKit and WebBrowser
2567
2568         * Carbon/HIViewAdapter.h:
2569         HIViewAdapter is no longer an NSView subclass, since we no longer pose it as NSView.
2570         * Carbon/HIViewAdapter.m:
2571         (+[NSView bindHIViewToNSView:nsView:]):
2572         Replace individual NSView methods instead of posing as NSView.
2573         (_webkit_NSView_setNeedsDisplay):
2574         Replacement implementation of -[NSView setNeedsDisplay:].
2575         (_webkit_NSView_setNeedsDisplayInRect):
2576         Replacement implementation of -[NSView setNeedsDisplayInRect:]
2577         (_webkit_NSView_nextValidKeyView):
2578         Replacement implementation of -[NSView nextValidKeyView]
2579
2580 2006-03-27  John Sullivan  <sullivan@apple.com>
2581
2582         Reviewed by Darin Adler.
2583         
2584         Removed two overzealous assertions that the steps to reproduce 4451831 were running into.
2585         Improved comments to match.
2586
2587         * WebCoreSupport/WebFrameBridge.m:
2588         (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
2589         Remove assertion that _inNextKeyViewOutsideWebFrameViews should always be false here.
2590         
2591         * WebView/WebHTMLView.m:
2592         (-[NSArray nextValidKeyView]):
2593         Removed assertion that the frame should never be the main frame here.
2594
2595 2006-03-27  Tim Omernick  <timo@apple.com>
2596
2597         Reviewed by Tim Hatcher.
2598
2599         Removed tabs & reformatted code.
2600         
2601         * Carbon/HIViewAdapter.m:
2602         (+[NSView bindHIViewToNSView:nsView:]):
2603         (+[NSView getHIViewForNSView:]):
2604         (+[NSView unbindNSView:]):
2605         (-[NSView setNeedsDisplay:]):
2606         (-[NSView setNeedsDisplayInRect:]):
2607         (-[NSView nextValidKeyView]):
2608         (SetViewNeedsDisplay):
2609
2610 2006-03-26  Justin Garcia  <justin.garcia@apple.com>
2611
2612         Reviewed by darin
2613         
2614         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7974>
2615         Add EditActions and WebUndoActions for CreateLink and Unlink
2616
2617         * English.lproj/Localizable.strings:
2618         * WebCoreSupport/WebFrameBridge.m:
2619         (-[WebFrameBridge nameForUndoAction:]):
2620
2621 2006-03-23  Tim Omernick  <timo@apple.com>
2622
2623         Reviewed by John Sullivan.
2624
2625         At John's suggestion, renamed a private WebFrame method and tightened up some of the redirect logic I recently touched.
2626
2627         * WebView/WebFramePrivate.h:
2628         Renamed -_clientRedirectCancelled: to -_clientRedirectCancelledOrFinished:, since we call this both when a redirect is
2629         cancelled and when a redirect is successfully committed.
2630         * WebCoreSupport/WebFrameBridge.m:
2631         (-[WebFrameBridge reportClientRedirectCancelled:]):
2632         Call renamed WebFrame method.
2633         * WebView/WebFrame.m:
2634         Added sentRedirectNotification flag to WebFramePrivate.  This flag is set when we notify the frame load delegate that a
2635         redirect will occur.  We check this flag when committing a provisional load to ensure that the frame load delegate is
2636         notified that the redirect finished.
2637         (-[WebFrame _commitProvisionalLoad:]):
2638         After committing a provisional load, make sure that the frame load delegate is notified that there is no longer a pending
2639         redirect.
2640         (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
2641         Set the new sentRedirectNotification flag.
2642         (-[WebFrame _clientRedirectCancelledOrFinished:]):
2643         Renamed method.
2644         Clear the sentRedirectNotification flag.
2645         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
2646         Call renamed method.
2647
2648 2006-03-23  Tim Omernick  <timo@apple.com>
2649
2650         Reviewed by John Sullivan.
2651
2652         <rdar://problem/4439752> TinyMCE: "Search in Google" context menu is active but fails to work when selection is active
2653         in textarea field.
2654
2655         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
2656         (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
2657         Added a representedObject parameter, which is set on the newly created menu item.
2658         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
2659         Instead of setting the representedObject on each menu item after creating them all, pass the element to
2660         -menuItemWithTag:target:representedObject:.
2661         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
2662         ditto.  This fixes 4439752 because this method failed to set the representedObject on the menu items as
2663         -contextMenuItemsForElement:defaultMenuItems: did.
2664
2665 2006-03-23  Darin Adler  <darin@apple.com>
2666
2667         Reviewed by Eric.
2668
2669         - fix <rdar://problem/4380465> repro crash when unsuccessfully attempting to import image from Services menu
2670
2671         * WebView/WebDataSource.m:
2672         (-[WebDataSource _imageElementWithImageResource:]): Quietly do nothing if passed nil.
2673         (-[WebDataSource _documentFragmentWithImageResource:]): Ditto.
2674
2675 2006-03-22  Tim Omernick  <timo@apple.com>
2676
2677         Reviewed by Kevin Decker.
2678
2679         Even better fix for <rdar://problem/4432562>.  We need to notify the frame delegate of a finished redirect for both
2680         "fast" and "slow" redirects, after committing the load.  My previous change only notified for "fast", history-locking
2681         redirects.  Now we notify the frame delegate after committing any kind of provisional load, not just in the case of
2682         a fast redirect.
2683
2684         * WebView/WebFrame.m:
2685         (-[WebFrame _transitionToCommitted:]):
2686         (-[WebFrame _commitProvisionalLoad:]):
2687
2688 2006-03-22  Tim Omernick  <timo@apple.com>
2689
2690         Reviewed by Kevin Decker.
2691
2692         Better fix for <rdar://problem/4432562> REGRESSION (TOT): Safari's "stop loading" active, "view source" inactive after page load [7058]
2693
2694         * WebView/WebFrame.m:
2695         (-[WebFrame _transitionToCommitted:]):
2696         Cancel the client redirect when we commit the provisional load, if we were waiting for a redirect.
2697         This is a better fix for 7058 (<rdar://problem/4432562>).  The original fix for 7058 changed the timing of the redirect cancel
2698         in such a way that WebKit was precluded from ever reusing back/forward list entries for redirects.  Clearing the redirect state
2699         here actually makes logical sense, as the redirect's target page is being committed at this point.
2700
2701 2006-03-21  Darin Adler  <darin@apple.com>
2702
2703         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3784
2704           <rdar://problem/4483827> JavaScript save dialog disappears right away (sheet triggers blur event) (3784)
2705
2706         * WebView/WebHTMLView.m:
2707         (-[WebHTMLView _updateFocusState]): Treat window as having focus if its sheet is key.
2708         (-[WebHTMLView addWindowObservers]): Observe all focus notifications, not just the ones involving this window.
2709         (-[WebHTMLView removeWindowObservers]): Ditto.
2710         (-[WebHTMLView windowDidBecomeKey:]): Add checks so that we call the methods only when appropriate,
2711         since this will now be called for all windows.
2712         (-[WebHTMLView windowDidResignKey:]): Ditto.
2713
2714 2006-03-21  Adele Peterson  <adele@apple.com>
2715
2716         Reviewed by Darin.
2717
2718         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6813
2719         elementAtPoint needs to return input element when clicking on new text field
2720
2721         * WebView/WebDocumentInternal.h: Added elementAtPoint:allowShadowContent:
2722         * WebView/WebHTMLView.m:
2723         (-[NSArray elementAtPoint:]): Does not allow shadow content.  This way, by default, callers would get the input element instead of the inner div.
2724         (-[NSArray elementAtPoint:allowShadowContent:]): Allows callers to specify whether or not the element can be a shadow node.
2725         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Allows shadow content when getting element.
2726         (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto.
2727         (-[NSArray _isSelectionEvent:]): ditto.
2728         (-[NSArray _canProcessDragWithDraggingInfo:]): ditto.
2729         * WebView/WebFrame.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Does not allow shadow content when getting element.
2730         * WebView/WebImageView.m: (-[WebImageView elementAtPoint:allowShadowContent:]): Added to conform to the WebDocumentElement protocol.
2731         * WebView/WebPDFView.m: (-[WebPDFView elementAtPoint:allowShadowContent:]): ditto.
2732         * WebView/WebTextView.m: (-[WebTextView elementAtPoint:allowShadowContent:]): ditto.
2733
2734 2006-03-21  Tim Omernick  <timo@apple.com>
2735
2736         Reviewed by Tim Hatcher and Darin.
2737
2738         <rdar://problem/4427068> LMGetCurApRefNum, CloseConnection and GetDiskFragment deprecated, used in Netscape
2739         plugin code
2740
2741         * Plugins/WebNetscapeDeprecatedFunctions.h: Added.
2742         * Plugins/WebNetscapeDeprecatedFunctions.c: Added.
2743         Added wrappers for deprecated CFM and LowMem functions.  These exist in a separate file so that we can set
2744         -Wno-deprecated-declarations on this one file without ignoring other deprecated function usage elsewhere.
2745         (WebGetDiskFragment):
2746         (WebCloseConnection):
2747         (WebLMGetCurApRefNum):
2748         (WebLMSetCurApRefNum):
2749
2750         * Plugins/WebNetscapePluginPackage.h:
2751         Don't include connID ivar in 64-bit, since CFM is not supported in 64-bit.
2752         * Plugins/WebNetscapePluginPackage.m:
2753         (+[WebNetscapePluginPackage initialize]):
2754         Don't bother setting the resource refNum in 64-bit, because the API to get and set it does not exist.
2755         A theoretical 64-bit plugin couldn't possibly rely this, since there is no API.
2756         (-[WebNetscapePluginPackage unloadWithoutShutdown]):
2757         No need to close the connID in 64-bit.
2758         (-[WebNetscapePluginPackage load]):
2759         Don't load CFM bundles in 64-bit, because CFM is not supported.
2760
2761         * WebKit.xcodeproj/project.pbxproj:
2762         Added WebNetscapeDeprecatedFunctions.[hm].
2763
2764 2006-03-21  John Sullivan  <sullivan@apple.com>
2765
2766         Reviewed by Kevin Decker.
2767         
2768         - fixed <rdar://problem/4485637> Implementors of searchFor:direction:caseSensitive:wrap: should bail 
2769         out early if search string is empty
2770         
2771         This doesn't change any existing behavior, but avoids unnecessary work.
2772
2773         * Misc/WebSearchableTextView.m:
2774         (-[WebSearchableTextView searchFor:direction:caseSensitive:wrap:]):
2775         bail out immediately (returning NO) if search string is empty
2776         
2777         * WebView/WebHTMLView.m:
2778         (-[WebView searchFor:direction:caseSensitive:wrap:]):
2779         ditto
2780         
2781         * WebView/WebPDFView.m:
2782         (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
2783         ditto
2784         
2785         * WebView/WebView.m:
2786         (-[WebView searchFor:direction:caseSensitive:wrap:]):
2787         ditto
2788
2789 2006-03-20  Tim Omernick  <timo@apple.com>
2790
2791         Reviewed by John Sullivan.
2792
2793         Moved -_contentView from WebFrameViewInternal to WebFrameViewPrivate.  Safari
2794         needs this.
2795
2796         * WebView/WebFrameView.m:
2797         (-[WebFrameView _contentView]):
2798         * WebView/WebFrameViewInternal.h:
2799         * WebView/WebFrameViewPrivate.h:
2800
2801 2006-03-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2802
2803         Reviewed by Darin, landed by Beth.
2804
2805         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7693
2806           WebKit relies on unpredictable timing for onload events
2807
2808         * WebView/WebDataSource.m:
2809         (-[WebDataSource _receivedMainResourceError:complete:]): Check for 
2810         completion on the WebCore side before checking on the WebKit side, 
2811         to ensure that the onload event is emitted before the WebFrame load 
2812         delegate is sent the webView:didFinishLoadForFrame: message. For 
2813         DumpRenderTree, this ensures that the render tree is dumped after 
2814         the onload handler is run.
2815         * WebView/WebLoader.m:
2816         (-[NSURLProtocol didFailWithError:]): If load has already been 
2817         cancelled (which could happen if the parent's onload handler caused 
2818         the frame to detach), do nothing.
2819
2820 2006-03-17  John Sullivan  <sullivan@apple.com>
2821
2822         Reviewed by Beth Dakin
2823         
2824         - fixed <rdar://problem/4239051> Sometimes "Copy Link" in Safari results in a 
2825         URL on the pasteboard with no usable "title"
2826
2827         * History/WebURLsWithTitles.m:
2828         (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]):
2829         trim whitespace from titles that are put on pasteboard. This leaves an empty string
2830         for the title in cases where there's no displayed text, like an image in an <a> element
2831         that happens to have whitespace in the source, e.g. <a href="foo"> <img whatever></a>
2832
2833 2006-03-17  Darin Adler  <darin@apple.com>
2834
2835         - missing bit of my check-in yesterday
2836
2837         Maciej moved setWindowFrame for me, but I also had removed
2838         setWindowContentRect.
2839
2840         * WebCoreSupport/WebFrameBridge.m: Removed unused setWindowContextRect and
2841         windowContentRect methods.
2842
2843 2006-03-17  Adele Peterson  <adele@apple.com>
2844
2845         Reviewed by Hyatt.
2846
2847         WebKit part of fix for:
2848         http://bugzilla.opendarwin.org/show_bug.cgi?id=7797 
2849         Can't set background color on new text fields
2850
2851         Added function to draw bezeled text field without drawing background.
2852
2853         * WebCoreSupport/WebGraphicsBridge.m:
2854         (-[WebGraphicsBridge drawBezeledTextFieldCell:enabled:]): Added.
2855
2856 2006-03-16  Maciej Stachowiak  <mjs@apple.com>
2857
2858         Reviewed by Eric.
2859         
2860         - move setWindowFrame / windowFrame to WebPageBridge to fix build
2861
2862         * WebCoreSupport/WebFrameBridge.m:
2863         * WebCoreSupport/WebPageBridge.m:
2864         (-[WebPageBridge setWindowFrame:]):
2865         (-[WebPageBridge windowFrame]):
2866
2867 2006-03-15  Darin Adler  <darin@apple.com>
2868
2869         Fix by Patrick Beard, reviewed by me.
2870
2871         - fix <rdar://problem/4478181> WebPluginController leaks NSArray and NSMutableSet objects
2872
2873         * Plugins/WebPluginController.m:
2874         (-[WebPluginController initWithDocumentView:]): Call CFMakeCollectable on the CFSet
2875         so we can act like it's an NSSet.
2876         (-[WebPluginController dealloc]): Release _views and _checksInProgress.
2877
2878 2006-03-13  Tim Omernick  <timo@apple.com>
2879
2880         Reviewed by Maciej.
2881
2882         <rdar://problem/4476873> Support printing for plugin documents (not embedded plugins)
2883
2884         * WebView/WebFrameViewPrivate.h:
2885         * WebView/WebFrameView.m:
2886         (-[WebFrameView documentViewShouldHandlePrint]):
2887         Called by the host application before it initializes and runs a print operation.  If NO
2888         is returned, the host application will abort its print operation and call
2889         -printDocumentView on the WebFrameView.  The document view is then expected to run its
2890         own print operation.  If YES is returned, the host application's print operation will
2891         continue as normal.
2892         (-[WebFrameView printDocumentView]):
2893         Called by the host application when the WebFrameView returns YES from -documentViewShouldHandlePrint.
2894
2895         * Plugins/WebNetscapePluginDocumentView.m:
2896         (-[WebNetscapePluginDocumentView documentViewShouldHandlePrint]):
2897         Allow the plugin to take over printing if it defines an NPP_Print function
2898         (-[WebNetscapePluginDocumentView printDocumentView]):
2899         Print the plugin document.
2900
2901 2006-03-13  Geoffrey Garen  <ggaren@apple.com>
2902
2903         Reviewed by timo.
2904
2905         - Fixed the load progress indicator to give more incremental feedback, 
2906         and to stop spending so much time near 100%.
2907
2908         I did two things:
2909         (1) Fixed some bugs and a misspelling in the previous heuristic's 
2910         implementation
2911         (2) Added two new rules to the heuristic:
2912             (a) Treat the first layout as the half-way point.
2913             (b) Just like we jump the first 10% to indicate that a load has
2914             started, jump the last 10% to indicate that a load has finished.
2915
2916         Rule 2a is good for two reasons. First, it seems unnatural for loading
2917         to be "more than half done" when you can't even see anything. Second,
2918         in the early stages of laading our estimate of how much we'll need to
2919         load is often off by as much as 6000% (e.g., cnn.com). So anything that
2920         makes the progress indicator more conservative in the early stages of 
2921         loading is helpful.
2922
2923         Rule 2b is good because it's confusing for loading to be "100% done"
2924         but still ongoing.
2925
2926         FIXME: The indicator still isn't perfect. For example, the old behavior
2927         shows up @ moviefone.com. Two areas for future work:
2928         (1) Estimate number of linked resources. Our code estimates the size
2929         of a single resource, but does nothing to estimate the number of
2930         resources that resource might link to. This is the key to why we're
2931         so wrong at the beginning.
2932         (2) Improve "when to do first layout" heuristic. A JavaScript query
2933         for a style property forces layout, creating a phantom first layout 
2934         with no content, essentially nullifying 2a for certain pages.
2935         
2936         Filed <rdar://problem/4475834> to track estimating the number of 
2937         linked resources. Phantom layouts are already on Hyatt's radar.
2938
2939         * WebView/WebFrame.m:
2940         (-[WebFrame _setState:]): Update firstLayoutDone
2941         (-[WebFrame _numPendingOrLoadingRequests:]): Bug fix: In the recurisve 
2942         case, query 'frame' instead of 'self', so that we actually recurse.
2943         (-[WebFrame _firstLayoutDone]): New method
2944         (-[WebFrame _didFirstLayout]): Update firstLayoutDone
2945         * WebView/WebFramePrivate.h: Added firstLayoutDone ivar
2946         * WebView/WebView.m:
2947         (-[WebView _incrementProgressForConnectionDelegate:data:]):
2948         (1) Implemented 2a and 2b
2949         (2) Bug fix: only update the 'last time I sent a notification' time if 
2950         we actually send a notification.
2951         (3) Don't test for progress < 0 because ensuring progress < max
2952         also ensures max - progress > 0. (Do still test for progress > max 
2953         because rounding errors make that a possibility -- although a very 
2954         minor one.)
2955         (4) Query only the loading frame and its subframes for pending
2956         requests instead of defaulting to the main frame. This is a slight
2957         optimization in cases where the main frame did not begin the load,
2958         and it makes the code more consistent.
2959
2960 2006-03-13  John Sullivan  <sullivan@apple.com>
2961
2962         Reviewed by Tim Omernick.
2963         
2964         - fixed <rdar://problem/4475857> API: Setting a history item limit programmatically doesn't work
2965
2966         * History/WebHistory.m:
2967         (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
2968         use [self historyItemLimit], which prefers the explicitly-set value and falls back to the
2969         NSUserDefaults value, instead of using the NSUserDefaults value explicitly.
2970
2971 2006-03-10  Darin Adler  <darin@apple.com>
2972
2973         Reviewed by Adele.
2974
2975         * WebCoreSupport/WebFrameBridge.m: Remove unused requestedURLString method.
2976
2977 2006-03-10  Darin Adler  <darin@apple.com>
2978
2979         Reviewed by Geoff.
2980
2981         - change how frame namespacing works to be more completely on the WebCore side
2982
2983         * WebView/WebFrameInternal.h: Remove _setFrameNamespace: and _frameNamespace.
2984         * WebView/WebFrame.m: Ditto.
2985
2986         * WebView/WebView.m:
2987         (-[WebView setGroupName:]): Call -[WebCorePageBridge setGroupName:].
2988         (-[WebView groupName]): Call -[WebCorePageBridge groupName].
2989
2990 2006-03-09  Alexey Proskuryakov  <ap@nypop.com>
2991
2992         Reviewed by Darin.
2993
2994         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7656
2995          Query string always appended to Flash URLs, instead of being replaced.
2996
2997         * Misc/WebNSURLExtras.h: Added _webkit_URLByRemovingResourceSpecifier.
2998         * Misc/WebNSURLExtras.m:
2999         (+[NSURL _web_URLWithData:relativeToURL:]): Call _webkit_URLByRemovingResourceSpecifier to
3000         work around CFURL not removing non-path components from base URLs in some cases.
3001         (-[NSURL _webkit_URLByRemovingComponent:]): New generic function for removing URL components.
3002         (-[NSURL _webkit_URLByRemovingFragment]): Moved implementation to the above method.
3003         (-[NSURL _webkit_URLByRemovingResourceSpecifier]): Added.
3004
3005 2006-03-07  Darin Adler  <darin@apple.com>
3006
3007         Reviewed by Anders.
3008
3009         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7655
3010           unwanted output while running layout tests
3011
3012         * WebView/WebDataSourcePrivate.h:
3013         * WebView/WebDataSource.m:
3014         (-[WebDataSource _setRepresentation:]): Clear the flag that records whether we've sent
3015         all the data to the representation or not; need this to prevent telling the same representation
3016         both that we've succeeded and then later that we've failed.
3017         (-[WebDataSource _setMainDocumentError:]): Don't send an error if representationFinishedLoading
3018         is already YES. Set representationFinishedLoading.
3019         (-[WebDataSource _finishedLoading]): Set representationFinishedLoading.
3020         (-[WebDataSource _setupForReplaceByMIMEType:]): Ditto.
3021
3022 2006-03-06  Tim Omernick  <timo@apple.com>
3023
3024         Reviewed by Kevin Decker.
3025
3026         <rdar://problem/4457574> assertion failure watching trailers at netflix.com -[WebNetscapePluginRepresentation
3027         receivedData:withDataSource:] + 684
3028
3029         * Plugins/WebNetscapePluginRepresentation.m:
3030         (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
3031         Moved the ASSERT(instance) to the block that actually requires an assertion -- the plugin view should never
3032         have a NULL instance by the time we start the NPStream (by calling -startStreamWithResponse:).
3033         Some stream teardown logic changed with my fix to 4153419: when a WebBaseNetscapePluginStream is destroyed,
3034         it now clears its NPP instance backpointer.  The WebBaseNetscapePluginStream may be destroyed from within
3035         -startStreamWithResponse: if NPP_NewStream() returns an error.  We can handle this gracefully by changing
3036         the assertion before -receivedData: to a simple NULL check.
3037         This is unrelated to the Radar, but prior to this fix, we would attempt an NPP_Write() with the initial
3038         stream data even if NPP_NewStream() returned an error.  Seems like that alone could cause issues, though
3039         I'm guessing that plugins handle this in practice.
3040
3041 2006-03-03  Timothy Hatcher  <timothy@apple.com>
3042
3043         Reviewed by Darin.
3044         
3045         <rdar://problem/4411822> wrong element shown in Inspector inspecting main image at apple.com
3046         <rdar://problem/4411908> in the Web Inspector, state of disclosure triangles should be preserved after search
3047         http://bugzilla.opendarwin.org/show_bug.cgi?id=6616
3048         Bug 6616: Double-clicking on a search result seems broken
3049         http://bugzilla.opendarwin.org/show_bug.cgi?id=6709
3050         Bug 6709: TypeError: Value undefined (result of expression treeScrollbar.refresh) is not object.
3051
3052         Code clean up and move more code into JavaScript.
3053         Removes a few unused ObjC methods.
3054         Many search fixes. Reveals the focused node when exiting the search.
3055         Shows a "No Selection" screen when there are no search results.
3056         Shows a node count for the number of results.
3057         Fixes a couple of TypeErrors that show on the console.
3058         Uses the system selection color in the Style pane tables.
3059
3060         * English.lproj/Localizable.strings: removed localized strings
3061         * WebInspector.subproj/WebInspector.m:
3062         (-[WebInspector init]):
3063         (-[WebInspector dealloc]):
3064         (-[WebInspector window]):
3065         (-[WebInspector setSearchQuery:]):
3066         (-[WebInspector resizeTopArea]):
3067         (-[WebInspector searchPerformed:]): called from JavaScript when a search happens
3068         (-[WebInspector _toggleIgnoreWhitespace:]):
3069         (-[WebInspector _exitSearch:]): exit search results on double click
3070         (-[WebInspector _focusRootNode:]):
3071         (-[WebInspector _revealAndSelectNodeInTree:]):
3072         (-[WebInspector _refreshSearch]):
3073         (-[WebInspector _update]):
3074         (-[WebInspector _updateTraversalButtons]):
3075         (-[WebInspector _updateRoot]):
3076         (-[WebInspector _updateTreeScrollbar]):
3077         (-[WebInspector _updateSystemColors]): update CSS with system colors
3078         (-[WebInspector webView:didFinishLoadForFrame:]):
3079         (-[WebInspector webView:plugInViewWithArguments:]):
3080         (-[WebInspector outlineViewSelectionDidChange:]): test for webViewLoaded
3081         (-[WebInspectorPrivate init]): alloc rightArrowImage and downArrowImage
3082         (-[WebInspectorPrivate dealloc]): no more matchedRules
3083         (-[DOMNode _displayName]): removed localization UI_STRING calls.
3084         * WebInspector.subproj/WebInspectorInternal.h:
3085         * WebInspector.subproj/webInspector/inspector.css:
3086         * WebInspector.subproj/webInspector/inspector.html:
3087         * WebInspector.subproj/webInspector/inspector.js:
3088
3089 2006-03-02  Alexey Proskuryakov  <ap@nypop.com>
3090
3091         Fixed a typo in the comments added in the previous checkin.
3092
3093         * WebCoreSupport/WebFrameBridge.m:
3094         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
3095         * WebCoreSupport/WebSubresourceLoader.m:
3096         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
3097         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
3098
3099 2006-03-02  Alexey Proskuryakov  <ap@nypop.com>
3100
3101         Reviewed by Darin.
3102
3103         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7540
3104           REGRESSION: frequent cache-related crashes
3105
3106         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7393
3107           A stale comment about XMLHttpRequest responses being never cached
3108
3109         * WebCoreSupport/WebFrameBridge.m: Don't call setHTTPHeader if the method is GET.
3110         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
3111         * WebCoreSupport/WebSubresourceLoader.m: Ditto. Also removed a stale comment about
3112         XMLHTTPRequests.
3113         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
3114         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
3115
3116 2006-02-23  David Harrison  <harrison@apple.com>
3117
3118         Reviewed by Justin.
3119
3120         <rdar://problem/4359736> Support outlining ability with lists
3121
3122         Added Mail SPI for list level changes.  It is SPI because it is not complete support
3123         for outlining.  See <rdar://problem/4457070> "API for html lists as note outlines".
3124         
3125         * WebView/WebHTMLView.m:
3126         (-[WebHTMLView _canIncreaseSelectionListLevel]):
3127         (-[WebHTMLView _canDecreaseSelectionListLevel]):
3128         (-[WebHTMLView _increaseSelectionListLevel]):
3129         (-[WebHTMLView _decreaseSelectionListLevel]):
3130         * WebView/WebHTMLViewPrivate.h:
3131
3132 2006-03-01  Alexey Proskuryakov  <ap@nypop.com>
3133
3134         Reviewed by Darin.
3135
3136         - http://bugzilla.opendarwin.org/show_bug.cgi?id=3812
3137           XMLHttpRequest: PUT, DELETE, HEAD and all other methods but POST actually do a GET.
3138
3139         All WebKit changes are to use the method parameter passed from WebCore.
3140
3141         * WebCoreSupport/WebFrameBridge.m:
3142         (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
3143         (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
3144         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
3145         * WebCoreSupport/WebSubresourceLoader.h:
3146         * WebCoreSupport/WebSubresourceLoader.m:
3147         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
3148         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
3149
3150 2006-03-01  Timothy Hatcher  <timothy@apple.com>
3151
3152         Reviewed by Darin.
3153
3154         http://bugzilla.opendarwin.org/show_bug.cgi?id=7450
3155         elementAtPoint is expensive and should return a smart dictionary
3156         
3157         <rdar://problem/2952761> moving the mouse around eats more CPU than I would expect (7450)
3158         
3159         elementAtPoint for WebHTMLView now returns a WebElementDictionary,
3160         when objectForKey is called it will lookup in the DOM, cache and return the value
3161
3162         * Misc/WebElementDictionary.h: Added.
3163         * Misc/WebElementDictionary.m: Added.
3164         (addLookupKey):
3165         (cacheValueForKey):
3166         (+[WebElementDictionary initializeLookupTable]):
3167         (-[WebElementDictionary initWithInnerNonSharedNode:innerNode:URLElement:andPoint:]):
3168         (-[WebElementDictionary dealloc]):
3169         (-[WebElementDictionary _fillCache]):
3170         (-[WebElementDictionary count]):
3171         (-[WebElementDictionary keyEnumerator]):
3172         (-[WebElementDictionary objectForKey:]):
3173         (-[WebElementDictionary _domNode]):
3174         (-[WebElementDictionary _webFrame]):
3175         (-[WebElementDictionary _targetWebFrame]):
3176         (-[WebElementDictionary _title]):
3177         (-[WebElementDictionary _imageRect]):
3178         (-[WebElementDictionary _isSelected]):
3179         * Misc/WebNSViewExtras.m:
3180         (-[NSView _web_dragImage:element:rect:event:pasteboard:source:offset:]):
3181         * WebKit.xcodeproj/project.pbxproj:
3182         * WebView/WebHTMLView.m:
3183         (-[WebHTMLView _updateMouseoverWithEvent:]):
3184         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
3185         (-[NSArray elementAtPoint:]):
3186         * WebView/WebView.m:
3187         * WebView/WebViewPrivate.h:
3188
3189 2006-02-28  Darin Adler  <darin@apple.com>
3190
3191         Reviewed by Adele.
3192
3193         - remove obsolete WebCoreScrollView class
3194
3195         * WebView/WebDynamicScrollBarsView.h: Change base class to NSScrollView instead of WebCoreScrollView.
3196         * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView autoforwardsScrollWheelEvents]): Added.
3197
3198 2006-02-28  John Sullivan  <sullivan@apple.com>
3199
3200         Reviewed by Eric Seidel
3201         
3202         Wean WebKit from one more SPI call. We learned about this new-to-Tiger
3203         API from filing Radar 4433222.
3204
3205         * WebView/WebHTMLView.m:
3206         (-[WebHTMLView _autoscroll]):
3207         use public CGEventSourceButtonState() instead of WKMouseIsDown() (which was using SPI internally)
3208
3209 2006-02-27  Tim Omernick  <timo@apple.com>
3210
3211         Reviewed by Adele.
3212
3213         <rdar://problem/4222043> Safari should reduce null events sent to invisible plugins
3214
3215         * Plugins/WebBaseNetscapePluginView.h:
3216         * Plugins/WebBaseNetscapePluginView.m:
3217         (-[WebBaseNetscapePluginView restartNullEvents]):
3218         Check to see if the plugin view is completely obscured (scrolled out of view, for example).  If it is
3219         obscured and it wasn't before, or the other way around, then restart the null event timer so it can
3220         fire at the appropriate rate.
3221         (-[WebBaseNetscapePluginView viewHasMoved:]):
3222         If a plugin is obscured, send it null events as if it were in an inactive window.
3223
3224 2006-02-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3225
3226         Test: fast/frames/empty-frame-document.html
3227
3228         Reviewed by Darin.
3229
3230         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7293
3231           REGRESSION: Using Javascript Bookmarklets that reference location.href on a blank tab crashes WebKit
3232
3233         The crash happened because an empty frame did not have a document.
3234
3235         * WebView/WebFrame.m:
3236         (-[WebFrame _commitProvisionalLoad:]): Use "about:blank" instead of an empty URL for empty
3237         frames. This causes a document to be created for the frame.
3238
3239 2006-02-21  Kevin Decker  <kdecker@apple.com>
3240
3241         Reviewed by Darin.
3242
3243         Backed out my previous check in. Since these methods are internal to WebKit (and not private)
3244         it's perfectly OK for them to remain as categories. 
3245         * ChangeLog:
3246         * WebView/WebPreferences.m:
3247         (-[WebPreferences _integerValueForKey:]):
3248         (-[WebPreferences _setIntegerValue:forKey:]):
3249         (-[WebPreferences _floatValueForKey:]):
3250         (-[WebPreferences _setFloatValue:forKey:]):
3251         (-[WebPreferences _boolValueForKey:]):
3252         (-[WebPreferences _setBoolValue:forKey:]):
3253         * WebView/WebPreferencesPrivate.h:
3254
3255 2006-02-20  Darin Adler  <darin@apple.com>
3256
3257         Collaborated with Graham Dennis <Graham.Dennis@gmail.com> on this.
3258
3259         - WebKit part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6831
3260           contentEditable outline darkens as caret moves
3261
3262         * WebCoreSupport/WebGraphicsBridge.m:
3263         (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:]):
3264         Replaced the old bridge function that set up style with this one that renders a path.
3265
3266 2006-02-19  Darin Adler  <darin@apple.com>
3267
3268         Reviewed by Maciej.
3269
3270         - cut out a little unneeded bridge code
3271
3272         * WebCoreSupport/WebFrameBridge.m:
3273         (-[WebFrameBridge webView]): Added. Helper, since the WebCore side of the bridge no longer
3274         has this method.
3275         (-[WebFrameBridge createWindowWithURL:]): Removed the frameName parameter -- this is now
3276         handled on the WebCore side. Also return a page bridge instead of a frame bridge.
3277         (-[WebFrameBridge createModalDialogWithURL:]): Changed to return a page bridge instead of
3278         a frame bridge.
3279
3280         * WebView/WebFrame.m: (-[WebFrame webView]): Change to get the webView from the page bridge
3281         instead of the frame bridge, since it's a per-page thing.
3282
3283         * WebView/WebView.m: Removed init method since it just does what the default does (calls
3284         initWithFrame: with a zero rect).
3285         (-[WebView initWithCoder:]): Added checking so that if the obejcts have the wrong type
3286         we will fail gracefully instead of hitting "method not found" and the like.
3287         (-[WebView setPreferencesIdentifier:]): Fix storage leak. The WebPreferences object was
3288         not released.
3289         (-[WebView mainFrame]): Removed excess "return nil".
3290         (-[WebView _pageBridge]): Added. Helper to let you go from the WebView to the bridge
3291         from outside the WebView class.
3292         * WebView/WebViewInternal.h: Put _pageBridge into an internal header.
3293
3294         * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge outerView]): Added. Replaces "webView"
3295         as public method to tell the WebCore side about the view everything's embedded in.
3296
3297         - other cleanup
3298
3299         * WebCoreSupport/WebPageBridge.h: Removed some unneeded declarations.
3300
3301         * Plugins/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]):
3302         Rearrange code so it doesn't have to get the main frame twice.
3303
3304 2006-02-18  Maciej Stachowiak  <mjs@apple.com>
3305
3306         Not reviewed.
3307         
3308         - fix build broken by my last checkin, the remaining code was not doing anything.
3309
3310         * WebView/WebDataSource.m:
3311         * WebView/WebDataSourcePrivate.h:
3312         * WebView/WebFrame.m:
3313         (-[WebFrame _createPageCacheForItem:]):
3314
3315 2006-02-16  Maciej Stachowiak  <mjs@apple.com>
3316
3317         Reviewed by Darin.
3318         
3319         - removed a few unused fields and methods of WebDataSource
3320
3321         * WebView/WebDataSource.m:
3322         * WebView/WebDataSourcePrivate.h:
3323         * WebView/WebView.m:
3324         (+[WebView _MIMETypeForFile:]):
3325         (-[WebView _updateWebCoreSettingsFromPreferences:]):
3326
3327 2006-02-15  Justin Garcia  <justin.garcia@apple.com>
3328
3329         Reviewed by darin
3330         
3331         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7148>
3332         Add drag and drop support to DumpRenderTree
3333         
3334         Added a UI delegate method so that DumpRenderTree can perform dragging on its own.
3335         Made _updateFocusState SPI, to allow us to test the behavior and appearance of
3336         windows that have or don't have focus.
3337
3338         * WebView/WebHTMLView.m:
3339         (-[WebHTMLView _updateFocusState]):
3340         (-[NSArray viewDidMoveToWindow]):
3341         (-[NSArray windowDidBecomeKey:]):
3342         (-[NSArray windowDidResignKey:]):
3343         (-[NSArray dragImage:at:offset:event:pasteboard:source:slideBack:]):
3344         (-[NSArray becomeFirstResponder]):
3345         (-[NSArray resignFirstResponder]):
3346         (-[WebHTMLView _formControlIsResigningFirstResponder:]):
3347         * WebView/WebHTMLViewInternal.h:
3348         * WebView/WebHTMLViewPrivate.h:
3349         * WebView/WebUIDelegatePrivate.h:
3350         * WebView/WebView.m:
3351
3352 2006-02-15  Darin Adler  <darin@apple.com>
3353
3354         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
3355
3356 2006-02-15  Maciej Stachowiak  <mjs@apple.com>
3357
3358         Rubber stamped by Anders.
3359
3360         * WebView/WebControllerPolicyHandlerDelegate.h: Removed.
3361
3362 2006-02-15  Maciej Stachowiak  <mjs@apple.com>
3363
3364         Reviewed by Anders.
3365         
3366         - remove some voodoo code
3367
3368         * WebView/WebDataSource.m:
3369         (-[WebDataSource _setLoading:]): Removed useless ref/deref of self and WebView.
3370         A WebDataSource cannot be loading unless it is still connected to the WebView that
3371         owns it and retained by it, because getting disconnected stops loading.
3372
3373 2006-02-13  Maciej Stachowiak  <mjs@apple.com>
3374
3375         Reviewed by Anders.
3376         
3377         Improvements to frame loading:
3378         
3379         - remove LayoutAcceptable state entirely
3380         - fix WebImageView to work right without LayoutAcceptable state
3381         - move guts of commitIfReady: to WebFrame
3382         - try to separate page cache loading from normal loading a bit more
3383
3384         * English.lproj/StringsNotToBeLocalized.txt:
3385         * WebView/WebDataSource.m:
3386         (-[WebDataSource _prepareForLoadStart]):
3387         (-[WebDataSource _loadFromPageCache:]):
3388         (-[WebDataSource _startLoading]):
3389         (-[WebDataSource _commitIfReady]):
3390         (-[WebDataSource _setupForReplaceByMIMEType:]):
3391         * WebView/WebDataSourcePrivate.h:
3392         * WebView/WebFrame.m:
3393         (-[WebFrame _transitionToCommitted:]):
3394         (-[WebFrame _commitProvisionalLoad:]):
3395         (-[WebFrame _checkLoadCompleteForThisFrame]):
3396         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
3397         * WebView/WebFramePrivate.h:
3398         * WebView/WebImageRepresentation.h:
3399         * WebView/WebImageRepresentation.m:
3400         * WebView/WebImageView.m:
3401         (-[WebImageView dataSourceUpdated:]):
3402         (-[WebImageView setNeedsLayout:]):
3403         (-[WebImageView writeImageToPasteboard:types:]):
3404         (-[WebImageView copy:]):
3405         (-[WebImageView mouseDragged:]):
3406         * WebView/WebView.m:
3407         (-[WebView _finishedLoadingResourceFromDataSource:]):
3408         (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]):
3409
3410 2006-02-13  John Sullivan  <sullivan@apple.com>
3411
3412         Reviewed by Tim Omernick.
3413
3414         Support for highlighting multiple text matches.
3415
3416         * WebView/WebHTMLViewPrivate.h:
3417         * WebView/WebHTMLView.m:
3418         (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]):
3419         new method, calls through to bridge
3420         (-[WebHTMLView clearHighlightedMatches]):
3421         ditto
3422
3423         * WebView/WebViewPrivate.h:
3424         * WebView/WebView.m:
3425         (-[WebView highlightAllMatchesForString:caseSensitive:]):
3426         new method, calls through to documentView. For now this is hardwired to only work
3427         with WebHTMLViews.
3428         (-[WebView clearHighlightedMatches]):
3429         ditto
3430
3431 2006-02-13  Darin Adler  <darin@apple.com>
3432
3433         Reviewed by Maciej.
3434
3435         - move pointer from frame to page over to WebCore
3436
3437         * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge initWithMainFrameName:webView:frameView:]):
3438         Call super init to create the page before creating the main frame and calling setMainFrame: with it.
3439
3440         * WebCoreSupport/WebFrameBridge.h: Remove page pointer, and change init function parameters.
3441         * WebCoreSupport/WebFrameBridge.m:
3442         (-[WebFrameBridge initMainFrameWithPage:frameName:view:]): New function that is used only for
3443         the main frame. Passes the page over to the other side of the bridge.
3444         (-[WebFrameBridge initSubframeWithRenderer:frameName:view:]): New function that is used only for
3445         subframes. Passes the renderer over to the other side of the bridge.
3446         (-[WebFrameBridge mainFrame]):
3447         (-[WebFrameBridge webView]):
3448         (-[WebFrameBridge createWindowWithURL:frameName:]):
3449         (-[WebFrameBridge showWindow]):
3450         (-[WebFrameBridge areToolbarsVisible]):
3451         (-[WebFrameBridge setToolbarsVisible:]):
3452         (-[WebFrameBridge isStatusbarVisible]):
3453         (-[WebFrameBridge setStatusbarVisible:]):
3454         (-[WebFrameBridge setWindowFrame:]):
3455         (-[WebFrameBridge windowFrame]):
3456         (-[WebFrameBridge setWindowContentRect:]):
3457         (-[WebFrameBridge windowContentRect]):
3458         (-[WebFrameBridge setWindowIsResizable:]):
3459         (-[WebFrameBridge windowIsResizable]):
3460         (-[WebFrameBridge firstResponder]):
3461         (-[WebFrameBridge makeFirstResponder:]):
3462         (-[WebFrameBridge closeWindowSoon]):
3463         (-[WebFrameBridge runJavaScriptAlertPanelWithMessage:]):
3464         (-[WebFrameBridge runJavaScriptConfirmPanelWithMessage:]):
3465         (-[WebFrameBridge canRunBeforeUnloadConfirmPanel]):
3466         (-[WebFrameBridge runBeforeUnloadConfirmPanelWithMessage:]):
3467         (-[WebFrameBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
3468         (-[WebFrameBridge addMessageToConsole:]):
3469         (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
3470         (-[WebFrameBridge setStatusText:]):
3471         (-[WebFrameBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
3472         (-[WebFrameBridge focusWindow]):
3473         (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
3474         (-[WebFrameBridge userAgentForURL:]):
3475         (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
3476         (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]):
3477         (-[WebFrameBridge defersLoading]):
3478         (-[WebFrameBridge setDefersLoading:]):
3479         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
3480         (-[WebFrameBridge _preferences]):
3481         (-[WebFrameBridge selectWordBeforeMenuEvent]):
3482         (-[WebFrameBridge historyLength]):
3483         (-[WebFrameBridge canGoBackOrForward:]):
3484         (-[WebFrameBridge goBackOrForward:]):
3485         (-[WebFrameBridge print]):
3486         (-[WebFrameBridge pollForAppletInView:]):
3487         (-[WebFrameBridge respondToChangedContents]):
3488         (-[WebFrameBridge respondToChangedSelection]):
3489         (-[WebFrameBridge undoManager]):
3490         (-[WebFrameBridge issueCutCommand]):
3491         (-[WebFrameBridge issueCopyCommand]):
3492         (-[WebFrameBridge issuePasteCommand]):
3493         (-[WebFrameBridge issuePasteAndMatchStyleCommand]):
3494         (-[WebFrameBridge canPaste]):
3495         (-[WebFrameBridge overrideMediaType]):
3496         (-[WebFrameBridge isEditable]):
3497         (-[WebFrameBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
3498         (-[WebFrameBridge shouldBeginEditing:]):
3499         (-[WebFrameBridge shouldEndEditing:]):
3500         (-[WebFrameBridge windowObjectCleared]):
3501         (-[WebFrameBridge spellCheckerDocumentTag]):
3502         (-[WebFrameBridge isContinuousSpellCheckingEnabled]):
3503         (-[WebFrameBridge didFirstLayout]):
3504         (-[WebFrameBridge dashboardRegionsChanged:]):
3505         (-[WebFrameBridge createModalDialogWithURL:]):
3506         (-[WebFrameBridge canRunModal]):
3507         (-[WebFrameBridge runModal]):
3508         Change all calls to [_page webView] to use [self webView] instead.
3509
3510 === WebKit-521.7
3511
3512 2006-02-11  Maciej Stachowiak  <mjs@apple.com>
3513
3514         Reviewed by Hyatt.
3515         
3516         - factor WebArchive creation code out of other classes into new WebArchiver
3517         http://bugzilla.opendarwin.org/show_bug.cgi?id=7208
3518
3519         * DOM/WebDOMOperations.m:
3520         (-[DOMNode webArchive]):
3521         (-[DOMRange webArchive]):
3522         * WebKit.xcodeproj/project.pbxproj:
3523         * WebView/WebArchiver.h: Added.
3524         * WebView/WebArchiver.m: Added.
3525         (+[WebArchiver _subframeArchivesForFrame:]):
3526         (+[WebArchiver archiveFrame:]):
3527         (+[WebArchiver _archiveCurrentStateForFrame:]):
3528         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
3529         (+[WebArchiver archiveRange:]):
3530         (+[WebArchiver archiveNode:]):
3531         (+[WebArchiver archiveSelectionInFrame:]):
3532         * WebView/WebDataSource.m:
3533         (-[WebDataSource webArchive]):
3534         * WebView/WebDataSourcePrivate.h:
3535         * WebView/WebHTMLView.m:
3536         (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
3537         (-[WebHTMLView _writeSelectionToPasteboard:]):
3538         * WebView/WebHTMLViewPrivate.h:
3539
3540 2006-02-11  Darin Adler  <darin@apple.com>
3541
3542         * English.lproj/StringsNotToBeLocalized.txt: Updated paths for recent changes in directory structure.
3543
3544 2006-02-11  David Kilzer  <ddkilzer@kilzer.net>
3545
3546         Reviewed by John Sullivan.
3547
3548         - Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7171
3549         No description in WebKitErrors.m for WebKitErrorPlugInWillHandleLoad
3550
3551         * English.lproj/Localizable.strings: Added new UI_STRING().
3552         * Misc/WebKitErrors.m: Added #define for description.
3553         (registerErrors): Added dictionary entry.
3554
3555 2006-02-09  Tim Omernick  <timo@apple.com>
3556
3557         Reviewed by Tim Hatcher.
3558
3559         <rdar://problem/4153419> CrashTracer: 576 crashes in Safari at com.apple.WebKit: NPN_DestroyStream + 56
3560
3561         I never could reproduce this crasher, which seems to be caused by the Speed Download plugin.  However,
3562         I did find a way to make the affected code more bulletproof for those who are experiencing the crash.
3563         
3564         * Plugins/WebBaseNetscapePluginStream.h:
3565         Keep a WebBaseNetscapePluginView instead of the WebNetscapePluginPackage, since the plugin view could
3566         potentially be deallocated before the stream finishes loading.
3567         * Plugins/WebBaseNetscapePluginStream.m:
3568         (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
3569         Use pluginView instead of plugin.
3570         (-[WebBaseNetscapePluginStream dealloc]):
3571         Assert that the plugin instance has been nulled out, since that's now part of the stream's teardown
3572         phase.
3573         Release pluginView instead of plugin.
3574         (-[WebBaseNetscapePluginStream setPluginPointer:]):
3575         Retain the plugin view instead of the plugin package, since the plugin view could be deallocated while
3576         the stream is running.
3577         This method now accepts a NULL argument so that we can easily clear out the pluginView backpointer
3578         (and other ivars derived from it).
3579         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
3580         Use pluginView instead of plugin.
3581         (-[WebBaseNetscapePluginStream _destroyStream]):
3582         ditto
3583         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
3584         ditto
3585         (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError]):
3586         Set the plugin instance to NULL, so that the pluginView backpointer is released.  This method is called
3587         for every plugin view's stream when the plugin view is stopped/destroyed.
3588         (-[WebBaseNetscapePluginStream _deliverData]):
3589         Use pluginView instead of plugin.
3590
3591 == Rolled over to ChangeLog-2006-02-09 ==