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