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