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