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