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