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