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