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