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