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