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