94995d8c190f4bea52085e33743774c82a45aeae
[WebKit-https.git] / WebKit / ChangeLog
1 2007-05-18  Geoffrey Garen  <ggaren@apple.com>
2
3         Fixed spelling error.
4         
5         * WebView/WebViewPrivate.h:
6
7 2007-05-18  John Sullivan  <sullivan@apple.com>
8
9         Reviewed by Kevin Decker
10         
11         WebKit part of fix for 5201499 (support for PDFKit UI for saving PDFs to disk)
12         
13         Also, the PDFKit mechanism for notifying clients about "Open File Externally" was
14         changed from a notification to a delegate method. The notification was new to 
15         Leopard, so removing it doesn't affect clients in the field.
16
17         * WebView/WebUIDelegatePrivate.h:
18         Declared new UI delegate method webView:saveFrameView:, analogous to the existing
19         webView:printFrameView:
20
21         * WebView/WebPDFView.mm:
22         removed declaration of _webkit_PDFKitLaunchNotification
23         (-[WebPDFView viewDidMoveToWindow]):
24         don't observe _webkit_PDFKitLaunchNotification
25         (-[WebPDFView viewWillMoveToWindow:]):
26         ditto
27         (-[WebPDFView PDFViewOpenPDFInNativeApplication:]):
28         new PDFKit delegate method, replaces our use of _webkit_PDFKitLaunchNotification
29         (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
30         new PDFKit delegate method, calls through to new WebKit UI delegate method
31         
32 2007-05-17  Oliver Hunt  <oliver@apple.com>
33
34         Reviewed by Justin.
35
36         Fix for <rdar://problem/4244861> Safari fails to create image file
37         after releasing dragged image that has changed on source page
38
39         This patch fixes this bug by manually creating an NSFileWrapper from
40         the TIFF promise data for a drag if it is available.  This bypasses
41         the problem of the required resource no longer being held due to page
42         loads or other constraints.
43         
44         We need to leave the old path in place to allow for the case where
45         the promised data is not available.
46
47         * WebCoreSupport/WebDragClient.mm:
48         (WebDragClient::declareAndWriteDragImage):
49           Always use the top WebHTMLView as the pasteboard owner, this is
50           safe as we only use the owner for resolving promised types.
51         * WebView/WebHTMLView.mm:
52         (-[WebHTMLView _writeSelectionToPasteboard:]):
53         (-[WebHTMLView writeSelectionToPasteboard:types:]):
54           Always use the top WebHTMLView as the pasteboard owner.
55         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
56           Add path to create NSFileWrapper from promise data.
57
58 2007-05-17  Oliver Hunt  <oliver@apple.com>
59
60         Reviewed by Adam.
61         
62         Fix for <rdar://problem/4343832> Trying to drag a large 6.2MB jpeg image
63          out of Safari is unexpectedly slow (4 copies of image plus RTF document on pasteboard)
64          
65         This patch causes the construction of the RTF and TIFF data to be delayed until requested.
66         
67         We delay TIFF construction from a DOMElement as this may require generating TIFF data
68         from the CachedImage, which is slow.  To allow the TIFF data to be created later the 
69         it's necessary to add a reference to the source DOMElement to the view.
70
71         * Misc/WebNSPasteboardExtras.h:
72         * Misc/WebNSPasteboardExtras.mm:
73         (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
74           Implements the delayed write of RTF data
75         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
76           Set up the pasteboard to allow the data writing to be delayed
77         (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
78           Now we need to pass the WebHTMLView on to _web_writeImage:element:URL:title:archive:types:source:
79         * WebCoreSupport/WebDragClient.mm:
80         (WebDragClient::startDrag):
81           Clear the dragging pasteboard once the drag has ended to ensure we don't hold references
82           to anything longer than we need to.
83         (WebDragClient::declareAndWriteDragImage):
84           
85         * WebView/WebHTMLView.mm:
86         (-[WebHTMLViewPrivate dealloc]):
87         (-[WebHTMLViewPrivate clear]):
88         (-[WebHTMLView pasteboardChangedOwner:]):
89           Make sure we clear out the DOMElement reference once it is no longer needed
90         (-[WebHTMLView pasteboard:provideDataForType:]):
91           Provide delayed data
92         (-[WebHTMLView _writeSelectionToPasteboard:]):
93           Make sure we set pasteboard ownership correctly
94         (-[WebHTMLView promisedDragTIFFDataSource]):
95         (-[WebHTMLView setPromisedDragTIFFDataSource:]):
96         (-[WebHTMLView writeSelectionToPasteboard:types:]):
97         * WebView/WebHTMLViewInternal.h:
98         * WebView/WebHTMLViewPrivate.h:
99         
100         * WebView/WebView.mm:
101         (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]):
102
103 2007-05-16  Anders Carlsson  <andersca@apple.com>
104
105         Reviewed by Darin.
106
107         <rdar://problem/5207156> Hamachi test tool causes assertion in FormCompletionController in Safari
108
109         Update for WebCore changes.
110         
111         * WebView/WebFrame.mm:
112         (-[WebFrame _loadURL:referrer:intoChild:]):
113
114 2007-05-15  Oliver Hunt  <oliver@apple.com>
115
116         Reviewed by Sam and Geoff.
117         
118         Removing dead code left behind from drag and drop refactoring.
119
120         * WebCoreSupport/WebFrameBridge.mm:
121         * WebView/WebHTMLView.mm:
122         * WebView/WebHTMLViewPrivate.h:
123
124 2007-05-15  Bruce Q Hammond  <bruceq@apple.com>
125
126         Reviewed by Darin.
127
128         Correction of previous patch for http://bugs.webkit.org/show_bug.cgi?id=13578
129         This corrects the sign of the Y-Axis origin adjustment.
130
131         * Plugins/WebBaseNetscapePluginView.mm:
132         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
133
134 2007-05-15  Geoffrey Garen  <ggaren@apple.com>
135
136         Reviewed by Maciej Stachowiak.
137         
138         Patch: fixed <rdar://problem/5198890> .5% performance regression caused 
139         by r21307
140         
141         The only code r21307 added that runs during the PLT is a frame load delegate
142         -respondsToSelector: call inside windowObjectCleared(), so it seems like 
143         our message dispatch overhead for the frame load delegate is significant.
144         
145         This patch is a straight port of Maciej's fix for the same problem in the
146         resource load delegate. The solution is simple enough: don't use Objective-C. 
147         Instead, use a special structure that caches which methods the delegate 
148         implements, along with pointers to those methods.
149         
150         I verified each frame load delegate callback in the debugger, except for
151         -webView:didFailLoadWithError:forFrame:, which is not implemented by Safari
152         or DumpRenderTree.
153
154         * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.h: Removed.
155         * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.m: Removed.
156
157         * WebCoreSupport/WebFrameBridge.mm:
158         (-[WebFrameBridge windowObjectCleared]): I also removed a misleading 
159         comment here. The JS debugger caches the windowScriptObject, so you do
160         need to re-create the debugger every time you invalidate the old 
161         WebScriptObject wrapper for the window object and create a new one, or
162         the debugger will stop working. We could fix this in a number of ways, 
163         but <rdar://problem/4608404> is not the key issue.
164
165 2007-05-15  Maciej Stachowiak  <mjs@apple.com>
166
167         Reviewed by Hyatt and Lars.
168         
169         - fixed <rdar://problem/5201758> REGRESSION: Stop button enabled and other problems caused by [WebView currentURL] returning non-nil for empty window
170         
171         * WebView/WebDataSource.mm:
172         (-[WebDataSource request]): Return nil when we are still showing the initial empty doc
173
174 2007-05-14  Geoffrey Garen  <ggaren@apple.com>
175
176         Reviewed by Darin Adler.
177         
178         Updated for WebCore move to PageCache singleton. Also removed some WebCore::
179         prefixes and replaced them with 'using namespace WebCore'.
180
181         * History/WebHistoryItem.mm:
182         (+[WebHistoryItem _releaseAllPendingPageCaches]):
183         (-[WebWindowWatcher windowWillClose:]):
184
185 2007-05-13  Darin Adler  <darin@apple.com>
186
187         - one more retain/release for a tiny bit more robustness
188
189         * WebView/WebPDFView.mm:
190         (-[WebPDFView _updatePreferences:]): [prefs release]
191         (-[WebPDFView _updatePreferencesSoon]): [prefs retain]
192
193 2007-05-13  Darin Adler  <darin@apple.com>
194
195         Reviewed by Geoff.
196
197         - fix <rdar://problem/5188400> Webkit crashes going back from PDF at perl.org site
198
199         * WebView/WebPDFView.h: Replace _updatePreferencesTimer with _willUpdatePreferencesSoon BOOL.
200         Also remove unneeded @public that gives other classes access to our dataSource member.
201
202         * WebView/WebPDFView.mm: Rearrange top of file a bit, remove forward declaration of the
203         _cancelUpdatePreferencesTimer method.
204         (-[WebPDFView dealloc]): Removed call to _cancelUpdatePreferencesTimer.
205         (-[WebPDFView _updatePreferencesNow:]): Added WebPreferences parameter. This sidesteps problems
206         where the dataSource is no longer present by not looking at the dataSource field at all.
207         Also removed the call to _cancelUpdatePreferencesTimer, added code to set _willUpdatePreferencesSoon
208         to NO and added a release to balance a retain I did in _updatePreferencesSoon.
209         (-[WebPDFView _updatePreferencesSoon]): Changed to use performSelectorAfterDelay instead of
210         an NSTimer. Pass in the preferences object as a parameter, since we might not be able to get to
211         the dataSource when the timer fires.
212
213 2007-05-10  Geoffrey Garen  <ggaren@apple.com>
214
215         Reviewed by Darin Adler.
216         
217         "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.
218
219 2007-05-10  Adele Peterson  <adele@apple.com>
220
221         Reviewed by Hyatt.
222
223         WebKit part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result
224
225         Updated to use selectionRect instead of visibleSelectionRect.  selectionRect() now returns the visible rect by default.
226
227         * WebView/WebHTMLView.mm:
228         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
229         (-[WebHTMLView selectionImageRect]):
230
231 2007-05-10  dethbakin  <bdakin@apple.com>
232
233         Reviewed by Darin.
234
235         Fix for <rdar://problem/5191941> Leopard: Adobe Acrobat 8: 
236         Distiller 8 needs same check fix as 4992521
237
238         * WebView/WebView.mm:
239         (-[WebView _updateWebCoreSettingsFromPreferences:]): Adobe 
240         Distiller needs the same quirk.
241
242 2007-05-10  Maciej Stachowiak  <mjs@apple.com>
243
244         Reviewed by Oliver.
245
246         - WebKit part of fix for:
247         <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
248         <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
249
250         The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
251         so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.
252         
253         However, this caused many regressions so I had to fix the fallout.
254
255         * WebCoreSupport/WebChromeClient.mm:
256         (WebChromeClient::takeFocus): Avoid focus cycle problems (can happen in DumpRenderTree
257         with initial empty document now).
258         * WebCoreSupport/WebFrameBridge.mm:
259         (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]): init the frame.
260         (-[WebFrameBridge determineObjectFromMIMEType:URL:]): return image type when appropriate
261         * WebView/WebFrame.mm:
262         (-[WebFrame stopLoading]): use stopForUserCancel().
263         * WebView/WebFrameView.mm:
264         (-[WebFrameView _makeDocumentViewForDataSource:]): assume html when no mime type available.
265         * WebView/WebView.mm:
266         (-[WebView becomeFirstResponder]): Track whether we are becoming first responder from
267         outside the view.
268         (-[WebView _becomingFirstResponderFromOutside]): Return this value.
269         * WebView/WebViewInternal.h:
270
271 2007-05-09  Oliver Hunt  <oliver@apple.com>
272
273         rs=Adele.
274
275         The previous patch (r21346) broke editing, rolling out
276
277         * WebView/WebHTMLView.mm:
278         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
279         (-[WebHTMLView doCommandBySelector:]):
280
281 2007-05-09  Adele Peterson  <adele@apple.com>
282
283         Reviewed by Oliver.
284         
285         Re-applying fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
286         http://bugs.webkit.org/show_bug.cgi?id=13263
287         
288         We don't need to call interpretKeyEvents for cmd-key events as
289         they events will be interpreted by performKeyEquivalent.
290
291         * WebView/WebHTMLView.mm:
292         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
293         (-[WebHTMLView doCommandBySelector:]):
294
295 2007-05-09  Mark Rowe  <mrowe@apple.com>
296
297         Build fix to keep the buildbot happy.
298
299         * Plugins/WebBaseNetscapePluginView.mm:
300         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
301
302 2007-05-08  Bruce Q Hammond  <bruceq@apple.com>
303
304         Reviewed by Darin.
305
306         http://bugs.webkit.org/show_bug.cgi?id=13578
307         Bug 13578: When QD plugins draw to an offscreen bitmap the origin is not correct
308
309         Now we have correct handling of the origin when QD plugins draw to
310         offscreen bitmaps.
311         Also the clipping code for this path was doing unnecessary work which
312         caused incorrect results; it has been removed.
313         
314         This change should not affect Safari and in general will only affect
315         plugins (e.g. Flash) drawing to a CGBitmapContext.
316
317         * Plugins/WebBaseNetscapePluginView.mm:
318         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
319
320 2007-05-08  Steve Falkenburg  <sfalken@apple.com>
321
322         Reviewed by Darin.
323
324         Implemented spelling/grammar related WebEditorClient methods.
325
326         * WebCoreSupport/WebEditorClient.h:
327         * WebCoreSupport/WebEditorClient.mm:
328         (WebEditorClient::ignoreWordInSpellDocument): Added. Call through to NSSpellChecker.
329         (WebEditorClient::learnWord): Added. Call through to NSSpellChecker.
330         (WebEditorClient::checkSpellingOfString): Added. Call through to NSSpellChecker.
331         (WebEditorClient::checkGrammarOfString): Added. Call through to NSSpellChecker.
332         (WebEditorClient::updateSpellingUIWithGrammarString): Added. Call through to NSSpellChecker.
333         (WebEditorClient::updateSpellingUIWithMisspelledWord): Added. Call through to NSSpellChecker.
334         (WebEditorClient::showSpellingUI): Added. Call through to NSSpellChecker.
335         (WebEditorClient::spellingUIIsShowing): Added. Call through to NSSpellChecker.
336         (WebEditorClient::getGuessesForWord): Added. Call through to NSSpellChecker.
337
338 2007-05-08  Steve Falkenburg  <sfalken@apple.com>
339
340         Reviewed by Ada.
341
342         Slight modification to last editor method fix.
343
344         * WebCoreSupport/WebEditorClient.h:
345         (WebEditorClient::updateSpellingUIWithGrammarString):
346
347 2007-05-07  Geoffrey Garen  <ggaren@apple.com>
348
349         Reviewed by Maciej Stachowiak.
350         
351         Fixed <rdar://problem/5140447> API for fetching JSGlobalContextRef from 
352         WebView or WebFrame
353         
354         Added -[WebFrame windowObject] and -[WebFrame globalContext], along with
355         a new frame load delegate method, - (void)webView:(WebView *)webView 
356         didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame.
357         This is all to support briding between the WebScriptObject and JavaScriptCore
358         APIs.
359
360         Also fixed more of <rdar://problem/4395622> API: WebScriptObject.h incorrectly 
361         reports that -isSelectorExcludedFromWebScript returns NO by default, and
362         generally cleaned up the WebScriptObject headerdoc.
363
364         * WebCoreSupport/WebFrameBridge.mm:
365         (-[WebFrameBridge windowObjectCleared]):
366         * WebView/WebFrame.mm:
367         (-[WebFrame windowObject]):
368         (-[WebFrame globalContext]):
369         * WebView/WebFramePrivate.h:
370         * WebView/WebViewPrivate.h:
371
372 2007-05-07  Timothy Hatcher  <timothy@apple.com>
373
374         Reviewed by Darin.
375
376         <rdar://problem/5180384> webView:validateUserInterfaceItem:defaultValidation: does not get called on WebUIDelegates
377
378         Call the delegate when the one of our views gets a validateUserInterfaceItem: call.
379
380         * WebView/WebHTMLView.mm:
381         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
382         (-[WebHTMLView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
383         * WebView/WebPDFView.mm:
384         (-[WebPDFView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
385         (-[WebPDFView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
386         * WebView/WebView.mm:
387         (-[WebView _responderValidateUserInterfaceItem:]): Call validateUserInterfaceItemWithoutDelegate: to prevent asking the delegate twice.
388         (-[WebView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
389         (-[WebView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
390
391 2007-05-07  Brady Eidson  <beidson@apple.com>
392
393         Actually finish the code move from my last checkin
394
395         * History/WebHistoryItem.mm:
396         (-[WebHistoryItem _transientPropertyForKey:]):
397         (-[WebHistoryItem _setTransientProperty:forKey:]):
398
399 2007-05-07  Brady Eidson  <beidson@apple.com>
400
401         Rubberstamped by Kevin (Sarge)
402
403         Make _transientPropertyForKey: and _setTransientProperty:forKey: SPI
404
405         * History/WebHistoryItemInternal.h:
406         * History/WebHistoryItemPrivate.h:
407
408 2007-05-04  Geoffrey Garen  <ggaren@apple.com>
409
410         Reviewed by Tim Hatcher.
411
412         First step in fixing <rdar://problem/5055182> The back cache has no global cap
413
414         Stop giving SnapBack infinite cache-ability. Instead, make SnapBack rely
415         on the underlying back cache.
416         
417         I left -setAlwaysAttemptToUsePageCache: as an empty stub because we don't 
418         want to break Safari 2.0, but I removed its header declaration so nobody 
419         else starts using it.
420
421         * History/WebHistoryItem.mm:
422         (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
423         * History/WebHistoryItemPrivate.h:
424
425 2007-05-04  Geoffrey Garen  <ggaren@apple.com>
426
427         Reviewed by Brady Eidson.
428         
429         Some cleanup in preparation for fixing <rdar://problem/5055182> The 
430         back/forward cache has no global cap
431         
432         Unified naming of WebKit/WebCore b/f lists -- instead of the potpourri 
433         of webBackForwardList, backForwardList, list, kitList, coreList, listWrapper, 
434         and webCoreBackForwardList, we use webBackForwardList for WebKit and 
435         backForwardList for WebCore, matching their respective class names.
436         
437         Removed "private" versions of kit() and core() -- kit() and core() are
438         canonically used for converting between WebKit API objects and WebCore
439         API objects. I think it's clearer to have only one way to do this.
440
441         Removed COMPUTE_DEFAULT_PAGE_CACHE_SIZE, since it was unused.
442         
443         Removed _clearPageCache, since it was unused and it duplicated -setPageCacheSize:0.
444
445         Removed _usesPageCache, since it was unused and it duplicated -pageCacheSize.
446
447 2007-05-04  Brady Eidson  <beidson@apple.com>
448
449         Reviewed by Mark Rowe
450
451         Added main thread assertion to WebHTMLView to help make sure 3rd party clients aren't trying
452         to draw on secondary threads
453
454         * WebView/WebHTMLView.mm:
455         (-[WebHTMLView drawRect:]): Added ASSERT_MAIN_THREAD()
456
457 2007-05-04  Anders Carlsson  <andersca@apple.com>
458
459         Reviewed by Antti.
460
461         <rdar://problem/5179977> Use the correct URLs when dispatching delegate methods for data loads.
462
463         * WebView/WebFrame.mm:
464         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
465         If the base URL is nil, set it to "about:blank", and set the response URL to a generated applewebdata URL.
466         
467         * WebView/WebView.mm:
468         (+[WebView _canHandleRequest:]):
469         No need to special-case applewebdata URLs here anymore, they're only used in responses.
470
471 2007-05-03  Steve Falkenburg  <sfalken@apple.com>
472
473         Reviewed by Oliver.
474
475         Add missing user description parameter to spelling-related editor client method.
476
477         * WebCoreSupport/WebEditorClient.h:
478         (WebEditorClient::updateSpellingUIWithGrammarString):
479
480 2007-05-03  TImothy Hatcher  <timothy@apple.com>
481
482         Reviewed by Kevin.
483
484         <rdar://problem/4975212> REGRESSION: With NetNewsWire 2.1.1, the contextual menu shows extra menu items when focus
485         is placed in input or textarea field
486
487         The NetNewsWire UI delegate isn't expecting calls for form controls, so we need to do a linked-on-or-after check.
488         If the application was linked against Tiger or earlier and the element is a text form control, just return the
489         default menu items and bypass the delegate call completely.
490
491         * WebCoreSupport/WebContextMenuClient.mm:
492         (isPreVersion3Client): Cache the result of the WebKitLinkedOnOrAfter call
493         (fixMenusToSendToOldClients): Call the new isPreVersion3Client()
494         (fixMenusReceivedFromOldClients): Ditto.
495         (WebContextMenuClient::getCustomMenuFromDefaultItems): Return the default menu items if the element is a text form control.
496
497 2007-05-03  Mark Rowe  <mrowe@apple.com>
498
499         Reviewed by Geoff and Kevin.
500
501         <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients
502
503         Second shot at fixing this error.  Stub out the macros rather than forwarding to JavaScriptCore, which would
504         leave clients using this header trying to resolve JavaScriptCore symbols against WebKit when linking.  This
505         should only happen in production builds when assertions should be disabled anyway as anyone building a
506         development configuration should be in a position to move away from using this header.
507
508         * Misc/WebAssertions.h: 
509
510 2007-05-03  Timothy Hatcher  <timothy@apple.com>
511
512         Reviewed by Kevin.
513
514         <rdar://problem/5067707> REGRESSION: "Open Link" contextual menu item appears twice in Mail
515
516         Remove the check for Mail in fixMenusToSendToOldClients and fixMenusReceivedFromOldClients
517         when linked on or after Leopard. The isAppleMail() function is still used for Tiger Mail fixups.
518
519         * WebCoreSupport/WebContextMenuClient.mm:
520         (fixMenusToSendToOldClients):
521         (fixMenusReceivedFromOldClients):
522
523 2007-05-02  Anders Carlsson  <andersca@apple.com>
524
525         Reviewed by Brady.
526
527         <rdar://problem/5151113> Assertion firing in [FrameProgressEntry addChild:forDataSource:] when navigating cnn.com
528         
529         The assertion fired because a plug-in was trying to load a subresource when a new load had started but not yet
530         committed. The check that would have prevented this was removed in order to fix <rdar://problem/5085897>.
531         
532         This puts back the check but changes it to allow loads where the target is the same frame as the plugin's parent frame.
533         
534         * Plugins/WebBaseNetscapePluginView.mm:
535         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
536
537 2007-04-27  Timothy Hatcher  <timothy@apple.com>
538
539         Reviewed by Darin.
540
541         There were only a couple calls to ResourceLoadDelegate forwarder left,
542         this removes the calls and adds a new cached method for didFailLoad.
543
544         * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.h: Removed.
545         * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.m: Removed.
546         * WebKit/Plugins/WebNullPluginView.mm: Call the resource load delegate directly.
547         * WebKit/WebCoreSupport/WebFrameLoaderClient.mm: Call the cached didFailLoad delegate function.
548         * WebKit/WebKit.xcodeproj/project.pbxproj: Remove WebDefaultResourceLoadDelegate.
549         * WebKit/WebView/WebDataSource.mm: Remove the #import for WebDefaultResourceLoadDelegate.h
550         * WebKit/WebView/WebView.mm: Remove the ResourceLoadDelegate forwarder, and remove a method that isn't used.
551         * WebKit/WebView/WebViewInternal.h: Ditto.
552         * WebKit/WebView/WebViewPrivate.h: Remove a method that is no longer used.
553
554 2007-04-27  David Harrison  <harrison@apple.com>
555
556         Reviewed by Darin.
557
558         <rdar://problem/5160627> Export JS list creation support as ObjC SPI for Mail
559
560         * WebKit.xcodeproj/project.pbxproj:
561         * WebView/WebHTMLView.mm:
562         (-[WebHTMLView _selectedRange]):
563         (-[WebHTMLView _shouldDeleteRange:]):
564         (-[WebHTMLView _canEdit]):
565         (-[WebHTMLView _canEditRichly]):
566         (-[WebHTMLView _hasSelection]):
567         (-[WebHTMLView _hasSelectionOrInsertionPoint]):
568         (-[WebHTMLView _hasInsertionPoint]):
569         (-[WebHTMLView _isEditable]):
570         Condense the check for nil [self frame].
571         Remove canEditRichly checks and rely on the editor to do the check instead.
572         
573         (-[WebHTMLView _insertOrderedList]):
574         (-[WebHTMLView _insertUnorderedList]):
575         New.
576         
577         (-[WebHTMLView _canIncreaseSelectionListLevel]):
578         (-[WebHTMLView _canDecreaseSelectionListLevel]):
579         (-[WebHTMLView _increaseSelectionListLevel]):
580         (-[WebHTMLView _increaseSelectionListLevelOrdered]):
581         (-[WebHTMLView _increaseSelectionListLevelUnordered]):
582         (-[WebHTMLView _decreaseSelectionListLevel]):
583         Moved from bridge to frame editor.
584
585         * WebView/WebHTMLViewPrivate.h:
586         Add _insertOrderedList and _insertUnorderedList to WebHTMLView(WebPrivate)
587
588 2007-04-27  Brady Eidson  <beidson@apple.com>
589
590         Rubberstamped by Mark
591
592         Remove default implementation of UIDelegate method that was removed
593
594         I have also been instructed to give Tim a hard time about this one - apparently
595         it was his job to clean it out and he failed...  failed miserably.
596
597         :)
598
599         * DefaultDelegates/WebDefaultUIDelegate.m: Removed webViewPrint:
600
601 2007-04-27  Maciej Stachowiak  <mjs@apple.com>
602
603         Reviewed by Mark.
604         
605         <rdar://problem/5154113> Repro ASSERT (would be crash) in KJS::GCLock::GCLock (13462)
606         http://bugs.webkit.org/show_bug.cgi?id=13462
607
608         * WebInspector/WebInspector.m:
609         (-[WebInspectorPrivate dealloc]): Delay release of WebView to avoid GC re-entrancy.
610
611 2007-04-27  Anders Carlsson  <andersca@apple.com>
612
613         Reviewed by Mitz.
614
615         <rdar://problem/5165755>
616         View Source is broken; empty window is shown
617         
618         Return YES for applewebdata URLs.
619         
620         * WebView/WebView.mm:
621         (+[WebView _canHandleRequest:]):
622
623 2007-04-26  Oliver Hunt  <oliver@apple.com>
624
625         Reviewed by Adam.
626
627         Fix <rdar://problem/5061252> REGRESSION: In Gmail, image fails 
628         to be inserted into message field after dragging
629
630         Don't try to create <img> tags for local image files as it results
631         in the potential to submit forms that look like they have an image,
632         when in reality they don't.
633
634         * WebView/WebHTMLView.mm:
635         (-[WebHTMLView _documentFragmentWithPaths:]):
636
637 2007-04-26  Anders Carlsson  <andersca@apple.com>
638
639         Reviewed by Maciej.
640
641         <rdar://problem/5049099> documents no longer have a default base URL
642         
643         If the base URL is nil, then create a unique applewebdata URL to match what Tiger WebKit does.
644         
645         * WebView/WebFrame.mm:
646         (createUniqueWebDataURL):
647         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
648
649 2007-04-25  Oliver Hunt  <oliver@apple.com>
650
651         Rubber stamped by Adele.
652
653         Roll out WebKit changes from from r21052 to fix regression noted in
654         <rdar://problem/5159556> REGRESSION: In Mail, pressing option-command- ' doesn't decrease block quote in selection
655
656         * WebView/WebHTMLView.mm:
657         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
658         (-[WebHTMLView doCommandBySelector:]):
659
660 2007-04-25  Steve Falkenburg  <sfalken@apple.com>
661
662         Reviewed by Adam.
663
664         Mac callbacks for new spelling methods in WebEditorClient.
665         Not used yet.
666
667         * WebCoreSupport/WebEditorClient.h:
668         (WebEditorClient::ignoreWordInSpellDocument):
669         (WebEditorClient::learnWord):
670         (WebEditorClient::checkSpellingOfString):
671         (WebEditorClient::checkGrammarOfString):
672         (WebEditorClient::updateSpellingUIWithGrammarString):
673         (WebEditorClient::updateSpellingUIWithMisspelledWord):
674         (WebEditorClient::showSpellingUI):
675         (WebEditorClient::spellingUIIsShowing):
676         (WebEditorClient::getGuessesForWord):
677
678 2007-04-24  Geoffrey Garen  <ggaren@apple.com>
679
680         Reviewed by Darin Adler, Tim Hatcher.
681
682         Fixed a few NSAutoreleasePool issues I noticed while reviewing Brady's patch.
683
684         * Carbon/CarbonUtils.m:
685         (PoolCleaner): Call -drain instead of -release, since -release is a 
686         no-op in a GC world.
687
688         * Misc/WebKitErrors.m:
689         (registerErrors): Condensed onto one line.
690
691         * Plugins/WebPluginDatabase.m:
692         (-[WebPluginDatabase refresh]): Call -drain instead of -release, since
693         -release is a no-op in a GC world.
694
695         * WebCoreSupport/WebChromeClient.mm:
696         (WebChromeClient::setStatusbarText):
697
698         * WebInspector/WebNodeHighlightView.m:
699         (-[WebNodeHighlightView initWithHighlight:andRects:forView:]): Don't drain
700         and then release because drain deallocates the receiver, so the release
701         is an over-release.
702
703         * WebView/WebView.mm:
704         (-[WebView rectsForTextMatches]): Re-allocate the pool after draining it,
705         because drain deallocates the receiver, so the drain would leave you without
706         any autorelease pool, causing a leak and then an over-release at the bottom
707         of the loop.
708
709 2007-04-24  Brady Eidson  <beidson@apple.com>
710
711         Reviewed by Beth, Hyatt, Ada, and Darin
712
713         <rdar://problem/5011477> and <rdar://problem/5011514>
714         Provide support for the icon.db to be moved to a different directory from the old WebKit-style
715         icons, and remove the old directory if that is the case
716
717         * Misc/WebIconDatabase.mm:
718         (-[WebIconDatabase init]):
719         (-[WebIconDatabase _importToWebCoreFormat]): Check "imported()" to determine if a conversion is needed
720           - Look for WebIconDatabaseImportDirectoryDefaultsKey for the source location for the conversion
721           - Set "imported" to true in the Icons.db
722           - If the new Icons.db isn't in the same patch as the old icons, delete the entire directory when finished
723           - Move old icon.db to Icons.db to reflect rename
724         * Misc/WebIconDatabasePrivate.h: Add WebIconDatabaseImportDirectoryDefaultsKey so a WebKit client can tell WebKit
725           where to look for the old icons if their location is different from the icon.db
726         * WebKit.exp:
727
728 2007-04-24  Mitz Pettel  <mitz@webkit.org>
729
730         Reviewed by Oliver Hunt.
731
732         Changed an apostrophe (') into a right single quotation mark (U+2019).
733
734         * WebInspector/webInspector/inspector.js:
735
736 2007-04-24  Mitz Pettel  <mitz@webkit.org>
737
738         Reviewed by Timothy Hatcher.
739
740         - fix http://bugs.webkit.org/show_bug.cgi?id=13459
741           The "mapped style" link next to an attribute doesn't work
742
743         * WebInspector/webInspector/inspector.js: Added a check that the rule is
744         mapped from an attribute.
745
746 2007-04-23  Adele Peterson  <adele@apple.com>
747
748         Fixed and reviewed by Darin, Adele, and Oliver.
749
750         WebKit part of fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
751         http://bugs.webkit.org/show_bug.cgi?id=13263
752
753         * WebView/WebHTMLView.mm:
754         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):  If we have no command after calling interpretKeyEvents, we assume the input method handled the key.
755         (-[WebHTMLView doCommandBySelector:]): Add noop: to the command vector, but then when actually performing actions, ignore it.
756
757 2007-04-23  Timothy Hatcher  <timothy@apple.com>
758
759         Reviewed by Darin.
760
761         <rdar://problem/5124364> IB3 crashes when loading a nib containing a WebView that has a WebHTMLView encoded inside
762
763         Since WebView's initWithCoder throws away all the decoded subviews, the WebHTMLView gets dealoced while it has a nil _private pointer.
764         Checking for a nil _private in WehHTMLView's close fixes this crash. No need to implement a full initWithCoder for WebHTMLView since
765         it will be thrown away by the WebView anyway.
766
767         * WebView/WebHTMLView.mm:
768         (-[WebHTMLView close]): Return earily if _priviate is nil.
769         (-[WebHTMLView initWithFrame:]): Unrelated change that removes an AppKit version check that predates Tiger.
770
771 2007-04-23  Timothy Hatcher  <timothy@apple.com>
772
773         Reviewed by Mark Rowe.
774
775         Remove the "No Selection" message after leaving search mode.
776         This was a regression caused by the inspector refresh.
777
778         * WebInspector/webInspector/inspector.js:
779
780 2007-04-23  Timothy Hatcher  <timothy@apple.com>
781
782         Reviewed by Darin.
783
784         Bug 6658: World leak when closing inspected window
785         http://bugs.webkit.org/show_bug.cgi?id=6658 and <rdar://problem/4411863>
786
787         Removes over-retains of the inspector WebView, WebInspector and WebInspectorPanel.
788
789         * WebInspector/WebInspector.m:
790         (+[WebInspector sharedWebInspector]): Return the global sharedWebInspector variable.
791         (-[WebInspector window]): Release the window after calling setWindow:.
792         (-[WebInspector windowWillClose:]): Set the JavaScript Inspector variable to null and expire the current highlight.
793           Also clear the global sharedWebInspector variable and release it if self equals sharedWebInspector.
794         (-[WebInspector showWindow:]): Set the JavaScript Inspector variable back to self.
795         * WebInspector/WebInspectorInternal.h: Remove the isSharedInspector member variable.
796         * WebView/WebView.mm:
797         (-[WebView windowScriptObject]): Return nil if core([self mainFrame]) is NULL.
798
799 2007-04-23  Darin Adler  <darin@apple.com>
800
801         Reviewed by Hyatt.
802
803         - rename box-sizing to -webkit-box-sizing
804
805         * WebInspector/webInspector/inspector.css: Here.
806         * WebInspector/webInspector/inspector.js: And here, in the expected default CSS values list.
807
808 2007-04-22  Timothy Hatcher  <timothy@apple.com>
809
810         Reviewed by Darin.
811
812         The fix for <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject
813         was #ifdefed out in Production builds.
814
815         * WebView/WebView.mm:
816         (+[WebView initialize]): Move the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM inside initialize around the specific code
817         (+[WebView _applicationWillTerminate]): Moved outside the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM block
818
819 2007-04-22  Timothy Hatcher  <timothy@apple.com>
820
821         Reviewed by Mitz.
822
823         Bug 13436: Make Option-clicking a disclosure triangle expand the entire subtree
824         http://bugs.webkit.org/show_bug.cgi?id=13436
825
826         Makes option-click recursively expand and collapse the sub-tree. Pressing option-left
827         and -right also recursively expands and collapses the sub-tree.
828
829         * WebInspector/webInspector/treeoutline.js:
830
831 2007-04-22  Timothy Hatcher  <timothy@apple.com>
832
833         Reviewed by Mitz.
834
835         Bug 13437: Inspector does not update when navigating to a different page
836         http://bugs.webkit.org/show_bug.cgi?id=13437
837
838         * WebInspector/webInspector/inspector.js: Correctly update to a new root node
839           if the new focus node and the old focus node don't have a common ancestor.
840
841 2007-04-22  Darin Adler  <darin@apple.com>
842
843         Reviewed by Adele.
844
845         - fix for <rdar://problem/5100240> REGRESSION: Control-O broken
846
847         * WebView/WebHTMLView.mm:
848         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Update to handle a vector of
849         command names instead of a single command.
850         (-[WebHTMLView doCommandBySelector:]): Change logic so that we add the command to a vector
851         and also so that the interpretKeyEvents parameters are still intact for a second call to
852         doCommandBySelector:, since the key bindings mechanism can do more than one.
853         (-[WebHTMLView insertText:]): Added comment.
854
855 2007-04-21  Darin Adler  <darin@apple.com>
856
857         Reviewed by Oliver.
858
859         - fix some problems I ran into using the inspector
860
861         * WebInspector/webInspector/inspector.js: Add some null checks.
862
863 2007-04-20  Timothy Hatcher  <timothy@apple.com>
864
865         Reviewed by Darin.
866
867         Merge over the WebInspectorRefresh branch. This change removes the NSOutlineView and
868         is replaced with a HTML/JavaScript tree. Most of the inspector logic is now in the JavaScript.
869
870         A few bugs are fixed by these changes:
871
872         Bug 6615: Parent node drop-down list is upside-down
873         http://bugs.webkit.org/show_bug.cgi?id=6615
874
875         Bug 6643: REGRESSION: Tree view repaints lines without erasing them first
876         http://bugs.webkit.org/show_bug.cgi?id=6643
877
878         Bug 6650: Web Inspector HTML Hierarchy can't be scrolled with scrollwheel
879         http://bugs.webkit.org/show_bug.cgi?id=6650
880
881         Bug 6677: Can't drag inspector when tree view has focus
882         http://bugs.webkit.org/show_bug.cgi?id=6677
883
884         Bug 7326: Web Inspector tree scrollbar always shows up when resizing the top pane down
885         http://bugs.webkit.org/show_bug.cgi?id=7326
886
887         * WebInspector/WebInspector.h: Removed the searchQuery methods.
888         * WebInspector/WebInspector.m: Removed the DOMNode category and code for the old outline view.
889         * WebInspector/WebInspectorOutlineView.h: Removed.
890         * WebInspector/WebInspectorOutlineView.m: Removed.
891         * WebInspector/WebInspectorInternal.h: Remove some methods and instance variables.
892         * WebInspector/webInspector/Images/resize.png: Added.
893         * WebInspector/webInspector/inspector.css: 
894         * WebInspector/webInspector/inspector.html: Include the new classes and remove the plugin.
895         * WebInspector/webInspector/inspector.js: Changes to use the new tree outline and other fixes.
896         * WebInspector/webInspector/scrollarea.js: Copied from the Dashboard widget resources.
897         * WebInspector/webInspector/scrollbar.js: Ditto.
898         * WebInspector/webInspector/treeoutline.js: New tree outline class.
899         * WebInspector/webInspector/utilities.js: DOM and String prototype additions.
900         * WebKit.xcodeproj/project.pbxproj: Remove WebInspectorOutlineView.
901
902 2007-04-20  Brady Eidson  <beidson@apple.com>
903
904         Reviewed by Oliver (Black Sheep)
905
906         <rdar://problem/3559794>
907         [WebView setMaintainsBackForwardList:] doesn't actually flush out the current page caches
908
909         * WebView/WebView.mm: Remove _private->useBackForwardList
910         (-[WebView _setInitiatedDrag:]): Use _private->page instead of [self page]
911         (-[WebView initWithCoder:]): Manipulate the flag that is now in WebCore::BackForwardList
912         (-[WebView encodeWithCoder:]): Ditto
913         (-[WebView backForwardList]): Use _private->page instead of [self page]
914         (-[WebView setMaintainsBackForwardList:]): Manipulate the flag that is now in WebCore::BackForwardList
915
916 2007-04-20  Anders Carlsson  <andersca@apple.com>
917
918         Reviewed by Maciej.
919
920         <rdar://problem/5085897> REGRESSION: Some Flash links at www.jumpskyhigh.com just reload the page
921         
922         Get rid of the check that would prevent plugin requests from being loaded if a new page load was underway.
923         www.jumpskyhigh.com had a flash movie that was embedded inside an <a> tag and clicking on the plug-in would cause the
924         URL pointed to by the <a> tag to start loading and thus preventing the plug-in from loading the real URL.
925         
926         This check was added by Maciej and we should be able to remove it with the loader changes that have happened now,
927         (mainly the fact that resource loaders are handled by the document loader instead of the frame loader).
928         
929         * Plugins/WebBaseNetscapePluginView.mm:
930         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
931
932 2007-04-19  Oliver Hunt  <oliver@apple.com>
933
934         Reviewed by Adam.
935
936         Fix for <rdar://problem/4960912> -- REGRESSION: Content-Disposition:
937         filename is ignored for drag-and-drop.
938
939         * WebView/WebResource.mm:
940         (-[WebResource _fileWrapperRepresentation]):
941           When creating the NSFileWrapper check the response for a preferred 
942           filename, rather than just blindly hoping for the best.
943
944 2007-04-19  Anders Carlsson  <andersca@apple.com>
945
946         Reviewed by John.
947
948         <rdar://problem/5137002>
949         REGRESSION (r20812): [WebFrame DOMDocument] is returning non-nil value in bookmarks view, causing trouble in Safari
950
951         Put back the MIME type check as a workaround.
952         * WebView/WebFrame.mm:
953         (-[WebFrame DOMDocument]):
954
955 2007-04-19  Mark Rowe  <mrowe@apple.com>
956
957         Reviewed by Oliver and Adam.
958
959         <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients.
960
961         * Misc/WebAssertions.h: Added.
962         * WebKit.xcodeproj/project.pbxproj:
963
964 2007-04-17  Brady Eidson  <beidson@apple.com>
965
966         Reviewed by Tim
967
968         <rdar://problem/5008925>
969         Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate
970
971         * WebCoreSupport/WebFrameLoaderClient.h:
972         * WebCoreSupport/WebFrameLoaderClient.mm:
973         (WebFrameLoaderClient::willCacheResponse): Call 
974           [WebResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:];
975
976         * WebView/WebView.mm:
977         (-[WebView _cacheResourceLoadDelegateImplementations]): Pull out the willCacheResponse impl
978
979         * WebView/WebViewPrivate.h: Add WebResourceLoadDelegatePrivate category for this new SPI
980
981 2007-04-18  John Sullivan  <sullivan@apple.com>
982
983         Reviewed by Adam
984
985         - fixed <rdar://problem/5103009> REGRESSION: Activity window shows blank name for untitled pages
986
987         * WebView/WebHTMLRepresentation.mm:
988         (-[WebHTMLRepresentation title]):
989         return nil for empty string, to match old behavior
990
991 2007-04-17  John Sullivan  <sullivan@apple.com>
992
993         Reviewed by Tim Hatcher
994
995         - fixed <rdar://problem/5138492> Safari doesn't remember some changes to the PDF scale and display mode 
996
997         Some of the user interactions that could change the PDF scale and display mode were not going through
998         the proxy mechanism in WebPDFView that updates preferences. Now we also listen to PDFKit notifications
999         in order to catch the other cases.
1000
1001         * WebView/WebPDFView.h:
1002         new _ignoreScaleAndDisplayModeNotifications and _updatePreferencesTimer ivars
1003
1004         * WebView/WebPDFView.mm:
1005         (-[WebPDFView setPDFDocument:]):
1006         ignore scale and display mode notifications while we're setting up a fresh document
1007         (-[WebPDFView dealloc]):
1008         cancel the new timer (which releases it)
1009         (-[WebPDFView viewDidMoveToWindow]):
1010         listen for two PDFKit notifications
1011         (-[WebPDFView viewWillMoveToWindow:]):
1012         stop listening to the two PDFKit notifications
1013         (-[WebPDFView _applyPDFDefaults]):
1014         white space change
1015         (-[WebPDFView _cancelUpdatePreferencesTimer]):
1016         invalidate, release, and nil out the timer
1017         (-[WebPDFView _scaleOrDisplayModeChanged:]):
1018         update preferences soon, unless deliberately ignoring these notifications
1019         (-[WebPDFView _updatePreferencesNow]):
1020         cancel timer, then save data to preferences (code for saving the data was extracted from
1021         -[PDFPrefUpdatingProxy forwardInvocation:])
1022         (-[WebPDFView _updatePreferencesSoon]):
1023         use timer to consolidate multiple calls into one action; formerly we were setting preferences
1024         multiple times for some atomic user actions
1025         (-[PDFPrefUpdatingProxy forwardInvocation:]):
1026         call _updatePreferencesSoon where we used to immediately set preferences
1027
1028 2007-04-17  John Sullivan  <sullivan@apple.com>
1029
1030         Reviewed by Kevin Decker
1031
1032         - fixed <rdar://problem/4184640> "Look Up in Dictionary" item is always disabled for PDF pages
1033
1034         * WebView/WebPDFView.mm:
1035         (-[WebPDFView validateUserInterfaceItem:]):
1036         enable "Look Up in Dictionary" only if we're using a version of PDFKit that knows how to do so
1037         (-[WebPDFView _canLookUpInDictionary]):
1038         use respondsToSelector to test whether the current version of PDFKit supports this non-API feature
1039         (-[WebPDFView _lookUpInDictionaryFromMenu:]):
1040         implement this method, which WebKit includes in the context menu when there's selected text
1041         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
1042         updated comment for this change
1043
1044 2007-04-16  Darin Adler  <darin@apple.com>
1045
1046         Rubber stamped by Tim Hatcher.
1047
1048         * WebKit.xcodeproj/project.pbxproj: Added Radar bug number to the error message
1049         for the "version number ending in 4" check so folks from Apple can find the
1050         original bug that motivated for this. To summarize what's in that bug, it says that
1051         <http://my.fedex.com> was failing, that it was because of the OpenCube DHTML Menu,
1052         and that some other affected sites were not using OpenCube (so the error is presumably
1053         more widespread).
1054
1055 2007-04-16  Darin Adler  <darin@apple.com>
1056
1057         Reviewed by John Sullivan.
1058
1059         - fix http://bugs.webkit.org/show_bug.cgi?id=13303
1060           <rdar://problem/5126341> REGRESSION: controls in a background Safari window
1061           maintain active appearance if the address bar has focus (13303)
1062
1063         * WebView/WebHTMLView.mm: (-[WebHTMLView _windowChangedKeyState]):
1064         Added. Calls FrameView::updateControlTints.
1065
1066 2007-04-13  Oliver Hunt  <oliver@apple.com>
1067
1068         Reviewed by Adam.
1069
1070         Due to rdar://problem/5133910 -- WebArchives should not be constructed 
1071         using resource from the cache -- We may try to create a potentially 
1072         incorrect WebArchive when dragging an image multiple times.
1073
1074         This patch retains the assertion for invalid behaviour, but adds a
1075         branch to make sure we don't try to do anything with the WebArchive
1076         in release builds.
1077
1078         * Misc/WebNSPasteboardExtras.mm:
1079         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
1080
1081 2007-04-13  Timothy Hatcher  <timothy@apple.com>
1082
1083         Reviewed by Dave Harrison.
1084
1085         <rdar://problem/5132727> Soho Mail build fails because of renamed SPI
1086
1087         * WebView/WebUIDelegatePrivate.h: define WebMenuItemTagSearchInGoogle as OldWebMenuItemTagSearchWeb
1088
1089 2007-04-13  Mark Rowe  <mrowe@apple.com>
1090
1091         Reviewed by Oliver.
1092
1093         <rdar://problem/5130686> Using WebPreferencesPrivate.h requires modifying framework search path
1094
1095         * WebView/WebPreferencesPrivate.h: Remove unneeded #ifdef.
1096
1097 2007-04-12  Deneb Meketa  <dmeketa@adobe.com>
1098
1099         Reviewed by Darin Adler.
1100
1101         http://bugs.webkit.org/show_bug.cgi?id=13029
1102         rdar://problem/4994849
1103         Bug 13029: Permit NPAPI plug-ins to see HTTP response headers.
1104
1105         * Plugins/WebBaseNetscapePluginStream.h: declarations.
1106         * Plugins/WebBaseNetscapePluginStream.mm: main implementation.
1107         (-[WebBaseNetscapePluginStream dealloc]): cleanup.
1108         (-[WebBaseNetscapePluginStream finalize]): cleanup.
1109         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
1110         Pass headers along.
1111         (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
1112         Main work is here.  Extract headers from NSHTTPURLResponse object into a byte sequence.
1113         See comments here about how it would be nice to have low-level access to the HTTP response.
1114         (-[WebBaseNetscapePluginStream _destroyStream]): cleanup.
1115         * Plugins/WebBaseNetscapePluginView.mm:
1116         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
1117         Conform to new startStream params.  Not applicable here, pass nil.
1118
1119 2007-04-12  Brady Eidson  <beidson@apple.com>
1120
1121         Build fix for case sensitive file systems
1122
1123         * Misc/WebNSPasteboardExtras.mm:
1124         * WebCoreSupport/WebPasteboardHelper.mm:
1125
1126 2007-04-11  John Sullivan  <sullivan@apple.com>
1127
1128         Reviewed by Anders
1129
1130         - WebKit part of fix for:
1131         <rdar://problem/5128697> REGRESSION: At least one PDF context menu item isn't appearing on Leopard
1132
1133         * Misc/WebNSArrayExtras.h: Added.
1134         * Misc/WebNSArrayExtras.m: Added.
1135         (-[NSMutableArray _webkit_removeUselessMenuItemSeparators]):
1136         New file, includes this method to strip leading, trailing, and duplicate separators from arrays
1137         of NSMenuItems (copied from Safari)
1138
1139         * WebView/WebUIDelegatePrivate.h:
1140         new MenuItemTag enum values for new PDFKit context menu items
1141
1142         * WebKit.xcodeproj/project.pbxproj:
1143         updated for new files
1144
1145         * WebView/WebPDFView.mm:
1146         (-[WebPDFView _anyPDFTagsFoundInMenu:]):
1147         check for new PDFKit context menu items
1148         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
1149         associate new PDFKit context menu item selectors with the new tags; skip certain selectors that
1150         correspond to menu items that WebKit already includes; remove useless menu item separators when
1151         we're done, since we might have removed arbitrarily-placed menu items
1152
1153 2007-04-11  Oliver Hunt  <oliver@apple.com>
1154
1155         Reviewed by Maciej.
1156
1157         Adding RetainPtr to the many global obj-c pointers we use in
1158         C/C++ methods.  This is necessary to prevent GC from collecting
1159         globals we want to keep around.
1160
1161         We use RetainPtr in obj-c++ and c++ files, and CFRetain/Release in pure
1162         obj-c.
1163
1164         This fixes <rdar://problem/5058731> -- Crash in 
1165         WebCore::DragData::containsCompatibleContent due to early release 
1166         of types array
1167
1168         * Misc/WebLocalizableStrings.m:
1169         (WebLocalizedString):
1170         * Misc/WebNSPasteboardExtras.mm:
1171         (+[NSPasteboard _web_writableTypesForURL]):
1172         (_writableTypesForImageWithoutArchive):
1173         (_writableTypesForImageWithArchive):
1174         * Misc/WebNSURLExtras.m:
1175         (applyHostNameFunctionToMailToURLString):
1176         (applyHostNameFunctionToURLString):
1177         * Misc/WebStringTruncator.m:
1178         (defaultMenuFont):
1179         (fontFromNSFont):
1180         * WebCoreSupport/WebPasteboardHelper.mm:
1181         (WebPasteboardHelper::insertablePasteboardTypes):
1182
1183 2007-04-11  MorganL  <morganl.webkit@yahoo.com>
1184
1185         Reviewed by Maciej.
1186
1187         Add a Frame pointer to ChromeClient methods:
1188         http://bugs.webkit.org/show_bug.cgi?id=13127
1189
1190         * COM/ChromeClientWin.cpp:
1191         (ChromeClientWin::createWindow):
1192         (ChromeClientWin::createModalDialog):
1193         * COM/ChromeClientWin.h:
1194         * WebCoreSupport/WebChromeClient.h:
1195         * WebCoreSupport/WebChromeClient.mm:
1196         (WebChromeClient::createWindow):
1197         (WebChromeClient::createModalDialog):
1198
1199 2007-04-10  Brady Eidson  <beidson@apple.com>
1200
1201         Reviewed by Darin
1202
1203         <rdar://problem/4887095> - PageCache and PageState should be combined
1204
1205         WebKit side of the change to reflect the new object name of CachedPage and new Client method names
1206
1207         * History/WebHistoryItem.mm:
1208         (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
1209         (+[WebHistoryItem _releaseAllPendingPageCaches]):
1210         (-[WebWindowWatcher windowWillClose:]):
1211
1212         * WebCoreSupport/WebFrameLoaderClient.h:
1213         * WebCoreSupport/WebFrameLoaderClient.mm:
1214         (WebFrameLoaderClient::setDocumentViewFromCachedPage):
1215         (WebFrameLoaderClient::loadedFromCachedPage):
1216         (WebFrameLoaderClient::saveDocumentViewToCachedPage):
1217
1218 2007-04-09  Geoffrey Garen  <ggaren@apple.com>
1219
1220         Reviewed by Maciej Stachowiak.
1221         
1222         Support for fixing fast/forms/textarea-paste-newline.html.
1223         
1224         Added SPI for specifying whether a WebView should allow pasting through the 
1225         DOM API.
1226
1227         * ChangeLog:
1228         * WebKit.xcodeproj/project.pbxproj:
1229         * WebView/WebPreferenceKeysPrivate.h:
1230         * WebView/WebPreferences.m:
1231         (+[WebPreferences standardPreferences]):
1232         (-[WebPreferences isDOMPasteAllowed]):
1233         (-[WebPreferences setDOMPasteAllowed:]):
1234         * WebView/WebPreferencesPrivate.h:
1235         * WebView/WebView.mm:
1236         (-[WebView _updateWebCoreSettingsFromPreferences:]):
1237
1238 2007-04-09  Anders Carlsson  <andersca@apple.com>
1239
1240         Reviewed by John.
1241
1242         <rdar://problem/5081860>
1243         REGRESSION: Select All for standalone image has no visible effect but does change state
1244         
1245         <rdar://problem/5081840>
1246         REGRESSION: context menu in white space beyond standalone image is different after Select All
1247         
1248         Have validateUserInterface emulate the old behavior for full-frame images and plugins, which is:
1249         
1250         - For full-frame plugins, always return false.
1251         - For images, only return true if the selector is copy: and the image has finished loading.
1252         
1253         * WebView/WebHTMLView.mm:
1254         (-[WebHTMLView validateUserInterfaceItem:]):
1255
1256 2007-04-09  Anders Carlsson  <andersca@apple.com>
1257
1258         Reviewed by Darin.
1259
1260         <rdar://problem/5026893>
1261         REGRESSION: "Mail Contents of this Page" for standalone image in Safari results in a broken image in Mail
1262         
1263         * WebView/WebFrame.mm:
1264         (-[WebFrame DOMDocument]):
1265         We can't check for _isHTMLDocument here since image and plugin documents inherit from HTMLDocument. Instead,
1266         check for those two document types explicitly.
1267         
1268 2007-04-09  Anders Carlsson  <andersca@apple.com>
1269
1270         Reviewed by Geoff, Ada and John.
1271
1272         <rdar://problem/4600978> Would like a way to test whether a WebView is displaying a standalone image
1273
1274         * WebView/WebFrame.mm:
1275         (-[WebFrame _isDisplayingStandaloneImage]):
1276         * WebView/WebFramePrivate.h:
1277         Add _isDisplayingStandaloneImage SPI.
1278
1279 2007-04-06  Timothy Hatcher  <timothy@apple.com>
1280
1281         Reviewed by Mark Rowe.
1282
1283         Adds a build phase script that ensures WebKit's version dosen't end in a 4.
1284         If our version ends in 4, some sites might think we are Netscape 4 in their
1285         user agent checks.
1286
1287         * Configurations/Version.xcconfig:
1288         * WebKit.xcodeproj/project.pbxproj:
1289
1290 2007-04-05  Anders Carlsson  <andersca@apple.com>
1291
1292         Reviewed by Adam.
1293
1294         <rdar://problem/5083023>
1295         REGRESSION: In Real Player (10.1.0), video continues to play after closing window
1296         
1297         This broke in revision 18422 because now the plugin isn't stopped when the window is closed. Since the window is retained
1298         by the plugin view for as long as it is running (so that removeTrackingRect works even though the window has been closed),
1299         we would end up with a reference cycle (NSWindow -> WebView -> PluginView -> NSWindow) and stopping the plug-in when the window
1300         was closed would break that cycle.
1301         
1302         Applications that call -[WebView close] when closing aren't affected, but RealPlayer doesn't do this.
1303         
1304         The bug that 18422 was supposed to fix was fixed by 19275, which is why it's safe to add back the check.
1305         
1306         * Plugins/WebBaseNetscapePluginView.mm:
1307         (-[WebBaseNetscapePluginView addWindowObservers]):
1308         (-[WebBaseNetscapePluginView removeWindowObservers]):
1309         (-[WebBaseNetscapePluginView windowWillClose:]):
1310
1311 2007-04-05  Kevin McCullough  <kmccullough@apple.com>
1312
1313         Reviewed by Darin.
1314
1315         - Moved registerURLSchemeAsLocal to the public API.
1316
1317         * WebView/WebView.h:
1318         * WebView/WebView.mm:
1319         (+[WebView registerURLSchemeAsLocal:]):
1320         * WebView/WebViewPrivate.h:
1321
1322 === Safari-5522.6 ===
1323
1324 2007-04-04  Anders Carlsson  <andersca@apple.com>
1325
1326         Reviewed by John.
1327
1328         <rdar://problem/5107536> 
1329         http://bugs.webkit.org/show_bug.cgi?id=13264
1330         REGRESSION: Crash when canceling about:blank in Activity viewer
1331         
1332         * WebView/WebFrame.mm:
1333         (-[WebFrame stopLoading]):
1334         Add a null check for the frame loader - it can be null when the frame has been disconnected
1335         from the web page.
1336
1337 2007-04-03  Anders Carlsson  <andersca@apple.com>
1338
1339         Reviewed by Darin.
1340
1341         <rdar://problem/5028178>
1342         Crash occurs at WebCore::FrameLoader::activeDocumentLoader() after loading Froggster widget
1343         
1344         * Plugins/WebNetscapePluginStream.mm:
1345         (-[WebNetscapePluginStream start]):
1346         If load returns no the plugin loader has already been removed by the didFail callback.
1347
1348 2007-04-02  Anders Carlsson  <andersca@apple.com>
1349
1350         Reviewed by Geoff.
1351
1352         Fix crash when running plugins/destroy-stream-twice.html under GuardMalloc
1353
1354         * Plugins/WebBaseNetscapePluginStream.h:
1355         * Plugins/WebBaseNetscapePluginStream.mm:
1356         (+[WebBaseNetscapePluginStream ownerForStream:]):
1357         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
1358         (-[WebBaseNetscapePluginStream dealloc]):
1359         (-[WebBaseNetscapePluginStream finalize]):
1360         Change the streams hash map to contain an NPStream*, and change ownerForStream to take an NPStream*.
1361         
1362         * Plugins/WebBaseNetscapePluginView.mm:
1363         (-[WebBaseNetscapePluginView destroyStream:reason:]):
1364         Check that the NPStream pointer is valid before accessing stream->ndata.
1365
1366 2007-04-02  Darin Adler  <darin@apple.com>
1367
1368         Reviewed by Geoff.
1369
1370         - fix http://bugs.webkit.org/show_bug.cgi?id=13026
1371           <rdar://problem/5061026> incomplete render of menu
1372           (assertion failing in -[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:])
1373
1374         - fix http://bugs.webkit.org/show_bug.cgi?id=13120
1375           <rdar://problem/5080339> Plug-ins that draw through the QuickDraw interface may crash
1376           by hanging onto old GWorlds.
1377
1378         - set clip path for CoreGraphics plug-ins in the same way we do for QuickDraw plug-ins
1379           this is a better fix for <rdar://problem/4939511> WebKit should set the the CG clip
1380           path for plug-ins that draw using Core Graphics
1381
1382         Incorporates changes from a patch by Mark Ambachtsheer.
1383
1384         Here are the changes:
1385
1386             1) Don't try to use the offscreen code path if GGBitmapContextGetData returns 0.
1387             2) Handle kCGBitmapByteOrderDefault when computing the QD pixel format, even though
1388                we don't have any evidence that this happens in practice.
1389             3) Keep the GWorld around until we create a new one or the plug-in is destroyed.
1390             4) Use the GWorld pointer itself as a flag to indicate whether we are using an
1391                offscreen GWorld.
1392             5) Set up clipping for CoreGraphics in the same way we do for QuickDraw; remove an
1393                earlier attempt that handled CoreGraphics differently.
1394
1395         * Plugins/WebBaseNetscapePluginView.h: Added a field named offscreenGWorld to hold
1396         the GWorld until it's needed.
1397         * Plugins/WebBaseNetscapePluginView.mm:
1398         (getQDPixelFormatForBitmapContext): Replaced QDPixelFormatFromCGBitmapInfo. Used the
1399         "get" prefix so we don't intrude on the QD namespace. Added code to handle the
1400         kCGBitmapByteOrderDefault case, although I'm not sure it will really come up in
1401         practice -- it wasn't really coming up in the buggy case.
1402         (getNPRect): Added helper functions. Used to make the code below clearer.
1403         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Use getNPRect to
1404         streamline code. Use GetGWorld to save the port since we use SetGWorld to restore
1405         it later. Store the GWorld we create in the offscreenGWorld field and dispose the
1406         existing one. Don't treat the CGBitmapContext as an offscreen bitmap if it
1407         has a data pointer of 0. Set up the clip based on the result of
1408         -[NSView getRectsBeingDrawn:count] when setting up the port for CoreGraphics
1409         (after saving the port state).
1410         (-[WebBaseNetscapePluginView restorePortState:]): Remove now-unneeded code to
1411         destroy the offscreen GWorld, and simplified the code that restores the port so we
1412         don't need a separate case for offscreen.
1413         (-[WebBaseNetscapePluginView fini]): Renamed from freeAttributeKeysAndValues, since
1414         this method now does more than just the attributes. This is the shared method that
1415         does things needed in both dealloc and finalize. Added a call to DisposeGWorld here.
1416         (-[WebBaseNetscapePluginView dealloc]): Updated for name change.
1417         (-[WebBaseNetscapePluginView finalize]): Ditto.
1418         (-[WebBaseNetscapePluginView drawRect:]): Removed code to set clip. This is done in
1419         the saveAndSetNewPortStateForUpdate: method instead.
1420
1421 2007-03-30  Adele Peterson  <adele@apple.com>
1422
1423         Reviewed by Darin.
1424
1425         Call execCommand for deleteWordForward and deleteWordBackward instead of calling
1426         deleteWithDirection directly.
1427
1428         * WebView/WebHTMLView.mm:
1429         (-[WebHTMLView deleteWordForward:]):
1430         (-[WebHTMLView deleteWordBackward:]):
1431
1432 2007-03-30  Anders Carlsson  <andersca@apple.com>
1433
1434         Reviewed by Geoff.
1435
1436         * Plugins/WebNetscapePluginPackage.m:
1437         (-[WebNetscapePluginPackage load]):
1438         Initialize pushpopupsenabledstate, poppopupsenabledstate and enumerate.
1439         
1440         * Plugins/npapi.m:
1441         (NPN_PushPopupsEnabledState):
1442         (NPN_PopPopupsEnabledState):
1443         Add stubs for these functions.
1444         
1445         * Plugins/npfunctions.h:
1446         Add new methods to NPNetscapeFuncs.
1447
1448 2007-03-29  Geoffrey Garen  <ggaren@apple.com>
1449
1450         Reviewed by Beth Dakin, reviewed by Maciej Stachowiak.
1451         
1452         Layout test for <rdar://problem/5091330> REGRESSION: Repro crash in 
1453         -[WebBaseNetscapePluginView(WebNPPCallbacks) destroyStream:reason:] 
1454         navigating away from page with DivX movie plug-in (13203)
1455         
1456         Changed LOG_ERROR to LOG so the layout test doesn't produce console spew
1457         every time you run it.
1458
1459         * Plugins/WebBaseNetscapePluginView.mm:
1460         (-[WebBaseNetscapePluginView destroyStream:reason:]):
1461
1462 2007-03-29  Beth Dakin  <bdakin@apple.com>
1463
1464         Reviewed by Brady.
1465
1466         Fix for <rdar://problem/4674537> REGRESSION: Adobe Acrobat 8 - Text 
1467         blinks when mouse is moved, and is invisible otherwise
1468
1469         -and-
1470
1471         <rdar://problem/4992521> Please adjust WebKit's Acrobat-workaround 
1472         methodology
1473
1474         The fix for the first bug is to compare against the bundle 
1475         identifiers for Adobe Reader and the non-Pro Adobe Acrobat in 
1476         addition to Adobe Acrobat Pro. The fix for the second bug is to 
1477         check the version number of Acrobat/Reader through 
1478         WebKitSystemInterface instead of checking which version of WebKit 
1479         it has been linked against.
1480
1481         * English.lproj/StringsNotToBeLocalized.txt: Two new bundle 
1482         identifiers.
1483         * Misc/WebKitVersionChecks.h: Remove Acrobat quirk constant.
1484         * WebView/WebView.mm:
1485         (-[WebView _updateWebCoreSettingsFromPreferences:]):
1486
1487 2007-03-29  Geoffrey Garen  <ggaren@apple.com>
1488
1489         Rubber stamped by Beth Dakin.
1490         
1491         WebBaseNetscapePluginStream.m => WebBaseNetscapePluginStream.mm, since
1492         it's ObjC++ now.
1493
1494         * Plugins/WebBaseNetscapePluginStream.m: Removed.
1495         * WebKit.xcodeproj/project.pbxproj:
1496
1497 2007-03-27  Geoffrey Garen  <ggaren@apple.com>
1498
1499         Reluctantly tolerated by Darin Adler.
1500         
1501         Fixed <rdar://problem/5091330> REGRESSION: Repro crash in 
1502         -[WebBaseNetscapePluginView(WebNPPCallbacks) destroyStream:reason:] 
1503         navigating away from page with DivX movie plug-in (13203)
1504         
1505         The problem was that the DivX plug-in would ask us to destroy an NPStream
1506         that had already been destroyed, causing us to wander off into freed
1507         memory. (I believe the reason this was a regression was that we never used 
1508         to destroy plug-in streams, period.)
1509         
1510         The solution here is to track the NPStreams belonging to a plug-in, and 
1511         guard against plug-ins making calls with NPStreams that don't belong to 
1512         them. (It turns out that NPN_DestroyStream is the only stream-based 
1513         plug-in call we support.)
1514
1515         (CarbonPathFromPOSIXPath): Fixed up a cast to be C++ compatible.
1516         * Plugins/WebBaseNetscapePluginView.mm:
1517         (-[WebBaseNetscapePluginView destroyStream:reason:]): The actual fix.
1518         Use helper method to guard against a plug-in using an NPStream that doesn't
1519         belong to it.
1520         * WebKit.xcodeproj/project.pbxproj: Made WebBaseNetscapePluginView ObjC++
1521         so I could use HashMap.
1522
1523 2007-03-28  Adele Peterson  <adele@apple.com>
1524
1525         Reviewed by Brady.
1526
1527         Update to last fix.
1528
1529         * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITHOUT_VITALSOURCE_QUIRK.
1530         * WebView/WebView.mm: (-[WebView stringByEvaluatingJavaScriptFromString:]):
1531         Added check to only use the VitalSource workaround if the app is not linked on or after
1532         the defined WEBKIT_FIRST_VERSION_WITHOUT_VITALSOURCE_QUIRK version number.
1533
1534 2007-03-28  Adele Peterson  <adele@apple.com>
1535
1536         Reviewed by Kevin M.
1537
1538         WebKit part of fix for <rdar://problem/5095515> VitalSource Bookshelf should not pass return statements into stringByEvaluatingJavaScriptFromString
1539
1540         Added an app specific workaround for VitalSource Bookshelf that strips "return" from the beginning of their script strings.  We used to allow this
1541         but now we throw a JavaScript exception for return statements that aren't in functions.
1542
1543         Filed this evangelism bug so we can notify VitalSource of the problem:
1544         <rdar://problem/5095515> VitalSource Bookshelf should not pass return statements into stringByEvaluatingJavaScriptFromString
1545
1546         * WebView/WebView.mm: (-[WebView stringByEvaluatingJavaScriptFromString:]):
1547
1548 2007-03-27  John Sullivan  <sullivan@apple.com>
1549
1550         Reviewed by Tim
1551         
1552         - fixed <rdar://problem/5092556> Default UA spoofing is always off until explicitly toggled
1553
1554         * WebView/WebView.mm:
1555         (-[WebView _commonInitializationWithFrameName:groupName:]):
1556         initialize the cached value of _private->useSiteSpecificSpoofing here; formerly it would not
1557         be initialized correctly in the common case of WebViews that use [WebPreferences standardPreferences]
1558
1559 2007-03-27  Mark Rowe  <mrowe@apple.com>
1560
1561         Reviewed by Dave Harrison.
1562
1563         * Configurations/WebKit.xcconfig: Include UMBRELLA_FRAMEWORKS_DIR in framework search path.
1564
1565 2007-03-26  Antti Koivisto  <antti@apple.com>
1566
1567         Reviewed by Darin.
1568         
1569         On Mac, support fine grained wheel events generated by trackpad and Mighty Mouse.
1570         http://bugs.webkit.org/show_bug.cgi?id=13134
1571         <rdar://problem/5076249>
1572
1573         * WebCoreSupport/WebSystemInterface.m:
1574         (InitWebCoreSystemInterface): Expose GetWheelEventDeltas()
1575
1576 2007-03-26  John Sullivan  <sullivan@apple.com>
1577
1578         Reviewed by Dave Harrison
1579         
1580         - fixed <rdar://problem/4769772> Problem with Find on certain PDF page
1581
1582         * WebView/WebPDFView.mm:
1583         (-[WebPDFView _scaledAttributedString:]):
1584         We were hitting an exception trying to set the font attribute to nil, which was happening because
1585         the result of -[PDFSelection attributedString] had no attributes. That PDFSelection bug is now
1586         filed separately, but this works around the exception.
1587
1588 2007-03-24  David Hyatt  <hyatt@apple.com>
1589
1590         Amend the statistics reporting for the WebCore cache to include XSL and to report live/decoded sizes.
1591
1592         * Misc/WebCache.mm:
1593         (+[WebCache statistics]):
1594
1595 2007-03-24  Brady Eidson  <beidson@apple.com>
1596
1597         Reviewed by Adam
1598
1599         RetainPtr is no longer in the WebCore namespace
1600
1601         * History/WebBackForwardList.mm:
1602         * WebCoreSupport/WebEditorClient.h:
1603         * WebCoreSupport/WebFrameLoaderClient.h:
1604         * WebView/WebDocumentLoaderMac.h:
1605
1606 2007-03-24  Brady Eidson  <beidson@apple.com>
1607
1608         Reviewed by Adam
1609
1610         <rdar://problem/5086210> - Move RetainPtr to WTF
1611         
1612         * ForwardingHeaders/wtf/RetainPtr.h: Added.
1613         * History/WebBackForwardList.mm: Changed #import to <wtf/RetainPtr.h>
1614         * WebCoreSupport/WebEditorClient.h: Ditto
1615         * WebCoreSupport/WebFrameLoaderClient.h: Ditto
1616         * WebView/WebDocumentLoaderMac.h: Ditto
1617
1618 2007-03-24  John Sullivan  <sullivan@apple.com>
1619
1620         Reviewed by Adele
1621
1622         - fixed <rdar://problem/5084872> Need to add flickr to spoof list in WebKit
1623         - only do site-specific spoofing if a preference is set
1624
1625         * WebView/WebPreferenceKeysPrivate.h:
1626         added WebKitUseSiteSpecificSpoofingPreferenceKey 
1627         
1628         * WebView/WebPreferences.m:
1629         (+[WebPreferences initialize]):
1630         initialize WebKitUseSiteSpecificSpoofingPreferenceKey to false
1631         (-[WebPreferences _useSiteSpecificSpoofing]):
1632         get value of WebKitUseSiteSpecificSpoofingPreferenceKey
1633         (-[WebPreferences _setUseSiteSpecificSpoofing:]):
1634         set value of WebKitUseSiteSpecificSpoofingPreferenceKey
1635         
1636         * WebView/WebPreferencesPrivate.h:
1637         declare _useSiteSpecificSpoofing and _setUseSiteSpecificSpoofing
1638         
1639         * WebView/WebView.mm:
1640         cache the value of WebKitUseSiteSpecificSpoofingPreferenceKey in a bool in _private
1641         (-[WebView _preferencesChangedNotification:]):
1642         update the cached value
1643         (-[WebView setPreferences:]):
1644         ditto
1645         (-[WebView WebCore::_userAgentForURL:WebCore::]):
1646         Only spoof here if the new site-specific spoofing preference is enabled. If it is, pass
1647         Safari 2.0.4's user agent string for flickr.com. We can remove this case when 5081617 is addressed.
1648
1649 2007-03-24  Mark Rowe  <mrowe@apple.com>
1650
1651         Rubber-stamped by Darin.
1652
1653         * Configurations/WebKit.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
1654
1655 2007-03-23  Mark Rowe  <mrowe@apple.com>
1656
1657         Build fix for when BUILDING_ON_TIGER is not defined.
1658
1659         * Misc/WebTypesInternal.h:
1660         * WebView/WebHTMLView.mm:
1661
1662 2007-03-22  David Kilzer  <ddkilzer@apple.com>
1663
1664         Reviewed by Darin.
1665
1666         Use BUILDING_ON_TIGER from WebKitPrefix.h instead of local
1667         MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4 tests.
1668
1669         * Misc/WebTypesInternal.h:
1670         * WebView/WebHTMLView.mm:
1671
1672 2007-03-22  Darin Adler  <darin@apple.com>
1673
1674         Reviewed by Adele.
1675
1676         - fix <rdar://problem/5074630> detachChildren call should move from WebKit to WebCore
1677
1678         * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::prepareForDataSourceReplacement):
1679         Remove call to detachChildren. This should be a WebCore responsibility.
1680
1681 2007-03-19  Anders Carlsson  <acarlsson@apple.com>
1682
1683         Reviewed by Dave Hyatt.
1684
1685         <rdar://problem/5067983>
1686         iSale: Crash occurs at WebFrameLoaderClient::dispatchDecidePolicyForMIMEType() when attempting to load a HTML template
1687         
1688         Restore old behavior (broke in r14533) where the resource load and download delegates are retained for as long as the 
1689         data source is loading.
1690         
1691         * WebCoreSupport/WebFrameLoaderClient.mm:
1692         (WebFrameLoaderClient::createDocumentLoader):
1693         * WebView/WebDocumentLoaderMac.h:
1694         * WebView/WebDocumentLoaderMac.mm:
1695         (WebDocumentLoaderMac::setDataSource):
1696         (WebDocumentLoaderMac::decreaseLoadCount):
1697
1698 2007-03-19  Geoffrey Garen  <ggaren@apple.com>
1699
1700         Speculative fix for why ASSERT_MAIN_THREAD didn't work for me. (The
1701         documentation says "non-zero," not "1."
1702
1703         * Misc/WebKitLogging.m:
1704         (WebKitRunningOnMainThread):
1705
1706 2007-03-19  Andrew Wellington  <proton@wiretapped.net>
1707
1708         Reviewed by Maciej.
1709
1710         Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
1711
1712         * WebKit.xcodeproj/project.pbxproj:
1713
1714 2007-03-19  Darin Adler  <darin@apple.com>
1715
1716         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
1717
1718 2007-03-19  John Sullivan  <sullivan@apple.com>
1719
1720         Reviewed by Justin
1721         
1722         - fixed <rdar://problem/5071238> REGRESSION: opt-cmd-B to show Bookmarks view does 
1723         nothing when form field has focus
1724
1725         * WebView/WebHTMLView.mm:
1726         (-[WebHTMLView _handleStyleKeyEquivalent:]):
1727         we were counting any set of modifiers plus 'b' as the standard key equivalent for
1728         toggling Bold; now we only accept command+'b'
1729
1730 2007-03-19  Adam Roben  <aroben@apple.com>
1731
1732         Reviewed by Hyatt and Maciej.
1733
1734         Updated WebCoreStatistics for the conversion of WebCoreJavaScript to
1735         C++.
1736
1737         * Misc/WebCoreStatistics.mm:
1738         (+[WebCoreStatistics javaScriptObjectsCount]):
1739         (+[WebCoreStatistics javaScriptInterpretersCount]):
1740         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
1741         (+[WebCoreStatistics javaScriptRootObjectTypeCounts]): Moved
1742         conversion to NSCountedSet here from WebCore.
1743         (+[WebCoreStatistics garbageCollectJavaScriptObjects]):
1744         (+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThread:]):
1745         (+[WebCoreStatistics shouldPrintExceptions]):
1746         (+[WebCoreStatistics setShouldPrintExceptions:]):
1747         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
1748         (+[WebCoreStatistics javaScriptRootObjectClasses]):
1749
1750 2007-03-18  Andrew Wellington  <proton@wiretapped.net>
1751
1752         Reviewed by Mark Rowe
1753         
1754         Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
1755
1756         * WebKit.xcodeproj/project.pbxproj:
1757
1758 2007-03-19  Mark Rowe  <mrowe@apple.com>
1759
1760         Rubber-stamped by Brady.
1761
1762         Update references to bugzilla.opendarwin.org with bugs.webkit.org.
1763
1764         * WebInspector/webInspector/inspector.css:
1765         * WebView/WebHTMLView.mm:
1766         (-[WebHTMLView firstRectForCharacterRange:]):
1767         * WebView/WebView.mm:
1768         (-[WebView initWithFrame:frameName:groupName:]):
1769
1770 2007-03-18  David Hyatt  <hyatt@apple.com>
1771
1772         Move frame borders out of WebKit and into WebCore.
1773
1774         Reviewed by aroben, olliej
1775
1776         * WebCoreSupport/WebFrameBridge.mm:
1777         * WebKit.xcodeproj/project.pbxproj:
1778         * WebView/WebFrameView.mm:
1779         (-[WebFrameView drawRect:]):
1780         (-[WebFrameView setFrameSize:]):
1781         * WebView/WebFrameViewInternal.h:
1782
1783 2007-03-17  John Sullivan  <sullivan@apple.com>
1784
1785         Reviewed by Tim Hatcher
1786         
1787         Discovered while working on <rdar://problem/5070334> that many WebView calls will crash if called
1788         after -[WebView close] has executed because _private->page is deferenced after it's been set to 0. 
1789         It might be silly/wrong to call these methods after -close, but obviously it shouldn't crash. Made
1790         each use of _private->page robust against nil-dereferencing.
1791
1792         * WebView/WebView.mm:
1793         (-[WebView _loadBackForwardListFromOtherView:]):
1794         (-[WebView _updateWebCoreSettingsFromPreferences:]):
1795         (-[WebView _setDashboardBehavior:to:]):
1796         (-[WebView _dashboardBehavior:]):
1797         (-[WebView goBack]):
1798         (-[WebView goForward]):
1799         (-[WebView goToBackForwardItem:]):
1800         (-[WebView canGoBack]):
1801         (-[WebView canGoForward]):
1802         (-[WebView setTabKeyCyclesThroughElements:]):
1803         (-[WebView tabKeyCyclesThroughElements]):
1804         (-[WebView setEditable:]):
1805
1806 2007-03-17  Timothy Hatcher  <timothy@apple.com>
1807
1808         Reviewed by Mark Rowe.
1809
1810         Made Version.xcconfig smarter when building for different configurations.
1811         Now uses the 522+ OpenSource version for Debug and Release, while using the
1812         full 522.4 version for Production builds. The system prefix is also computed
1813         based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.
1814
1815         * Configurations/Version.xcconfig:
1816         * Configurations/WebKit.xcconfig:
1817
1818 2007-03-16  Oliver Hunt  <oliver@apple.com>
1819
1820         Reviewed by Hyatt.
1821
1822         The old canSaveAsWebArchive call was necessary as stand alone
1823         images used to be rendered by ImageDocument.
1824
1825         Fixes rdar://problem/5061252
1826
1827         * WebCoreSupport/WebDragClient.h:
1828         * WebCoreSupport/WebDragClient.mm:
1829         (WebDragClient::declareAndWriteDragImage):
1830         * WebKit.xcodeproj/project.pbxproj:
1831
1832 2007-03-15  Brady Eidson  <beidson@apple.com>
1833
1834         Reviewed by Maciej
1835
1836         <rdar://problem/4429701>
1837         Implements a port blocking black list that matches Firefox's
1838
1839         * English.lproj/Localizable.strings: Added localizable string for port blocked error code
1840
1841         * Misc/WebKitErrors.h:
1842         * Misc/WebKitErrors.m:
1843         (registerErrors): Add new port blocked error code to WebKitErrorDomain
1844
1845         * WebCoreSupport/WebFrameLoaderClient.h:
1846         * WebCoreSupport/WebFrameLoaderClient.mm:
1847         (WebFrameLoaderClient::cancelledError): Fixed coding style
1848         (WebFrameLoaderClient::blockedError): Return a ResourceError with the new custom error code
1849
1850 2007-03-15  Timothy Hatcher  <timothy@apple.com>
1851
1852         Reviewed by John.
1853
1854         * Fixes: <rdar://problem/4927747> WebKit's Current Library Version number should match the Info.plist Version
1855         * Factored out most of our common build settings into .xcconfig files. Anything that was common in
1856           each build configuration was factored out into the shared .xcconfig file.
1857         * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
1858         * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
1859         * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
1860         * Make WebKit use the same warning flags as the other projects. This required two casts to be added to fix new warnings.
1861
1862         * Configurations/Base.xcconfig: Added.
1863         * Configurations/DebugRelease.xcconfig: Added.
1864         * Configurations/Version.xcconfig: Added.
1865         * Configurations/WebKit.xcconfig: Added.
1866         * Info.plist:
1867         * Misc/WebKitVersionChecks.h:
1868         * Plugins/WebBaseNetscapePluginStream.m:
1869         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
1870         * WebKit.xcodeproj/project.pbxproj:
1871
1872 2007-03-15  Kevin Decker  <kdecker@apple.com>
1873
1874         Reviewed by Anders.
1875
1876         Fixed: <rdar://problem/5001428> stationery background images do not display
1877        
1878         Change 19244 fixed the method -[WebResource _shouldIgnoreWhenUnarchiving], but also broke Mail stationery.
1879         
1880         The problem was that with archivedResourceForURL now fixed, the engine will try to decode the images.  These images wouldn't decode because
1881         Mail re-encodes and directly manipulates the image data in such a way that prevented WebKit from decoding the image.  Because Mail was giving
1882         us bad data, the images wouldn't render.  This was never an issue before because archivedResourceForURL (broken) always returned nil, thus the
1883         engine would never attempt to decode the resource, therefore the responsibility was delegated to Mail's protocol handler, which would do the 
1884         right thing and load the image.
1885         
1886         Since Mail is relying on the fact it can store arbitrary data in WebArchives, I've introduced SPI that acts as a hint for us to ignore certain 
1887         subresources while unarchiving. This SPI is -[WebResource _shouldIgnoreWhenUnarchiving].
1888         
1889         * WebView/WebResource.mm: Addd private ivar shouldIgnoreWhenUnarchiving.
1890         (-[WebResource _ignoreWhenUnarchiving]): Added.
1891         (-[WebResource _shouldIgnoreWhenUnarchiving]): Added.
1892         * WebView/WebResourcePrivate.h: Added two methods to private header.
1893         * WebView/WebUnarchivingState.m:
1894         (-[WebUnarchivingState archivedResourceForURL:]): Check if we should ignore the resource.
1895
1896 2007-03-15  Mark Rowe  <mrowe@apple.com>
1897
1898         Reviewed by Antti.
1899
1900         Fix for <rdar://problem/5065060> ASSERTION FAILURE: newUsername && newPassword
1901         when submitting an authentication form without password.
1902
1903         * WebCoreSupport/WebFrameLoaderClient.mm:
1904         (WebFrameLoaderClient::dispatchWillSubmitForm): Don't omit form fields with empty values from the dictionary
1905         passed to the delegate.
1906
1907 2007-03-14  Anders Carlsson  <acarlsson@apple.com>
1908
1909         Reviewed by Dave Hyatt.
1910
1911         Don't add the data twice, it's also done by didReceiveData.
1912         
1913         * WebCoreSupport/WebFrameLoaderClient.mm:
1914         (WebFrameLoaderClient::deliverArchivedResources):
1915
1916 2007-03-14  Anders Carlsson  <acarlsson@apple.com>
1917
1918         Fix segmentation fault when running layout tests.
1919
1920         Remove bogus check that that I added on purpose to see how good Geoff is at spotting mistakes when reviewing code.
1921         (Turns out he's not that good!)
1922         
1923         * WebView/WebDocumentLoaderMac.mm:
1924         (WebDocumentLoaderMac::increaseLoadCount):
1925
1926 2007-03-14  Anders Carlsson  <acarlsson@apple.com>
1927
1928         Reviewed by Geoff.
1929
1930         http://bugs.webkit.org/show_bug.cgi?id=13076
1931         REGRESSION: Multiple loading tabs cause assertion in WebDocumentLoaderMac::decreaseLoadCount(unsigned long)
1932
1933         Store the identifier set in the document loader since identifiers are per-webview and not global.
1934         
1935         * WebView/WebDocumentLoaderMac.h:
1936         * WebView/WebDocumentLoaderMac.mm:
1937         (WebDocumentLoaderMac::WebDocumentLoaderMac):
1938         (WebDocumentLoaderMac::attachToFrame):
1939         (WebDocumentLoaderMac::increaseLoadCount):
1940         (WebDocumentLoaderMac::decreaseLoadCount):
1941
1942 2007-03-14  David Harrison  <harrison@apple.com>
1943
1944         Reviewed by Maciej.
1945
1946         <rdar://problem/5009625> REGRESSION: Aperture 1.5: Can't select entire line of text after correcting a misspelled word
1947
1948         * WebCoreSupport/WebEditorClient.mm:
1949         (WebEditorClient::respondToChangedSelection):
1950         * WebCoreSupport/WebFrameBridge.mm:
1951         Provide compatibility by not sending WebViewDidChangeSelectionNotification if
1952         the app is Aperture and is linked against WebKit 2.0.
1953
1954 === Safari-5522.4 ===
1955
1956 2007-03-14  Anders Carlsson  <acarlsson@apple.com>
1957
1958         Reviewed by Geoff.
1959
1960         <rdar://problem/5058714>
1961         http://bugs.webkit.org/show_bug.cgi?id=13050
1962         
1963         World leaks seen on Leopard after opening then closing tab (13050)
1964
1965         Add a hash set to prevent the load count to be increased twice for the same resource.
1966         
1967         * WebCoreSupport/WebFrameLoaderClient.mm:
1968         (WebFrameLoaderClient::dispatchWillSendRequest):
1969         (WebFrameLoaderClient::dispatchDidFinishLoading):
1970         (WebFrameLoaderClient::dispatchDidFailLoading):
1971         * WebView/WebDocumentLoaderMac.h:
1972         * WebView/WebDocumentLoaderMac.mm:
1973         (loadingResources):
1974         (WebDocumentLoaderMac::increaseLoadCount):
1975         (WebDocumentLoaderMac::decreaseLoadCount):
1976
1977 2007-03-14 Adele Peterson  <adele@apple.com>
1978
1979         Reviewed by Darin.
1980
1981         Removed _insertTextWithEvent, _insertNewlineWithEvent, and _insertTextWithEvent.
1982         Instead, use execCommand and insertText methods on the Editor.
1983
1984         * WebView/WebHTMLView.mm:
1985         (-[WebHTMLView insertTab:]):
1986         (-[WebHTMLView insertBacktab:]):
1987         (-[WebHTMLView insertNewline:]):
1988         (-[WebHTMLView insertLineBreak:]):
1989         (-[WebHTMLView insertParagraphSeparator:]):
1990         (-[WebHTMLView insertNewlineIgnoringFieldEditor:]):
1991         (-[WebHTMLView insertTabIgnoringFieldEditor:]):
1992         (-[WebHTMLView yank:]):
1993         (-[WebHTMLView yankAndSelect:]):
1994         (-[WebHTMLView doCommandBySelector:]):
1995         (-[WebHTMLView insertText:]):
1996
1997 2007-03-14  David Hyatt  <hyatt@apple.com>
1998
1999         Fixes to ensure that the resource loader's shared buffer can always be used.
2000
2001         Reviewed by olliej, mjs
2002
2003         * Misc/WebIconDatabase.mm:
2004         (-[WebIconDatabase _convertToWebCoreFormat]):
2005         * WebCoreSupport/WebFrameLoaderClient.mm:
2006         (WebFrameLoaderClient::deliverArchivedResources):
2007
2008 2007-03-13  Oliver Hunt  <oliver@apple.com>
2009
2010         Reviewed by Brady.
2011
2012         Modify subresourceForURL to take NSString argument 
2013         so we can avoid [NSURL absoluteString]
2014
2015         * WebView/WebDataSource.mm:
2016         (-[WebDataSource subresourceForURL:]):
2017
2018 2007-03-13  Brady Eidson  <beidson@apple.com>
2019
2020         Rubberstamped by Alice
2021
2022         Meant to be part of my previous checkin... pruning unused code from WebKit
2023
2024         * WebView/WebFrame.mm: Removed _canCachePage
2025         * WebView/WebFrameInternal.h: Ditto
2026
2027 2007-03-13  Beth Dakin  <bdakin@apple.com>
2028
2029         Reviewed by Maciej.
2030
2031         Fix for <rdar://problem/4277074> 8F32: Help Viewer crashed on 
2032         clicking link - KHTMLView::viewportMouseReleaseEvent (12647)
2033
2034         Re-set the DocumentLoader's frame when loading it from the page 
2035         cache before setting the document view.
2036
2037         * WebCoreSupport/WebFrameLoaderClient.mm:
2038         (WebFrameLoaderClient::setDocumentViewFromPageCache):
2039
2040 2007-03-13  Timothy Hatcher  <timothy@apple.com>
2041
2042         Reviewed by Geoff.
2043
2044         <rdar://problem/5057117> Spoof user agent on Yahoo.com with Safari and WebKit as version 4xx
2045
2046         * Plugins/WebBaseNetscapePluginView.mm:
2047         (-[WebBaseNetscapePluginView userAgent]): Stop using the deprecated lossyCString method.
2048         * WebCoreSupport/WebFrameBridge.mm: Removed dead code, userAgentForURL: wasn't used.
2049         * WebCoreSupport/WebFrameLoaderClient.mm:
2050         (WebFrameLoaderClient::userAgent): Call WebView's _userAgentForURL:.
2051         * WebView/WebView.mm:
2052         (-[WebView _cachedResponseForURL:]): Call userAgentForURL: instead of _userAgent.
2053         (-[WebView userAgentForURL:]): Call _userAgentForURL:.
2054         (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): New method to construct a UA.
2055         (-[WebView _computeUserAgent]): Ractored out into _userAgentWithApplicationName:andWebKitVersion:
2056         (-[WebView _userAgentForURL:]): Tail compare for Yahoo.com, and return a UA with an older WebKit version.
2057         * WebView/WebViewInternal.h: Declare _userAgentForURL:.
2058
2059 2007-03-12  David Harrison  <harrison@apple.com>
2060
2061         Reviewed by Darin.
2062
2063         <rdar://problem/4743256> ctrl-y key binding (yank) should do nothing when kill ring is empty
2064
2065         Test updated:
2066         * editing/pasteboard/emacs-cntl-y-001.html:
2067         
2068         * WebView/WebHTMLView.mm:
2069         (-[WebHTMLView yank:]):
2070         (-[WebHTMLView yankAndSelect:]):
2071         Do nothing if the killring is empty.
2072
2073 2007-03-12  Darin Adler  <darin@apple.com>
2074
2075         Reviewed by Tim Hatcher.
2076
2077         - update for the new naming scheme for the Objective-C wrapper-creation
2078           functions: _wrapElement: instead of _elementWith:, etc.
2079
2080         * WebCoreSupport/WebEditorClient.mm:
2081         (WebEditorClient::textFieldDidBeginEditing):
2082         (WebEditorClient::textFieldDidEndEditing):
2083         (WebEditorClient::textDidChangeInTextField):
2084         (WebEditorClient::doTextFieldCommandFromEvent):
2085         (WebEditorClient::textWillBeDeletedInTextField):
2086         (WebEditorClient::textDidChangeInTextArea):
2087         * WebCoreSupport/WebFrameLoaderClient.mm:
2088         (WebFrameLoaderClient::createPlugin):
2089         (WebFrameLoaderClient::createJavaAppletWidget):
2090         * WebView/WebFrame.mm: (kit):
2091         Use the _wrapElement-style functions.
2092
2093 2007-03-12  Anders Carlsson  <acarlsson@apple.com>
2094
2095         Reviewed by Maciej.
2096
2097         <rdar://problem/5057575> 
2098         REGRESSION: Repro Crash in FrameLoader::frame loading about:blank in PLT
2099         
2100         Always get the web view from the current web frame, since the document loader's frame can have been zeroed out
2101         (for example when detaching the document loader).
2102         
2103         * WebCoreSupport/WebFrameLoaderClient.mm:
2104         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
2105         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
2106         (WebFrameLoaderClient::dispatchWillSendRequest):
2107         (WebFrameLoaderClient::dispatchDidReceiveResponse):
2108         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
2109         (WebFrameLoaderClient::dispatchDidFinishLoading):
2110
2111 2007-03-11  Oliver Hunt  <oliver@apple.com>
2112
2113         Reviewed by Adele.
2114         
2115         Moved respondToChangedSelection from FrameBridge to EditorClient
2116         
2117         * WebCoreSupport/WebEditorClient.h:
2118         * WebCoreSupport/WebEditorClient.mm:
2119         (WebEditorClient::respondToChangedSelection):
2120         * WebCoreSupport/WebFrameBridge.mm:
2121           Removed respondToChangedSelection from bridge
2122
2123 2007-03-11  Darin Adler  <darin@apple.com>
2124
2125         Reviewed by Adele.
2126
2127         - fix http://bugs.webkit.org/show_bug.cgi?id=12964
2128           <rdar://problem/5045717> REGRESSION: crash in -[WebBaseNetscapePluginStream _deliverData]
2129           at simpsonsmovie.com (12964)
2130
2131         * Plugins/WebBaseNetscapePluginStream.m:
2132         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
2133         At every place we call the plug-in, since it could destroy the stream, get pluginView into a local
2134         variable; it will be set to nil if the stream is destroyed.
2135         (-[WebBaseNetscapePluginStream _destroyStream]): Added calls to retain/release to handle the case where
2136         one of the calls to the plug-in destroys the stream. Added a call to cancelPreviousPerformRequestsWithTarget
2137         in case _deliverData has been scheduled but not yet delivered. Also get pluginView into a local variable
2138         as mentioned above, and check at strategic points and exit if the stream was already destroyed to avoid
2139         multiple calls to NPP_DestroyStream or NPP_URLNotify.
2140         (-[WebBaseNetscapePluginStream _deliverData]): Ditto.
2141
2142 2007-03-10  Geoffrey Garen  <ggaren@apple.com>
2143
2144         Reviewed by Darin Adler.
2145
2146         Fixed <rdar://problem/4587763> PAC file: lock inversion between QT and 
2147         JSCore causes a hang @ www.panoramas.dk
2148         
2149         See JavaScriptCore ChangeLog for details.
2150
2151         Drop the JSLock before making calls through the plug-in API from functions
2152         that may have been called by JavaScript.
2153         
2154         * Plugins/WebBaseNetscapePluginView.mm:
2155         (-[WebBaseNetscapePluginView sendEvent:]):
2156         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
2157         (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
2158         (-[WebBaseNetscapePluginView createPluginScriptableObject]):
2159         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
2160         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
2161         (-[WebBaseNetscapePluginView loadPluginRequest:]):
2162         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
2163         * Plugins/WebPluginController.mm:
2164         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
2165         (-[WebPluginController startAllPlugins]):
2166         (-[WebPluginController stopAllPlugins]):
2167         (-[WebPluginController addPlugin:]):
2168         (-[WebPluginController destroyPlugin:]):
2169         (-[WebPluginController destroyAllPlugins]):
2170
2171 2007-03-10  David Kilzer  <ddkilzer@webkit.org>
2172
2173         Reviewed by Darin.
2174
2175         - fix http://bugs.webkit.org/show_bug.cgi?id=9609
2176           REGRESSION: Missing image icon needs to be moved back to WebKit
2177
2178         * WebView/WebHTMLView.mm:
2179         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2180         Use WebCore::Image::loadPlatformResource(const char*) to load the missingImage image.
2181
2182 2007-03-10  Mark Rowe  <mrowe@apple.com>
2183
2184         Reviewed by John.
2185
2186         <rdar://problem/5051827> HIWebView handling of kEventControlGetData is broken in 64-bit
2187
2188         On Leopard the kEventParamControlDataBufferSize event parameter is of type typeByteCount.
2189         The 32-bit implementation of GetEventParameter will coerce between integer types and
2190         typeByteCount while the 64-bit version will return a failure. As typeByteCount is new
2191         in Leopard we must continue using typeSInt32 when building for Tiger.
2192
2193         * Carbon/HIWebView.m:
2194         (HIWebViewEventHandler):
2195
2196 2007-03-09  Timothy Hatcher  <timothy@apple.com>
2197
2198         Reviewed by Darin.
2199
2200         <rdar://problem/4976254> Please get off _NSSoftLinkingGetFrameworkFuncPtr
2201
2202         Use dlopen and dlsym to access the DCSShowDictionaryServiceWindow function.
2203
2204         * WebView/WebHTMLView.mm:
2205         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
2206
2207 2007-03-09  Darin Adler  <darin@apple.com>
2208
2209         Reviewed by Justin.
2210
2211         - fix http://bugs.webkit.org/show_bug.cgi?id=8928
2212           <rdar://problem/5045708> REPRODUCIBLE ASSERT: Cannot paste HTML into a
2213           contenteditable region in an XHTML document (8928)
2214
2215         * WebView/WebHTMLView.mm:
2216         (-[WebHTMLView _hasHTMLDocument]): Added.
2217         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
2218         Don't call AppKit's conversion from the DOM to an attributed string if the document
2219         is not an HTML document, to work around an AppKit limitation (Radar 5052390).
2220
2221 2007-03-09  Darin Adler  <darin@apple.com>
2222
2223         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
2224
2225 2007-03-08  Mark Rowe  <mrowe@apple.com>
2226
2227         Reviewed by Tim Hatcher.
2228
2229         <rdar://problem/5051616> Mouse clicks and movement are ignored in HIWebView on 64-bit
2230
2231         Mouse events are not being handled correctly as GetControlKind is returning an error
2232         on 64-bit.  The more modern HIObjectIsOfClass behaves correctly for this use.
2233
2234         * Carbon/HIWebView.m:
2235         (HIWebViewDestructor):
2236         (WindowHandler): Use HIObjectIsOfClass in place of GetControlKind.
2237         (HIWebViewEventHandler): Don't leak the NSEvent.
2238
2239 2007-03-08  Bruce Q Hammond  <bruceq@apple.com>
2240
2241         Reviewed by Darin.
2242
2243         Fix for http://bugs.webkit.org/show_bug.cgi?id=13009
2244         Console spews "CGContextGetType: invalid context" non-stop on web site
2245
2246         * Plugins/WebBaseNetscapePluginView.mm:
2247         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2248         (-[WebBaseNetscapePluginView restorePortState:]):
2249
2250 2007-03-08  Mark Rowe  <mrowe@apple.com>
2251
2252         Reviewed by Tim Hatcher.
2253
2254         <rdar://problem/4561772> HIWebView does not exist for 64-bit
2255
2256         Update HIWebView and friends to work without QuickDraw.
2257
2258         Changes are gleaned from the 64-bit support inside HICocoaView.  The main
2259         fact of interest are that all Carbon windows must have compositing enabled
2260         so the code paths that aren't accessible are #ifdef'd out.  Conveniently
2261         these are the exact code paths that make use of QuickDraw.
2262
2263         There are currently minor event-handling and invalidation issues running as
2264         64-bit that are not present in 32-bit.
2265
2266         * Carbon/CarbonUtils.m:
2267         * Carbon/CarbonWindowAdapter.m:
2268         * Carbon/CarbonWindowFrame.m:
2269         * Carbon/HIViewAdapter.m:
2270         (SetViewNeedsDisplay):
2271         * Carbon/HIWebView.m:
2272         (Draw):
2273         (Click):
2274         (SyncFrame):
2275         (StartUpdateObserver):
2276         (StopUpdateObserver):
2277         (UpdateObserver):
2278         * WebKit.LP64.exp: Removed.
2279         * WebKit.xcodeproj/project.pbxproj: Always use WebKit.exp.
2280
2281 2007-03-08  Timothy Hatcher  <timothy@apple.com>
2282
2283         Reviewed by John.
2284
2285         <rdar://problem/4664697> highlighter SPI needs a node parameter to give more context
2286
2287         Added new methods to the WebHTMLHighlighter protocol that include the DOMNode being painted.
2288
2289         * WebCoreSupport/WebFrameBridge.mm:
2290         (-[WebFrameBridge customHighlightRect:forLine:representedNode:WebCore::]):
2291         (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:representedNode:WebCore::]):
2292         * WebKit.xcodeproj/project.pbxproj:
2293         * WebView/WebHTMLViewPrivate.h:
2294
2295 2007-03-08  Anders Carlsson  <acarlsson@apple.com>
2296
2297         Try fixing the buildbot build.
2298         
2299         * Plugins/WebBaseNetscapePluginView.mm:
2300         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2301
2302 2007-03-07  Anders Carlsson  <acarlsson@apple.com>
2303
2304         Leopard build fix.
2305         
2306         * Plugins/WebBaseNetscapePluginView.mm:
2307
2308 2007-03-07  Bruce Q Hammond  <bruceq@apple.com>
2309
2310         Reviewed by Darin.
2311
2312         - fix http://bugs.webkit.org/show_bug.cgi?id=12515
2313           Plug-ins that draw through the Quickdraw interface fail in a CGBitmapContex.
2314           <rdar://problem/4975122>
2315
2316         This fixes a problem with Netscape-style Plug-ins which draw through the Quickdraw APIs
2317         being unable to render into offscreen bitmap contexts.
2318
2319         This patches both saveAndSetNewPortStateForUpdate: and restorePortState:
2320         These methods now check the current context and see if appropriate setup/cleanup needs to be done
2321         for offscreen rendering.
2322
2323         * Plugins/WebBaseNetscapePluginView.mm:
2324         (QDPixelFormatFromCGBitmapInfo):
2325         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2326         (-[WebBaseNetscapePluginView restorePortState:]):
2327
2328 2007-03-07  Anders Carlsson  <acarlsson@apple.com>
2329
2330         Reviewed by Darin.
2331
2332         Use HardRetain/HardRelease.
2333         
2334         * WebView/WebDocumentLoaderMac.mm:
2335         (WebDocumentLoaderMac::setDataSource):
2336         (WebDocumentLoaderMac::attachToFrame):
2337         (WebDocumentLoaderMac::detachFromFrame):
2338         (WebDocumentLoaderMac::increaseLoadCount):
2339         (WebDocumentLoaderMac::decreaseLoadCount):
2340
2341 2007-03-07  Anders Carlsson  <acarlsson@apple.com>
2342
2343         Reviewed by Maciej.
2344
2345         <rdar://problem/4961259> 
2346         REGRESSION: Bumper Car 2.1.1 - Crash at WebCore::FrameLoader::receivedMainResourceError when encountering a invalid URL address
2347         
2348         (The crash was already fixed, this actually makes Bumper Car load the error page correctly.)
2349         
2350         This adds a "load counter" to the document loader and keeps the data source retained for as long as something is loading. 
2351         
2352         * WebCoreSupport/WebFrameLoaderClient.mm:
2353         (WebFrameLoaderClient::dispatchWillSendRequest):
2354         Increase the load counter.
2355         
2356         (WebFrameLoaderClient::dispatchDidFinishLoading):
2357         (WebFrameLoaderClient::dispatchDidFailLoading):
2358         Decrease the load counter,
2359         
2360         * WebView/WebDocumentLoaderMac.h:
2361         * WebView/WebDocumentLoaderMac.mm:
2362         (WebDocumentLoaderMac::WebDocumentLoaderMac):
2363         
2364         (WebDocumentLoaderMac::attachToFrame):
2365         If the document loader has been detached, make sure to retain its data source here.
2366         
2367         (WebDocumentLoaderMac::detachFromFrame):
2368         Release the data source.
2369         
2370         (WebDocumentLoaderMac::increaseLoadCount):
2371         Retain the data source if load count was 0.
2372         
2373         (WebDocumentLoaderMac::decreaseLoadCount):
2374         Release the data source if load count becomes 0
2375
2376 2007-03-07  Adele Peterson  <adele@apple.com>
2377
2378         Reviewed by Darin.
2379
2380         WebKit part of fix for:
2381         http://bugs.webkit.org/show_bug.cgi?id=10871
2382         http://bugs.webkit.org/show_bug.cgi?id=12677
2383         <rdar://problem/4823129> REGRESSION: IME key events different in nightly
2384         <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri
2385
2386         * WebView/WebHTMLView.mm:
2387         (-[WebHTMLView _interceptEditingKeyEvent: shouldSaveCommand:]): Added shouldSaveCommand field to WebHTMLViewInterpretKeyEventsParameters.
2388           When shouldSaveCommand is true, we call interpretKeyEvents and in doCommandBySelector and insertText, we just save the information without performing any action.
2389           When shouldSaveCommand is false, we used the saved information and call doCommandBySelector and insertText directly.
2390           If there's no saved command data in the KeyboardEvent, call interpretKeyEvents, and honor the shouldSaveCommand argument.  This allows repeating keypress events
2391           to function normally.
2392         (-[WebHTMLView doCommandBySelector:]): If the WebHTMLViewInterpretKeyEventsParameters shouldSaveCommand field is set, then
2393           just save the selector information in the KeyboardEvent, and don't perform the action.
2394         (-[WebHTMLView insertText:]): ditto. 
2395           insertText can be called from an input method or from normal key event processing
2396           If its from an input method, then we should go ahead and insert the text now.  
2397           The only way we know if its from an input method is to check hasMarkedText.  There might be a better way to do this.
2398
2399         * WebView/WebHTMLViewInternal.h: Added shouldSaveCommand argument.
2400         * WebView/WebViewInternal.h: ditto.
2401
2402         * WebCoreSupport/WebEditorClient.h:
2403         * WebCoreSupport/WebEditorClient.mm:
2404         (WebEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress.  Call _interceptEditingKeyEvent with shouldSaveCommand:NO.
2405         (WebEditorClient::handleInputMethodKeypress):  Call _interceptEditingKeyEvent with shouldSaveCommand:YES.
2406
2407 2007-03-07  Anders Carlsson  <acarlsson@apple.com>
2408
2409         Reviewed by Brady.
2410
2411         Update to match WebCore.
2412         
2413         * Plugins/WebNetscapePluginStream.mm:
2414         (-[WebNetscapePluginStream start]):
2415
2416 2007-03-07  Jim Correia  <jim.correia@pobox.com>
2417
2418         Reviewed by Darin.
2419
2420         - WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=12463
2421           WebArchiver - attempt to insert nil exception when archive empty iframe
2422
2423         When dealing with an iframe element with no src attribute, the element contains
2424         a src attribute in the DOM with a URL of "about:blank" and some HTML to implement
2425         the blank page.  In the original page source, however, the iframe element does
2426         not include a src attribute, which caused a nil archive to be returned for the
2427         childFrameArchive and thus caused the bug.  The fix is a simple nil check.
2428
2429         Test: webarchive/archive-empty-frame-source.html
2430
2431         * WebView/WebArchiver.mm:
2432         (+ (NSArray *)_subframeArchivesForFrame:(WebFrame *)frame): Don't add childFrameArchive 
2433         to the subframeArchives array if it is nil.
2434
2435 2007-03-06  John Sullivan  <sullivan@apple.com>
2436
2437         Reviewed by Darin
2438         
2439         Made WebAuthenticationHandler.h SPI so Safari can call it directly.
2440
2441         * WebKit.exp:
2442         added .objc_class_name_WebPanelAuthenticationHandler
2443         * WebKit.xcodeproj/project.pbxproj:
2444         changed status of WebAuthenticationHandler.h from "project" to "private"
2445
2446 2007-03-06  Kevin McCullough  <kmccullough@apple.com>
2447
2448         Reviewed by Darin.
2449
2450         - Rename a function to clarify its purpose.
2451
2452         * WebView/WebView.mm:
2453         (+[WebView registerURLSchemeAsLocal:]):
2454         * WebView/WebViewPrivate.h:
2455
2456 2007-03-06  Anders Carlsson  <acarlsson@apple.com>
2457
2458         Reviewed by Adam.
2459
2460         Update for WebCore changes.
2461         
2462         * WebCoreSupport/WebFrameLoaderClient.h:
2463         * WebCoreSupport/WebFrameLoaderClient.mm:
2464         (WebFrameLoaderClient::userAgent):
2465
2466 2007-03-05  Anders Carlsson  <acarlsson@apple.com>
2467
2468         Reviewed by Adam, Darin.
2469  
2470         <rdar://problem/5025212>
2471         In Mail, a crash occurs at WebCore::Frame::tree() when clicking on embedded flash object
2472
2473         * Plugins/WebBaseNetscapePluginView.mm:
2474         (-[WebBaseNetscapePluginView loadPluginRequest:]):
2475         Handle the case where the web view returned from the delegate method is null. Also, send out an error notification
2476         in that case so we can catch it.
2477
2478 2007-03-05  John Sullivan  <sullivan@apple.com>
2479
2480         Reviewed by Darin and Kevin D
2481
2482         - fixed <rdar://problem/5038087> Header and footer on printed page are too large after certain steps
2483
2484         * WebView/WebView.mm:
2485         (-[WebView _adjustPrintingMarginsForHeaderAndFooter]):
2486         This method was modifying the margins in the NSPrintInfo object without any sort of check whether
2487         this had already been done. In some cases this can be called multiple times with the same 
2488         NSPrintInfo, so now we stash information in the NSPrintInfo's dictionary such that we always
2489         start with a fresh copy of the original margins.
2490
2491 2007-03-02  Kevin McCullough  <kmccullough@apple.com>
2492
2493         Reviewed by Geoff.
2494
2495         - rdar://problem/4922454
2496         - This fixes a security issue by making remote referrers not able to access local
2497         resources, unless they register their schemes to be treated as local. The result is
2498         that those schemes can access local resources and cannot be accessed by remote
2499         referrers.
2500         Because this behavior is new a link-on-or-after check is made to determine if the
2501         app should use the older, less safe, behavior.
2502
2503         * Misc/WebKitVersionChecks.h: added linked-on-or-after check
2504         * Misc/WebNSAttributedStringExtras.mm: Moved functionalit into the base class.
2505         (fileWrapperForElement):
2506         * Plugins/WebNetscapePluginStream.mm: uses new canLoad functions
2507         * Plugins/WebPluginContainerCheck.mm: uses new canLoad functions
2508         (-[WebPluginContainerCheck _isForbiddenFileLoad]):
2509         * WebView/WebView.mm: make linked-on-or-after check and cache value, exposes SPI
2510         for registering a scheme as local. 
2511         (-[WebView _commonInitializationWithFrameName:groupName:]):
2512         (+[WebView registerSchemeAsLocal:]):
2513         * WebView/WebViewPrivate.h: exposes SPI for registering a scheme as local.
2514
2515 2007-03-01  Justin Garcia  <justin.garcia@apple.com>
2516
2517         Reviewed by harrison
2518         
2519         <rdar://problem/4838199>
2520         Integrate Mail and WebKit paste operations
2521         
2522         Provide subresources used to create the fragment as a
2523         convenience.
2524
2525         * WebView/WebHTMLView.mm:
2526         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
2527         Update the calls to the changed method.
2528         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
2529         Give the caller the subresources in the WebArchive and RTF cases.
2530         * WebView/WebHTMLViewPrivate.h:
2531
2532 2007-02-28  Oliver Hunt  <oliver@apple.com>
2533
2534         Reviewed by Maciej.
2535
2536         Fixes <rdar://problem/5012009>
2537         
2538         When looking for a requested resource we should also check
2539         the set of manually added subresources if WebCore can't find it. 
2540
2541         * WebView/WebDataSource.mm:
2542         (-[WebDataSource subresourceForURL:]):
2543
2544 2007-02-28  Brady Eidson  <beidson@apple.com>
2545
2546         Reviewed by Beth
2547
2548         Start using the Thread Safety Check implemented in WebCore for the DOM bindings in the rest of
2549         the WebKit API instead of the ASSERT_MAIN_THREAD() hack
2550
2551         * History/WebBackForwardList.mm:
2552         (-[WebBackForwardList initWithWebCoreBackForwardList:]):
2553         (-[WebBackForwardList init]):
2554         (-[WebBackForwardList dealloc]):
2555         (-[WebBackForwardList finalize]):
2556         * History/WebHistoryItem.mm:
2557         (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
2558         (-[WebHistoryItem dealloc]):
2559         (-[WebHistoryItem finalize]):
2560         (-[WebHistoryItem copyWithZone:]):
2561         (-[WebHistoryItem initWithWebCoreHistoryItem:]):
2562         * Misc/WebIconDatabase.mm:
2563         (-[WebIconDatabase init]):
2564
2565 2007-02-28  Adele Peterson  <adele@apple.com>
2566
2567         Reviewed by Beth.
2568
2569         Fix for <rdar://problem/4887423> REGRESSION: search results popup menu strings are not localized
2570         and <rdar://problem/3517227> accessibility-related strings in WebCore are not localized
2571
2572         * WebCoreSupport/WebViewFactory.mm:
2573         (-[WebViewFactory searchMenuNoRecentSearchesText]):
2574         (-[WebViewFactory searchMenuRecentSearchesText]):
2575         (-[WebViewFactory searchMenuClearRecentSearchesText]):
2576         (-[WebViewFactory AXWebAreaText]):
2577         (-[WebViewFactory AXLinkText]):
2578         (-[WebViewFactory AXListMarkerText]):
2579         (-[WebViewFactory AXImageMapText]):
2580         (-[WebViewFactory AXHeadingText]):
2581
2582 2007-02-28  Mark Rowe  <mrowe@apple.com>
2583
2584         Reviewed by Maciej.
2585
2586         <rdar://problem/5028473> WebKit allocates a huge number of NSCalendarDates while loading history file
2587
2588         * History/WebHistory.mm:
2589         (-[WebHistoryPrivate insertItem:atDateIndex:]): Use lastVisitedTimeInterval rather than _lastVisitedDate to avoid allocating NSCalendarDates.
2590
2591 2007-02-28  Mark Rowe  <mrowe@apple.com>
2592
2593         Reviewed by Tim Hatcher.
2594
2595         <rdar://problem/4985524> Problem with Blot and ToT WebKit (decoding WebCoreScrollView)
2596
2597         References to WebCoreScrollView as a subview of a WebHTMLView may be present in some NIB
2598         files, so NSUnarchiver must be still able to look up the WebCoreScrollView class.
2599
2600         * WebKit.exp: Export WebCoreScrollView symbol.
2601         * WebView/WebHTMLView.mm: Add empty WebCoreScrollView class.
2602
2603 2007-02-27  Adam Roben  <aroben@apple.com>
2604
2605         Reviewed by Beth.
2606
2607         Fix <rdar://problem/5011905> REGRESSION: "Open Link" contextual menu
2608         item appears twice
2609
2610         * WebCoreSupport/WebContextMenuClient.mm:
2611         (fixMenusToSendToOldClients): Remove the "Open Link" item from the
2612         default menu items array before sending it off to Tiger Mail.
2613         (WebContextMenuClient::getCustomMenuFromDefaultItems): Set the
2614         representedObject on every NSMenuItem to match our old (correct) API
2615         behavior.
2616
2617 2007-02-27  Mitz Pettel  <mitz@webkit.org>
2618
2619         Reviewed by Darin.
2620
2621         - http://bugs.webkit.org/show_bug.cgi?id=12906
2622           REGRESSION: Canvas is pixelated when the page is opened in a background tab
2623
2624         * WebCoreSupport/WebChromeClient.mm:
2625         (WebChromeClient::scaleFactor): If the view is not in a window, use the main
2626         screen's scale factor as a best guess.
2627
2628 2007-02-26  John Sullivan  <sullivan@apple.com>
2629
2630         Reviewed by Darin and Geoff
2631
2632         * WebView/WebHTMLView.mm:
2633         (coreGraphicsScreenPointForAppKitScreenPoint):
2634         This method was copied from WebBrowser, and it was wrong. Fixed it. This only
2635         affects the Dictionary pop-up panel.
2636
2637 2007-02-26  David Hyatt  <hyatt@apple.com>
2638
2639         Update web inspector to account for border-fit.
2640
2641         Reviewed by darin
2642
2643         * WebInspector/webInspector/inspector.js:
2644
2645 2007-02-26  Geoffrey Garen  <ggaren@apple.com>
2646
2647         Reviewed by Darin Adler.
2648         
2649         Re-arranged things to put deprecated methods at the bottom.
2650
2651         * Misc/WebCoreStatistics.h:
2652         * Misc/WebCoreStatistics.mm:
2653         (+[WebCoreStatistics javaScriptNoGCAllowedObjectsCount]):
2654         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
2655         (+[WebCoreStatistics javaScriptRootObjectClasses]):
2656         * WebKit.xcodeproj/project.pbxproj:
2657
2658 2007-02-26  Maciej Stachowiak  <mjs@apple.com>
2659
2660         Rubber stamped by Mitz.
2661         
2662         - fix layout tests by fixing discrepancy in feature macros.
2663
2664         * WebInspector/WebInspector.m:
2665         (-[WebInspector _highlightNode:]):
2666         * WebKit.xcodeproj/project.pbxproj:
2667
2668 2007-02-23  Mitz Pettel  <mitz@webkit.org>
2669
2670         Reviewed by Maciej.
2671
2672         - fix http://bugs.webkit.org/show_bug.cgi?id=11573
2673           REGRESSION: pressing option-left arrow while in suggestion popup moves the insertion point to the left
2674
2675         * WebView/WebHTMLView.mm:
2676         (-[WebTextCompleteController endRevertingChange:moveLeft:]):
2677
2678 2007-02-23  Timothy Hatcher  <timothy@apple.com>
2679
2680         Reviewed by Brady.
2681
2682         <rdar://problem/5016395> _recursive_pauseNullEventsForAllNetscapePlugins still gone
2683
2684         * WebView/WebFrameInternal.h: Remove _recursive_pauseNullEventsForAllNetscapePlugins
2685         * WebView/WebFramePrivate.h: Add _recursive_pauseNullEventsForAllNetscapePlugins
2686         * WebView/WebFrame.mm: More _recursive_pauseNullEventsForAllNetscapePlugins
2687
2688 2007-02-22  Adele Peterson  <adele@apple.com>
2689
2690         Reviewed by John.
2691
2692         Updating this image to match the one in WebCore.
2693
2694         * WebKit.vcproj/textAreaResizeCorner.png:
2695
2696 2007-02-22  Beth Dakin  <bdakin@apple.com>
2697
2698         Reviewed by Adam.
2699
2700         Fix for http://bugs.webkit.org/show_bug.cgi?id=12399 REGRESSION: 
2701         Unable to prevent default context menu from appearing. <rdar://
2702         problem/5017416>
2703
2704         * WebView/WebHTMLView.mm:
2705         (-[WebHTMLView menuForEvent:]): Clear the controller's context menu 
2706         before propagating a new context menu event through the DOM.
2707
2708 2007-02-22  John Sullivan  <sullivan@apple.com>
2709
2710         Reviewed by Darin
2711         
2712         Removed some unused keyView-related code that I happened to run across.
2713         Replacement code is now in WebChromeClient.
2714
2715         * WebCoreSupport/WebFrameBridge.h:
2716         * WebCoreSupport/WebFrameBridge.mm:
2717         removed unused stuff
2718
2719 2007-02-22  Mitz Pettel  <mitz@webkit.org>
2720
2721         Reviewed by Maciej.
2722
2723         - fix http://bugs.webkit.org/show_bug.cgi?id=12804
2724           REGRESSION (r19043-r19063): suggestion popup doesn't work after pressing Option+Esc
2725
2726         This patch also fixes a bug where using the arrow keys while
2727         the suggestion popup is open moves the caret instead of changing the
2728         selection in the popup (for up/down) or accepting the selection and
2729         closing the popup (for left/right).
2730
2731         * WebView/WebHTMLView.mm:
2732         (-[WebHTMLView keyDown:]): Changed to close the popup only if it was open
2733         before the current event, so that the Option-Esc that opens the popup will
2734         not close it immediately.
2735         (-[WebHTMLView _interceptEditingKeyEvent:]): Give the completion popup a
2736         chance to intercept keydown events.
2737         (-[WebTextCompleteController popupWindowIsOpen]): Added. Returns whether the
2738         suggestion popup is open.
2739
2740 2007-02-22  Mitz Pettel  <mitz@webkit.org>
2741
2742         Reviewed by Mark (age 21).
2743
2744         - fix http://bugs.webkit.org/show_bug.cgi?id=12805
2745           REGRESSION: suggestion popup has a disabled scroll bar
2746
2747         * WebView/WebHTMLView.mm:
2748         (-[WebTextCompleteController _buildUI]): Uncommented the call to the NSWindow
2749         SPI that forces the scroll bar to look active. Also replaced a call to
2750         the deprecated NSTableView method setAutoresizesAllColumnsToFit: with
2751         the new method setColumnAutoresizingStyle: to eliminate console spew.
2752
2753 2007-02-20  Beth Dakin  <bdakin@apple.com>
2754
2755         Reviewed by Maciej.
2756
2757         WebKit changes needed to implement writeImage() in WebCore's 
2758         Pasteboard class.
2759
2760         * Misc/WebKitNSStringExtras.m: Call into WebCore for these 
2761         implementations.
2762         (-[NSString _webkit_hasCaseInsensitiveSuffix:]):
2763         (-[NSString _webkit_hasCaseInsensitiveSubstring:]):
2764         (-[NSString _webkit_filenameByFixingIllegalCharacters]):
2765         * Misc/WebNSURLExtras.m: Same.
2766         (-[NSURL _webkit_suggestedFilenameWithMIMEType:]):
2767         * WebCoreSupport/WebContextMenuClient.h: Remove 
2768         copyImageToClipboard()
2769         * WebCoreSupport/WebContextMenuClient.mm:
2770         * WebCoreSupport/WebSystemInterface.m: Expose 
2771         GetExtensionsForMIMEType and GetPreferredExtensionForMIMEType to 
2772         WebCore.
2773         (InitWebCoreSystemInterface):
2774         * WebCoreSupport/WebViewFactory.mm: New localized string for 
2775         WebCore. 
2776         (-[WebViewFactory copyImageUnknownFileLabel]):
2777
2778 2007-02-20  Adam Roben  <aroben@apple.com>
2779
2780         Reviewed by Darin and Anders.
2781
2782         Update WebKit for WebCore fix for <rdar://problem/4736215> Make
2783         WebCoreStringTruncator use WebCore types.
2784
2785         * Misc/WebStringTruncator.m:
2786         (defaultMenuFont): Moved from WebCoreStringTruncator.mm.
2787         (core): Added.
2788         (+[WebStringTruncator centerTruncateString:toWidth:]):
2789         (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
2790         (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
2791         (+[WebStringTruncator widthOfString:font:]):
2792         * WebKit.xcodeproj/project.pbxproj: Changed WebStringTruncator to ObjC++.
2793
2794 2007-02-20  Timothy Hatcher  <timothy@apple.com>
2795
2796         Reviewed by John.
2797
2798         Fixes the version number returned when using a CFBundleVersion of "420+".
2799
2800         * WebView/WebView.mm:
2801         (-[WebView _userVisibleBundleVersionFromFullVersion:]): Check the length up to the first
2802         non-decimal digit, so this works with versions that have "." and "+".
2803
2804 2007-02-20  John Sullivan  <sullivan@apple.com>
2805
2806         Reviewed by Kevin Decker
2807         
2808         - fixed <rdar://problem/4989344> REGRESSION: After clicking on page, Find
2809         won't find anything if all hits are before the clicked point
2810         
2811         This was caused by a mismatch between WebCore's search code's notion of "selection" and
2812         WebView's search code's notion of "selection". WebCore's search code was starting 
2813         just before or just after the "selection", which included collapsed, zero-length
2814         selections. WebKit's search code was only considering non-zero-length selections,
2815         and would not search all of the content when there was a zero-length selection.
2816         The fix was to make WebKit ignore the selection. This has a side effect of increasing 
2817         the amount of redundantly-searched content in the case where no matches are found. To
2818         compensate for that, I special-cased the most common case of WebViews with a single frame, 
2819         to avoid ever searching redundantly in those.
2820
2821         * WebView/WebView.mm:
2822         (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]):
2823         remove startHasSelection ivar; special-case WebViews with only one frame; clarify the
2824         code that leads to redundant searching with comments.
2825
2826 2007-02-20  Timothy Hatcher  <timothy@apple.com>
2827
2828         Reviewed by Darin.
2829
2830         <rdar://problem/4900579> WebKit -finalize methods are not thread-safe; design change needed
2831
2832         Call WebCoreObjCFinalizeOnMainThread from the initialize method of all the classes
2833         that have a finalizer that needs called on the main thread. Assert in finalize that we
2834         are on the main thread.
2835
2836         * Carbon/CarbonWindowAdapter.m:
2837         (+[CarbonWindowAdapter initialize]):
2838         (-[CarbonWindowAdapter finalize]):
2839         * History/WebBackForwardList.mm:
2840         (+[WebBackForwardList initialize]):
2841         (-[WebBackForwardList finalize]):
2842         * History/WebHistoryItem.mm:
2843         (+[WebHistoryItem initialize]):
2844         * Misc/WebElementDictionary.mm:
2845         (+[WebElementDictionary initialize]):
2846         (-[WebElementDictionary finalize]):
2847         * Plugins/WebBaseNetscapePluginStream.m:
2848         (+[WebBaseNetscapePluginStream initialize]):
2849         (-[WebBaseNetscapePluginStream finalize]):
2850         * Plugins/WebBaseNetscapePluginView.mm:
2851         (+[WebBaseNetscapePluginView initialize]):
2852         (-[WebBaseNetscapePluginView finalize]):
2853         * Plugins/WebBasePluginPackage.m:
2854         (+[WebBasePluginPackage initialize]):
2855         (-[WebBasePluginPackage finalize]):
2856         * Plugins/WebNetscapePluginStream.mm:
2857         (-[WebNetscapePluginStream finalize]):
2858         * WebCoreSupport/WebEditorClient.mm:
2859         (+[WebEditCommand initialize]):
2860         (-[WebEditCommand finalize]):
2861         * WebCoreSupport/WebFrameBridge.mm:
2862         (+[WebFrameBridge initialize]):
2863         (-[WebFrameBridge finalize]):
2864         * WebCoreSupport/WebFrameLoaderClient.mm:
2865         (+[WebFramePolicyListener initialize]):
2866         (-[WebFramePolicyListener finalize]):
2867         * WebView/WebHTMLView.mm:
2868         (+[WebHTMLView initialize]):
2869         (-[WebHTMLView finalize]):
2870         * WebView/WebView.mm:
2871         (+[WebViewPrivate initialize]):
2872         (-[WebViewPrivate finalize]):
2873
2874 2007-02-20  Justin Garcia  <justin.garcia@apple.com>
2875
2876         Reviewed by darin
2877         
2878         <rdar://problem/4838199>
2879         Integrate Mail and WebKit paste operations
2880         
2881         Mail overrides paste: because it has different
2882         preferred pasteboard types, but it should use our
2883         fragment creation code.
2884
2885         * WebView/WebHTMLView.mm:
2886         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
2887         Moved fragment creation code into a new method.
2888         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:]):
2889         Moved fragment creation code here.
2890         * WebView/WebHTMLViewPrivate.h: Exposed 
2891         _documentFragmentFromPasteboard:forType:inContext: as SPI.
2892
2893 2007-02-20  John Sullivan  <sullivan@apple.com>
2894
2895         Reviewed by Tim Hatcher
2896
2897         * Misc/WebKitNSStringExtras.h:
2898         * Misc/WebKitNSStringExtras.m:
2899         removed _webkit_userVisibleBundleVersionFromFullVersion; we decided to do this without
2900         adding SPI for it.
2901
2902         * WebView/WebView.mm:
2903         (-[WebView _userVisibleBundleVersionFromFullVersion:]):
2904         new method, moved here from WebKitNSStringExtras, and is now a WebView method rather than
2905         an NSString method
2906         (-[WebView _computeUserAgent]):
2907         updated for method signature change
2908
2909 2007-02-20  Timothy Hatcher  <timothy@apple.com>
2910
2911         Reviewed by John.
2912
2913         * Misc/WebKitNSStringExtras.h: Added _webkit_userVisibleBundleVersionFromFullVersion.
2914         * Misc/WebKitNSStringExtras.m:
2915         (-[NSString _webkit_userVisibleBundleVersionFromFullVersion]): If the version is 4 digits long or longer,
2916         then the first digit represents the version of the OS. Our user agent string should not
2917         include this first digit, so strip it off and report the rest as the version.
2918         * WebView/WebView.mm:
2919         (-[WebView _computeUserAgent]): Call _webkit_userVisibleBundleVersionFromFullVersion on the CFBundleVersion.
2920
2921 2007-02-20  Darin Adler  <darin@apple.com>
2922
2923         Reviewed by Anders.
2924
2925         * Plugins/WebPluginController.mm: (-[WebPluginController pluginView:receivedResponse:]):
2926         Call cancelMainResourceLoad on the document loader instead of the frame loader.
2927
2928 2007-02-20  Anders Carlsson  <acarlsson@apple.com>
2929
2930         Reviewed by Mitz.
2931
2932         <rdar://problem/5009627> REGRESSION: Repro overrelease of WebView in failed load, seen in DumpRenderTree
2933         
2934         * WebView/WebView.mm:
2935         (-[WebView _removeObjectForIdentifier:]):
2936         Return early if the identifier can't be found in the map.
2937
2938 2007-02-19  Timothy Hatcher  <timothy@apple.com>
2939
2940         Reviewed by Darin Adler.
2941
2942         <rdar://problem/4841078> Remove the Mail.app editable link clicking behavior workaround when it is no longer needed
2943
2944         * WebKit.xcodeproj/project.pbxproj:
2945         * WebView/WebView.mm:
2946         (-[WebView setPreferences:]):
2947
2948 2007-02-19  Anders Carlsson  <acarlsson@apple.com>
2949
2950         Reviewed by Adam.
2951
2952         <rdar://problem/4868242>
2953         http://bugs.webkit.org/show_bug.cgi?id=12670
2954         REGRESSION: Many 3rd Party Apps crash in WebCore::DocumentLoader::frameLoader() (12670)
2955         
2956         Bring back the semantic we had that a web view should be retained for as long as something is loading. Use the identifier
2957         to object hash map for this.
2958
2959         * WebView/WebView.mm:
2960         (-[WebView _addObject:forIdentifier:]):
2961         (-[WebView _removeObjectForIdentifier:]):
2962
2963 2007-02-18  Brady Eidson  <beidson@apple.com>
2964
2965         Reviewed by Oliver
2966
2967         <rdar://problem/4985321> - Can't edit templates for Web Gallery/Web Page Export in Aperture
2968
2969         * Misc/WebKitVersionChecks.h: Add a #define for this APERTURE quirk
2970         * WebView/WebView.mm:
2971         (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
2972          If the current app is Aperture and it was linked against Tiger WebKit, always allow selection change
2973
2974 2007-02-17  Lars Knoll <lars@trolltech.com>
2975
2976         Reviewed by Maciej.
2977
2978         Additional coding by Maciej, additional review by Oliver.
2979
2980         Added implementations for the new callbacks in EditorClient
2981         and ChromeClient (basically moved from WebFrameBridge).
2982         Cleaned up some code paths that are not called anymore
2983         and done fully inside WebCore now.
2984
2985         * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
2986         * Misc/WebElementDictionary.mm:
2987         * Misc/WebNSAttributedStringExtras.mm:
2988         * Plugins/WebBaseNetscapePluginView.mm:
2989         (-[WebBaseNetscapePluginView getVariable:value:]):
2990         * Plugins/WebNetscapePluginEmbeddedView.mm:
2991         * Plugins/WebNetscapePluginStream.mm:
2992         * Plugins/WebPluginContainerCheck.mm:
2993         * WebCoreSupport/WebChromeClient.h:
2994         * WebCoreSupport/WebChromeClient.mm:
2995         (WebChromeClient::shouldInterruptJavaScript):
2996         * WebCoreSupport/WebEditorClient.h:
2997         * WebCoreSupport/WebEditorClient.mm:
2998         (WebEditorClient::shouldChangeSelectedRange):
2999         * WebCoreSupport/WebFrameBridge.mm:
3000         (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]):
3001         (-[WebFrameBridge fini]):
3002         * WebCoreSupport/WebFrameLoaderClient.mm:
3003         * WebView/WebArchiver.mm:
3004         * WebView/WebFrame.mm:
3005         (core):
3006         (kit):
3007         (-[WebFrame _updateBackground]):
3008         * WebView/WebFrameInternal.h:
3009         * WebView/WebFrameView.mm:
3010         * WebView/WebHTMLRepresentation.mm:
3011         * WebView/WebHTMLView.mm:
3012         (-[WebHTMLView _updateMouseoverWithEvent:]):
3013         (-[WebHTMLView _isEditable]):
3014         (-[WebHTMLView validateUserInterfaceItem:]):
3015         (-[WebHTMLView maintainsInactiveSelection]):
3016         (-[WebHTMLView scrollWheel:]):
3017         (-[WebHTMLView acceptsFirstMouse:]):
3018         (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
3019         (-[WebHTMLView cut:]):
3020         (-[WebHTMLView paste:]):
3021         (-[WebHTMLView selectedAttributedString]):
3022         * WebView/WebScriptDebugDelegate.mm:
3023         * WebView/WebView.mm:
3024         (-[WebView _dashboardRegions]):
3025         (-[WebView setProhibitsMainFrameScrolling:]):
3026         (-[WebView _setInViewSourceMode:]):
3027         (-[WebView _inViewSourceMode]):
3028         (-[WebView shouldClose]):
3029         (-[WebView setEditable:]):
3030
3031 2007-02-18  Oliver Hunt  <oliver@apple.com>
3032
3033         Reviewed by Adam.
3034
3035         Moving the drag initiation logic to WebCore.
3036         The redundant code in webkit will be moved out in a later patch.
3037
3038         * WebCoreSupport/WebDragClient.h:
3039         * WebCoreSupport/WebDragClient.mm:
3040         (getTopHTMLView):
3041           Helper function
3042         (WebDragClient::willPerformDragSourceAction):
3043         (WebDragClient::startDrag):
3044         (WebDragClient::createDragImageForLink):
3045           Implemented new DragClient methods
3046         (WebDragClient::declareAndWriteDragImage):
3047           Helper function for the Mac to allow new drag and drop
3048           code to match behaviour
3049           
3050         * WebView/WebHTMLView.mm:
3051         (-[WebHTMLView _dragImageForURL:withLabel:]):
3052         (-[WebHTMLView _dragImageForLinkElement:]):
3053           Refactoring old _dragImageForLinkElement function so that 
3054           the link drag image can be created with just a URL and label, 
3055           rather than requiring the original element
3056         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
3057           Removed logic that is no longer necessary                 
3058         (-[WebHTMLView _mouseDownEvent]):
3059           The WebDragClient may need the original mouseDownEvent of a drag when initiating
3060           a drag
3061         * WebView/WebHTMLViewInternal.h:
3062           Declaring _mouseDownEvent
3063
3064         * WebView/WebHTMLViewPrivate.h:
3065           Declaring _dragImageForURL
3066
3067 2007-02-16  John Sullivan  <sullivan@apple.com>
3068
3069         Reviewed by Tim Hatcher
3070
3071         - fixed <rdar://problem/4811446> "Check Grammar" checkbox in Spelling+Grammar window doesn't 
3072         live update with menu change in WebKit
3073
3074         * WebView/WebView.mm:
3075         (-[WebView setGrammarCheckingEnabled:]):
3076         Use sekrit AppKit knowledge to tell NSSpellChecker about the change, since there's no API
3077         for this yet. Also restructured a little to avoid extra work when the value hasn't changed.
3078
3079 2007-02-15  Brady Eidson  <beidson@apple.com>
3080
3081         Reviewed by Adam
3082
3083         Save scroll state for back/forward navigation in FrameLoader, not the client
3084
3085         * WebCoreSupport/WebFrameLoaderClient.h: Renamed the save/restore methods
3086         * WebCoreSupport/WebFrameLoaderClient.mm:
3087         (WebFrameLoaderClient::saveViewStateToItem): Save viewstate only
3088         (WebFrameLoaderClient::restoreViewState): Restore viewstate only
3089
3090 2007-02-14  Alexey Proskuryakov  <ap@webkit.org>
3091
3092         Reviewed by Darin.
3093
3094         http://bugs.webkit.org/show_bug.cgi?id=12643
3095         NPN_Status is using latin-1 encoding for the message instead of UTF-8
3096
3097         * Plugins/WebBaseNetscapePluginView.mm:
3098         (-[WebBaseNetscapePluginView status:]): Check for possible conversion failure.
3099
3100 2007-02-13  Oliver Hunt  <oliver@apple.com>
3101
3102         Reviewed by John.
3103
3104         Modify entry point ASSERTs for dragging functions to allow for the case
3105         where a load has occurred mid-drag.  The load may detach the HTMLView 
3106         from the WebView so it is no longer possible to check _isTopHTMLView.
3107
3108         The assertion changes match that of revision 14897 which fixed the 
3109         more common case ([WebHTMLView draggedImage:endedAt:operation:])
3110
3111         It's also necessary to check for a null Page now prior to accessing 
3112         the DragController, which is necessary in all of these methods.
3113
3114         See rdar://problem/4994870
3115                                              
3116         * WebView/WebHTMLView.mm:
3117         (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
3118         (-[WebHTMLView draggedImage:movedTo:]):
3119         (-[WebHTMLView draggedImage:endedAt:operation:]):
3120         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
3121
3122 2007-02-13  Alexey Proskuryakov  <ap@webkit.org>
3123
3124         Reviewed by Maciej.
3125
3126         http://bugs.webkit.org/show_bug.cgi?id=12643
3127         NPN_Status is using latin-1 encoding for the message instead of UTF-8
3128
3129         * Plugins/WebBaseNetscapePluginView.mm:
3130         (-[WebBaseNetscapePluginView status:]): Use kCFStringEncodingUTF8.
3131
3132 2007-02-13  Mark Rowe  <mrowe@apple.com>
3133
3134         Reviewed by Timothy Hatcher.
3135
3136         Fix http://bugs.webkit.org/show_bug.cgi?id=12745
3137         Bug 12745: REGRESSION: Webkit will not load a plugin that Safari can load (symbol missing _objc_msgSend_fpret)
3138
3139         Treat libobjc as a sub-library of WebKit in Debug/Release so that plugins and applications linked against an
3140         umbrella framework version of WebKit that expect to find libobjc symbols in WebKit can do so.
3141
3142         * WebKit.xcodeproj/project.pbxproj:
3143
3144 2007-02-12  Kevin McCullough  <kmccullough@apple.com>
3145
3146         Reviewed by .
3147
3148         - reverting change to not cause regressions and performance problems.
3149
3150         * Misc/WebNSAttributedStringExtras.mm:
3151         (fileWrapperForElement):
3152
3153 2007-02-12  Darin Adler  <darin@apple.com>
3154
3155         Reviewed by Oliver.
3156
3157         - fix http://bugs.webkit.org/show_bug.cgi?id=12677
3158           <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm
3159           a clause in kotoeri (12677)
3160
3161         - fix http://bugs.webkit.org/show_bug.cgi?id=12596
3162           <rdar://problem/4794346> REGRESSION: Tab key shifts form field focus instead of
3163           navigating prediction window (12596)
3164
3165         - fix http://bugs.webkit.org/show_bug.cgi?id=10010
3166           <rdar://problem/4822935> REGRESSION: Pressing Return with unconfirmed text in
3167           Hangul inserts carriage return (10010)
3168
3169         - fix http://bugs.webkit.org/show_bug.cgi?id=12531
3170           <rdar://problem/4975126> REGRESSION: Inline text input types repeated keys in
3171           latest nightly (r19336) (12531)
3172
3173         - fix http://bugs.webkit.org/show_bug.cgi?id=12539
3174           <rdar://problem/4975130> REGRESSION: Pressing Backspace while in inline input
3175           area moves to the previous page in history (12539)
3176
3177         * WebCoreSupport/WebEditorClient.h:
3178         * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::markedTextAbandoned):
3179         Added.
3180
3181         * WebView/WebHTMLView.mm:
3182         (-[WebHTMLView menuForEvent:]): Added explicit constructor needed now that the
3183         function takes a const&.
3184         (-[WebHTMLView becomeFirstResponder]): Removed fake event code, no longer needed
3185         since advanceFocus now works fine with 0 for a DOM event.
3186         (-[WebHTMLView _expandSelectionToGranularity:]): Changed to use the normal
3187         selection controller function instead of selectRange.
3188         (-[WebHTMLView insertTab:]): Changed to call bottleneck that receives the DOM
3189         event.
3190         (-[WebHTMLView insertBacktab:]): Ditto.
3191         (-[WebHTMLView insertNewline:]): Ditto.
3192         (-[WebHTMLView insertLineBreak:]): Ditto.
3193         (-[WebHTMLView insertParagraphSeparator:]): Ditto.
3194         (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): Ditto.
3195         (-[WebHTMLView insertTabIgnoringFieldEditor:]): Ditto.
3196         (-[WebHTMLView yank:]): Updated to call Editor directly since the insertText
3197         code now works via a text input event which is not what we want for paste-like
3198         things such as yank.
3199         (-[WebHTMLView yankAndSelect:]): Ditto.
3200         (-[WebHTMLView selectToMark:]): Changed to use the normal selection controller
3201         function instead of selectRange, which also allows us to remove the ObjC exception
3202         handling code.
3203         (-[WebHTMLView swapWithMark:]): Ditto.
3204         (-[WebHTMLView transpose:]): Ditto.
3205         (-[WebHTMLView unmarkText]): Since this is one of the calls back from the input
3206         manager, added code to set the "event was handled" flag. Moved the actual work
3207         into the Editor class in WebCore and just call that from here.
3208         (-[WebHTMLView _selectRangeInMarkedText:]): Changed to use the normal selection
3209         controller function instead of selectRange.
3210         (-[WebHTMLView setMarkedText:selectedRange:]): Since this is one of the calls
3211         back from the input manager, added code to set the "event was handled" flag.
3212         Also changed the ignoreMarkedTextSelectionChange to use the flag over on the
3213         WebCore side, since we moved it there and to call selectMarkedText over on
3214         the WebCore side too.
3215         (-[WebHTMLView doCommandBySelector:]): Added special cases for newline and tab
3216         selectors so that the event is passed along. These selectors are special because
3217         they are ones that turn into text input events.
3218         (-[WebHTMLView _discardMarkedText]): Moved the body of this function into the
3219         Editor class in WebCore and just call that from here.
3220         (-[WebHTMLView insertText:]): Added code to send a text input event instead of
3221         calling the editor to do text insertion. The insertion is then done in the
3222         default handler for the text input event.
3223         (-[WebHTMLView _insertNewlineWithEvent:isLineBreak:]): Added. Sends a text
3224         input event.
3225         (-[WebHTMLView _insertTabWithEvent:isBackTab:]): Ditto.
3226         (-[WebHTMLView _updateSelectionForInputManager]): Changed to use the
3227         ignoreMarkedTextSelectionChange flag in Editor now that the one here is gone.
3228
3229         * WebView/WebHTMLViewInternal.h: Remove ignoreMarkedTextSelectionChange field.
3230
3231         * WebView/WebView.mm: (-[WebView setSelectedDOMRange:affinity:]): Changed to
3232         use the normal selection controller function instead of selectRange.
3233
3234 2007-02-11  Sam Weinig  <sam@webkit.org>
3235
3236         Reviewed by Mark.
3237
3238         Switch the initial value of box-sizing property from "border-box" to "content-box".
3239
3240         * WebInspector/webInspector/inspector.js:
3241
3242 2007-02-10  Mitz Pettel  <mitz@webkit.org>
3243
3244         Reviewed by Maciej.
3245
3246         - fix http://bugs.webkit.org/show_bug.cgi?id=11847
3247           REGRESSION (SearchField): Dragging to select in the Web Inspector's search fields drags the inspector window
3248
3249         * WebInspector/webInspector/inspector.css: Added the search field to the
3250         undraggable dashboard-region.
3251
3252 2007-02-09  Kevin Decker <kdecker@apple.com>
3253
3254         Reviewed by Darin & Maciej.
3255
3256         Fixed: <rdar://problem/4930688> REGRESSION: missing images when reloading webarchives (11962)
3257         
3258         * WebCoreSupport/WebFrameLoaderClient.mm:
3259         (WebFrameLoaderClient::canUseArchivedResource): The bug here is that because a reload sets a cache
3260         policy of NSURLRequestReloadIgnoringCacheData (rightfully so), this method was refusing to load
3261         subresources in WebArchives. It's OK to use archive subresources for the NSURLRequestReloadIgnoringCacheData
3262         cache policy because we're not worried about the actual contents of a WebArchive changing on disk. 
3263
3264 2007-02-09  Justin Garcia  <justin.garcia@apple.com>
3265
3266         Reviewed by darin
3267         
3268         <rdar://problem/4975120>
3269         REGRESSION: double-cursor after switching window away/back (11770)
3270         <http://bugs.webkit.org/show_bug.cgi?id=11328>
3271         Gmail Editor: Caret can simultaneously appear in both the TO: and message body fields
3272
3273         * WebCoreSupport/WebFrameBridge.mm: Removed unused methods.
3274         * WebView/WebHTMLView.mm: Ditto.
3275         (-[WebHTMLView _web_firstResponderCausesFocusDisplay]): Don't 
3276         appear focused if a descendant view is firstResponder.
3277         (-[WebHTMLView _updateActiveState]): Removed the check for a BOOL
3278         that was always false.
3279         * WebView/WebHTMLViewInternal.h: Removed a BOOL that's always false.
3280
3281 2007-02-09  Beth Dakin  <bdakin@apple.com>
3282
3283         Reviewed by Darin.
3284
3285         Fix for <rdar://problem/4674537> REGRESSION: Adobe Acrobat 8 - Text 
3286         blinks when mouse is moved, and is invisible otherwise
3287
3288         Allow quirk if the Application was linked before 3.0 and if the 
3289         application is Adobe Acrobat.
3290
3291         * Misc/WebKitVersionChecks.h:
3292         * WebView/WebView.mm:
3293         (-[WebView _updateWebCoreSettingsFromPreferences:]):
3294
3295 2007-02-09  Timothy Hatcher  <timothy@apple.com>
3296
3297         Reviewed by Brady.
3298
3299         * WebKit.exp: Add WebBaseNetscapePluginView to the export list.
3300
3301 2007-02-09  John Sullivan  <sullivan@apple.com>
3302
3303         Reviewed by Beth
3304
3305         - WebKit part of fix for radar 4939636, problems with context menu items and binaries linked
3306           against WebKit 2.0.
3307
3308         * WebKit.xcodeproj/project.pbxproj:
3309         Changed DYLIB_CURRENT_VERSION to 2 (was 1)
3310
3311         * Misc/WebKitVersionChecks.h:
3312         Added constant WEBKIT_FIRST_VERSION_WITH_3_0_CONTEXT_MENU_TAGS, which is 2 but in the weird
3313         format that these version checks use.
3314
3315         * WebView/WebUIDelegatePrivate.h:
3316         Tweaked comments; included the old values for three tags for context menu items that changed
3317         from SPI to API in 3.0; renamed WEBMENUITEMTAG_SPI_START to WEBMENUITEMTAG_WEBKIT_3_0_SPI_START 
3318         for clarity, and bumped its value to avoid conflict with the three old values
3319
3320         * WebCoreSupport/WebContextMenuClient.mm:
3321         (isAppleMail):
3322         new helper function that checks the bundle identifier
3323         (fixMenusToSendToOldClients):
3324         Removed return value for clarity; now checks linked-on version and also makes special case
3325         for Mail; now replaces three API tags with their old SPI values for clients that linked
3326         against old WebKit version, in addition to replacing new API with WebMenuItemTagOther for
3327         items that had no specific tag before.
3328         (fixMenusReceivedFromOldClients):
3329         Removed return value for clarity; removed defaultMenuItems parameter because it's no longer 
3330         necessary; removed code that tried to recognize menus that got confused by the SPI -> API 
3331         change (we now pass the old SPI values to these clients to avoid confusing them); now 
3332         restores the tags for the items whose tags were replaced in fixMenusToSendToOldClients 
3333         (this used to restore the tags of the default items rather than the new items, which was 
3334         incorrect but happened to work since the clients we tested were using the objects from the
3335         default items array in their new items array)
3336         (WebContextMenuClient::getCustomMenuFromDefaultItems):
3337         Updated to account for the removed return values for the two fix-up methods; moved the
3338         autorelease of newItems here, which is clearer and was the source of a leak before.
3339
3340 2007-02-08  Kevin McCullough  <KMcCullough@apple.com>
3341
3342         Reviewed by
3343
3344         - fixing a build breakage. 
3345
3346         * Misc/WebNSAttributedStringExtras.mm:
3347         (fileWrapperForElement):
3348
3349 2007-02-07  Charles Ying  <charles_ying@yahoo.com>
3350
3351         Reviewed by Adam.
3352
3353         Code suggestion by aroben
3354         
3355         Fix http://bugs.webkit.org/show_bug.cgi?id=12688
3356
3357         REGRESSION (r19469): ASSERT when right clicking on hyperlinks! in TOT webkit
3358         
3359         * WebCoreSupport/WebContextMenuClient.mm:
3360         (fixMenusReceivedFromOldClients):
3361
3362         - fixMenusReceivedFromOldClients was hitting an ASSERT incorrectly
3363         because it could not match [item title] to any of the contentMenuItemTags
3364         using pointer comparison ==. Instead, it needs to do a string comparison
3365         between [item title] and the various contentMenuItemTags using
3366         isEqualToString instead of ==. You would encounter this whenever the
3367         context menu was activated, e.g., from a hyperlink right click (or
3368         control click).
3369
3370
3371 2007-02-07  Anders Carlsson  <acarlsson@apple.com>
3372
3373         Reviewed by Maciej.
3374
3375         Move shouldInterruptJavaScript to the Chrome.
3376         
3377         * WebCoreSupport/WebChromeClient.h:
3378         * WebCoreSupport/WebChromeClient.mm:
3379         (WebChromeClient::shouldInterruptJavaScript):
3380         * WebCoreSupport/WebFrameBridge.mm:
3381
3382 2007-02-07  John Sullivan  <sullivan@apple.com>
3383
3384         Reviewed by Kevin Decker
3385
3386         - fixed all places in WebKit where _web_userVisibleString was used where
3387         _web_originalDataAsString should have been used instead.
3388
3389         * History/WebURLsWithTitles.m:
3390         (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]):
3391         use _web_originalDataAsString when writing since these aren't displayed to the user
3392         (+[WebURLsWithTitles URLsFromPasteboard:]):
3393         use _web_URLWithDataAsString when reading, to match what we used when writing
3394
3395         * Misc/WebNSPasteboardExtras.mm:
3396         (-[NSPasteboard _web_writeURL:andTitle:types:]):
3397         use _web_originalDataAsString when writing the NSURL type; continue using
3398         _web_userVisibleString when writing the plain text type
3399
3400         * WebView/WebHTMLView.mm:
3401         (-[WebHTMLView _documentFragmentWithPaths:]):
3402         added comment about why _web_userVisibleString is appropriate here
3403         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
3404         use _web_originalDataAsString when setting the href attribute of an anchor tag
3405
3406 2007-02-07  David Harrison  <harrison@apple.com>
3407
3408         Reviewed by Adam.
3409
3410         <rdar://problem/4943650> REGRESSION: insertion point blink redraws entire web page, making everything slow
3411
3412         Problem is that AppKit recently changed NSControl to trigger a full redraw if the control has a focus ring.
3413         WebHTMLView is a subclass of NSControl, but the focus ring type was the default value, though we actually
3414         draw no focus ring. Fix is to formally set our focus ring type.
3415
3416         * WebView/WebHTMLView.mm:
3417         (-[WebHTMLView initWithFrame:]):
3418         Send [self setFocusRingType:NSFocusRingTypeNone].
3419
3420 2007-02-07  John Sullivan  <sullivan@apple.com>
3421
3422         Undid changes that I hadn't intended to check in
3423
3424         * WebView/WebHTMLView.mm:
3425         (-[WebHTMLView _documentFragmentWithPaths:]):
3426         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
3427
3428 2007-02-07  John Sullivan  <sullivan@apple.com>
3429
3430         Reviewed by Ollie and Geoff
3431
3432         - fixed <rdar://problem/4982345> KURL::createCFURL leak inside -[WebFrameBridge startDraggingImage...] 
3433         reported by buildbot
3434
3435         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
3436         don't retain the imageURL we pass to the drag controller -- it's just automagically
3437         converted to a KURL anyway
3438
3439 2007-02-07  John Sullivan  <sullivan@apple.com>
3440
3441         Reviewed by Darin
3442
3443         - fixed <rdar://problem/4974420> REGRESSION: Dragging a saved image into the browser window 
3444         displays a error (No File exists at the address "null") (12662)
3445
3446         * WebCoreSupport/WebPasteboardHelper.mm:
3447         (WebPasteboardHelper::urlFromPasteboard):
3448         use _web_originalDataAsString instead of _web_userVisibleString, since _web_userVisibleString
3449         can return a string with non-ASCII characters -- suitable for display but not for code
3450
3451 2007-02-07  John Sullivan  <sullivan@apple.com>
3452
3453         Reviewed by Darin
3454
3455         - added some clarity to some menu-handling shenanigans
3456
3457         * WebCoreSupport/WebContextMenuClient.mm:
3458         (fixMenusToSendToOldClients):
3459         renamed from fixMenusForOldClients; added comments, FIXME, and assertion
3460         (fixMenusReceivedFromOldClients):
3461         renamed from fixMenusFromOldClients; added comments, FIXME, and assertion
3462         (WebContextMenuClient::getCustomMenuFromDefaultItems):
3463         updated for name changes
3464
3465 2007-02-06  Kevin Decker <kdecker@apple.com>
3466
3467         Fixed: <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject
3468         
3469         Reviewed by Anders.
3470
3471         * Plugins/WebPluginDatabase.m:
3472         (+[WebPluginDatabase sharedDatabase]): Removed NSApplicationWillTerminateNotification observer and thus
3473         also removed code that would unload the entire plug-in database when receiving that notification. 
3474         
3475         The bug here was that this notification callback would happen first before anything else thus unloading
3476         plug-ins and releasing plug-in memory. That was crash prone because the JavaScriptCore collector would at
3477         a later time attempt to release its CInstance references (references that point to plug-in memory)
3478         without knowing WebKit already unloaded the plug-in out from underneath it. The WebPluginDatabase simply
3479         does not have enough context to make this decision.
3480         
3481         * WebView/WebView.mm: Added two statics: applicationIsTerminating, pluginDatabaseClientCount.
3482         (+[WebView initialize]): Added NSApplicationWillTerminateNotification observer.
3483         (+[WebView _applicationWillTerminate]): Added. 
3484         (-[WebView _close]): WebKit has both a global plug-in database and a separate, per WebView plug-in database. 
3485          We need to release both sets of plug-ins because Netscape plug-ins have "destructor functions" that should be
3486          called when the browser unloads the plug-in.  These functions can do important things, such as closing/deleting
3487          files so it is important to ensure that they are properly called when the application terminates.
3488          
3489          The new change is that on app shutdown, we unload WebKit's global plug-in database if and only if the last WebView
3490          was closed. To do so otherwise would unload plug-ins out from underneath other WebViews.
3491          
3492 2007-02-06  Darin Adler  <darin@apple.com>
3493
3494         Reviewed by John Sullivan.
3495
3496         - fix http://bugs.webkit.org/show_bug.cgi?id=11080
3497           <rdar://problem/4826648> REGRESSION: Incorrect vertical positioning of Safari
3498           status bar text containing @ character (11080)
3499
3500         * Misc/WebKitNSStringExtras.m:
3501         (canUseFastRenderer): Fix code that mistakenly used the slow renderer for strings
3502         that have a direction of "other neutral", which includes the "@" character.
3503         (-[NSString _web_drawAtPoint:font:textColor:]): Add code to make the baseline of
3504         the text in the status bar right. AppKit's rule for rounding is complicated enough
3505         that this is obviously not perfectly correct, but it does make both code paths
3506         use the same baseline in all the places this is currently used in AppKit.
3507
3508 2007-02-06  Darin Adler  <darin@apple.com>
3509
3510         Spotted by Steve F.
3511
3512         * Misc/WebNSURLExtras.m:
3513         (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
3514         Fix obvious logic mistake I introduced back in revision 8255.
3515         I can't see how to exercise this code path, but I also can't
3516         bear to leave this obviously-broken code as-is.
3517
3518 2007-02-05  David Kilzer  <ddkilzer@webkit.org>
3519
3520         Reviewed by Darin.
3521
3522         http://bugs.webkit.org/show_bug.cgi?id=7266
3523         Webarchive format saves duplicate WebSubresources to .webarchive file
3524
3525         Tests: webarchive/test-duplicate-resources.html
3526                webarchive/test-frameset.html
3527
3528         * WebView/WebArchiver.mm:
3529         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]): Use an NSMutableSet to prevent
3530         duplicate subresources from being added to the webarchive.
3531
3532 2007-02-06  Mark Rowe  <mrowe@apple.com>
3533
3534         Roll out incomplete support for font-stretch (r19350) at Dave Hyatt's request.
3535         See http://bugs.webkit.org/show_bug.cgi?id=12530#c9 for more info.
3536
3537         * WebInspector/webInspector/inspector.js:
3538         * WebView/WebHTMLView.mm:
3539         (-[WebHTMLView _addToStyle:fontA:fontB:]):
3540
3541 2007-02-05  Beth Dakin  <bdakin@apple.com>
3542
3543         Reviewed by Adam.
3544
3545         Fix for <rdar://problem/4975161> REGRESSION: With BumperCar 2.1.1, 
3546         the contextual menu fails to appear when I ctrl-click on page
3547
3548         * WebCoreSupport/WebContextMenuClient.mm:
3549         (WebContextMenuClient::getCustomMenuFromDefaultItems): If the 
3550         delegate does not respond to contextMenuItemsForElement, return the 
3551         default menu instead of nil.
3552
3553 2007-02-01  Geoffrey Garen  <ggaren@apple.com>
3554
3555         Reviewed by Maciej Stachowiak.
3556         
3557         Added support for selectively ignoring WebCore::Node leaks during layout
3558         tests, so that we can ignore known leaks in other components.
3559
3560         * Misc/WebCoreStatistics.h:
3561         * Misc/WebCoreStatistics.mm:
3562         (+[WebCoreStatistics startIgnoringWebCoreNodeLeaks]):
3563         (+[WebCoreStatistics stopIgnoringWebCoreNodeLeaks]):
3564
3565 2007-02-01  Nicholas Shanks  <webkit@nickshanks.com>
3566
3567         Reviewed by Mark.
3568
3569         Add support for CSS2 font-stretch property.
3570
3571         * WebInspector/webInspector/inspector.js:
3572         * WebView/WebHTMLView.mm:
3573         (-[WebHTMLView _addToStyle:fontA:fontB:]):
3574
3575 2007-02-01  Maciej Stachowiak  <mjs@apple.com>
3576
3577         Reviewed by Adam.
3578         
3579         <rdar://problem/4730469> REGRESSION: Assertion failure in -[WebDataSource(WebInternal) _bridge] when forwarding message
3580
3581         * WebView/WebDataSource.mm:
3582         (-[WebDataSource subresources]): Check for being uncommitted and return emtpy result.
3583         (-[WebDataSource subresourceForURL:]): ditto
3584
3585 2007-01-31  Oliver Hunt  <oliver@apple.com>
3586
3587         Reviewed by Adam.     
3588
3589         Migrating methods to WebCore
3590
3591         * WebCoreSupport/WebFrameBridge.mm:
3592         * WebView/WebHTMLView.mm:
3593         * WebView/WebHTMLViewPrivate.h:
3594
3595 2007-01-31  Anders Carlsson  <acarlsson@apple.com>
3596
3597         Reviewed by Maciej.
3598
3599         <rdar://problem/4886776>
3600         REGRESSION: After opening a web archive, location shows the actual URL, not the webarchive file
3601         
3602         "Revert" the change done in 13734.
3603         
3604         * WebView/WebHTMLRepresentation.mm:
3605         (-[WebHTMLRepresentation loadArchive]):
3606         Don't do a new load here, as this would cancel the current load and call the resource load
3607         delegate's didFailLoadingWithError: method. Instead, call continueLoadWithData.
3608
3609 2007-02-01  Nikolas Zimmermann  <zimmermann@kde.org>
3610
3611         Reviewed by Maciej.
3612
3613         Fix run-pageloadtest to actually work again.
3614
3615         * Misc/WebNSWindowExtras.m:
3616         (+[NSWindow _webkit_displayThrottledWindows]):
3617
3618 2007-01-31  Adele Peterson  <adele@apple.com>
3619
3620         Reviewed by Darin.
3621
3622         WebKit part of fix for <rdar://problem/4521461> REGRESSION: when keyPress event changes form focus, inserted key goes to wrong control
3623
3624         * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): Instead of using the selected frame, use the
3625           frame for the target of the keyboard event.  Also, don't do the canEdit check here, since the target's frame might not
3626           have a selection at this point.  Do the canEdit check within Editor::insertText, where we determine which selection to use
3627           for inserting text.
3628         * WebView/WebEditingDelegatePrivate.h: Added forward declaration of DOMHTMLElement. This is needed after reordering includes in WebEditorClient.mm.
3629
3630 2007-01-31  Alice Liu  <alice.liu@apple.com>
3631
3632         Reviewed by Tim Hatcher.
3633
3634         Turning an accidental API change to an SPI change
3635
3636         * WebView/WebEditingDelegate.h:
3637         * WebView/WebEditingDelegatePrivate.h:
3638         move some declarations into private header.  
3639
3640 2007-01-31  Darin Adler  <darin@apple.com>
3641
3642         - fix build
3643
3644         * ForwardingHeaders/wtf/ListHashSet.h: Added.
3645
3646 2007-01-31  Maciej Stachowiak  <mjs@apple.com>
3647
3648         Reviewed by Anders.
3649
3650         - related fix for <rdar://problem/4964407> REGRESSION: Mail hangs when replying, forwarding , or creating a new message
3651         
3652         * WebView/WebFrame.mm:
3653         (-[WebFrame loadArchive:]): This method also needs to add the lame WebDataRequest property or other things, like
3654         Mail Contents of Page, break.
3655
3656 2007-01-31  Maciej Stachowiak  <mjs@apple.com>
3657
3658         Reviewed by Eric.
3659         
3660         - add back no-op version of silly method so that shipping Safari can still run the PLT
3661
3662         * Misc/WebNSWindowExtras.m:
3663         (-[NSWindow _webkit_displayThrottledWindows]):
3664
3665 2007-01-31  Mark Rowe  <mrowe@apple.com>
3666
3667         More build fixing.
3668
3669         * Misc/WebKitLogging.h: Use !defined() rather than !.
3670         * Plugins/WebNetscapePluginStream.h: Remove #if __cplusplus as this file is only included from Obj-C++ files.
3671         * WebView/WebHTMLView.mm:
3672         (-[WebHTMLView _lookUpInDictionaryFromMenu:]): Use #ifdef rather than #if.
3673         * WebView/WebView.mm:
3674         (-[WebView isGrammarCheckingEnabled]): Ditto.
3675
3676 2007-01-31  Mark Rowe  <mrowe@apple.com>
3677
3678         Build fix.
3679
3680         * WebView/WebView.mm:
3681         (-[WebView initWithFrame:frameName:groupName:]):
3682
3683 2007-01-31  Mark Rowe  <mrowe@apple.com>
3684
3685         Reviewed by Oliver.
3686
3687         Enable -Wundef in WebKit, and change misuses of #if to #ifdef or #ifndef as appropriate.
3688
3689         * Misc/WebKitLogging.h:
3690         * WebKit.xcodeproj/project.pbxproj:
3691         * WebView/WebFrame.mm:
3692         * WebView/WebFrameInternal.h:
3693         * WebView/WebHTMLView.mm:
3694         (-[WebHTMLView validateUserInterfaceItem:]):
3695         (-[WebHTMLView delete:]):
3696         (-[WebHTMLView showGuessPanel:]):
3697         (-[WebHTMLView copy:]):
3698         (-[WebHTMLView cut:]):
3699         (-[WebHTMLView paste:]):
3700         * WebView/WebHTMLViewInternal.h:
3701         * WebView/WebView.mm:
3702         (-[WebViewPrivate init]):
3703         (-[WebView validateUserInterfaceItem:]):
3704         * WebView/WebViewPrivate.h:
3705
3706 2007-01-30  Brady Eidson  <beidson@apple.com>
3707
3708         Reviewed by Oliver
3709
3710         This is a corollary to <rdar://problem/4944887> where certain things happened on an alternate thread.
3711         To help catch such behavior in the future, add ASSERT_MAIN_THREAD() to key WebKit API points
3712
3713         * History/WebHistoryItem.mm: Added ASSERT_MAIN_THREAD() to suspected API entry points
3714         (-[WebHistoryItem dealloc]):
3715         (-[WebHistoryItem finalize]):
3716         (-[WebHistoryItem copyWithZone:]):
3717         (-[WebHistoryItem URLString]):
3718         (-[WebHistoryItem originalURLString]):
3719         (-[WebHistoryItem title]):
3720         (-[WebHistoryItem lastVisitedTimeInterval]):
3721         (-[WebHistoryItem isEqual:]):
3722         (-[WebHistoryItem description]):
3723         (-[WebHistoryItem initWithWebCoreHistoryItem:]):
3724         (-[WebHistoryItem initFromDictionaryRepresentation:]):
3725         (-[WebHistoryItem scrollPoint]):
3726         (-[WebHistoryItem dictionaryRepresentation]):
3727         (-[WebHistoryItem target]):
3728         (-[WebHistoryItem visitCount]):
3729         (-[WebHistoryItem children]):
3730         (-[WebHistoryItem URL]):
3731         (-[WebHistoryItem _lastVisitedDate]):
3732         (-[WebHistoryItem targetItem]):
3733
3734         * Misc/WebIconDatabase.mm: Added ASSERT_MAIN_THREAD() to suspected API entry points
3735         (-[WebIconDatabase iconForURL:withSize:cache:]):
3736         (-[WebIconDatabase iconURLForURL:]):
3737         (-[WebIconDatabase defaultIconWithSize:]):
3738         (-[WebIconDatabase retainIconForURL:]):
3739         (-[WebIconDatabase releaseIconForURL:]):
3740         (-[WebIconDatabase removeAllIcons]):
3741         (-[WebIconDatabase _iconForFileURL:withSize:]):
3742         (webGetNSImage):
3743
3744         * Misc/WebKitLogging.h: Added ASSERT_MAIN_THREAD()
3745         * Misc/WebKitLogging.m:
3746         (WebKitRunningOnMainThread): Added
3747
3748         * WebKit.xcodeproj/project.pbxproj: Define DISABLE_THREAD_CHECK until it is
3749           safe to run with ASSERT_MAIN_THREAD() active
3750
3751 2007-01-30  Timothy Hatcher  <timothy@apple.com>
3752
3753         Reviewed by Darin.
3754
3755         <rdar://problem/4961953> Stop using NSString deprecated methods like initWithCString:
3756
3757         * Misc/WebNSImageExtras.m:
3758         (-[NSImage _web_saveAndOpen]):
3759         * WebKit.xcodeproj/project.pbxproj:
3760
3761 2007-01-30  Mitz Pettel  <mitz@webkit.org>
3762
3763         Reviewed by Geoff.
3764
3765         - fix http://bugs.webkit.org/show_bug.cgi?id=12050
3766           REGRESSION: Assertion failure in -[WebBaseNetscapePluginView willCallPlugInFunction] (plugin)
3767
3768         Test: plugins/createScriptableObject-before-start.html
3769
3770         * Plugins/WebBaseNetscapePluginView.mm:
3771         (-[WebBaseNetscapePluginView createPluginScriptableObject]): Return NULL if
3772         the plugin is not started.
3773
3774 2007-01-30  Maciej Stachowiak  <mjs@apple.com>
3775
3776         Reviewed by Anders.
3777         
3778         <rdar://problem/4964407> REGRESSION: Mail hangs when replying, forwarding , or creating a new message
3779         
3780         * WebView/WebFrame.mm:
3781         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Set WebDataRequest property on data
3782         load requests since Mail specifically checks for this.
3783
3784 2007-01-30  Graham Dennis  <graham.dennis@gmail.com>
3785
3786         Reviewed by Maciej.
3787
3788         Part of fix for http://bugs.webkit.org/show_bug.cgi?id=10725
3789         Image data in from RTFD clipboard data thrown away
3790         
3791         The URLs for images in RTFD data must not be loaded until the resources
3792         have been added to the WebUnarchivingState. This can't happen until
3793         after the RTFD data has been parsed, so we must delay loading while this
3794         RTFD data is being parsed to a document fragment.
3795
3796         * WebView/WebHTMLView.mm:
3797         (uniqueURLWithRelativePart):
3798         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]): defer loading the resources while RTFD data is being parsed.
3799         (+[NSURL _web_uniqueWebDataURL]): Added this back because AppKit uses it.
3800         * WebView/WebUnarchivingState.m:
3801         (-[WebUnarchivingState archivedResourceForURL:]): orkaround for workaround for rdar://problem/4699166 so that other people can use archivedResourceForURL: too.
3802
3803 2007-01-29  Jim Correia  <jim.correia@pobox.com>
3804
3805         Reviewed by Mark.
3806
3807         Added support for -allowsUndo/-setAllowsUndo: to allow editable WebView
3808         clients to completely disable undo registration. This is functionally
3809         equivalent to the methods with the same names on NSTextView.
3810
3811         * WebView/WebView.mm:
3812         (-[WebViewPrivate init]):
3813         (-[WebView initWithCoder:]):
3814         (-[WebView encodeWithCoder:]):
3815         (-[WebView allowsUndo]):
3816         (-[WebView setAllowsUndo:]):
3817         (-[WebView undoManager]):
3818         * WebView/WebViewPrivate.h:
3819
3820 2007-01-29  Ada Chan  <adachan@apple.com>
3821
3822         Reviewed by Brady.
3823
3824         Moved the update of the title of the current entry in the backforward list to WebCore.
3825
3826         * WebCoreSupport/WebFrameLoaderClient.mm:
3827         (WebFrameLoaderClient::setTitle):
3828
3829 2007-01-29  Adele Peterson  <adele@apple.com>
3830
3831         Reviewed by Darin.
3832
3833         More preparation for event handling fixes.
3834
3835         * WebCoreSupport/WebEditorClient.h: Removed EventTargetNode parameter, since you can
3836           just get this from the KeyboardEvent.
3837         * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): ditto.
3838
3839         * WebView/WebHTMLViewInternal.h: Added interpretKeyEventsParameters struct.
3840         * WebView/WebViewInternal.h: Changed parameter from NSEvent to WebCoreKeyboardEvent in _interceptEditingKeyEvent.
3841         * WebView/WebHTMLView.mm:
3842         (-[WebHTMLView yankAndSelect:]): Updated for new triggeringEvent parameter.
3843         (-[WebHTMLView _interceptEditingKeyEvent:]): Set the WebHTMLViewInterpretKeyEventsParameters.
3844         (-[WebHTMLView doCommandBySelector:]): Access WebHTMLViewInterpretKeyEventsParameters.
3845         (-[WebHTMLView insertText:]): ditto.
3846         (-[WebHTMLView _insertText:selectInsertedText:triggeringEvent:]): Added parameter for triggeringEvent.
3847
3848 2007-01-29  Oliver Hunt  <oliver@apple.com>
3849
3850         build fix  
3851
3852         * WebView/WebHTMLView.mm:
3853         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
3854
3855 2007-01-25  Oliver Hunt  <oliver@apple.com>
3856
3857         Reviewed by Adam.
3858
3859         Migrated drag state and logic to WebCore, removed superfluous methods
3860
3861         * ChangeLog:
3862         * WebCoreSupport/WebDragClient.h:
3863         * WebCoreSupport/WebDragClient.mm:
3864         (WebDragClient::dragSourceActionMaskForPoint):
3865         * WebCoreSupport/WebFrameBridge.mm:
3866            allowDHTMLDrag move to WebCore::EventHandler
3867         * WebView/WebHTMLView.mm:
3868         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
3869         (-[WebHTMLView draggedImage:movedTo:]):
3870         (-[WebHTMLView draggedImage:endedAt:operation:]):
3871           dragOffset and dragSourecAction is now stored in WebCore::DragController
3872           migrated _delegateDragSourceActionMask to WebCore::DragController
3873         * WebView/WebHTMLViewInternal.h:
3874           Removed dragOffset declaration, migrated to WebCore::DragController
3875         * WebView/WebView.mm:
3876           removed unnecessary method, _loadingDragOperationForDraggingInfo
3877
3878 2007-01-29  Maciej Stachowiak  <mjs@apple.com>
3879
3880         Reviewed by Mark.
3881
3882         - updated for cross-platform data loading support
3883         
3884         * WebCoreSupport/WebFrameLoaderClient.h:
3885         * WebCoreSupport/WebFrameLoaderClient.mm:
3886         (WebFrameLoaderClient::createDocumentLoader):
3887         * WebView/WebDataSource.mm:
3888         (-[WebDataSource initWithRequest:]):
3889         * WebView/WebDocumentLoaderMac.h:
3890         * WebView/WebDocumentLoaderMac.mm:
3891         (WebDocumentLoaderMac::WebDocumentLoaderMac):
3892         * WebView/WebFrame.mm:
3893         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
3894         (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]):
3895         (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]):
3896         (-[WebFrame loadArchive:]):
3897         * WebView/WebFrameInternal.h:
3898         * WebView/WebHTMLView.mm:
3899         (uniqueURLWithRelativePart):
3900         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
3901
3902 2007-01-27  David Kilzer  <ddkilzer@webkit.org>
3903
3904         Reviewed by Adam.
3905
3906         - fix http://bugs.webkit.org/show_bug.cgi?id=12260
3907           Windows platform build is not maintained
3908
3909         * COM/ChromeClientWin.cpp:
3910         (ChromeClientWin::canTakeFocus):
3911         (ChromeClientWin::takeFocus):
3912         * COM/ChromeClientWin.h:
3913         * COM/ContextMenuClientWin.cpp:
3914         (ContextMenuClientWin::getCustomMenuFromDefaultItems):
3915         (ContextMenuClientWin::searchWithGoogle):
3916         * COM/ContextMenuClientWin.h:
3917         * COM/WebFrameLoaderClient.cpp:
3918         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
3919         (WebFrameLoaderClient::dispatchWillSendRequest):
3920         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
3921         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
3922         (WebFrameLoaderClient::dispatchDidReceiveResponse):
3923         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
3924         (WebFrameLoaderClient::dispatchDidFinishLoading):
3925         (WebFrameLoaderClient::dispatchDidFailLoading):
3926         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
3927         (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
3928         (WebFrameLoaderClient::dispatchDidFailLoad):
3929         (WebFrameLoaderClient::dispatchCreatePage):
3930         (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
3931         (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
3932         (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
3933         (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
3934         (WebFrameLoaderClient::setMainDocumentError):
3935         (WebFrameLoaderClient::incrementProgress):
3936         (WebFrameLoaderClient::completeProgress):
3937         (WebFrameLoaderClient::startDownload):
3938         (WebFrameLoaderClient::committedLoad):
3939         (WebFrameLoaderClient::cancelledError):
3940         (WebFrameLoaderClient::cannotShowURLError):
3941         (WebFrameLoaderClient::interruptForPolicyChangeError):
3942         (WebFrameLoaderClient::cannotShowMIMETypeError):
3943         (WebFrameLoaderClient::fileDoesNotExistError):
3944         (WebFrameLoaderClient::shouldFallBack):
3945         (WebFrameLoaderClient::willUseArchive):
3946         (WebFrameLoaderClient::createDocumentLoader):
3947         (WebFrameLoaderClient::download):
3948         * COM/WebFrameLoaderClient.h:
3949
3950 2007-01-27  David Harrison  <harrison@apple.com>
3951
3952         Reviewed by Kevin.
3953
3954         <rdar://problem/4958902> REGRESSION: Dashboard widgets fail to load
3955         
3956         This was caused by the WebView preferences rework in r18417. Specifically, in
3957         _updateWebCoreSettingsFromPreferences when calling setUserStyleSheetLocation,
3958         [NSURL URLWithString:] is now messaged directly with the result of
3959         [[preferences userStyleSheetLocation] _web_originalDataAsString]], which will
3960         be nil if the userStyleSheetLocation has not been set yet. [NSURL URLWithString:]
3961         throws an exception when the string is nil. DashboardClient.app calls
3962         setUserStyleSheetEnabled *before* calling setUserStyleSheetLocation.
3963
3964         * WebView/WebView.mm:
3965         (-[WebView _updateWebCoreSettingsFromPreferences:]):
3966         Pass empty string instead of nil string to [NSURL URLWithString:].
3967
3968 2007-01-26  Darin Adler  <darin@apple.com>
3969
3970         Reviewed by Timothy.
3971
3972         Fixes crash drawing avatar on mail.yahoo.com.
3973
3974         * Plugins/WebBaseNetscapePluginStream.m: Retain the object since destroyStreamWithError: might
3975         release the last reference to it.
3976
3977 2007-01-26  Darin Adler  <darin@apple.com>
3978
3979         Reviewed by Beth.
3980
3981         * WebInspector/webInspector/inspector.js: Updated for new computed style properties.
3982
3983 2007-01-26  Kevin Decker <kdecker@apple.com>
3984
3985         Reviewed by andersca.
3986
3987         Fixed: <rdar://problem/4946922> WebBaseNetscapePluginView leaks memory
3988         http://bugs.webkit.org/show_bug.cgi?id=11523
3989
3990         * Plugins/WebBaseNetscapePluginStream.m:
3991        (-[WebBaseNetscapePluginStream setPlugin:]): Calls -[WebBaseNetscapePluginView disconnectStream:]
3992         * Plugins/WebBaseNetscapePluginView.h: Added disconnectStream: to header.
3993         * Plugins/WebBaseNetscapePluginView.mm:
3994         (-[WebBaseNetscapePluginView stop]): Make a copy of the streams collection prior to calling stop all streams.
3995         This is necessary because calling stop has the side effect of removing the stream from this same collection.
3996         (-[WebBaseNetscapePluginView disconnectStream:]): Added. Removes the stream from the streams collection.
3997
3998 2007-01-25  Kevin Decker <kdecker@apple.com>
3999
4000         Backed out my last patch because it crashes espn.com. Stay tuned for a newer version..
4001
4002         * Plugins/WebBaseNetscapePluginStream.m:
4003         (-[WebBaseNetscapePluginStream setPlugin:]): Removed call to streamIsDead.
4004         * Plugins/WebBaseNetscapePluginView.h: Removed streamIsDead.
4005         * Plugins/WebBaseNetscapePluginView.mm: Ditto.
4006
4007 2007-01-25  Darin Adler  <darin@apple.com>
4008
4009         Reviewed by Beth.
4010
4011         - fix <rdar://problem/4952766> Safari has a top secret color picker that can be used to... uhh... I don't know
4012
4013         * Panels/English.lproj/WebAuthenticationPanel.nib/info.nib: Let Interface Builder have its way.
4014         * Panels/English.lproj/WebAuthenticationPanel.nib/objects.nib: Remove the NSColorWell that was
4015         in here (for no good reason).
4016
4017 2007-01-25  Kevin Decker  <kdecker@apple.com>
4018
4019         Reviewed by andersca.
4020
4021         A few tweaks with of a fix done by Steve Gehrman.
4022
4023         Fixed: <rdar://problem/4946922> WebBaseNetscapePluginView leaks memory
4024                http://bugs.webkit.org/show_bug.cgi?id=11523
4025
4026         * Plugins/WebBaseNetscapePluginStream.m:
4027         (-[WebBaseNetscapePluginStream setPlugin:]): Calls -[WebBaseNetscapePluginView streamIsDead:]
4028         * Plugins/WebBaseNetscapePluginView.h: Added streamIsDead to header.
4029         * Plugins/WebBaseNetscapePluginView.mm:
4030         (-[WebBaseNetscapePluginView streamIsDead:]): Added. Removes the stream from the streams collection.
4031
4032 2007-01-25  John Sullivan  <sullivan@apple.com>
4033
4034         Reviewed by Kevin, Geoff, Brady, and Darin
4035         
4036         - fixed <rdar://problem/4918446> Safari's temp files (PDF's) should be in a sub-folder when calling Preview
4037         
4038         * WebView/WebPDFView.mm:
4039         (-[WebPDFView _path]):
4040         use _temporaryPDFDirectoryPath method instead of #defines for hardwiring strings; stop bad practice
4041         of modifying the const char* returned by fileSystemRepresentation
4042         (-[WebPDFView _temporaryPDFDirectoryPath]):
4043         new method, lazily creates and returns a secure temporary directory created with NSTemporaryDirectory()
4044         and mkdtemp
4045
4046         * English.lproj/StringsNotToBeLocalized.txt:
4047         Updated for these and other recent changes
4048
4049 2007-01-24  Oliver Hunt  <oliver@apple.com>
4050
4051         Build fix 
4052
4053         * WebView/WebHTMLView.mm:
4054         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
4055         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
4056
4057 2007-01-24  Oliver Hunt  <ioliver@apple.com>
4058
4059         Reviewed by Maciej.
4060
4061         Migrating more drag state information to WebCore
4062
4063         * WebKit.xcodeproj/project.pbxproj:
4064         * WebView/WebHTMLView.mm:
4065         (-[WebHTMLViewPrivate dealloc]):
4066         (-[WebHTMLViewPrivate clear]):
4067         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
4068         (-[WebHTMLView _mayStartDragAtEventLocation:]):
4069         (-[WebHTMLView close]):
4070         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
4071         (-[WebHTMLView _delegateDragSourceActionMask]):
4072         * WebView/WebHTMLViewInternal.h:
4073
4074 2007-01-24  Adele Peterson  <adele@apple.com>
4075
4076         Reviewed by Darin.
4077
4078         Small improvement to my last checkin to prevent the keyEventWasInterpreted bool from
4079         being overwritten by reentrancy.
4080
4081         * WebView/WebHTMLView.mm:
4082         (-[WebHTMLView _interceptEditingKeyEvent:]): Point keyEventWasInterpreted pointer to local variable.
4083         (-[WebHTMLView doCommandBySelector:]):
4084         (-[WebHTMLView insertText:]):
4085         * WebView/WebHTMLViewInternal.h: Added BOOL pointer that will point to the local variable on the stack in _interceptEditingKeyEvent
4086
4087 2007-01-24  Adele Peterson  <adele@apple.com>
4088
4089         Reviewed by Darin.
4090
4091         - Fix for <rdar://problem/4950527> REGRESSION: Can't use arrow keys (left/right) to navigate caret in input (type=text) or textarea fields
4092
4093         Keep track of whether interpretKeyEvents handles the key event based on whether or not we get
4094         called in insertText or doCommandBySelector.
4095
4096         Test: fast/events/arrow-navigation.html
4097
4098         * WebView/WebHTMLView.mm:
4099         (-[WebHTMLView performKeyEquivalent:]):
4100         (-[WebHTMLView _interceptEditingKeyEvent:]):
4101         (-[WebHTMLView doCommandBySelector:]):
4102         (-[WebHTMLView insertText:]):
4103         * WebView/WebHTMLViewInternal.h:
4104
4105 2007-01-25  Mark Rowe  <mrowe@apple.com>
4106
4107         Reviewed by Maciej.
4108
4109         * Info.plist: Update copyright string.
4110
4111 2007-01-24  Darin Adler  <darin@apple.com>
4112
4113         Reviewed by Mark Rowe.
4114
4115         * WebKit.xcodeproj/project.pbxproj: Changed to /usr/sbin/sysctl
4116         so we don't rely on people's paths.
4117
4118 2007-01-24  Darin Adler  <darin@apple.com>
4119
4120         Reviewed by Adele.
4121
4122         - fix small regression and GC problems noticed by code inspection
4123
4124         * WebView/WebHTMLView.mm: Move global declarations to the start of the file.
4125         (+[WebHTMLView _excludedElementsForAttributedStringConversion]):
4126         Add a CFRetain here for GC compatibility.
4127         (+[WebHTMLView _insertablePasteboardTypes]): Ditto.
4128         (-[WebHTMLView performKeyEquivalent:]): Fix small logic mistake that prevents
4129         super from being called if EventHandler::keyEvent returns false. Reformatted
4130         the code a bit and added a local variable for the frame.
4131         (-[WebHTMLView _interceptEditingKeyEvent:]): Added some comments.
4132         (-[WebHTMLView validAttributesForMarkedText]): Add a CFRetain here for
4133         GC compatibility.
4134
4135 2007-01-23  Adele Peterson  <adele@apple.com>
4136
4137         Reviewed by Adam.
4138
4139         Fixed 2 layout tests that I broke with my last checkin.
4140
4141         * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): Use the selected frame to get the WebHTMLView.
4142         * WebView/WebHTMLView.mm:
4143         (-[WebHTMLView performKeyEquivalent:]): Added global to keep track of NSEvent used here.
4144         (-[WebHTMLView _interceptEditingKeyEvent:]): Check NSEvent against the event used in performKeyEquivalent.
4145           We don't want to intercept these events.
4146
4147 2007-01-23  Adele Peterson  <adele@apple.com>
4148
4149         Reviewed by Darin.
4150
4151         WebKit part of fix for <rdar://problem/4946753>REGRESSION: Inserting tabs is broken in Mail
4152         
4153         In addition to this fix, I also reorganized some event handling code for keyPress events to
4154         prepare for another fix.
4155
4156         * WebCoreSupport/WebEditorClient.h: Added handleKeyPress method.
4157         * WebCoreSupport/WebEditorClient.mm:
4158         (WebEditorClient::handleKeyPress): Added.  Code moved from WebHTMLView keyDown method.
4159          This is called from the defaultEventHandler so that in the future, we can make the right 
4160          decision about which selection the keyPress should apply to.
4161         * WebView/WebHTMLView.mm:
4162         (-[WebHTMLView keyDown:]): Moved _interceptEditingKeyEvent call to handleKeyPress.
4163         (-[WebHTMLView _interceptEditingKeyEvent:]): Prevents intercepting keys for cmd-modified events. Removed tabCycling checks
4164          since this is now handled in WebCore.
4165         * WebView/WebHTMLViewInternal.h: Made _interceptEditingKeyEvent SPI.
4166         * WebView/WebView.mm: Use new tabKeyCyclesThroughElements methods on the page.
4167         (-[WebViewPrivate init]): ditto.
4168         (-[WebView setTabKeyCyclesThroughElements:]): ditto.
4169         (-[WebView tabKeyCyclesThroughElements]): ditto.
4170         (-[WebView setEditable:]): ditto
4171
4172 2007-01-23  Lars Knoll <lars@trolltech.com>
4173
4174         Reviewed by Maciej
4175
4176         Make the last remaining pieces of the FrameLoader platform 
4177         independent. Move most of the code over to WebFrameLoaderClient.