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