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