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