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