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