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