89645fb0a3e17e904059e5ed3a5e02418955a036
[WebKit-https.git] / WebKit / ChangeLog
1 2006-03-23  Tim Omernick  <timo@apple.com>
2
3         Reviewed by John Sullivan.
4
5         <rdar://problem/4439752> TinyMCE: "Search in Google" context menu is active but fails to work when selection is active
6         in textarea field.
7
8         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
9         (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
10         Added a representedObject parameter, which is set on the newly created menu item.
11         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
12         Instead of setting the representedObject on each menu item after creating them all, pass the element to
13         -menuItemWithTag:target:representedObject:.
14         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
15         ditto.  This fixes 4439752 because this method failed to set the representedObject on the menu items as
16         -contextMenuItemsForElement:defaultMenuItems: did.
17
18 2006-03-23  Darin Adler  <darin@apple.com>
19
20         Reviewed by Eric.
21
22         - fix <rdar://problem/4380465> repro crash when unsuccessfully attempting to import image from Services menu
23
24         * WebView/WebDataSource.m:
25         (-[WebDataSource _imageElementWithImageResource:]): Quietly do nothing if passed nil.
26         (-[WebDataSource _documentFragmentWithImageResource:]): Ditto.
27
28 2006-03-22  Tim Omernick  <timo@apple.com>
29
30         Reviewed by Kevin Decker.
31
32         Even better fix for <rdar://problem/4432562>.  We need to notify the frame delegate of a finished redirect for both
33         "fast" and "slow" redirects, after committing the load.  My previous change only notified for "fast", history-locking
34         redirects.  Now we notify the frame delegate after committing any kind of provisional load, not just in the case of
35         a fast redirect.
36
37         * WebView/WebFrame.m:
38         (-[WebFrame _transitionToCommitted:]):
39         (-[WebFrame _commitProvisionalLoad:]):
40
41 2006-03-22  Tim Omernick  <timo@apple.com>
42
43         Reviewed by Kevin Decker.
44
45         Better fix for <rdar://problem/4432562> REGRESSION (TOT): Safari's "stop loading" active, "view source" inactive after page load [7058]
46
47         * WebView/WebFrame.m:
48         (-[WebFrame _transitionToCommitted:]):
49         Cancel the client redirect when we commit the provisional load, if we were waiting for a redirect.
50         This is a better fix for 7058 (<rdar://problem/4432562>).  The original fix for 7058 changed the timing of the redirect cancel
51         in such a way that WebKit was precluded from ever reusing back/forward list entries for redirects.  Clearing the redirect state
52         here actually makes logical sense, as the redirect's target page is being committed at this point.
53
54 2006-03-21  Darin Adler  <darin@apple.com>
55
56         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3784
57           <rdar://problem/4483827> JavaScript save dialog disappears right away (sheet triggers blur event) (3784)
58
59         * WebView/WebHTMLView.m:
60         (-[WebHTMLView _updateFocusState]): Treat window as having focus if its sheet is key.
61         (-[WebHTMLView addWindowObservers]): Observe all focus notifications, not just the ones involving this window.
62         (-[WebHTMLView removeWindowObservers]): Ditto.
63         (-[WebHTMLView windowDidBecomeKey:]): Add checks so that we call the methods only when appropriate,
64         since this will now be called for all windows.
65         (-[WebHTMLView windowDidResignKey:]): Ditto.
66
67 2006-03-21  Adele Peterson  <adele@apple.com>
68
69         Reviewed by Darin.
70
71         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6813
72         elementAtPoint needs to return input element when clicking on new text field
73
74         * WebView/WebDocumentInternal.h: Added elementAtPoint:allowShadowContent:
75         * WebView/WebHTMLView.m:
76         (-[NSArray elementAtPoint:]): Does not allow shadow content.  This way, by default, callers would get the input element instead of the inner div.
77         (-[NSArray elementAtPoint:allowShadowContent:]): Allows callers to specify whether or not the element can be a shadow node.
78         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Allows shadow content when getting element.
79         (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto.
80         (-[NSArray _isSelectionEvent:]): ditto.
81         (-[NSArray _canProcessDragWithDraggingInfo:]): ditto.
82         * WebView/WebFrame.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Does not allow shadow content when getting element.
83         * WebView/WebImageView.m: (-[WebImageView elementAtPoint:allowShadowContent:]): Added to conform to the WebDocumentElement protocol.
84         * WebView/WebPDFView.m: (-[WebPDFView elementAtPoint:allowShadowContent:]): ditto.
85         * WebView/WebTextView.m: (-[WebTextView elementAtPoint:allowShadowContent:]): ditto.
86
87 2006-03-21  Tim Omernick  <timo@apple.com>
88
89         Reviewed by Tim Hatcher and Darin.
90
91         <rdar://problem/4427068> LMGetCurApRefNum, CloseConnection and GetDiskFragment deprecated, used in Netscape
92         plugin code
93
94         * Plugins/WebNetscapeDeprecatedFunctions.h: Added.
95         * Plugins/WebNetscapeDeprecatedFunctions.c: Added.
96         Added wrappers for deprecated CFM and LowMem functions.  These exist in a separate file so that we can set
97         -Wno-deprecated-declarations on this one file without ignoring other deprecated function usage elsewhere.
98         (WebGetDiskFragment):
99         (WebCloseConnection):
100         (WebLMGetCurApRefNum):
101         (WebLMSetCurApRefNum):
102
103         * Plugins/WebNetscapePluginPackage.h:
104         Don't include connID ivar in 64-bit, since CFM is not supported in 64-bit.
105         * Plugins/WebNetscapePluginPackage.m:
106         (+[WebNetscapePluginPackage initialize]):
107         Don't bother setting the resource refNum in 64-bit, because the API to get and set it does not exist.
108         A theoretical 64-bit plugin couldn't possibly rely this, since there is no API.
109         (-[WebNetscapePluginPackage unloadWithoutShutdown]):
110         No need to close the connID in 64-bit.
111         (-[WebNetscapePluginPackage load]):
112         Don't load CFM bundles in 64-bit, because CFM is not supported.
113
114         * WebKit.xcodeproj/project.pbxproj:
115         Added WebNetscapeDeprecatedFunctions.[hm].
116
117 2006-03-21  John Sullivan  <sullivan@apple.com>
118
119         Reviewed by Kevin Decker.
120         
121         - fixed <rdar://problem/4485637> Implementors of searchFor:direction:caseSensitive:wrap: should bail 
122         out early if search string is empty
123         
124         This doesn't change any existing behavior, but avoids unnecessary work.
125
126         * Misc/WebSearchableTextView.m:
127         (-[WebSearchableTextView searchFor:direction:caseSensitive:wrap:]):
128         bail out immediately (returning NO) if search string is empty
129         
130         * WebView/WebHTMLView.m:
131         (-[WebView searchFor:direction:caseSensitive:wrap:]):
132         ditto
133         
134         * WebView/WebPDFView.m:
135         (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
136         ditto
137         
138         * WebView/WebView.m:
139         (-[WebView searchFor:direction:caseSensitive:wrap:]):
140         ditto
141
142 2006-03-20  Tim Omernick  <timo@apple.com>
143
144         Reviewed by John Sullivan.
145
146         Moved -_contentView from WebFrameViewInternal to WebFrameViewPrivate.  Safari
147         needs this.
148
149         * WebView/WebFrameView.m:
150         (-[WebFrameView _contentView]):
151         * WebView/WebFrameViewInternal.h:
152         * WebView/WebFrameViewPrivate.h:
153
154 2006-03-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
155
156         Reviewed by Darin, landed by Beth.
157
158         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7693
159           WebKit relies on unpredictable timing for onload events
160
161         * WebView/WebDataSource.m:
162         (-[WebDataSource _receivedMainResourceError:complete:]): Check for 
163         completion on the WebCore side before checking on the WebKit side, 
164         to ensure that the onload event is emitted before the WebFrame load 
165         delegate is sent the webView:didFinishLoadForFrame: message. For 
166         DumpRenderTree, this ensures that the render tree is dumped after 
167         the onload handler is run.
168         * WebView/WebLoader.m:
169         (-[NSURLProtocol didFailWithError:]): If load has already been 
170         cancelled (which could happen if the parent's onload handler caused 
171         the frame to detach), do nothing.
172
173 2006-03-17  John Sullivan  <sullivan@apple.com>
174
175         Reviewed by Beth Dakin
176         
177         - fixed <rdar://problem/4239051> Sometimes "Copy Link" in Safari results in a 
178         URL on the pasteboard with no usable "title"
179
180         * History/WebURLsWithTitles.m:
181         (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]):
182         trim whitespace from titles that are put on pasteboard. This leaves an empty string
183         for the title in cases where there's no displayed text, like an image in an <a> element
184         that happens to have whitespace in the source, e.g. <a href="foo"> <img whatever></a>
185
186 2006-03-17  Darin Adler  <darin@apple.com>
187
188         - missing bit of my check-in yesterday
189
190         Maciej moved setWindowFrame for me, but I also had removed
191         setWindowContentRect.
192
193         * WebCoreSupport/WebFrameBridge.m: Removed unused setWindowContextRect and
194         windowContentRect methods.
195
196 2006-03-17  Adele Peterson  <adele@apple.com>
197
198         Reviewed by Hyatt.
199
200         WebKit part of fix for:
201         http://bugzilla.opendarwin.org/show_bug.cgi?id=7797 
202         Can't set background color on new text fields
203
204         Added function to draw bezeled text field without drawing background.
205
206         * WebCoreSupport/WebGraphicsBridge.m:
207         (-[WebGraphicsBridge drawBezeledTextFieldCell:enabled:]): Added.
208
209 2006-03-16  Maciej Stachowiak  <mjs@apple.com>
210
211         Reviewed by Eric.
212         
213         - move setWindowFrame / windowFrame to WebPageBridge to fix build
214
215         * WebCoreSupport/WebFrameBridge.m:
216         * WebCoreSupport/WebPageBridge.m:
217         (-[WebPageBridge setWindowFrame:]):
218         (-[WebPageBridge windowFrame]):
219
220 2006-03-15  Darin Adler  <darin@apple.com>
221
222         Fix by Patrick Beard, reviewed by me.
223
224         - fix <rdar://problem/4478181> WebPluginController leaks NSArray and NSMutableSet objects
225
226         * Plugins/WebPluginController.m:
227         (-[WebPluginController initWithDocumentView:]): Call CFMakeCollectable on the CFSet
228         so we can act like it's an NSSet.
229         (-[WebPluginController dealloc]): Release _views and _checksInProgress.
230
231 2006-03-13  Tim Omernick  <timo@apple.com>
232
233         Reviewed by Maciej.
234
235         <rdar://problem/4476873> Support printing for plugin documents (not embedded plugins)
236
237         * WebView/WebFrameViewPrivate.h:
238         * WebView/WebFrameView.m:
239         (-[WebFrameView documentViewShouldHandlePrint]):
240         Called by the host application before it initializes and runs a print operation.  If NO
241         is returned, the host application will abort its print operation and call
242         -printDocumentView on the WebFrameView.  The document view is then expected to run its
243         own print operation.  If YES is returned, the host application's print operation will
244         continue as normal.
245         (-[WebFrameView printDocumentView]):
246         Called by the host application when the WebFrameView returns YES from -documentViewShouldHandlePrint.
247
248         * Plugins/WebNetscapePluginDocumentView.m:
249         (-[WebNetscapePluginDocumentView documentViewShouldHandlePrint]):
250         Allow the plugin to take over printing if it defines an NPP_Print function
251         (-[WebNetscapePluginDocumentView printDocumentView]):
252         Print the plugin document.
253
254 2006-03-13  Geoffrey Garen  <ggaren@apple.com>
255
256         Reviewed by timo.
257
258         - Fixed the load progress indicator to give more incremental feedback, 
259         and to stop spending so much time near 100%.
260
261         I did two things:
262         (1) Fixed some bugs and a misspelling in the previous heuristic's 
263         implementation
264         (2) Added two new rules to the heuristic:
265             (a) Treat the first layout as the half-way point.
266             (b) Just like we jump the first 10% to indicate that a load has
267             started, jump the last 10% to indicate that a load has finished.
268
269         Rule 2a is good for two reasons. First, it seems unnatural for loading
270         to be "more than half done" when you can't even see anything. Second,
271         in the early stages of laading our estimate of how much we'll need to
272         load is often off by as much as 6000% (e.g., cnn.com). So anything that
273         makes the progress indicator more conservative in the early stages of 
274         loading is helpful.
275
276         Rule 2b is good because it's confusing for loading to be "100% done"
277         but still ongoing.
278
279         FIXME: The indicator still isn't perfect. For example, the old behavior
280         shows up @ moviefone.com. Two areas for future work:
281         (1) Estimate number of linked resources. Our code estimates the size
282         of a single resource, but does nothing to estimate the number of
283         resources that resource might link to. This is the key to why we're
284         so wrong at the beginning.
285         (2) Improve "when to do first layout" heuristic. A JavaScript query
286         for a style property forces layout, creating a phantom first layout 
287         with no content, essentially nullifying 2a for certain pages.
288         
289         Filed <rdar://problem/4475834> to track estimating the number of 
290         linked resources. Phantom layouts are already on Hyatt's radar.
291
292         * WebView/WebFrame.m:
293         (-[WebFrame _setState:]): Update firstLayoutDone
294         (-[WebFrame _numPendingOrLoadingRequests:]): Bug fix: In the recurisve 
295         case, query 'frame' instead of 'self', so that we actually recurse.
296         (-[WebFrame _firstLayoutDone]): New method
297         (-[WebFrame _didFirstLayout]): Update firstLayoutDone
298         * WebView/WebFramePrivate.h: Added firstLayoutDone ivar
299         * WebView/WebView.m:
300         (-[WebView _incrementProgressForConnectionDelegate:data:]):
301         (1) Implemented 2a and 2b
302         (2) Bug fix: only update the 'last time I sent a notification' time if 
303         we actually send a notification.
304         (3) Don't test for progress < 0 because ensuring progress < max
305         also ensures max - progress > 0. (Do still test for progress > max 
306         because rounding errors make that a possibility -- although a very 
307         minor one.)
308         (4) Query only the loading frame and its subframes for pending
309         requests instead of defaulting to the main frame. This is a slight
310         optimization in cases where the main frame did not begin the load,
311         and it makes the code more consistent.
312
313 2006-03-13  John Sullivan  <sullivan@apple.com>
314
315         Reviewed by Tim Omernick.
316         
317         - fixed <rdar://problem/4475857> API: Setting a history item limit programmatically doesn't work
318
319         * History/WebHistory.m:
320         (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
321         use [self historyItemLimit], which prefers the explicitly-set value and falls back to the
322         NSUserDefaults value, instead of using the NSUserDefaults value explicitly.
323
324 2006-03-10  Darin Adler  <darin@apple.com>
325
326         Reviewed by Adele.
327
328         * WebCoreSupport/WebFrameBridge.m: Remove unused requestedURLString method.
329
330 2006-03-10  Darin Adler  <darin@apple.com>
331
332         Reviewed by Geoff.
333
334         - change how frame namespacing works to be more completely on the WebCore side
335
336         * WebView/WebFrameInternal.h: Remove _setFrameNamespace: and _frameNamespace.
337         * WebView/WebFrame.m: Ditto.
338
339         * WebView/WebView.m:
340         (-[WebView setGroupName:]): Call -[WebCorePageBridge setGroupName:].
341         (-[WebView groupName]): Call -[WebCorePageBridge groupName].
342
343 2006-03-09  Alexey Proskuryakov  <ap@nypop.com>
344
345         Reviewed by Darin.
346
347         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7656
348          Query string always appended to Flash URLs, instead of being replaced.
349
350         * Misc/WebNSURLExtras.h: Added _webkit_URLByRemovingResourceSpecifier.
351         * Misc/WebNSURLExtras.m:
352         (+[NSURL _web_URLWithData:relativeToURL:]): Call _webkit_URLByRemovingResourceSpecifier to
353         work around CFURL not removing non-path components from base URLs in some cases.
354         (-[NSURL _webkit_URLByRemovingComponent:]): New generic function for removing URL components.
355         (-[NSURL _webkit_URLByRemovingFragment]): Moved implementation to the above method.
356         (-[NSURL _webkit_URLByRemovingResourceSpecifier]): Added.
357
358 2006-03-07  Darin Adler  <darin@apple.com>
359
360         Reviewed by Anders.
361
362         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7655
363           unwanted output while running layout tests
364
365         * WebView/WebDataSourcePrivate.h:
366         * WebView/WebDataSource.m:
367         (-[WebDataSource _setRepresentation:]): Clear the flag that records whether we've sent
368         all the data to the representation or not; need this to prevent telling the same representation
369         both that we've succeeded and then later that we've failed.
370         (-[WebDataSource _setMainDocumentError:]): Don't send an error if representationFinishedLoading
371         is already YES. Set representationFinishedLoading.
372         (-[WebDataSource _finishedLoading]): Set representationFinishedLoading.
373         (-[WebDataSource _setupForReplaceByMIMEType:]): Ditto.
374
375 2006-03-06  Tim Omernick  <timo@apple.com>
376
377         Reviewed by Kevin Decker.
378
379         <rdar://problem/4457574> assertion failure watching trailers at netflix.com -[WebNetscapePluginRepresentation
380         receivedData:withDataSource:] + 684
381
382         * Plugins/WebNetscapePluginRepresentation.m:
383         (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
384         Moved the ASSERT(instance) to the block that actually requires an assertion -- the plugin view should never
385         have a NULL instance by the time we start the NPStream (by calling -startStreamWithResponse:).
386         Some stream teardown logic changed with my fix to 4153419: when a WebBaseNetscapePluginStream is destroyed,
387         it now clears its NPP instance backpointer.  The WebBaseNetscapePluginStream may be destroyed from within
388         -startStreamWithResponse: if NPP_NewStream() returns an error.  We can handle this gracefully by changing
389         the assertion before -receivedData: to a simple NULL check.
390         This is unrelated to the Radar, but prior to this fix, we would attempt an NPP_Write() with the initial
391         stream data even if NPP_NewStream() returned an error.  Seems like that alone could cause issues, though
392         I'm guessing that plugins handle this in practice.
393
394 2006-03-03  Timothy Hatcher  <timothy@apple.com>
395
396         Reviewed by Darin.
397         
398         <rdar://problem/4411822> wrong element shown in Inspector inspecting main image at apple.com
399         <rdar://problem/4411908> in the Web Inspector, state of disclosure triangles should be preserved after search
400         http://bugzilla.opendarwin.org/show_bug.cgi?id=6616
401         Bug 6616: Double-clicking on a search result seems broken
402         http://bugzilla.opendarwin.org/show_bug.cgi?id=6709
403         Bug 6709: TypeError: Value undefined (result of expression treeScrollbar.refresh) is not object.
404
405         Code clean up and move more code into JavaScript.
406         Removes a few unused ObjC methods.
407         Many search fixes. Reveals the focused node when exiting the search.
408         Shows a "No Selection" screen when there are no search results.
409         Shows a node count for the number of results.
410         Fixes a couple of TypeErrors that show on the console.
411         Uses the system selection color in the Style pane tables.
412
413         * English.lproj/Localizable.strings: removed localized strings
414         * WebInspector.subproj/WebInspector.m:
415         (-[WebInspector init]):
416         (-[WebInspector dealloc]):
417         (-[WebInspector window]):
418         (-[WebInspector setSearchQuery:]):
419         (-[WebInspector resizeTopArea]):
420         (-[WebInspector searchPerformed:]): called from JavaScript when a search happens
421         (-[WebInspector _toggleIgnoreWhitespace:]):
422         (-[WebInspector _exitSearch:]): exit search results on double click
423         (-[WebInspector _focusRootNode:]):
424         (-[WebInspector _revealAndSelectNodeInTree:]):
425         (-[WebInspector _refreshSearch]):
426         (-[WebInspector _update]):
427         (-[WebInspector _updateTraversalButtons]):
428         (-[WebInspector _updateRoot]):
429         (-[WebInspector _updateTreeScrollbar]):
430         (-[WebInspector _updateSystemColors]): update CSS with system colors
431         (-[WebInspector webView:didFinishLoadForFrame:]):
432         (-[WebInspector webView:plugInViewWithArguments:]):
433         (-[WebInspector outlineViewSelectionDidChange:]): test for webViewLoaded
434         (-[WebInspectorPrivate init]): alloc rightArrowImage and downArrowImage
435         (-[WebInspectorPrivate dealloc]): no more matchedRules
436         (-[DOMNode _displayName]): removed localization UI_STRING calls.
437         * WebInspector.subproj/WebInspectorInternal.h:
438         * WebInspector.subproj/webInspector/inspector.css:
439         * WebInspector.subproj/webInspector/inspector.html:
440         * WebInspector.subproj/webInspector/inspector.js:
441
442 2006-03-02  Alexey Proskuryakov  <ap@nypop.com>
443
444         Fixed a typo in the comments added in the previous checkin.
445
446         * WebCoreSupport/WebFrameBridge.m:
447         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
448         * WebCoreSupport/WebSubresourceLoader.m:
449         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
450         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
451
452 2006-03-02  Alexey Proskuryakov  <ap@nypop.com>
453
454         Reviewed by Darin.
455
456         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7540
457           REGRESSION: frequent cache-related crashes
458
459         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7393
460           A stale comment about XMLHttpRequest responses being never cached
461
462         * WebCoreSupport/WebFrameBridge.m: Don't call setHTTPHeader if the method is GET.
463         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
464         * WebCoreSupport/WebSubresourceLoader.m: Ditto. Also removed a stale comment about
465         XMLHTTPRequests.
466         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
467         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
468
469 2006-02-23  David Harrison  <harrison@apple.com>
470
471         Reviewed by Justin.
472
473         <rdar://problem/4359736> Support outlining ability with lists
474
475         Added Mail SPI for list level changes.  It is SPI because it is not complete support
476         for outlining.  See <rdar://problem/4457070> "API for html lists as note outlines".
477         
478         * WebView/WebHTMLView.m:
479         (-[WebHTMLView _canIncreaseSelectionListLevel]):
480         (-[WebHTMLView _canDecreaseSelectionListLevel]):
481         (-[WebHTMLView _increaseSelectionListLevel]):
482         (-[WebHTMLView _decreaseSelectionListLevel]):
483         * WebView/WebHTMLViewPrivate.h:
484
485 2006-03-01  Alexey Proskuryakov  <ap@nypop.com>
486
487         Reviewed by Darin.
488
489         - http://bugzilla.opendarwin.org/show_bug.cgi?id=3812
490           XMLHttpRequest: PUT, DELETE, HEAD and all other methods but POST actually do a GET.
491
492         All WebKit changes are to use the method parameter passed from WebCore.
493
494         * WebCoreSupport/WebFrameBridge.m:
495         (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
496         (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
497         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
498         * WebCoreSupport/WebSubresourceLoader.h:
499         * WebCoreSupport/WebSubresourceLoader.m:
500         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
501         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
502
503 2006-03-01  Timothy Hatcher  <timothy@apple.com>
504
505         Reviewed by Darin.
506
507         http://bugzilla.opendarwin.org/show_bug.cgi?id=7450
508         elementAtPoint is expensive and should return a smart dictionary
509         
510         <rdar://problem/2952761> moving the mouse around eats more CPU than I would expect (7450)
511         
512         elementAtPoint for WebHTMLView now returns a WebElementDictionary,
513         when objectForKey is called it will lookup in the DOM, cache and return the value
514
515         * Misc/WebElementDictionary.h: Added.
516         * Misc/WebElementDictionary.m: Added.
517         (addLookupKey):
518         (cacheValueForKey):
519         (+[WebElementDictionary initializeLookupTable]):
520         (-[WebElementDictionary initWithInnerNonSharedNode:innerNode:URLElement:andPoint:]):
521         (-[WebElementDictionary dealloc]):
522         (-[WebElementDictionary _fillCache]):
523         (-[WebElementDictionary count]):
524         (-[WebElementDictionary keyEnumerator]):
525         (-[WebElementDictionary objectForKey:]):
526         (-[WebElementDictionary _domNode]):
527         (-[WebElementDictionary _webFrame]):
528         (-[WebElementDictionary _targetWebFrame]):
529         (-[WebElementDictionary _title]):
530         (-[WebElementDictionary _imageRect]):
531         (-[WebElementDictionary _isSelected]):
532         * Misc/WebNSViewExtras.m:
533         (-[NSView _web_dragImage:element:rect:event:pasteboard:source:offset:]):
534         * WebKit.xcodeproj/project.pbxproj:
535         * WebView/WebHTMLView.m:
536         (-[WebHTMLView _updateMouseoverWithEvent:]):
537         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
538         (-[NSArray elementAtPoint:]):
539         * WebView/WebView.m:
540         * WebView/WebViewPrivate.h:
541
542 2006-02-28  Darin Adler  <darin@apple.com>
543
544         Reviewed by Adele.
545
546         - remove obsolete WebCoreScrollView class
547
548         * WebView/WebDynamicScrollBarsView.h: Change base class to NSScrollView instead of WebCoreScrollView.
549         * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView autoforwardsScrollWheelEvents]): Added.
550
551 2006-02-28  John Sullivan  <sullivan@apple.com>
552
553         Reviewed by Eric Seidel
554         
555         Wean WebKit from one more SPI call. We learned about this new-to-Tiger
556         API from filing Radar 4433222.
557
558         * WebView/WebHTMLView.m:
559         (-[WebHTMLView _autoscroll]):
560         use public CGEventSourceButtonState() instead of WKMouseIsDown() (which was using SPI internally)
561
562 2006-02-27  Tim Omernick  <timo@apple.com>
563
564         Reviewed by Adele.
565
566         <rdar://problem/4222043> Safari should reduce null events sent to invisible plugins
567
568         * Plugins/WebBaseNetscapePluginView.h:
569         * Plugins/WebBaseNetscapePluginView.m:
570         (-[WebBaseNetscapePluginView restartNullEvents]):
571         Check to see if the plugin view is completely obscured (scrolled out of view, for example).  If it is
572         obscured and it wasn't before, or the other way around, then restart the null event timer so it can
573         fire at the appropriate rate.
574         (-[WebBaseNetscapePluginView viewHasMoved:]):
575         If a plugin is obscured, send it null events as if it were in an inactive window.
576
577 2006-02-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
578
579         Test: fast/frames/empty-frame-document.html
580
581         Reviewed by Darin.
582
583         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7293
584           REGRESSION: Using Javascript Bookmarklets that reference location.href on a blank tab crashes WebKit
585
586         The crash happened because an empty frame did not have a document.
587
588         * WebView/WebFrame.m:
589         (-[WebFrame _commitProvisionalLoad:]): Use "about:blank" instead of an empty URL for empty
590         frames. This causes a document to be created for the frame.
591
592 2006-02-21  Kevin Decker  <kdecker@apple.com>
593
594         Reviewed by Darin.
595
596         Backed out my previous check in. Since these methods are internal to WebKit (and not private)
597         it's perfectly OK for them to remain as categories. 
598         * ChangeLog:
599         * WebView/WebPreferences.m:
600         (-[WebPreferences _integerValueForKey:]):
601         (-[WebPreferences _setIntegerValue:forKey:]):
602         (-[WebPreferences _floatValueForKey:]):
603         (-[WebPreferences _setFloatValue:forKey:]):
604         (-[WebPreferences _boolValueForKey:]):
605         (-[WebPreferences _setBoolValue:forKey:]):
606         * WebView/WebPreferencesPrivate.h:
607
608 2006-02-20  Darin Adler  <darin@apple.com>
609
610         Collaborated with Graham Dennis <Graham.Dennis@gmail.com> on this.
611
612         - WebKit part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6831
613           contentEditable outline darkens as caret moves
614
615         * WebCoreSupport/WebGraphicsBridge.m:
616         (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:]):
617         Replaced the old bridge function that set up style with this one that renders a path.
618
619 2006-02-19  Darin Adler  <darin@apple.com>
620
621         Reviewed by Maciej.
622
623         - cut out a little unneeded bridge code
624
625         * WebCoreSupport/WebFrameBridge.m:
626         (-[WebFrameBridge webView]): Added. Helper, since the WebCore side of the bridge no longer
627         has this method.
628         (-[WebFrameBridge createWindowWithURL:]): Removed the frameName parameter -- this is now
629         handled on the WebCore side. Also return a page bridge instead of a frame bridge.
630         (-[WebFrameBridge createModalDialogWithURL:]): Changed to return a page bridge instead of
631         a frame bridge.
632
633         * WebView/WebFrame.m: (-[WebFrame webView]): Change to get the webView from the page bridge
634         instead of the frame bridge, since it's a per-page thing.
635
636         * WebView/WebView.m: Removed init method since it just does what the default does (calls
637         initWithFrame: with a zero rect).
638         (-[WebView initWithCoder:]): Added checking so that if the obejcts have the wrong type
639         we will fail gracefully instead of hitting "method not found" and the like.
640         (-[WebView setPreferencesIdentifier:]): Fix storage leak. The WebPreferences object was
641         not released.
642         (-[WebView mainFrame]): Removed excess "return nil".
643         (-[WebView _pageBridge]): Added. Helper to let you go from the WebView to the bridge
644         from outside the WebView class.
645         * WebView/WebViewInternal.h: Put _pageBridge into an internal header.
646
647         * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge outerView]): Added. Replaces "webView"
648         as public method to tell the WebCore side about the view everything's embedded in.
649
650         - other cleanup
651
652         * WebCoreSupport/WebPageBridge.h: Removed some unneeded declarations.
653
654         * Plugins/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]):
655         Rearrange code so it doesn't have to get the main frame twice.
656
657 2006-02-18  Maciej Stachowiak  <mjs@apple.com>
658
659         Not reviewed.
660         
661         - fix build broken by my last checkin, the remaining code was not doing anything.
662
663         * WebView/WebDataSource.m:
664         * WebView/WebDataSourcePrivate.h:
665         * WebView/WebFrame.m:
666         (-[WebFrame _createPageCacheForItem:]):
667
668 2006-02-16  Maciej Stachowiak  <mjs@apple.com>
669
670         Reviewed by Darin.
671         
672         - removed a few unused fields and methods of WebDataSource
673
674         * WebView/WebDataSource.m:
675         * WebView/WebDataSourcePrivate.h:
676         * WebView/WebView.m:
677         (+[WebView _MIMETypeForFile:]):
678         (-[WebView _updateWebCoreSettingsFromPreferences:]):
679
680 2006-02-15  Justin Garcia  <justin.garcia@apple.com>
681
682         Reviewed by darin
683         
684         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7148>
685         Add drag and drop support to DumpRenderTree
686         
687         Added a UI delegate method so that DumpRenderTree can perform dragging on its own.
688         Made _updateFocusState SPI, to allow us to test the behavior and appearance of
689         windows that have or don't have focus.
690
691         * WebView/WebHTMLView.m:
692         (-[WebHTMLView _updateFocusState]):
693         (-[NSArray viewDidMoveToWindow]):
694         (-[NSArray windowDidBecomeKey:]):
695         (-[NSArray windowDidResignKey:]):
696         (-[NSArray dragImage:at:offset:event:pasteboard:source:slideBack:]):
697         (-[NSArray becomeFirstResponder]):
698         (-[NSArray resignFirstResponder]):
699         (-[WebHTMLView _formControlIsResigningFirstResponder:]):
700         * WebView/WebHTMLViewInternal.h:
701         * WebView/WebHTMLViewPrivate.h:
702         * WebView/WebUIDelegatePrivate.h:
703         * WebView/WebView.m:
704
705 2006-02-15  Darin Adler  <darin@apple.com>
706
707         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
708
709 2006-02-15  Maciej Stachowiak  <mjs@apple.com>
710
711         Rubber stamped by Anders.
712
713         * WebView/WebControllerPolicyHandlerDelegate.h: Removed.
714
715 2006-02-15  Maciej Stachowiak  <mjs@apple.com>
716
717         Reviewed by Anders.
718         
719         - remove some voodoo code
720
721         * WebView/WebDataSource.m:
722         (-[WebDataSource _setLoading:]): Removed useless ref/deref of self and WebView.
723         A WebDataSource cannot be loading unless it is still connected to the WebView that
724         owns it and retained by it, because getting disconnected stops loading.
725
726 2006-02-13  Maciej Stachowiak  <mjs@apple.com>
727
728         Reviewed by Anders.
729         
730         Improvements to frame loading:
731         
732         - remove LayoutAcceptable state entirely
733         - fix WebImageView to work right without LayoutAcceptable state
734         - move guts of commitIfReady: to WebFrame
735         - try to separate page cache loading from normal loading a bit more
736
737         * English.lproj/StringsNotToBeLocalized.txt:
738         * WebView/WebDataSource.m:
739         (-[WebDataSource _prepareForLoadStart]):
740         (-[WebDataSource _loadFromPageCache:]):
741         (-[WebDataSource _startLoading]):
742         (-[WebDataSource _commitIfReady]):
743         (-[WebDataSource _setupForReplaceByMIMEType:]):
744         * WebView/WebDataSourcePrivate.h:
745         * WebView/WebFrame.m:
746         (-[WebFrame _transitionToCommitted:]):
747         (-[WebFrame _commitProvisionalLoad:]):
748         (-[WebFrame _checkLoadCompleteForThisFrame]):
749         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
750         * WebView/WebFramePrivate.h:
751         * WebView/WebImageRepresentation.h:
752         * WebView/WebImageRepresentation.m:
753         * WebView/WebImageView.m:
754         (-[WebImageView dataSourceUpdated:]):
755         (-[WebImageView setNeedsLayout:]):
756         (-[WebImageView writeImageToPasteboard:types:]):
757         (-[WebImageView copy:]):
758         (-[WebImageView mouseDragged:]):
759         * WebView/WebView.m:
760         (-[WebView _finishedLoadingResourceFromDataSource:]):
761         (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]):
762
763 2006-02-13  John Sullivan  <sullivan@apple.com>
764
765         Reviewed by Tim Omernick.
766
767         Support for highlighting multiple text matches.
768
769         * WebView/WebHTMLViewPrivate.h:
770         * WebView/WebHTMLView.m:
771         (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]):
772         new method, calls through to bridge
773         (-[WebHTMLView clearHighlightedMatches]):
774         ditto
775
776         * WebView/WebViewPrivate.h:
777         * WebView/WebView.m:
778         (-[WebView highlightAllMatchesForString:caseSensitive:]):
779         new method, calls through to documentView. For now this is hardwired to only work
780         with WebHTMLViews.
781         (-[WebView clearHighlightedMatches]):
782         ditto
783
784 2006-02-13  Darin Adler  <darin@apple.com>
785
786         Reviewed by Maciej.
787
788         - move pointer from frame to page over to WebCore
789
790         * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge initWithMainFrameName:webView:frameView:]):
791         Call super init to create the page before creating the main frame and calling setMainFrame: with it.
792
793         * WebCoreSupport/WebFrameBridge.h: Remove page pointer, and change init function parameters.
794         * WebCoreSupport/WebFrameBridge.m:
795         (-[WebFrameBridge initMainFrameWithPage:frameName:view:]): New function that is used only for
796         the main frame. Passes the page over to the other side of the bridge.
797         (-[WebFrameBridge initSubframeWithRenderer:frameName:view:]): New function that is used only for
798         subframes. Passes the renderer over to the other side of the bridge.
799         (-[WebFrameBridge mainFrame]):
800         (-[WebFrameBridge webView]):
801         (-[WebFrameBridge createWindowWithURL:frameName:]):
802         (-[WebFrameBridge showWindow]):
803         (-[WebFrameBridge areToolbarsVisible]):
804         (-[WebFrameBridge setToolbarsVisible:]):
805         (-[WebFrameBridge isStatusbarVisible]):
806         (-[WebFrameBridge setStatusbarVisible:]):
807         (-[WebFrameBridge setWindowFrame:]):
808         (-[WebFrameBridge windowFrame]):
809         (-[WebFrameBridge setWindowContentRect:]):
810         (-[WebFrameBridge windowContentRect]):
811         (-[WebFrameBridge setWindowIsResizable:]):
812         (-[WebFrameBridge windowIsResizable]):
813         (-[WebFrameBridge firstResponder]):
814         (-[WebFrameBridge makeFirstResponder:]):
815         (-[WebFrameBridge closeWindowSoon]):
816         (-[WebFrameBridge runJavaScriptAlertPanelWithMessage:]):
817         (-[WebFrameBridge runJavaScriptConfirmPanelWithMessage:]):
818         (-[WebFrameBridge canRunBeforeUnloadConfirmPanel]):
819         (-[WebFrameBridge runBeforeUnloadConfirmPanelWithMessage:]):
820         (-[WebFrameBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
821         (-[WebFrameBridge addMessageToConsole:]):
822         (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
823         (-[WebFrameBridge setStatusText:]):
824         (-[WebFrameBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
825         (-[WebFrameBridge focusWindow]):
826         (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
827         (-[WebFrameBridge userAgentForURL:]):
828         (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
829         (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]):
830         (-[WebFrameBridge defersLoading]):
831         (-[WebFrameBridge setDefersLoading:]):
832         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
833         (-[WebFrameBridge _preferences]):
834         (-[WebFrameBridge selectWordBeforeMenuEvent]):
835         (-[WebFrameBridge historyLength]):
836         (-[WebFrameBridge canGoBackOrForward:]):
837         (-[WebFrameBridge goBackOrForward:]):
838         (-[WebFrameBridge print]):
839         (-[WebFrameBridge pollForAppletInView:]):
840         (-[WebFrameBridge respondToChangedContents]):
841         (-[WebFrameBridge respondToChangedSelection]):
842         (-[WebFrameBridge undoManager]):
843         (-[WebFrameBridge issueCutCommand]):
844         (-[WebFrameBridge issueCopyCommand]):
845         (-[WebFrameBridge issuePasteCommand]):
846         (-[WebFrameBridge issuePasteAndMatchStyleCommand]):
847         (-[WebFrameBridge canPaste]):
848         (-[WebFrameBridge overrideMediaType]):
849         (-[WebFrameBridge isEditable]):
850         (-[WebFrameBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
851         (-[WebFrameBridge shouldBeginEditing:]):
852         (-[WebFrameBridge shouldEndEditing:]):
853         (-[WebFrameBridge windowObjectCleared]):
854         (-[WebFrameBridge spellCheckerDocumentTag]):
855         (-[WebFrameBridge isContinuousSpellCheckingEnabled]):
856         (-[WebFrameBridge didFirstLayout]):
857         (-[WebFrameBridge dashboardRegionsChanged:]):
858         (-[WebFrameBridge createModalDialogWithURL:]):
859         (-[WebFrameBridge canRunModal]):
860         (-[WebFrameBridge runModal]):
861         Change all calls to [_page webView] to use [self webView] instead.
862
863 === WebKit-521.7
864
865 2006-02-11  Maciej Stachowiak  <mjs@apple.com>
866
867         Reviewed by Hyatt.
868         
869         - factor WebArchive creation code out of other classes into new WebArchiver
870         http://bugzilla.opendarwin.org/show_bug.cgi?id=7208
871
872         * DOM/WebDOMOperations.m:
873         (-[DOMNode webArchive]):
874         (-[DOMRange webArchive]):
875         * WebKit.xcodeproj/project.pbxproj:
876         * WebView/WebArchiver.h: Added.
877         * WebView/WebArchiver.m: Added.
878         (+[WebArchiver _subframeArchivesForFrame:]):
879         (+[WebArchiver archiveFrame:]):
880         (+[WebArchiver _archiveCurrentStateForFrame:]):
881         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
882         (+[WebArchiver archiveRange:]):
883         (+[WebArchiver archiveNode:]):
884         (+[WebArchiver archiveSelectionInFrame:]):
885         * WebView/WebDataSource.m:
886         (-[WebDataSource webArchive]):
887         * WebView/WebDataSourcePrivate.h:
888         * WebView/WebHTMLView.m:
889         (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
890         (-[WebHTMLView _writeSelectionToPasteboard:]):
891         * WebView/WebHTMLViewPrivate.h:
892
893 2006-02-11  Darin Adler  <darin@apple.com>
894
895         * English.lproj/StringsNotToBeLocalized.txt: Updated paths for recent changes in directory structure.
896
897 2006-02-11  David Kilzer  <ddkilzer@kilzer.net>
898
899         Reviewed by John Sullivan.
900
901         - Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7171
902         No description in WebKitErrors.m for WebKitErrorPlugInWillHandleLoad
903
904         * English.lproj/Localizable.strings: Added new UI_STRING().
905         * Misc/WebKitErrors.m: Added #define for description.
906         (registerErrors): Added dictionary entry.
907
908 2006-02-09  Tim Omernick  <timo@apple.com>
909
910         Reviewed by Tim Hatcher.
911
912         <rdar://problem/4153419> CrashTracer: 576 crashes in Safari at com.apple.WebKit: NPN_DestroyStream + 56
913
914         I never could reproduce this crasher, which seems to be caused by the Speed Download plugin.  However,
915         I did find a way to make the affected code more bulletproof for those who are experiencing the crash.
916         
917         * Plugins/WebBaseNetscapePluginStream.h:
918         Keep a WebBaseNetscapePluginView instead of the WebNetscapePluginPackage, since the plugin view could
919         potentially be deallocated before the stream finishes loading.
920         * Plugins/WebBaseNetscapePluginStream.m:
921         (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
922         Use pluginView instead of plugin.
923         (-[WebBaseNetscapePluginStream dealloc]):
924         Assert that the plugin instance has been nulled out, since that's now part of the stream's teardown
925         phase.
926         Release pluginView instead of plugin.
927         (-[WebBaseNetscapePluginStream setPluginPointer:]):
928         Retain the plugin view instead of the plugin package, since the plugin view could be deallocated while
929         the stream is running.
930         This method now accepts a NULL argument so that we can easily clear out the pluginView backpointer
931         (and other ivars derived from it).
932         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
933         Use pluginView instead of plugin.
934         (-[WebBaseNetscapePluginStream _destroyStream]):
935         ditto
936         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
937         ditto
938         (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError]):
939         Set the plugin instance to NULL, so that the pluginView backpointer is released.  This method is called
940         for every plugin view's stream when the plugin view is stopped/destroyed.
941         (-[WebBaseNetscapePluginStream _deliverData]):
942         Use pluginView instead of plugin.
943
944 == Rolled over to ChangeLog-2006-02-09 ==