e13832ad0639a60c4c0ef0caf076d938d0e0a593
[WebKit-https.git] / WebKit / ChangeLog
1 2007-01-24  Darin Adler  <darin@apple.com>
2
3         Reviewed by Mark Rowe.
4
5         * WebKit.xcodeproj/project.pbxproj: Changed to /usr/sbin/sysctl
6         so we don't rely on people's paths.
7
8 2007-01-24  Darin Adler  <darin@apple.com>
9
10         Reviewed by Adele.
11
12         - fix small regression and GC problems noticed by code inspection
13
14         * WebView/WebHTMLView.mm: Move global declarations to the start of the file.
15         (+[WebHTMLView _excludedElementsForAttributedStringConversion]):
16         Add a CFRetain here for GC compatibility.
17         (+[WebHTMLView _insertablePasteboardTypes]): Ditto.
18         (-[WebHTMLView performKeyEquivalent:]): Fix small logic mistake that prevents
19         super from being called if EventHandler::keyEvent returns false. Reformatted
20         the code a bit and added a local variable for the frame.
21         (-[WebHTMLView _interceptEditingKeyEvent:]): Added some comments.
22         (-[WebHTMLView validAttributesForMarkedText]): Add a CFRetain here for
23         GC compatibility.
24
25 2007-01-23  Adele Peterson  <adele@apple.com>
26
27         Reviewed by Adam.
28
29         Fixed 2 layout tests that I broke with my last checkin.
30
31         * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): Use the selected frame to get the WebHTMLView.
32         * WebView/WebHTMLView.mm:
33         (-[WebHTMLView performKeyEquivalent:]): Added global to keep track of NSEvent used here.
34         (-[WebHTMLView _interceptEditingKeyEvent:]): Check NSEvent against the event used in performKeyEquivalent.
35           We don't want to intercept these events.
36
37 2007-01-23  Adele Peterson  <adele@apple.com>
38
39         Reviewed by Darin.
40
41         WebKit part of fix for <rdar://problem/4946753>REGRESSION: Inserting tabs is broken in Mail
42         
43         In addition to this fix, I also reorganized some event handling code for keyPress events to
44         prepare for another fix.
45
46         * WebCoreSupport/WebEditorClient.h: Added handleKeyPress method.
47         * WebCoreSupport/WebEditorClient.mm:
48         (WebEditorClient::handleKeyPress): Added.  Code moved from WebHTMLView keyDown method.
49          This is called from the defaultEventHandler so that in the future, we can make the right 
50          decision about which selection the keyPress should apply to.
51         * WebView/WebHTMLView.mm:
52         (-[WebHTMLView keyDown:]): Moved _interceptEditingKeyEvent call to handleKeyPress.
53         (-[WebHTMLView _interceptEditingKeyEvent:]): Prevents intercepting keys for cmd-modified events. Removed tabCycling checks
54          since this is now handled in WebCore.
55         * WebView/WebHTMLViewInternal.h: Made _interceptEditingKeyEvent SPI.
56         * WebView/WebView.mm: Use new tabKeyCyclesThroughElements methods on the page.
57         (-[WebViewPrivate init]): ditto.
58         (-[WebView setTabKeyCyclesThroughElements:]): ditto.
59         (-[WebView tabKeyCyclesThroughElements]): ditto.
60         (-[WebView setEditable:]): ditto
61
62 2007-01-23  Lars Knoll <lars@trolltech.com>
63
64         Reviewed by Maciej
65
66         Make the last remaining pieces of the FrameLoader platform 
67         independent. Move most of the code over to WebFrameLoaderClient.
68         Some smaller cleanups in the WebFrameBridge, and moved some
69         platform independent functionality over to the shared code
70         in WebCore.
71
72         * Webcoresupport/WebFrameBridge.mm:
73         (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]):
74         (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
75         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
76         * WebCoreSupport/WebFrameLoaderClient.h:
77         * WebCoreSupport/WebFrameLoaderClient.mm:
78         (WebFrameLoaderClient::setTitle):
79         (WebFrameLoaderClient::createFrame):
80         (WebFrameLoaderClient::objectContentType):
81         (nsArray):
82         (WebFrameLoaderClient::createPlugin):
83         (WebFrameLoaderClient::redirectDataToPlugin):
84         (nsMutableArray):
85         (WebFrameLoaderClient::createJavaAppletWidget):
86         (WebFrameLoaderClient::overrideMediaType):
87         (WebFrameLoaderClient::windowObjectCleared):
88
89 2007-01-23  Oliver Hunt  <oliver@apple.com>
90
91         Reviewed by Adam.
92
93         Drop logic bindings for WebKit
94
95         * WebCoreSupport/WebDragClient.h: Added.
96         * WebCoreSupport/WebDragClient.mm: Added.
97         (WebDragClient::WebDragClient):
98         (WebDragClient::actionMaskForDrag):
99         (WebDragClient::willPerformDragDestinationAction):
100           Standard client impl
101         * WebCoreSupport/WebFrameBridge.mm:
102         (-[WebFrameBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
103           Updated to use DragController to track drag state
104     
105         * WebCoreSupport/WebPasteboardHelper.h: Added.
106         (WebPasteboardHelper::WebPasteboardHelper):
107           A *temporary* Helper class to access NSPasteboard access and 
108           manipulation functions present in WebKit
109         * WebCoreSupport/WebPasteboardHelper.mm: Added.
110         (WebPasteboardHelper::urlFromPasteboard):
111         (WebPasteboardHelper::plainTextFromPasteboard):
112         (WebPasteboardHelper::fragmentFromPasteboard):
113         (WebPasteboardHelper::insertablePasteboardTypes):
114           See header comment
115         * WebKit.xcodeproj/project.pbxproj:
116         * WebView/WebDocumentInternal.h:
117           Remove unnecessary protocol
118         * WebView/WebFrameView.mm:
119         (-[WebFrameView _setDocumentView:]):
120           Updating to use DragController to track drag state
121         * WebView/WebHTMLView.mm:
122         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
123           ditto
124         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
125           ditto
126         (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
127           ditto
128         (-[WebHTMLView draggedImage:endedAt:operation:]):
129           ditto          
130         (-[WebHTMLView _documentFragmentForPasteboard:]):
131           Helper method to generate DocumentFragment from NSPasteboard without regressing 
132         (-[WebHTMLView _canProcessDragWithDraggingInfo:]):
133           Updating to use DragController to track drag state
134         (-[WebHTMLView _isMoveDrag:]):
135         (-[WebHTMLView _isNSColorDrag:]):
136         * WebView/WebHTMLViewInternal.h:
137           Removing unnecessary fields and methods
138         * WebView/WebView.mm:
139         (-[WebViewPrivate dealloc]):
140           Remove obsolete ASSERT
141         (-[WebView _setInitiatedDrag:]):
142           Now passes directly through to DragController
143         (-[WebView _commonInitializationWithFrameName:groupName:]):
144         (-[WebView _loadingDragOperationForDraggingInfo:]):
145           Removed
146         (-[WebView draggingEntered:]):
147           Updated to use DragController
148         (-[WebView draggingUpdated:]):
149           ditto
150         (-[WebView draggingExited:]):
151           ditto
152         (-[WebView performDragOperation:]):
153           ditto
154         (-[WebView _hitTest:dragTypes:]):
155         * WebView/WebViewInternal.h:
156           remove unnecessary method def
157
158 2007-01-22  John Sullivan  <sullivan@apple.com>
159
160         * WebView/WebHTMLView.mm:
161         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
162         Tiger build fix: remove unused variable for return value of dictionaryServiceWindowShow
163
164 2007-01-22  John Sullivan  <sullivan@apple.com>
165
166         Reviewed by Adam and Darin
167
168         - fixed <rdar://problem/4794320> "Look Up in Dictionary" does nothing in WebKit 
169         (need to adopt new API)
170
171         * Misc/WebNSURLExtras.m:
172         (-[NSString _web_isUserVisibleURL]):
173         random typo correction in comment
174
175         * English.lproj/StringsNotToBeLocalized.txt:
176         updated for these changes
177
178         * WebView/WebHTMLView.mm:
179         (coreGraphicsScreenPointForAppKitScreenPoint):
180         new function to convert an AppKit screen point to a CG screen point
181         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
182         on Leopard now uses new API. There's something of an impedance mismatch between
183         this API and WebKit, but that was true for the SPI we were using in Tiger also.
184         Bug 4945808 covers the ways in which this is not perfect.
185
186 2007-01-21  Darin Adler  <darin@apple.com>
187
188         Reviewed by Tim H.
189
190         * WebInspector/webInspector/inspector.css: Use row-resize for the splitter cursor
191         instead of move. It's a horizontal splitter resizer.
192
193 2007-01-19  Adam Roben  <aroben@apple.com>
194
195         Reviewed by Beth.
196
197         Fix <rdar://problem/4942294> REGRESSION: "Spelling and Grammar",
198         "Font", "Speech", and "Writing Direction" are missing from contextual
199         menu
200
201         * WebCoreSupport/WebContextMenuClient.mm:
202         (fixMenusForOldClients): Change our new SPI tags to
203         WebMenuItemTagOther because old clients aren't expecting the new tags.
204         (fixMenusFromOldClients): Use each menu item's title to figure out its
205         correct tag again.
206         (WebContextMenuClient::getCustomMenuFromDefaultItems): Call
207         fixMenusForOldClients before calling up to the delegate.
208         * WebView/WebUIDelegatePrivate.h: Define WEBMENUITEMTAG_SPI_START so
209         that we can use it in WebContextMenuClient.
210
211 2007-01-19  John Sullivan  <sullivan@apple.com>
212
213         Reviewed by Darin
214
215         - WebKit part of fix for: <rdar://problem/4451715> REGRESSION: On some sites, have to 
216           type a character before username/password autofill kicks in
217           
218         Added new webView:didFinishDocumentLoadForFrame: SPI and wired it up
219
220         * WebView/WebViewPrivate.h:
221         declare new delegate method
222
223         * WebCoreSupport/WebFrameLoaderClient.h:
224         declare dispatchDidFinishDocumentLoad()
225
226         * WebCoreSupport/WebFrameLoaderClient.mm:
227         (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
228         new method, calls new delegate method
229
230         * DefaultDelegates/WebDefaultFrameLoadDelegate.m:
231         (-[WebDefaultFrameLoadDelegate webView:didFinishDocumentLoadForFrame:]):
232         empty default implementation of new delegate method
233
234 2007-01-19  Anders Carlsson  <acarlsson@apple.com>
235
236         Reviewed by John Sullivan.
237
238         http://bugs.webkit.org/show_bug.cgi?id=12308
239         REGRESSION(r18910): Crash in WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError
240         
241         * Plugins/WebBaseNetscapePluginView.mm:
242         (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
243         Move code from initWithFrame in here.
244
245 2007-01-19  Anders Carlsson  <acarlsson@apple.com>
246
247         Yet another build fix.
248         
249         * WebCoreSupport/WebChromeClient.h:
250         * WebCoreSupport/WebChromeClient.mm:
251         (WebChromeClient::setStatusbarText):
252
253 2007-01-18  Anders Carlsson  <acarlsson@apple.com>
254
255         Reviewed by Adam.
256
257         Move functions from the bridge to the chrome client.
258         
259         * WebCoreSupport/WebChromeClient.h:
260         * WebCoreSupport/WebChromeClient.mm:
261         (WebChromeClient::runJavaScriptAlert):
262         (WebChromeClient::runJavaScriptConfirm):
263         (WebChromeClient::runJavaScriptPrompt):
264         (WebChromeClient::setStatusBarText):
265         * WebCoreSupport/WebFrameBridge.mm:
266
267 2007-01-18  Adam Roben  <aroben@apple.com>
268
269         Reviewed by Beth.
270
271         Fix <rdar://problem/4939672> REGRESSION: With text selected that is
272         not a link, the "Remove Link" contextual menu item remains active
273
274         * WebView/WebHTMLView.mm:
275         (-[WebHTMLView menuForEvent:]): Leave autoenabling of menu items on so
276         that clients can implement validateMenuItem:.
277
278 2007-01-18  Brady Eidson  <beidson@apple.com>
279
280         Reviewed by Adele
281
282         <rdar://problem/4917290> - 
283         Null deref in WebFrameLoaderClient::restoreScrollPositionAndViewState() 
284         after regaining network connection
285
286         * WebCoreSupport/WebFrameLoaderClient.mm:
287         (WebFrameLoaderClient::restoreScrollPositionAndViewState): Bail early with a null currentItem, preventing 
288         a crash in release builds.  Leave the ASSERT to help find other cases where this might happen in debug builds.
289
290 2007-01-18  Kevin Decker  <kdecker@apple.com>
291
292         Reviewed by John.
293
294         <rdar://problem/4939511> WebKit should set the CG clip path for plug-ins that draw using CoreGraphics
295
296         * Plugins/WebBaseNetscapePluginView.mm:
297         (-[WebBaseNetscapePluginView drawRect:]):  Set the CG clip path to the plug-in dirty rect. This allows plug-ins to obtain their
298         dirty rect using functions like CGContextGetClipBoundingBox().
299
300 2007-01-17  Alice Liu  <alice.liu@apple.com>
301
302         Reviewed by Harrison.
303
304         Fix for <rdar://problem/4894155> REGRESSION: Extra line break is pasted with content into message body after choosing File - Paste
305
306         Migration of some editing code from WebHTMView to WebCore::Editor
307         resulted in not calling pasteboardTypesForSelection, which Mail was
308         overriding for the special purpose of adding a type to the
309         pasteboard after WebKit did.  This patch adds 2 separate code paths
310         for Tiger and Leopard.  On Tiger we give in and call the WebView's
311         pasteboardTypesForSelection.  On Leopard we call a delegate after
312         the pasteboard types are set. 
313
314         * DefaultDelegates/WebDefaultEditingDelegate.m:
315         (-[WebDefaultEditingDelegate webView:didSetSelectionTypesForPasteboard:]):
316         * WebCoreSupport/WebEditorClient.h:
317         * WebCoreSupport/WebEditorClient.mm:
318         (WebEditorClient::didSetSelectionTypesForPasteboard):
319         (WebEditorClient::pasteboardTypesForSelection):
320         * WebView/WebEditingDelegate.h:
321
322 2007-01-17  John Sullivan  <sullivan@apple.com>
323
324         Reviewed by Darin
325
326         - WebKit part of fix for <rdar://problem/4462420> REGRESSION: Mail hangs during 
327           Replace All if the replacement string contains the search string
328
329         * Misc/WebKitVersionChecks.h:
330         Added extern "C" so this can be used from .mm files. I don't need this change anymore for
331         this fix, but it's still worth fixing now so it doesn't bite anyone later.
332
333         * WebView/WebDocumentPrivate.h:
334         Invented new private protocol WebDocumentIncrementalSearching, that has one method. The one
335         method is just like the one WebDocumentSearching method, but with an additional parameter.
336         We hope to eliminate this dependence on protocols someday, but adding another one as SPI
337         seems like it won't make anything worse.
338         
339         * WebView/WebHTMLView.mm:
340         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
341         now calls through to new method that has one additional parameter, passing NO to match old behavior
342         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
343         pass new parameter to bridge
344         
345         * WebView/WebPDFView.h:
346         Declare conformance to WebDocumentIncrementalSearching protocol
347         
348         * WebView/WebPDFView.mm:
349         (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
350         now calls through to new method that has one additional parameter, passing NO to match old behavior
351         (-[WebPDFView searchFor:direction:caseSensitive:wrap:startInSelection:]):
352         new method, former guts of searchFor:direction:caseSensitive:wrap: but now handles startInSelection
353         parameter
354         
355         * WebView/WebViewPrivate.h:
356         Declare new searchFor:direction:caseSensitive:wrap:startInSelection: method, just like existing
357         method but with one additional parameter
358
359         * WebView/WebView.mm:
360         (-[WebView searchFor:direction:caseSensitive:wrap:]):
361         now calls through to new method that has one additional parameter, passing NO to match old behavior
362         (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]):
363         new method, former guts of searchFor:direction:caseSensitive:wrap: but now handles startInSelection
364         parameter
365         
366 2007-01-17  Brady Eidson  <beidson@apple.com>
367
368         Reviewed by Deth Bakin and Brian Dash
369
370         Drop Panther Support (?!?) and change the comment explaining some SPI forward decls
371
372         * Misc/WebDownload.m:
373
374 2007-01-17  Darin Adler  <darin@apple.com>
375
376         Reviewed by Maciej.
377
378         - fix http://bugs.webkit.org/show_bug.cgi?id=12278
379           <rdar://problem/4928705> REGRESSION(r13070): Dragged image size includes padding (12278)
380
381         * Misc/WebElementDictionary.mm: (-[WebElementDictionary _imageRect]):
382         Call HitTestResult::imageRect, not HitTestResult::boundingBox.
383
384 2007-01-17  Anders Carlsson  <acarlsson@apple.com>
385
386         Reviewed by John Sullivan.
387         
388         Move all code in WebNetscapePluginEmbeddedView down to WebBaseNetscapePluginView.
389         
390         * Plugins/WebBaseNetscapePluginView.h:
391         * Plugins/WebBaseNetscapePluginView.mm:
392         (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
393         (-[WebBaseNetscapePluginView didStart]):
394         (-[WebBaseNetscapePluginView dataSource]):
395         (-[WebBaseNetscapePluginView dealloc]):
396         (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
397         (-[WebBaseNetscapePluginView pluginView:receivedData:]):
398         (-[WebBaseNetscapePluginView pluginView:receivedError:]):
399         (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]):
400         (-[WebBaseNetscapePluginView _redeliverStream]):
401         * Plugins/WebNetscapePluginEmbeddedView.h:
402         * Plugins/WebNetscapePluginEmbeddedView.mm:
403
404 2007-01-17  Maciej Stachowiak  <mjs@apple.com>
405
406         Reviewed by Eric.
407         
408         <rdar://problem/4887781> Seed: Repro Safari crash in -[WebHTMLRepresentation receivedData:withDataSource:] (music.aol.com)
409
410         * WebView/WebDataSource.mm:
411         (-[WebDataSource _receivedData:]): Protect self against destruction partway through this method.
412
413 2007-01-16  Alice Liu  <alice.liu@apple.com>
414
415         Reviewed by harrison.
416
417         Fixed <rdar://problem/4921134> WebKit needs extensible cut/copy to allow additional types to be written to pasteboard
418
419         * DefaultDelegates/WebDefaultEditingDelegate.m:
420         (-[WebDefaultEditingDelegate webView:didWriteSelectionToPasteboard:]):
421         * WebCoreSupport/WebEditorClient.h:
422         * WebCoreSupport/WebEditorClient.mm:
423         (WebEditorClient::didWriteSelectionToPasteboard):
424         * WebKit.xcodeproj/project.pbxproj:
425         * WebView/WebEditingDelegate.h:
426
427 2007-01-15  Justin Garcia  <justin.garcia@apple.com>
428
429         Reviewed by mjs
430
431         <rdar://problem/4810960>
432         Gmail Editor: window.focus() called on keyDown (9640)
433
434         The window's keydown event handler was being called
435         instead of the editable subframe's if there was a key binding
436         for the key event.
437
438         * WebView/WebHTMLView.mm:
439         (-[WebHTMLView performKeyEquivalent:]): Don't send the event
440         to WebCore unless this WebHTMLView is the firstResponder.
441
442 2007-01-15  Anders Carlsson  <acarlsson@apple.com>
443
444         Reviewed by Darin.
445
446         Update to match WebCore.
447         
448         * WebCoreSupport/WebFrameLoaderClient.h:
449         * WebCoreSupport/WebFrameLoaderClient.mm:
450         (WebFrameLoaderClient::willChangeEstimatedProgress):
451         (WebFrameLoaderClient::didChangeEstimatedProgress):
452         (WebFrameLoaderClient::postProgressStartedNotification):
453         (WebFrameLoaderClient::postProgressEstimateChangedNotification):
454         (WebFrameLoaderClient::postProgressFinishedNotification):
455         Post the correct notifications.
456         
457         * WebView/WebView.mm:
458         (-[WebViewPrivate init]):
459         (-[WebViewPrivate dealloc]):
460         Get rid of all progress tracking code.
461         
462         (-[WebView estimatedProgress]):
463         Call ProgressTracker::estimatedProgress()
464
465 2007-01-15  Adam Roben  <aroben@apple.com>
466
467         Reviewed by Darin.
468
469         Fix: http://bugs.webkit.org/show_bug.cgi?id=12134
470         REGRESSION: Assertion failure and crash when right clicking selection
471         in forms
472
473         * WebCoreSupport/WebContextMenuClient.mm:
474         (fixMenusFromOldApps): Static helper to fix up menus from applications
475         compiled against Tiger WebKit.
476         (WebContextMenuClient::getCustomMenuFromDefaultItems): Call helper to
477         fix menus.
478         * WebView/WebUIDelegatePrivate.h: Fixed typo.
479
480 2007-01-14  David Kilzer  <ddkilzer@kilzer.net>
481
482         Reviewed by Darin.
483
484         - fix http://bugs.webkit.org/show_bug.cgi?id=12251
485           REGRESSION (r18822-r18823): Assertion failure opening document with non-existent resources
486           (dom/xhtml/level2/html/HTMLIFrameElement11.xhtml)
487
488         * WebView/WebView.mm:
489         (-[WebView _objectForIdentifier:]): Removed assertion.
490         (-[WebView _removeObjectForIdentifier:]): Removed assertion.
491
492 2007-01-12  Anders Carlsson  <acarlsson@apple.com>
493
494         Reviewed by Darin.
495
496         Add a HashMap between unsigned longs and Objective-C objects and use it for
497         the resource load delegate.
498         
499         * WebCoreSupport/WebFrameLoaderClient.h:
500         * WebCoreSupport/WebFrameLoaderClient.mm:
501         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
502         (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
503         (WebFrameLoaderClient::dispatchWillSendRequest):
504         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
505         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
506         (WebFrameLoaderClient::dispatchDidReceiveResponse):
507         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
508         (WebFrameLoaderClient::dispatchDidFinishLoading):
509         (WebFrameLoaderClient::dispatchDidFailLoading):
510         (WebFrameLoaderClient::incrementProgress):
511         (WebFrameLoaderClient::completeProgress):
512         * WebView/WebView.mm:
513         (-[WebViewPrivate init]):
514         (-[WebViewPrivate dealloc]):
515         (-[WebView _addObject:forIdentifier:]):
516         (-[WebView _objectForIdentifier:]):
517         (-[WebView _removeObjectForIdentifier:]):
518         * WebView/WebViewInternal.h:
519
520 2007-01-11  Brady Eidson  <beidson@apple.com>
521
522         Reviewed by Anders
523
524         Rewrites HTTP Authentication setting up a more platform-independent structure
525
526         * WebCoreSupport/WebFrameLoaderClient.h:
527         * WebCoreSupport/WebFrameLoaderClient.mm:
528         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
529         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
530         * WebKit.xcodeproj/project.pbxproj:
531
532 2007-01-11  Darin Adler  <darin@apple.com>
533
534         Reviewed by Mitz.
535
536         - fix http://bugs.webkit.org/show_bug.cgi?id=12180
537           REGRESSION: Double-clicking on JS exception in JS log crashes in -[SharedBufferData initWithSharedBuffer:]
538
539         * WebView/WebDataSource.mm: (-[WebDataSource data]): Added null check.
540
541 2007-01-11  Darin Adler  <darin@apple.com>
542
543         Reviewed by Hyatt.
544
545         - moved code from a couple WebCore bridging classes here instead
546
547         * Misc/WebNSPasteboardExtras.mm:
548         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
549         Use MimeTypeRegistry instead of WebMimeTypeRegistryBridge.
550
551         * WebView/WebHTMLRepresentation.mm:
552         (stringArray): Added. Helper to convert a HashSet to an NSArray.
553         (concatenateArrays): Added. Helper to concatenate two NSArray objects.
554         (+[WebHTMLRepresentation supportedMIMETypes]): Use MimeTypeRegistry instead of
555         WebMimeTypeRegistryBridge. Also fix a potential GC problem by using a RetainPtr
556         instead of a [retain] on a global variable.
557         (+[WebHTMLRepresentation supportedNonImageMIMETypes]): Ditto.
558         (+[WebHTMLRepresentation supportedImageMIMETypes]): Ditto.
559
560         * WebView/WebHTMLView.mm:
561         (-[WebHTMLView _imageExistsAtPaths:]): Use MimeTypeRegistry instead of
562         WebMimeTypeRegistryBridge.
563         (-[WebHTMLView _documentFragmentWithPaths:]): Ditto.
564
565         * WebView/WebView.mm: (+[WebView _decodeData:]): Moved code here from
566         the old WebCoreEncodings class.
567
568         * WebKit.xcodeproj/project.pbxproj: Let Xcode have its way with this file.
569         Moved WebRenderNode into the appropriate group.
570
571 2007-01-10  Mitz Pettel  <mitz@webkit.org>
572
573         Reviewed by Darin.
574
575         - fix http://bugs.webkit.org/show_bug.cgi?id=11775
576           'Show URLs in Tool Tips' preference is ignored
577
578         * WebView/WebHTMLView.mm:
579         (-[WebHTMLView _resetCachedWebPreferences:]):
580         (-[WebHTMLView setDataSource:]): Added a call to _resetCachedWebPreferences:.
581         Added an assertion that the view is not closed, instead of reopening it.
582         Reopening should not occur, now that <http://bugs.webkit.org/show_bug.cgi?id=12087>
583         is fixed.
584
585 2007-01-10  Beth Dakin  <bdakin@apple.com>
586
587         Reviewed by John.
588
589         Fix for <rdar://problem/4914258> REGRESSION: Search in Google now 
590         operates on the current WebView instead of invoking Safari's 
591         service
592
593         * WebCoreSupport/WebContextMenuClient.h:
594         * WebCoreSupport/WebContextMenuClient.mm:
595         (WebContextMenuClient::searchWithGoogle): Call into WebView to 
596         search in Google.
597         * WebView/WebViewInternal.h: Make _searchWithGoogleFromMenu 
598         available.
599
600 2007-01-09  Timothy Hatcher  <timothy@apple.com>
601
602         Reviewed by Darin.
603
604         Rename the now ObjC++ files to be .mm and remove the explicit file types.
605
606         * DOM/WebDOMOperations.m: Removed.
607         * DefaultDelegates/WebDefaultContextMenuDelegate.m: Removed.
608         * English.lproj/StringsNotToBeLocalized.txt:
609         * Misc/WebCoreStatistics.m: Removed.
610         * Misc/WebElementDictionary.m: Removed.
611         * Misc/WebIconDatabase.m: Removed.
612         * Misc/WebNSAttributedStringExtras.m: Removed.
613         * Misc/WebNSPasteboardExtras.m: Removed.
614         * Plugins/WebNetscapePluginEmbeddedView.m: Removed.
615         * Plugins/WebNullPluginView.m: Removed.
616         * Plugins/WebPluginContainerCheck.m: Removed.
617         * WebCoreSupport/WebViewFactory.m: Removed.
618         * WebKit.xcodeproj/project.pbxproj:
619         * WebView/WebArchiver.m: Removed.
620         * WebView/WebHTMLRepresentation.m: Removed.
621         * WebView/WebHTMLView.m: Removed.
622         * WebView/WebRenderNode.m: Removed.
623         * WebView/WebResource.m: Removed.
624         * WebView/WebScriptDebugDelegate.m: Removed.
625
626 2007-01-09  Maciej Stachowiak  <mjs@apple.com>
627
628         Reviewed by Darin.
629         
630         - remove window display throttling code; no longer used
631
632         * Misc/WebNSWindowExtras.h:
633         * Misc/WebNSWindowExtras.m:
634         * WebView/WebFrameView.mm:
635         (-[WebFrameView initWithFrame:]):
636         * WebView/WebPreferenceKeysPrivate.h:
637
638 2007-01-08  Anders Carlsson  <acarlsson@apple.com>
639
640         Reviewed by Brady.
641
642         Remove bridge functions that are implemented directly in FrameLoader now.
643         
644         * WebCoreSupport/WebFrameBridge.mm:
645
646 2007-01-08  Sam Weinig  <sam@webkit.org>
647
648         Reviewed by Mark.
649
650         Adds default value for outline-color and fixes default
651         values of the recently fixed *-color properties.
652
653         * WebInspector/webInspector/inspector.js:
654
655 2007-01-08  Beth Dakin  <bdakin@apple.com>
656
657         Reviewed by Adam.
658
659         Fix for http://bugs.webkit.org/show_bug.cgi?id=12161 REGRESSION: 
660         Crash when control-clicking on an image for contextual menu
661
662         * WebView/WebHTMLView.m:
663         (-[WebHTMLView menuForEvent:]): We need to nil-check coreMenu since 
664         it will be nil if the DOM popped up a menu instead. I cleaned up 
665         the function to make all the nil checks early returns instead of 
666         nesting all of the content. Also moved the autorelease to be with 
667         the creation of the menu instead of at the return.
668
669 2007-01-08  Sam Weinig  <sam@webkit.org>
670
671         Reviewed by Tim H.
672
673         Adds default value for -webkit-box-shadow and fixes default
674         value of -webkit-column-count to be "auto".  Also sorts the
675         list of defaults.
676
677         * WebInspector/webInspector/inspector.js:
678
679 2007-01-08  Andrew Wellington  <proton@wiretapped.net>
680
681         Reviewed by Mark.
682
683         * WebInspector/webInspector/inspector.js: Hide default values of
684         -webkit-column styles in WebInspector.
685
686 2007-01-05  Darin Adler  <darin@apple.com>
687
688         Reviewed by Hyatt.
689
690         * Misc/WebNSAttributedStringExtras.m:
691         (+[NSAttributedString _web_attributedStringFromRange:]):
692         Updated to use new list marker text API that is String rather than
693         DeprecatedString. Also removed code to do text form of non-text list
694         markers since the list marker class now deals with that.
695
696 2007-01-05  Anders Carlsson  <acarlsson@apple.com>
697
698         Reviewed by Darin.
699
700         Fix build.
701         
702         * WebCoreSupport/WebFrameLoaderClient.h:
703         * WebCoreSupport/WebFrameLoaderClient.mm:
704         (WebFrameLoaderClient::dispatchCreatePage):
705
706 2007-01-05  Anders Carlsson  <acarlsson@apple.com>
707
708         Reviewed by Maciej.
709
710         The data returned is now a SharedBuffer so wrap it in an NSData object.
711         
712         * WebView/WebDataSource.mm:
713         (-[WebDataSource data]):
714
715 2007-01-04  Adam Roben  <aroben@apple.com>
716
717         Reviewed by Geoff, cheered by others.
718
719         Dead code elimination.
720
721         * WebView/WebHTMLView.m:
722
723 2007-01-04  Adam Roben  <aroben@apple.com>
724
725         Boo on me for undoing Beth's hard work.
726
727         * WebView/WebHTMLView.m:
728         (-[WebHTMLView menuForEvent:]): Undo a mistaken roll out of r18597.
729
730 2007-01-04  David Kilzer  <ddkilzer@webkit.org>
731
732         Reviewed by Brady.
733
734         - fix http://bugs.webkit.org/show_bug.cgi?id=12111
735           Uninitialized variable in -[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]
736
737         * DefaultDelegates/WebDefaultPolicyDelegate.m: Initialize isDirectory.
738
739 2007-01-04  Adam Roben  <aroben@apple.com>
740
741         Reviewed by Geoff.
742
743         Remove WebKit/AppKit from handling tabbing between subframes.
744
745         * WebCoreSupport/WebChromeClient.h: Added new ChromeClient methods for
746         moving focus out of the WebView.
747         * WebCoreSupport/WebChromeClient.mm: Ditto.
748         (WebChromeClient::canTakeFocus):
749         (WebChromeClient::takeFocus):
750         * WebCoreSupport/WebFrameBridge.mm:
751         (-[WebFrameBridge webView]): Added null-check of m_frame.
752         * WebView/WebHTMLView.m: Removed -[WebHTMLView nextValidKeyView].
753         (-[WebHTMLView _updateActiveState]): Changed to focus the frame if
754         WebCore believes it to be the focused frame.
755         (-[WebHTMLView becomeFirstResponder]): Rewrote to call into
756         FocusController to place focus correctly within the WebView.
757
758 2007-01-04  Anders Carlsson  <acarlsson@apple.com>
759
760         Reviewed by Brady.
761
762         FrameLoaderClient changed yet again.
763         
764         * WebCoreSupport/WebFrameLoaderClient.h:
765         * WebCoreSupport/WebFrameLoaderClient.mm:
766         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
767         (WebFrameLoaderClient::dispatchWillSendRequest):
768
769 2007-01-04  Anders Carlsson  <acarlsson@apple.com>
770
771         Reviewed by Adam.
772
773         FrameLoaderClient changed again.
774         
775         * WebCoreSupport/WebFrameLoaderClient.h:
776         * WebCoreSupport/WebFrameLoaderClient.mm:
777         (WebFrameLoaderClient::download):
778         (WebFrameLoaderClient::willUseArchive):
779
780 2007-01-04  Beth Dakin  <bdakin@apple.com>
781
782         Reviewed by Adam.
783
784         No need to hit test twice.
785
786         * WebView/WebHTMLView.m:
787         (-[WebHTMLView menuForEvent:]):
788
789 2007-01-04  Beth Dakin  <bdakin@apple.com>
790
791         Reviewed by Adam.
792
793         Turn on WebCore context menus. Delete a bunch of WebKit context 
794         menu code that is no longer needed.
795
796         * DefaultDelegates/WebDefaultContextMenuDelegate.m: Removed a lot 
797         of code from this class. This class only still needs to exist for 
798         PDF context menus, so we only need to deal with the menu items that 
799         might possibly be added to a PDF context menu.
800         (-[WebDefaultUIDelegate 
801         menuItemWithTag:target:representedObject:]): Same.
802         (-[WebDefaultUIDelegate 
803         webView:contextMenuItemsForElement:defaultMenuItems:]): Same.
804         * WebCoreSupport/WebContextMenuClient.h: Name change and have the 
805         former getCustomMenuFromDefaultItems function return the 
806         PlatformMenuDescription since it feels funny to have the client set 
807         the new platform description.
808         * WebCoreSupport/WebContextMenuClient.mm: Same.
809         (WebContextMenuClient::getCustomMenuFromDefaultItems): Same. Also 
810         move in some code that used to be in _menuForElement.
811         * WebView/WebHTMLView.m: Deleted a bunch of un-used functions
812         (-[WebHTMLView menuForEvent:]): Turn on menus, and append the 
813         Inspect Element item. 
814         * WebView/WebHTMLViewPrivate.h: Deleted a bunch of un-used 
815         functions.
816         * WebView/WebView.mm:
817         (-[WebView _menuForElement:defaultItems:]): Removed a lot of code 
818         from _menuForElement that now makes more sense elsewhere. Only PDF 
819         context menus use this function now. Hopefully we can just get rid 
820         of it soon, too.
821
822 2007-01-04  Anders Carlsson  <acarlsson@apple.com>
823
824         Reviewed by Brady.
825
826         Update for WebCore changes.
827         
828         * WebCoreSupport/WebFrameLoaderClient.h:
829         * WebCoreSupport/WebFrameLoaderClient.mm:
830         (WebFrameLoaderClient::download):
831         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
832         (WebFrameLoaderClient::dispatchWillSendRequest):
833         (WebFrameLoaderClient::dispatchDidReceiveResponse):
834         (WebFrameLoaderClient::incrementProgress):
835
836 2007-01-04  Don Gibson  <dgibson77@gmail.com>
837
838         Reviewed by Alexey.
839
840         http://bugs.webkit.org/show_bug.cgi?id=11900:
841         Windows build bustage
842
843         * COM/ChromeClientWin.cpp:
844         (ChromeClientWin::addMessageToConsole):
845         (ChromeClientWin::runBeforeUnloadConfirmPanel):
846         * COM/ChromeClientWin.h:
847         * COM/ContextMenuClientWin.cpp:
848         (ContextMenuClientWin::contextMenuItemSelected):
849         * COM/ContextMenuClientWin.h:
850         * COM/WebFrameLoaderClient.cpp:
851         (WebFrameLoaderClient::setDocumentViewFromPageCache):
852         (WebFrameLoaderClient::forceLayout):
853         (WebFrameLoaderClient::forceLayoutForNonHTML):
854         (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad):
855         (WebFrameLoaderClient::updateGlobalHistoryForReload):
856         (WebFrameLoaderClient::shouldGoToHistoryItem):
857         (WebFrameLoaderClient::saveScrollPositionAndViewStateToItem):
858         (WebFrameLoaderClient::restoreScrollPositionAndViewState):
859         (WebFrameLoaderClient::provisionalLoadStarted):
860         (WebFrameLoaderClient::saveDocumentViewToPageCache):
861         (WebFrameLoaderClient::canCachePage):
862         * COM/WebFrameLoaderClient.h:
863         * WebKit.vcproj/WebKit.vcproj:
864
865 2007-01-03  John Sullivan  <sullivan@apple.com>
866
867         * WebView/WebPDFView.mm:
868         (-[WebPDFView _openWithFinder:]):
869         Tiger build fix: use [NSNumber initWithInt:] rather than the new [NSNumber initWithInteger:]
870
871 2007-01-03  John Sullivan  <sullivan@apple.com>
872
873         Reviewed by Kevin Decker
874
875         - fixed <rdar://problem/4145714> WebKit's PDFView's "Open in Preview" puts the 
876           PDF in /tmp, both group and world-readable
877
878         * WebView/WebPDFView.mm:
879         (-[WebPDFView _openWithFinder:]):
880         Make the file only readable by the current user
881
882 2007-01-03  Beth Dakin  <bdakin@apple.com>
883
884         Reviewed by John.
885
886         Make localized strings for all of the context menu item titles that 
887         are accessible to WebCore.
888
889         * English.lproj/Localizable.strings:
890         * WebCoreSupport/WebViewFactory.m:
891         (-[WebViewFactory contextMenuItemTagOpenLinkInNewWindow]):
892         (-[WebViewFactory contextMenuItemTagDownloadLinkToDisk]):
893         (-[WebViewFactory contextMenuItemTagCopyLinkToClipboard]):
894         (-[WebViewFactory contextMenuItemTagOpenImageInNewWindow]):
895         (-[WebViewFactory contextMenuItemTagDownloadImageToDisk]):
896         (-[WebViewFactory contextMenuItemTagCopyImageToClipboard]):
897         (-[WebViewFactory contextMenuItemTagOpenFrameInNewWindow]):
898         (-[WebViewFactory contextMenuItemTagCopy]):
899         (-[WebViewFactory contextMenuItemTagGoBack]):
900         (-[WebViewFactory contextMenuItemTagGoForward]):
901         (-[WebViewFactory contextMenuItemTagStop]):
902         (-[WebViewFactory contextMenuItemTagReload]):
903         (-[WebViewFactory contextMenuItemTagCut]):
904         (-[WebViewFactory contextMenuItemTagPaste]):
905         (-[WebViewFactory contextMenuItemTagNoGuessesFound]):
906         (-[WebViewFactory contextMenuItemTagIgnoreSpelling]):
907         (-[WebViewFactory contextMenuItemTagLearnSpelling]):
908         (-[WebViewFactory contextMenuItemTagSearchInSpotlight]):
909         (-[WebViewFactory contextMenuItemTagSearchWeb]):
910         (-[WebViewFactory contextMenuItemTagLookUpInDictionary]):
911         (-[WebViewFactory contextMenuItemTagOpenLink]):
912         (-[WebViewFactory contextMenuItemTagIgnoreGrammar]):
913         (-[WebViewFactory contextMenuItemTagSpellingMenu]):
914         (-[WebViewFactory contextMenuItemTagShowSpellingPanel:]):
915         (-[WebViewFactory contextMenuItemTagCheckSpelling]):
916         (-[WebViewFactory contextMenuItemTagCheckSpellingWhileTyping]):
917         (-[WebViewFactory contextMenuItemTagCheckGrammarWithSpelling]):
918         (-[WebViewFactory contextMenuItemTagFontMenu]):
919         (-[WebViewFactory contextMenuItemTagShowFonts]):
920         (-[WebViewFactory contextMenuItemTagBold]):
921         (-[WebViewFactory contextMenuItemTagItalic]):
922         (-[WebViewFactory contextMenuItemTagUnderline]):
923         (-[WebViewFactory contextMenuItemTagOutline]):
924         (-[WebViewFactory contextMenuItemTagStyles]):
925         (-[WebViewFactory contextMenuItemTagShowColors]):
926         (-[WebViewFactory contextMenuItemTagSpeechMenu]):
927         (-[WebViewFactory contextMenuItemTagStartSpeaking]):
928         (-[WebViewFactory contextMenuItemTagStopSpeaking]):
929         (-[WebViewFactory contextMenuItemTagWritingDirectionMenu]):
930         (-[WebViewFactory contextMenuItemTagDefaultDirection]):
931         (-[WebViewFactory contextMenuItemTagLeftToRight]):
932         (-[WebViewFactory contextMenuItemTagRightToLeft]):
933
934 2007-01-03  Brady Eidson  <beidson@apple.com>
935
936         Reviewed by John Sullivan
937
938         In the Bookmarks View/History View, favicon may be the incorrect size
939
940         * History/WebHistoryItem.mm:
941         (-[WebHistoryItem icon]): Call to the WebIconDatabase until a WebCore issue is resolved
942
943 2007-01-03  Adele Peterson  <adele@apple.com>
944
945         Reviewed by Darin.
946
947         - Fix for <rdar://problem/4455147> Safari allows division slash character in URLs, which looks like slash character (not fixed by IDNScriptWhiteList.txt)
948
949         * Misc/WebNSURLExtras.m: (allCharactersInIDNScriptWhiteList): Always disallow the division slash character.
950
951 2007-01-02  Brady Eidson <beidson@apple.com>
952
953         Controversially reviewed by Tim H. and Maciej
954
955         Fixes http://bugs.webkit.org/show_bug.cgi?id=12086, http://bugs.webkit.org/show_bug.cgi?id=12088, 
956         possibly http://bugs.webkit.org/show_bug.cgi?id=12087, and probably a slew of others
957
958         WebHistoryItems returned from the WebBackForwardList accessors were being release/retained out-of-order
959         by the Safari app.  This bug never surfaced before because the WebBackForwardList had a retain on the 
960         item, preventing deallocation. Since the items are now just temporary wrappers, the list 
961         is no longer actually retaining them.
962
963         This solution is to simulate the ownership with a [[id retain] autorelease] - gross, but maybe the 
964         only solution for now...  =/
965
966         We can possibly consider reverting this fix at a later date - that task is marked by
967         <rdar://problem/4905705>
968
969         * History/WebBackForwardList.mm:
970         (-[WebBackForwardList backItem]):
971         (-[WebBackForwardList currentItem]):
972         (-[WebBackForwardList forwardItem]):
973         (-[WebBackForwardList itemAtIndex:]):
974
975 2007-01-02  Beth Dakin  <bdakin@apple.com>
976
977         Reviewed by Geoff.
978
979         Remove un-used function.
980
981         * WebCoreSupport/WebContextMenuClient.h:
982         * WebCoreSupport/WebContextMenuClient.mm:
983
984 2007-01-02  Brady Eidson  <beidson@apple.com>
985
986         Reviewed extensively and repeatedly by Darin
987
988         <rdar://problem/4887137> - WebCore Back/Forward Cache 
989         Most things not specifically commented on in the ChangeLog can be summed up as 
990         "Do things exactly the same way as we used to, but just stick in WebCore-land as much as possible"
991
992         * History/WebBackForwardList.mm:
993         (kitPrivate): Convenience functions to help with subbing "WebBackForwardListPrivate" for WebCore::BackForwardList
994         (core):
995         (backForwardListWrappers): A HashMap pattern used to map WebCore objects to their WebKit counterpart
996         (kit):
997         (+[WebBackForwardList setDefaultPageCacheSizeIfNecessary]):
998         (-[WebBackForwardList initWithWebCoreBackForwardList:]):
999         (-[WebBackForwardList init]):
1000         (-[WebBackForwardList dealloc]):
1001         (-[WebBackForwardList finalize]):
1002         (-[WebBackForwardList _close]):
1003         (-[WebBackForwardList addItem:]):
1004         (-[WebBackForwardList removeItem:]):
1005         (-[WebBackForwardList containsItem:]):
1006         (-[WebBackForwardList goBack]):
1007         (-[WebBackForwardList goForward]):
1008         (-[WebBackForwardList goToItem:]):
1009         (-[WebBackForwardList backItem]):
1010         (-[WebBackForwardList currentItem]):
1011         (-[WebBackForwardList forwardItem]):
1012         (vectorToNSArray):
1013         (-[WebBackForwardList backListWithLimit:]):
1014         (-[WebBackForwardList forwardListWithLimit:]):
1015         (-[WebBackForwardList capacity]):
1016         (-[WebBackForwardList setCapacity:]):
1017         (-[WebBackForwardList description]):
1018         (-[WebBackForwardList _clearPageCache]):
1019         (-[WebBackForwardList setPageCacheSize:]):
1020         (-[WebBackForwardList pageCacheSize]):
1021         (-[WebBackForwardList _usesPageCache]):
1022         (-[WebBackForwardList backListCount]):
1023         (-[WebBackForwardList forwardListCount]):
1024         (-[WebBackForwardList itemAtIndex:]):
1025         * History/WebBackForwardListInternal.h: Added.
1026
1027         * History/WebHistory.m: Removed.
1028         * History/WebHistory.mm: Added - Needed to be .mm to accept C++ header style
1029         (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]):
1030         (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]):
1031
1032         * History/WebHistoryItem.mm:
1033         (kitPrivate): Same pattern as WebBackForwardList
1034         (core):
1035         (historyItemWrappers):
1036         (WKNotifyHistoryItemChanged):
1037         (-[WebHistoryItem init]):
1038         (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
1039         (-[WebHistoryItem dealloc]):
1040         (-[WebHistoryItem finalize]):
1041         (-[WebHistoryItem copyWithZone:]):
1042         (-[WebHistoryItem URLString]):
1043         (-[WebHistoryItem originalURLString]):
1044         (-[WebHistoryItem title]):
1045         (-[WebHistoryItem setAlternateTitle:]):
1046         (-[WebHistoryItem alternateTitle]):
1047         (-[WebHistoryItem icon]):
1048         (-[WebHistoryItem lastVisitedTimeInterval]):
1049         (-[WebHistoryItem hash]):
1050         (-[WebHistoryItem isEqual:]):
1051         (-[WebHistoryItem description]):
1052         (kit):
1053         (+[WebHistoryItem entryWithURL:]):
1054         (+[WebHistoryItem initWindowWatcherIfNecessary]):
1055         (-[WebHistoryItem initWithURL:target:parent:title:]):
1056         (-[WebHistoryItem initWithWebCoreHistoryItem:]):
1057         (-[WebHistoryItem setTitle:]):
1058         (-[WebHistoryItem setVisitCount:]):
1059         (-[WebHistoryItem setViewState:]):
1060         (-[WebHistoryItem _mergeAutoCompleteHints:]):
1061         (-[WebHistoryItem initFromDictionaryRepresentation:]):
1062         (-[WebHistoryItem scrollPoint]):
1063         (-[WebHistoryItem _transientPropertyForKey:]):
1064         (-[WebHistoryItem _setTransientProperty:forKey:]):
1065         (-[WebHistoryItem dictionaryRepresentation]):
1066         (-[WebHistoryItem target]):
1067         (-[WebHistoryItem isTargetItem]):
1068         (-[WebHistoryItem visitCount]):
1069         (-[WebHistoryItem RSSFeedReferrer]):
1070         (-[WebHistoryItem setRSSFeedReferrer:]):
1071         (-[WebHistoryItem children]):
1072         (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
1073         (-[WebHistoryItem URL]):
1074         (-[WebHistoryItem _setLastVisitedTimeInterval:]):
1075         (-[WebHistoryItem _lastVisitedDate]):
1076         (-[WebHistoryItem targetItem]):
1077         (+[WebHistoryItem _releaseAllPendingPageCaches]):
1078         (-[WebWindowWatcher windowWillClose:]):
1079         * History/WebHistoryItemInternal.h:
1080         * History/WebHistoryItemPrivate.h:
1081
1082         * WebCoreSupport/WebFrameBridge.mm:
1083         * WebCoreSupport/WebFrameLoaderClient.h:
1084         * WebCoreSupport/WebFrameLoaderClient.mm:
1085         (WebFrameLoaderClient::setDocumentViewFromPageCache):
1086         (WebFrameLoaderClient::detachedFromParent1):
1087         (WebFrameLoaderClient::loadedFromPageCache):
1088         (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad):
1089         (WebFrameLoaderClient::updateGlobalHistoryForReload):
1090         (WebFrameLoaderClient::shouldGoToHistoryItem):
1091         (WebFrameLoaderClient::frameLoadCompleted):
1092         (WebFrameLoaderClient::saveScrollPositionAndViewStateToItem):
1093         (WebFrameLoaderClient::restoreScrollPositionAndViewState):
1094         (WebFrameLoaderClient::provisionalLoadStarted):
1095         (WebFrameLoaderClient::setTitle):
1096         (WebFrameLoaderClient::saveDocumentViewToPageCache):
1097         (WebFrameLoaderClient::canCachePage):
1098
1099         * WebCoreSupport/WebSystemInterface.m:
1100         (InitWebCoreSystemInterface):
1101
1102         * WebKit.xcodeproj/project.pbxproj:
1103
1104         * WebView/WebDataSource.mm:
1105         * WebView/WebDataSourceInternal.h:
1106
1107         * WebView/WebFrame.mm:
1108         (-[WebFramePrivate dealloc]):
1109         (-[WebFrame _canCachePage]):
1110         (-[WebFrame _loadURL:referrer:intoChild:]):
1111         * WebView/WebFrameInternal.h:
1112
1113         * WebView/WebFrameView.mm:
1114         (-[WebFrameView initWithFrame:]):
1115         (-[WebFrameView keyDown:]):
1116
1117         * WebView/WebHTMLView.m:
1118         (-[WebHTMLView closeIfNotCurrentView]): Added for a dirty hack in WebCore that is marked with a FIXME Radar
1119         * WebView/WebHTMLViewInternal.h:
1120
1121         * WebView/WebView.mm:
1122         (-[WebViewPrivate init]):
1123         (-[WebViewPrivate dealloc]):
1124         (-[WebView _close]):
1125         (-[WebView _loadBackForwardListFromOtherView:]):
1126         (-[WebView _commonInitializationWithFrameName:groupName:]):
1127         (-[WebView initWithCoder:]):
1128         (-[WebView backForwardList]):
1129         (-[WebView goBack]):
1130         (-[WebView goForward]):
1131         (-[WebView goToBackForwardItem:]):
1132         (-[WebView canGoBack]):
1133         (-[WebView canGoForward]):
1134
1135 2007-01-02  John Sullivan  <sullivan@apple.com>
1136
1137         Reviewed by Kevin Decker
1138
1139         - fixed <rdar://problem/4892525> Cannot open PDF in Preview if you attempted to 
1140           open it in Preview while PDF was loading
1141
1142         * WebView/WebPDFView.mm:
1143         (-[WebPDFView menuForEvent:]):
1144         added comment
1145         (-[WebPDFView validateUserInterfaceItem:]):
1146         disable this menu item when there's no document yet
1147         (-[WebPDFView _openWithFinder:]):
1148         If this is invoked when there is no document yet (e.g. via the PDFKit delegate method), 
1149         just beep and return. I should make a nice error message here, but I'll do that separately.
1150
1151 2007-01-03  Nikolas Zimmermann  <zimmermann@kde.org>
1152
1153         Reviewed by Timothy.
1154
1155         Fix inspection of RenderSVGInlineText objects (#text nodes in SVG documents).
1156
1157         * WebInspector/WebInspector.m:
1158         (-[WebInspector _highlightNode:]):
1159
1160 2007-01-02  Beth Dakin  <bdakin@apple.com>
1161
1162         Reviewed by Darin.
1163
1164         Fix bug with WebCore context menu item "Copy Image."
1165
1166         * WebCoreSupport/WebContextMenuClient.mm:
1167         (WebContextMenuClient::copyImageToClipboard): We must call 
1168         declareTypes on the pasteboard.
1169
1170 2006-12-27  Mitz Pettel  <mitz@webkit.org>
1171
1172         Reviewed by Geoff.
1173
1174         - fix http://bugs.webkit.org/show_bug.cgi?id=9403
1175           Red outline from Web Inspector appears above all other OS X windows
1176
1177         Made the window containing the highlight a child window of the window
1178         containing the view.
1179
1180         * WebInspector/WebNodeHighlight.m:
1181         (-[WebNodeHighlight initWithBounds:andRects:forView:]):
1182         (-[WebNodeHighlight dealloc]):
1183         (-[WebNodeHighlight expire]):
1184
1185 2006-12-27  Matt Lilek  <pewtermoose@gmail.com>
1186
1187         Reviewed by Tim H.
1188         
1189         Bug 11993: REGRESSION(r18320): Web Inspector scroll bars not drawn
1190         http://bugs.webkit.org/show_bug.cgi?id=11993
1191         
1192         AppleVerticalScrollbar tries to set a NaN value as the scroll height which
1193         causes DOM Exceptions after r18320.  This overrides the _setObjectLength
1194         method and checks for NaN until a system update can fix this.  See rdar://4901491
1195
1196         * WebInspector/webInspector/inspector.html:
1197         * WebInspector/webInspector/inspector.js:
1198
1199 2006-12-27  Geoffrey Garen  <ggaren@apple.com>
1200
1201         Reviewed by Oliver Hunt.
1202         
1203         Fixed <rdar://problem/4901629> Crash occurs at WebCore::Frame::page() 
1204         after closing window containing flash content
1205         
1206         No testcase because we can't open and close windows in DRT.
1207         
1208         I can't reproduce this crash, but from the backtrace it's clear that it 
1209         occured because of a NULL frame object. Since it's valid for a frame to
1210         be NULL, I've added NULL checks.
1211
1212         * Plugins/WebBaseNetscapePluginView.mm:
1213         (-[WebBaseNetscapePluginView sendEvent:]):
1214         (-[WebBaseNetscapePluginView requestWithURLCString:]):
1215         (-[WebBaseNetscapePluginView getVariable:value:]):
1216
1217 2006-12-27  Geoffrey Garen  <ggaren@apple.com>
1218
1219         Reviewed by Darin Adler.
1220         
1221         Updated <rdar://problem/4871518> fix based on Darin's comments.
1222
1223         Instead of searching the frame tree to retrieve the new frame, put it in
1224         a RefPtr, and then explicitly check for its removal. This option is slightly
1225         more efficient, and it avoids problems that can occur due to frame name collision.
1226         
1227         * WebCoreSupport/WebFrameBridge.mm:
1228         (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
1229
1230 2006-12-26  Geoffrey Garen  <ggaren@apple.com>
1231
1232         Reviewed by Eric Seidel.
1233
1234         Fixed <rdar://problem/4740328> Safari crash on quit in _NPN_ReleaseObject 
1235         from KJS::Bindings::CInstance::~CInstance
1236         
1237         The essence of this change is that WebKit shouldn't meddle in plug-in
1238         lifetime, since WebCore already manages it. The rest is details.
1239         
1240         * Plugins/WebBaseNetscapePluginView.mm:
1241         (-[WebBaseNetscapePluginView removeTrackingRect]): Autorelease our window
1242         instead of releasing it, since we might hold the last reference to our window,
1243         and releasing it immediately would crash AppKit.
1244         (-[WebBaseNetscapePluginView resetTrackingRect]):
1245
1246         * Plugins/WebNetscapePluginEmbeddedView.h:
1247         * Plugins/WebNetscapePluginEmbeddedView.m:
1248         (-[WebNetscapePluginEmbeddedView dataSource]): Use our DOMElement to access
1249         our WebFrame, since we don't keep around a direct pointer to our WebFrame
1250         anymore.
1251
1252         * Plugins/WebNullPluginView.h:
1253         * Plugins/WebNullPluginView.m:
1254         (-[WebNullPluginView initWithFrame:error:DOMElement:]):
1255         (-[WebNullPluginView dealloc]):
1256         (-[WebNullPluginView viewDidMoveToWindow]): Use our DOMElement to access
1257         our WebFrame, as above.
1258
1259         * WebCoreSupport/WebFrameBridge.mm: Don't call _addPlugInView because it
1260         doesn't exist anymore. Do pass a DOMElement to WebNullPluginView's initializer,
1261         so it can access its frame like WebNetscapePluginEmbeddedView does.
1262         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
1263         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
1264
1265         * WebCoreSupport/WebFrameLoaderClient.h:
1266         * WebCoreSupport/WebFrameLoaderClient.mm: Removed didCloseDocument. It had
1267         two purposes -- one unnecessary, one harmful:
1268         (1) NULL out plug-ins' weak references to their frames. Unnecessary. Having 
1269         plug-ins access their frames through their DOM elements solves this problem.
1270         (2) Unload plug-ins. Harmful. If a plug-in unloads before WebCore is done
1271         with it, WebCore will access unmapped memory. Also unnecessary. WebCore
1272         Widgets take care of calling -removeFromSuperview on their NSViews, which
1273         is sufficient for stopping plug-ins.
1274
1275         * WebKit.xcodeproj/project.pbxproj: Made WebNullPluginView.m ObjC++.
1276
1277         * WebView/WebFrame.mm: Removed _addPlugInView, since it was only used to
1278         call -setWebFrame, which is gone.
1279         (-[WebFramePrivate dealloc]):
1280         * WebView/WebFrameInternal.h: Removed plugInViews, since it was only used
1281         by _addPlugInView, which is gone.
1282
1283 2006-12-26  Geoffrey Garen  <ggaren@apple.com>
1284
1285         Reviewed by Eric Seidel.
1286
1287         Some cleanup in preparation for fixing <rdar://problem/4740328> Safari 
1288         crash on quit in _NPN_ReleaseObject from KJS::Bindings::CInstance::~CInstance
1289         
1290         Renamed "installedPlugins" to "sharedDatabase." This better follows 
1291         the Cocoa naming scheme, and calls out the key attribute that produced this 
1292         crash -- namely, that the database is shared throughout the process.
1293         
1294         -installedPlugins is actually a part of SPI, but a global search showed
1295         that it had no users.
1296
1297         * Plugins/WebPluginDatabase.h:
1298         * Plugins/WebPluginDatabase.m:
1299         (+[WebPluginDatabase sharedDatabase]):
1300         (-[WebPluginDatabase refresh]):
1301         (-[WebPluginDatabase _plugInPaths]):
1302         (-[WebPluginDatabase _removePlugin:]):
1303         * WebCoreSupport/WebViewFactory.m:
1304         (-[WebViewFactory pluginsInfo]):
1305         (-[WebViewFactory refreshPlugins:]):
1306         (-[WebViewFactory pluginSupportsMIMEType:]):
1307         * WebView/WebView.mm:
1308         (+[WebView _supportedMIMETypes]):
1309         (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
1310         (-[WebView _close]):
1311         (-[WebView _pluginForMIMEType:]):
1312         (-[WebView _pluginForExtension:]):
1313         (-[WebView _isMIMETypeRegisteredAsPlugin:]):
1314
1315 2006-12-25  Geoffrey Garen  <ggaren@apple.com>
1316
1317         Reviewed by Adam Roben.
1318         
1319         Fixed <rdar://problem/4778898> REGRESSION: crash in getInstanceForView() 
1320         when quitting from kcbs.com
1321
1322         No testcase because we can't open and close windows in DRT.
1323
1324         The crash was caused by deallocating plug-ins that were later referenced
1325         in the unload event handler.
1326
1327         * Plugins/WebBaseNetscapePluginView.mm: Don't call stop on ourselves because
1328         we may destroy our plugin before the unload handler fires. Also, we don't
1329         need to, since didCloseDocument will do it for us.
1330
1331         (-[WebBaseNetscapePluginView addWindowObservers]): We don't need to listen
1332         for windowWillClose anymore, since we don't want to call -stop on ourselves.
1333         (-[WebBaseNetscapePluginView removeWindowObservers]): ditto.
1334
1335         * WebCoreSupport/WebFrameLoaderClient.h:
1336         * WebCoreSupport/WebFrameLoaderClient.mm:
1337         (WebFrameLoaderClient::didCloseDocument): Renamed from "willCloseDocument."
1338
1339 2006-12-25  Geoffrey Garen  <ggaren@apple.com>
1340
1341         More "plugin" => "pluginPackage" renaming that I forgot to check in.
1342         
1343         * Plugins/WebBaseNetscapePluginView.h:
1344         * Plugins/WebBaseNetscapePluginView.mm:
1345         (-[WebBaseNetscapePluginView setPluginPackage:]):
1346         * Plugins/WebNetscapePluginEmbeddedView.h:
1347         * Plugins/WebNetscapePluginEmbeddedView.m:
1348         (-[WebNetscapePluginEmbeddedView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
1349         * WebCoreSupport/WebFrameBridge.mm:
1350         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
1351         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
1352
1353 2006-12-25  Geoffrey Garen  <ggaren@apple.com>
1354
1355         Reviewed by Eric Seidel.
1356         
1357         Fixed crash when opening view source window.
1358
1359         * WebView/WebView.mm:
1360         (-[WebView initWithCoder:]): Don't use the WebView until calling
1361         _commonInitialization...
1362
1363 2006-12-25  Geoffrey Garen  <ggaren@apple.com>
1364
1365         Reviewed by Oliver Hunt.
1366         
1367         Removed WebCoreSettings, cleaned up WebCore::Settings.
1368
1369         * WebView/WebFrame.mm: Added helper functions for converting between
1370         WebKitEditableLinkBehavior and WebCore::EditableLinkBehavior. I'm not sure
1371         that this is the best place for these functions, but it's where all the
1372         other functions like them reside.
1373         (core):
1374         (kit):
1375         * WebView/WebFrameInternal.h:
1376
1377         * WebView/WebView.mm: Removed uses of WebCoreSettings. Replaced with direct
1378         use of underlying page's settings.
1379
1380 2006-12-25  Geoffrey Garen  <ggaren@apple.com>
1381
1382         Reviewed by Oliver Hunt.
1383         
1384         Some refactoring in preparation for fixing <rdar://problem/4778898> 
1385         REGRESSION: crash in getInstanceForView() when quitting from kcbs.com
1386         
1387         Two renames:
1388             - "plugin" => "pluginPackage" (since the type is WebNetscapePluginPackage *)
1389             - "instance" and/or "pluginPointer" => plugin (since NPP is an opaque handle to a plug-in)
1390         
1391         Removed braces around single-line 'if' statements.
1392         
1393         Made plugin a pointer instead of an inline ivar. This allows us to NULL
1394         it out once we call NPP_Destroy on it.
1395         
1396         Added helper functions for creating and destroying plugin. The destroy function
1397         NULLs out plugin, which helps with debugging.
1398             
1399         (-[WebBaseNetscapePluginView willCallPlugInFunction]): Added an ASSERT
1400         to catch attempts to call functions on destroyed plug-ins.
1401
1402         (-[WebBaseNetscapePluginView _createPlugin]): New helper function.
1403         (-[WebBaseNetscapePluginView _destroyPlugin]): New helper function.
1404
1405 2006-12-24  David Kilzer  <ddkilzer@webkit.org>
1406
1407         Removed empty directory.
1408
1409         * WebKit/Loader: Removed.
1410
1411 2006-12-22  Geoffrey Garen  <ggaren@apple.com>
1412
1413         Reviewed by Brady Eidson.
1414         
1415         Fixed <rdar://problem/4871518> Leopard9A321: Crash visiting www.audible.com 
1416         (WebCore::FrameLoader::loadSubframe)
1417
1418         * WebCoreSupport/WebFrameBridge.mm:
1419         (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
1420         - The fix: 
1421             Changed to re-fetch the child frame we're trying to load before returning it,
1422             since its onload handler may have removed it from the document. This
1423             allows us to treat a removed frame like a frame that never loaded.
1424         
1425         - Plus some cleanup:
1426             - Changed to return a WebCore::Frame* instead of a WebFrameBridge *,
1427             to simplify some code.
1428             - Grouped ObjC objects by usage, and moved calls to -release so that they
1429             immediately follow the calls that retain.
1430
1431 2006-12-21  John Sullivan  <sullivan@apple.com>
1432
1433         Reviewed by Geoff Garen
1434
1435         - improved concept and implementation of my previous checkin after discussing with Darin
1436
1437         * WebView/WebViewPrivate.h:
1438         * WebView/WebView.mm:
1439         (-[WebView setHoverFeedbackSuspended:]):
1440         renamed from setIgnoresMouseMovedEvents, and now tells the main WebHTMLView (if any) that this state has
1441         changed. Telling just the main WebHTMLView is a bit of an implementation hack. Hopefully someday we can
1442         rework the document architecture and make this kind of thing less hacky (but this is following existing
1443         customs, so I don't feel too bad)
1444         (-[WebView isHoverFeedbackSuspended]):
1445         renamed from ignoresMouseMovedEvents
1446
1447         * WebView/WebHTMLViewInternal.h:
1448         declare _hoverFeedbackSuspendedChanged
1449
1450         * WebView/WebHTMLView.m:
1451         (-[WebHTMLView _updateMouseoverWithEvent:]):
1452         test the webView's state of the hit-tested WebHTMLView rather than self 
1453         (-[WebHTMLView _hoverFeedbackSuspendedChanged]):
1454         generate a fake mouse-moved event, which simulates the mouse moving away from
1455         the current element or back over it
1456
1457 2006-12-21  Darin Adler  <darin@apple.com>
1458
1459         Reviewed by Oliver.
1460
1461         * WebInspector/webInspector/inspector.js: Added default values for the new CSS
1462         properties so they don't appear in the inspector when their values are
1463         uninteresting.
1464
1465 2006-12-21  John Sullivan  <sullivan@apple.com>
1466
1467         Reviewed by Geoff Garen
1468
1469         - added WebKit support for making a web page temporarily ignore mouse movements
1470
1471         * WebView/WebViewPrivate.h:
1472         declare ignoresMouseMovedEvents and setIgnoresMouseMovedEvents:
1473
1474         * WebView/WebView.mm:
1475         added ignoresMouseMovedEvents boolean field to _private data structure
1476         (-[WebView setIgnoresMouseMovedEvents:]):
1477         set new boolean field
1478         (-[WebView ignoresMouseMovedEvents]):
1479         return new boolean field
1480
1481         * WebView/WebHTMLView.m:
1482         (-[WebHTMLView _updateMouseoverWithEvent:]):
1483         bail out right away if [[self _webView] ignoresMouseMovedEvents]
1484
1485 2006-12-21  Mark Rowe  <bdash@webkit.org>
1486
1487         Reviewed by Geoff.
1488
1489         http://bugs.webkit.org/show_bug.cgi?id=11888
1490         Bug 11888: REGRESSION (r18320): Web Inspector panes broken
1491
1492         * WebInspector/webInspector/inspector.js: Use removeProperty to reset a style property to its
1493         initial value.  Bail out early from updateNodePane if Inspector has not yet been set.
1494
1495 2006-12-19  John Sullivan  <sullivan@apple.com>
1496
1497         Reviewed by Darin
1498
1499         - fix for unrepro infinite recursion bug:
1500         <rdar://problem/4448181> CrashTracer: 154 crashes in Safari at com.apple.AppKit: 
1501         -[NSView isDescendantOf:] + 24; infinite recursion in makeFirstResponder logic
1502
1503         * WebView/WebView.mm:
1504         added becomingFirstResponder BOOL to private struct
1505         (-[WebView becomeFirstResponder]):
1506         use _private->becomingFirstResponder to guard against infinite recursion; complain on
1507         debug builds if we run into this problem
1508
1509 2006-12-19  Timothy Hatcher  <timothy@apple.com>
1510
1511         Reviewed by Darin.
1512
1513         <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
1514
1515         * WebKit.xcodeproj/project.pbxproj:
1516
1517 2006-12-18  Ada Chan  <adachan@apple.com>
1518
1519         Reviewed by Adam.
1520         
1521         Moved canRunBeforeUnloadConfirmPanel, runBeforeUnloadConfirmPanel, and closeWindowSoon
1522         from WebCoreFrameBridge to Chrome.
1523
1524         * COM/ChromeClientWin.cpp:
1525         (ChromeClientWin::canRunBeforeUnloadConfirmPanel):
1526         (ChromeClientWin::runBeforeUnloadConfirmPanel):
1527         (ChromeClientWin::closeWindowSoon):
1528         * COM/ChromeClientWin.h:
1529         * WebCoreSupport/WebChromeClient.h:
1530         * WebCoreSupport/WebChromeClient.mm:
1531         (WebChromeClient::canRunBeforeUnloadConfirmPanel):
1532         (WebChromeClient::runBeforeUnloadConfirmPanel):
1533         (WebChromeClient::closeWindowSoon):
1534         * WebCoreSupport/WebFrameBridge.mm:
1535
1536 2006-12-18  Alice Liu  <alice.liu@apple.com>
1537
1538         Reviewed by Adam.
1539
1540         Have the Editor handle deletion instead of WebHTMLView
1541
1542         * WebKitPrefix.h:
1543         Turned on WebCore deletion
1544
1545         * WebView/WebHTMLViewInternal.h:
1546         Moved ownership of startNewKillRingSequence to the WebCore::Editor
1547
1548         * WebView/WebHTMLView.m:
1549         (-[NSArray becomeFirstResponder]):
1550         Use the Editor's startNewKillRingSequence flag
1551
1552         (-[NSArray deleteForward:]):
1553         (-[NSArray deleteBackward:]):
1554         (-[NSArray deleteWordForward:]):
1555         (-[NSArray deleteWordBackward:]):
1556         (-[NSArray deleteToBeginningOfLine:]):
1557         (-[NSArray deleteToEndOfLine:]):
1558         (-[NSArray deleteToBeginningOfParagraph:]):
1559         (-[NSArray deleteToEndOfParagraph:]):
1560         (-[NSArray deleteToMark:]):
1561         use Editor::deleteWithDirection instead of WebHTMLView's
1562
1563 2006-12-16  Adele Peterson  <adele@apple.com>
1564
1565         Reviewed by Adam.
1566
1567         WebKit part of fix for:
1568         <rdar://problem/4463829> Switch to use new search field implementation for <input type="search">
1569
1570         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Initialize WKDrawTextFieldCellFocusRing.
1571         * WebInspector/webInspector/inspector.css: Set -webkit-user-select:text and text-shadow:none on the search field.
1572           These are both properties that we didn't honor in the old control, and the inherited values didn't work or look right.
1573
1574 2006-12-16  Beth Dakin  <bdakin@apple.com>
1575
1576         Reviewed by Adam.
1577
1578         WebKit side of making WebCore context menus support state and
1579         enabled/disabled.
1580
1581         * WebCoreSupport/WebContextMenuClient.h: contextMenuItemSelected
1582         takes a pointer to the parentMenu now since menu items no longer
1583         hold onto it.
1584         * WebCoreSupport/WebContextMenuClient.mm: Same.
1585         (WebContextMenuClient::contextMenuItemSelected): Same.
1586         * WebView/WebHTMLView.m: Must call setAutoenablesItems:NO on our
1587         menu.
1588         (-[NSArray menuForEvent:]):
1589         * WebView/WebUIDelegatePrivate.h: No need for if-def.
1590
1591 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
1592
1593         Reviewed by Geoff.
1594
1595         Update for WebCore changes.
1596         
1597         * WebCoreSupport/WebFrameLoaderClient.h:
1598         * WebCoreSupport/WebFrameLoaderClient.mm:
1599         (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
1600         * WebView/WebDataSource.mm:
1601         (-[WebDataSource response]):
1602
1603 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
1604
1605         Reviewed by Darin.
1606
1607         Update for WebCore changes.
1608         
1609         * WebCoreSupport/WebFrameLoaderClient.h:
1610         * WebCoreSupport/WebFrameLoaderClient.mm:
1611         (WebFrameLoaderClient::willUseArchive):
1612         * WebView/WebDataSource.mm:
1613         (-[WebDataSource _URLForHistory]):
1614
1615 2006-12-15  Marvin Decker  <marv.decker@gmail.com>
1616
1617         Reviewed by Darin and Alexey.
1618
1619         Fix the Windows build, move various Client implementations out of
1620         WebCore and into WebKit.
1621
1622         * COM/ChromeClientWin.cpp: Added.
1623         (ChromeClientWin::~ChromeClientWin):
1624         (ChromeClientWin::chromeDestroyed):
1625         (ChromeClientWin::setWindowRect):
1626         (ChromeClientWin::windowRect):
1627         (ChromeClientWin::pageRect):
1628         (ChromeClientWin::scaleFactor):
1629         (ChromeClientWin::focus):
1630         (ChromeClientWin::unfocus):
1631         (ChromeClientWin::createWindow):
1632         (ChromeClientWin::createModalDialog):
1633         (ChromeClientWin::show):
1634         (ChromeClientWin::canRunModal):
1635         (ChromeClientWin::runModal):
1636         (ChromeClientWin::setToolbarsVisible):
1637         (ChromeClientWin::toolbarsVisible):
1638         (ChromeClientWin::setStatusbarVisible):
1639         (ChromeClientWin::statusbarVisible):
1640         (ChromeClientWin::setScrollbarsVisible):
1641         (ChromeClientWin::scrollbarsVisible):
1642         (ChromeClientWin::setMenubarVisible):
1643         (ChromeClientWin::menubarVisible):
1644         (ChromeClientWin::setResizable):
1645         (ChromeClientWin::addMessageToConsole):
1646         * COM/ChromeClientWin.h: Added.
1647         * COM/ContextMenuClientWin.cpp: Added.
1648         (ContextMenuClientWin::~ContextMenuClientWin):
1649         (ContextMenuClientWin::contextMenuDestroyed):
1650         (ContextMenuClientWin::addCustomContextMenuItems):
1651         (ContextMenuClientWin::contextMenuItemSelected):
1652         (ContextMenuClientWin::copyLinkToClipboard):
1653         (ContextMenuClientWin::downloadURL):
1654         (ContextMenuClientWin::copyImageToClipboard):
1655         (ContextMenuClientWin::lookUpInDictionary):
1656         (ContextMenuClientWin::speak):
1657         (ContextMenuClientWin::stopSpeaking):
1658         * COM/ContextMenuClientWin.h: Added.
1659         * COM/EditorClientWin.cpp: Added.
1660         (EditorClientWin::~EditorClientWin):
1661         (EditorClientWin::pageDestroyed):
1662         (EditorClientWin::shouldDeleteRange):
1663         (EditorClientWin::shouldShowDeleteInterface):
1664         (EditorClientWin::smartInsertDeleteEnabled):
1665         (EditorClientWin::isContinuousSpellCheckingEnabled):
1666         (EditorClientWin::toggleContinuousSpellChecking):
1667         (EditorClientWin::isGrammarCheckingEnabled):
1668         (EditorClientWin::toggleGrammarChecking):
1669         (EditorClientWin::spellCheckerDocumentTag):
1670         (EditorClientWin::selectWordBeforeMenuEvent):
1671         (EditorClientWin::isEditable):
1672         (EditorClientWin::shouldBeginEditing):
1673         (EditorClientWin::shouldEndEditing):
1674         (EditorClientWin::shouldInsertNode):
1675         (EditorClientWin::shouldInsertText):
1676         (EditorClientWin::shouldApplyStyle):
1677         (EditorClientWin::didBeginEditing):
1678         (EditorClientWin::respondToChangedContents):
1679         (EditorClientWin::didEndEditing):
1680         (EditorClientWin::registerCommandForUndo):
1681         (EditorClientWin::registerCommandForRedo):
1682         (EditorClientWin::clearUndoRedoOperations):
1683         (EditorClientWin::canUndo):
1684         (EditorClientWin::canRedo):
1685         (EditorClientWin::undo):
1686         (EditorClientWin::redo):
1687         * COM/EditorClientWin.h: Added.
1688         * COM/WebFrame.cpp:
1689         (WebFrame::WebFrame):
1690         (WebFrame::initWithName):
1691         * COM/WebFrame.h:
1692         * COM/WebFrameLoaderClient.cpp: Added.
1693         (WebFrameLoaderClient::WebFrameLoaderClient):
1694         (WebFrameLoaderClient::~WebFrameLoaderClient):
1695         (WebFrameLoaderClient::frameLoaderDestroyed):
1696         (WebFrameLoaderClient::hasWebView):
1697         (WebFrameLoaderClient::hasFrameView):
1698         (WebFrameLoaderClient::hasBackForwardList):
1699         (WebFrameLoaderClient::resetBackForwardList):
1700         (WebFrameLoaderClient::provisionalItemIsTarget):
1701         (WebFrameLoaderClient::loadProvisionalItemFromPageCache):
1702         (WebFrameLoaderClient::invalidateCurrentItemPageCache):
1703         (WebFrameLoaderClient::privateBrowsingEnabled):
1704         (WebFrameLoaderClient::makeDocumentView):
1705         (WebFrameLoaderClient::makeRepresentation):
1706         (WebFrameLoaderClient::forceLayout):
1707         (WebFrameLoaderClient::forceLayoutForNonHTML):
1708         (WebFrameLoaderClient::updateHistoryForCommit):
1709         (WebFrameLoaderClient::updateHistoryForBackForwardNavigation):
1710         (WebFrameLoaderClient::updateHistoryForReload):
1711         (WebFrameLoaderClient::updateHistoryForStandardLoad):
1712         (WebFrameLoaderClient::updateHistoryForInternalLoad):
1713         (WebFrameLoaderClient::updateHistoryAfterClientRedirect):
1714         (WebFrameLoaderClient::setCopiesOnScroll):
1715         (WebFrameLoaderClient::tokenForLoadErrorReset):
1716         (WebFrameLoaderClient::resetAfterLoadError):
1717         (WebFrameLoaderClient::doNotResetAfterLoadError):
1718         (WebFrameLoaderClient::willCloseDocument):
1719         (WebFrameLoaderClient::detachedFromParent1):
1720         (WebFrameLoaderClient::detachedFromParent2):
1721         (WebFrameLoaderClient::detachedFromParent3):
1722         (WebFrameLoaderClient::detachedFromParent4):
1723         (WebFrameLoaderClient::loadedFromPageCache):
1724         (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
1725         (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
1726         (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
1727         (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
1728         (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
1729         (WebFrameLoaderClient::dispatchWillClose):
1730         (WebFrameLoaderClient::dispatchDidReceiveIcon):
1731         (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
1732         (WebFrameLoaderClient::dispatchDidReceiveTitle):
1733         (WebFrameLoaderClient::dispatchDidCommitLoad):
1734         (WebFrameLoaderClient::dispatchDidFinishLoad):
1735         (WebFrameLoaderClient::dispatchDidFirstLayout):
1736         (WebFrameLoaderClient::dispatchShow):
1737         (WebFrameLoaderClient::cancelPolicyCheck):
1738         (WebFrameLoaderClient::dispatchWillSubmitForm):
1739         (WebFrameLoaderClient::dispatchDidLoadMainResource):
1740         (WebFrameLoaderClient::clearLoadingFromPageCache):
1741         (WebFrameLoaderClient::isLoadingFromPageCache):
1742         (WebFrameLoaderClient::revertToProvisionalState):
1743         (WebFrameLoaderClient::clearUnarchivingState):
1744         (WebFrameLoaderClient::progressStarted):
1745         (WebFrameLoaderClient::progressCompleted):
1746         (WebFrameLoaderClient::setMainFrameDocumentReady):
1747         (WebFrameLoaderClient::willChangeTitle):
1748         (WebFrameLoaderClient::didChangeTitle):
1749         (WebFrameLoaderClient::finishedLoading):
1750         (WebFrameLoaderClient::finalSetupForReplace):
1751         (WebFrameLoaderClient::setDefersLoading):
1752         (WebFrameLoaderClient::isArchiveLoadPending):
1753         (WebFrameLoaderClient::cancelPendingArchiveLoad):
1754         (WebFrameLoaderClient::clearArchivedResources):
1755         (WebFrameLoaderClient::canHandleRequest):
1756         (WebFrameLoaderClient::canShowMIMEType):
1757         (WebFrameLoaderClient::representationExistsForURLScheme):
1758         (WebFrameLoaderClient::generatedMIMETypeForURLScheme):
1759         (WebFrameLoaderClient::frameLoadCompleted):
1760         (WebFrameLoaderClient::restoreScrollPositionAndViewState):
1761         (WebFrameLoaderClient::provisionalLoadStarted):
1762         (WebFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
1763         (WebFrameLoaderClient::addHistoryItemForFragmentScroll):
1764         (WebFrameLoaderClient::didFinishLoad):
1765         (WebFrameLoaderClient::prepareForDataSourceReplacement):
1766         (WebFrameLoaderClient::setTitle):
1767         (WebFrameLoaderClient::userAgent):
1768         * COM/WebFrameLoaderClient.h: Added.
1769         * COM/WebKitDLL.h:
1770         * WebKit.vcproj/WebKit.vcproj:
1771
1772 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
1773
1774         Reviewed by Darin.
1775
1776         Include ResourceError.h.
1777         
1778         * Plugins/WebNetscapePluginStream.mm:
1779         * WebKit.xcodeproj/project.pbxproj:
1780
1781 2006-12-14  Anders Carlsson  <acarlsson@apple.com>
1782
1783         Reviewed by Maciej.
1784
1785         Update for WebCore changes.
1786         
1787         * WebCoreSupport/WebFrameLoaderClient.h:
1788         * WebCoreSupport/WebFrameLoaderClient.mm:
1789         (WebFrameLoaderClient::incrementProgress):
1790         (WebFrameLoaderClient::committedLoad):
1791         (WebFrameLoaderClient::deliverArchivedResources):
1792         * WebView/WebView.mm:
1793         (-[WebView _incrementProgressForIdentifier:length:]):
1794         * WebView/WebViewInternal.h:
1795
1796 2006-12-14  Timothy Hatcher  <timothy@apple.com>
1797
1798         Reviewed by Darin.
1799
1800         <rdar://problem/4827549> need NSRange-based selection support exposed.
1801
1802         * WebView/WebFrame.mm:
1803         (-[WebFrame _selectedNSRange]):
1804         (-[WebFrame _selectNSRange:]):
1805         * WebView/WebFramePrivate.h:
1806
1807 2006-12-14  Anders Carlsson  <acarlsson@apple.com>
1808
1809         Reviewed by John.
1810
1811         Update for WebCore changes.
1812         
1813         * WebCoreSupport/WebFrameLoaderClient.h:
1814         * WebCoreSupport/WebFrameLoaderClient.mm:
1815         (WebFrameLoaderClient::dispatchDidFailLoading):
1816         (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
1817         (WebFrameLoaderClient::dispatchDidFailLoad):
1818         (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
1819         (WebFrameLoaderClient::setMainDocumentError):
1820         (WebFrameLoaderClient::cancelledError):
1821         (WebFrameLoaderClient::cannotShowURLError):
1822         (WebFrameLoaderClient::interruptForPolicyChangeError):
1823         (WebFrameLoaderClient::cannotShowMIMETypeError):
1824         (WebFrameLoaderClient::fileDoesNotExistError):
1825         (WebFrameLoaderClient::shouldFallBack):
1826
1827 2006-12-13  Maciej Stachowiak  <mjs@apple.com>
1828
1829         Reviewed by Anders.
1830         
1831         - adjusted for changes from NSURLRequest to ResourceRequest
1832
1833         * Plugins/WebPluginController.mm:
1834         * WebCoreSupport/WebFrameLoaderClient.h:
1835         * WebCoreSupport/WebFrameLoaderClient.mm:
1836         (WebFrameLoaderClient::updateHistoryForReload):
1837         (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
1838         (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
1839         (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
1840         (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
1841         (WebFrameLoaderClient::startDownload):
1842         (WebFrameLoaderClient::cannotShowURLError):
1843         (WebFrameLoaderClient::createDocumentLoader):
1844         * WebView/WebDataSource.mm:
1845         (-[WebDataSource _initWithDocumentLoader:]):
1846         (-[WebDataSource initialRequest]):
1847         (-[WebDataSource request]):
1848         * WebView/WebDocumentLoaderMac.h:
1849         * WebView/WebDocumentLoaderMac.mm:
1850         (WebDocumentLoaderMac::WebDocumentLoaderMac):
1851         * WebView/WebFrame.mm:
1852         (-[WebFrame _createItem:]):
1853         (-[WebFrame _loadItem:withLoadType:]):
1854         (-[WebFrame loadArchive:]):
1855
1856 2006-12-12  Anders Carlsson  <acarlsson@apple.com>
1857
1858         Reviewed by Darin.
1859
1860         * WebCoreSupport/WebFrameLoaderClient.h:
1861         * WebCoreSupport/WebFrameLoaderClient.mm:
1862         (WebFrameLoaderClient::download):
1863         Get the handle and proxy from the ResourceHandle now that they aren't passed to us.
1864         
1865 2006-12-11  Darin Adler  <darin@apple.com>
1866
1867         Reviewed by Brady.
1868
1869         - did some of the Mac-specific file moves mentioned in my recent mail to the WebKit list
1870
1871         * WebCoreSupport/WebFrameBridge.h: Updated for change to WebCoreKeyboardAccess.
1872         * WebCoreSupport/WebFrameBridge.mm:
1873         (-[WebFrameBridge _retrieveKeyboardUIModeFromPreferences:]): Ditto.
1874         (-[WebFrameBridge keyboardUIMode]): Ditto.
1875
1876 2006-12-11  Beth Dakin  <bdakin@apple.com>
1877
1878         Reviewed by Adam.
1879
1880         WebKit support for editing sub-menu actions.
1881
1882         * WebCoreSupport/WebContextMenuClient.h: New functions for the
1883         speech sub-menu.
1884         * WebCoreSupport/WebContextMenuClient.mm:
1885         (WebContextMenuClient::speak):
1886         (WebContextMenuClient::stopSpeaking):
1887         * WebCoreSupport/WebEditorClient.h: New functions to toggle
1888         spelling/grammar checking.
1889         * WebCoreSupport/WebEditorClient.mm:
1890         (WebEditorClient::toggleContinuousSpellChecking):
1891         (WebEditorClient::toggleGrammarChecking):
1892         * WebView/WebUIDelegatePrivate.h: Re-named some of the spelling
1893         sub-menu tags.
1894
1895 2006-12-11  Alice Liu  <alice.liu@apple.com>
1896
1897         Reviewed by Geoff, Adam.
1898         
1899         switch to use the Editor for copying URLs
1900
1901         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1902         (-[WebDefaultUIDelegate copyLinkToClipboard:]):
1903         Call down to the editor for this. 
1904         * WebCoreSupport/WebSystemInterface.m:
1905         (InitWebCoreSystemInterface):
1906         Add some calls necessary for Pasteboard::writeURL to work
1907
1908 2006-12-11  Darin Adler  <darin@apple.com>
1909
1910         Reviewed by Brady.
1911
1912         - http://bugs.webkit.org/show_bug.cgi?id=11794
1913           fix lifetime problems affecting Frame's ownerElement pointer
1914
1915         * WebCoreSupport/WebFrameBridge.mm:
1916         (-[WebFrameBridge finishInitializingWithPage:WebCore::frameName:frameView:ownerElement:]):
1917         (-[WebFrameBridge initSubframeWithOwnerElement:frameName:frameView:]):
1918         (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
1919         Use HTMLFrameOwnerElement.
1920
1921         * WebCoreSupport/WebFrameLoaderClient.mm: Include the relevant headers for the
1922         HTMLFormElement class.
1923
1924         * WebKit.xcodeproj/project.pbxproj: Let Xcode have its way.
1925
1926         * WebView/WebFrame.mm: (-[WebFrame frameElement]): Update includes and types for the
1927         change in return type of ownerElement.
1928
1929 2006-12-11  David Harrison  <harrison@apple.com>
1930
1931         Fix previous checkin where I committed the wrong file.
1932
1933         <rdar://problem/4863611> Xyle Scope crashes at launch due to WebCore-521.29.3
1934
1935         * WebView/WebFrame.mm:
1936         (-[WebFrame frameElement]):
1937         Add nil check.
1938         
1939         * WebView/WebPreferences.m:
1940         (-[WebPreferences editableLinkBehavior]):
1941         Reverted to previous.
1942
1943 2006-12-08  David Hyatt  <hyatt@apple.com>
1944
1945         Land new ICU abstraction layer.  Patch by Lars.
1946
1947         Reviewed by me
1948
1949         * ForwardingHeaders/wtf/icu/UnicodeIcu.h: Added.
1950         * ForwardingHeaders/wtf/unicode/Unicode.h: Added.
1951         * WebKit.xcodeproj/project.pbxproj:
1952
1953 === Safari-521.32 ===
1954
1955 2006-12-08  Timothy Hatcher  <timothy@apple.com>
1956
1957         Rolling out a change that broke Mail stationary.
1958         <rdar://problem/4699166> REGRESSION: Background images in Mail stationery do not load
1959
1960         * WebView/WebUnarchivingState.m:
1961         (-[WebUnarchivingState archivedResourceForURL:]):
1962
1963 2006-12-08  Don Gibson  <dgibson77@gmail.com>
1964
1965         Reviewed and landed by Alexey.
1966
1967         http://bugs.webkit.org/show_bug.cgi?id=11759:
1968         Windows build bustage
1969
1970         * COM/WebFrame.cpp:
1971         (WebFrame::loadDataSource):
1972         * COM/WebFrame.h:
1973
1974 2006-12-08  David Harrison  <harrison@apple.com>
1975
1976         Reviewed by Brady.
1977
1978         <rdar://problem/4863611> Xyle Scope crashes at launch due to WebCore-521.29.3
1979
1980         * WebView/WebPreferences.m:
1981         (-[WebPreferences editableLinkBehavior]):
1982         Add nil check.
1983
1984 2006-12-07  Beth Dakin  <bdakin@apple.com>
1985
1986         Reviewed by Brady.
1987
1988         Build fix for WebCore ContextMenus. It got broken by r18046.
1989
1990         * WebView/WebHTMLView.m:
1991         (-[NSArray menuForEvent:]):
1992
1993 2006-12-07  Beth Dakin  <bdakin@apple.com>
1994
1995         Reviewed by Brady.
1996
1997         Make some parameters const and const references.
1998
1999         * WebCoreSupport/WebContextMenuClient.h:
2000         * WebCoreSupport/WebContextMenuClient.mm:
2001         (WebContextMenuClient::contextMenuItemSelected):
2002         (WebContextMenuClient::copyLinkToClipboard):
2003         (WebContextMenuClient::downloadURL):
2004         (WebContextMenuClient::copyImageToClipboard):
2005
2006 2006-12-06  Brady Eidson  <beidson@apple.com>
2007
2008         Reviewed by John Sullivan
2009
2010         Fixes http://bugs.webkit.org/show_bug.cgi?id=11675 and <rdar://4857669>
2011         Now we need to explicitly set the data source when loading from a page cache
2012
2013         * History/WebHistoryItem.mm:
2014         (-[WebHistoryItem _scheduleRelease]): Enhanced a logging message
2015         (+[WebHistoryItem _releasePageCache:]): Ditto
2016         (+[WebHistoryItem _releaseAllPendingPageCaches]): Ditto
2017         * WebCoreSupport/WebFrameLoaderClient.mm:
2018         (WebFrameLoaderClient::setDocumentViewFromPageCache): Reset the View's DataSource from the cache, effectively reopening it
2019         * WebView/WebHTMLView.m:
2020         (-[NSArray setDataSource:]): Properly Handle resetting the DataSource and "reopening" the view
2021
2022 2006-12-06  Brady Eidson  <beidson@apple.com>
2023
2024         Reviewed by Adam and Oliver
2025
2026         While working on http://bugs.webkit.org/show_bug.cgi?id=11675 I
2027         decided to fix much of the null-deref problems that creeped in via 
2028         the loader refactoring.  This isn't changing behavior, just reintroducing
2029         the free nil checking we used to have with pure ObjC
2030
2031         * WebView/WebHTMLView.m:
2032         (-[NSArray menuForEvent:]):  Explicitly check for null frames
2033         (-[NSArray mouseDown:]):  Ditto
2034         (-[NSArray mouseDragged:]):  Ditto
2035         (-[NSArray mouseUp:]):  Ditto
2036         (-[NSArray performKeyEquivalent:]):  Ditto
2037         (-[WebHTMLView elementAtPoint:allowShadowContent:]):  Ditto
2038
2039 2006-12-05  John Sullivan  <sullivan@apple.com>
2040
2041         Reviewed by Beth
2042
2043         Updated to match Frame -> Editor changes in WebCore
2044
2045         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
2046         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
2047         guessesForUngrammaticalSelection() is now in Editor
2048
2049         * WebView/WebHTMLView.m:
2050         (-[WebHTMLView _isSelectionUngrammatical]):
2051         isSelectionUngrammatical() is now in Editor
2052         (-[WebHTMLView _isSelectionMisspelled]):
2053         isSelectionMisspelled() is now in Editor
2054
2055         (-[WebHTMLView checkSpelling:]):
2056         advanceToNextMisspelling() is now in Editor
2057         (-[WebHTMLView showGuessPanel:]):
2058         ditto
2059
2060 2006-12-05  John Sullivan  <sullivan@apple.com>
2061
2062         Reviewed by Adam
2063         
2064         Old context-menu mechanism fix for:
2065         <rdar://problem/4864351> Should leave out "No Guesses Found" from context menu for bad grammar
2066
2067         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
2068         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
2069         Leave out "No Guesses Found" and separator for grammar-checking case.
2070
2071 2006-12-05  John Sullivan  <sullivan@apple.com>
2072
2073         build fix
2074
2075         * WebView/WebViewPrivate.h:
2076         * WebView/WebView.mm:
2077         (-[WebView isGrammarCheckingEnabled]):
2078         define isGrammarCheckingEnabled whether on Tiger or not (just return NO on Tiger)
2079
2080 2006-12-04  John Sullivan  <sullivan@apple.com>
2081
2082         Reviewed by Darin
2083
2084         WebKit part of fix for:
2085         <rdar://problem/4817188> Context menu for bad grammar should include suggestions and "Ignore Grammar"
2086
2087         The context menu mechanism is currently in flux; the old mechanism is still in place, but an
2088         up-and-coming new mechanism is waiting in the wings. I updated both of them, but couldn't
2089         test the new mechanism because it doesn't work well enough yet. Most of this WebKit code
2090         can be deleted when the new mechanism is in place.
2091
2092         * WebView/WebUIDelegatePrivate.h:
2093         added WebMenuItemTagIgnoreGrammar
2094
2095         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
2096         (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
2097         added case for WebMenuItemTagIgnoreGrammar
2098         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
2099         now considers adding grammar-related items as well as spelling-related items
2100         
2101         * WebView/WebHTMLViewPrivate.h:
2102         declared _isSelectionUngrammatical
2103
2104         * WebView/WebHTMLView.m:
2105         (-[WebHTMLView _isSelectionUngrammatical]):
2106         new method, calls through to WebCore
2107         (-[WebHTMLView _ignoreGrammarFromMenu:]):
2108         new method, calls _ignoreSpellingFromMenu: since NSSpellChecker has one method for both
2109
2110         * English.lproj/Localizable.strings:
2111         updated for "Ignore Grammar" menu item title
2112
2113 2006-12-04  Darin Adler  <darin@apple.com>
2114
2115         Reviewed by Adele.
2116
2117         * WebCoreSupport/WebFrameLoaderClient.mm:
2118         (WebFrameLoaderClient::actionDictionary): Changed to use the new
2119         findEventWithKeyState function in WebCore instead of a local function
2120         in this file.
2121
2122 2006-12-04  Geoffrey Garen  <ggaren@apple.com>
2123
2124         Rolled out the WebDashboardBehaviorUseBackwardCompatibilityModeEnabled
2125         part of my last checkin.
2126         
2127         We have to turn on support for backward compatibility mode to avoid Dashboard
2128         regressions in the short term.
2129
2130         * WebView/WebView.mm:
2131         (-[WebView _setDashboardBehavior:to:]):
2132
2133 2006-12-02  Geoffrey Garen  <ggaren@apple.com>
2134
2135         Reviewed by Darin Adler.
2136         
2137         Added SPI for enabling Dashboard backward compatibility mode. For now,
2138         we enable it unconditionally for Dashboard and Dashcode. Once they 
2139         implement specific support for the backward compatibility mode behavior,
2140         we can change that.
2141         
2142         Set the default WebDashboardBehaviorUseBackwardCompatibilityModeEnabled
2143         to YES in order to turn this code on.
2144
2145         * WebView/WebView.mm:
2146         (-[WebView _setDashboardBehavior:to:]):
2147         (-[WebView _dashboardBehavior:]):
2148         * WebView/WebViewPrivate.h:
2149
2150 2006-12-04  Darin Adler  <darin@apple.com>
2151
2152         Reviewed by Alice.
2153
2154         * WebCoreSupport/WebEditorClient.h: Removed "_web_" prefix from
2155         C++ userVisibleString member function.
2156         * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::userVisibleString):
2157         Ditto.
2158
2159         * WebView/WebView.mm: (-[WebView selectedFrame]): Removed extra return statement.
2160
2161 2006-12-04  Don Gibson  <dgibson77@gmail.com>
2162
2163         Reviewed and landed by Alexey.
2164
2165         http://bugs.webkit.org/show_bug.cgi?id=11738:
2166         Make link clicking work again on Windows.
2167
2168         The WebKit changes are to ignore WM_MOUSEMOVED messages when the mouse
2169         hasn't actually moved, which were preventing clicks from actually
2170         getting dispatched in many cases.  It's a peculiarity of Windows mouse
2171         handling that we receive these at all.
2172
2173         * COM/WebView.cpp:
2174         (WebView::WebView):
2175         (WebView::mouseMoved):
2176         * COM/WebView.h:
2177
2178 2006-12-04  John Sullivan  <sullivan@apple.com>
2179
2180         Reviewed by Anders
2181
2182         - fixed <rdar://problem/4857833> REGRESSION: When ctrl-clicking on a misspelled word, "Ignore Spelling" and "Learn Spelling" 
2183           menu items not displayed in the contextual menu
2184
2185         * WebView/WebHTMLView.m:
2186         (-[WebHTMLView _isSelectionMisspelled]):
2187         We were computing isSelectionMisspelled by calling WebCore, but then ignoring the result and always
2188         returning NO. D'oh!
2189
2190 2006-12-01  Beth Dakin  <bdakin@apple.com>
2191
2192         Reviewed by Adam.
2193
2194         Changes to support sub-menus in WebCore ContextMenus.
2195
2196         * WebCoreSupport/WebContextMenuClient.mm:
2197         (WebContextMenuClient::contextMenuItemSelected): 
2198         ContextMenuItem::menu() is now called parentMenu()
2199         * WebView/WebUIDelegatePrivate.h: New not-yet-API tags.
2200
2201 2006-12-01  Darin Adler  <darin@apple.com>
2202
2203         Reviewed by Mitz.
2204
2205         - fix http://bugs.webkit.org/show_bug.cgi?id=11628
2206           REGRESSION (r17597): Command-return in native text fields doesn't open a new tab or window
2207
2208         * WebCoreSupport/WebFrameLoaderClient.mm:
2209         (findKeyStateEvent): Added. Helper that finds the mouse or keyboard event in a chain
2210         of events and their underlying events.
2211         (findMouseEvent): Added. Same, but specifically for mouse events.
2212         (WebFrameLoaderClient::actionDictionary): Rewrote to use the above functions. This means we
2213         use the modifiers from the underlying events rather than just the one from the event itself.
2214         So if the event is a DOM activate event, we can still see the modifiers from the original
2215         keyboard event that triggered it. Has no effect if the event is already the right type or
2216         if there is no underlying event.
2217
2218         * WebView/WebFrame.mm: Added a newly-needed include.
2219
2220         * WebKit.xcodeproj/project.pbxproj: Xcode wants what it wants.
2221
2222 2006-12-01  Don Gibson  <dgibson77@gmail.com>
2223
2224         Reviewed by Mitz.
2225
2226         http://bugs.webkit.org/show_bug.cgi?id=11732:
2227         Windows build bustage.
2228
2229         * COM/WebFrame.cpp:
2230         (WebFrame::initWithName):
2231
2232 2006-12-01  Timothy Hatcher  <timothy@apple.com>
2233
2234         Reviewed by Adam.
2235
2236         <rdar://problem/4841432> 9A312: iWeb crashes on launch; _WebReportError missing from WebKit
2237
2238         Added back WebReportAssertionFailure and WebReportError for apps that still need these symbols.
2239
2240         * Misc/OldWebAssertions.c: Added.
2241         (WebReportAssertionFailure):
2242         (WebReportError):
2243         * WebKit.LP64.exp: added the new symbols, and sorted the file
2244         * WebKit.exp: added the new symbols, and sorted the file
2245         * WebKit.xcodeproj/project.pbxproj:
2246
2247 2006-11-30  Geoffrey Garen  <ggaren@apple.com>
2248
2249         Rubber Stamped by Anders Carlsson.
2250
2251         Global rename of Document::focusNode to Document::focusedNode. 'focusNode'
2252         suggested a command, and conflicted with a different meaning for 'focusNode'
2253         in the Mozilla selection API.
2254
2255         * WebView/WebHTMLView.m:
2256         (-[NSArray clearFocus]):
2257
2258 2006-11-30  Matt Lilek  <pewtermoose@gmail.com>
2259
2260         Reviewed by Mitz.
2261
2262         Bug 10698: Scroll wheel causes inspector to shift up
2263         http://bugs.webkit.org/show_bug.cgi?id=10698
2264
2265         Remove size attribute from the tree popup as a workaround for
2266         http://bugs.webkit.org/show_bug.cgi?id=11362 Bug 11362: Native popup with size="1" wraps options
2267
2268         * WebInspector/webInspector/inspector.css:
2269         * WebInspector/webInspector/inspector.html:
2270
2271 2006-11-30  Matt Lilek  <pewtermoose@gmail.com>
2272
2273         Reviewed by Tim H.
2274
2275         Move web inspector style markup to javascript to fix http://bugs.webkit.org/show_bug.cgi?id=6724
2276         Bug 6724: Text copied from Web Inspector is different from actual text
2277
2278         * WebInspector/webInspector/inspector.css:
2279         * WebInspector/webInspector/inspector.js:
2280
2281 2006-11-30  Adam Roben  <aroben@apple.com>
2282
2283         Reviewed by Beth.
2284
2285         Put code in place to use WebCore context menus when they are turned
2286         on.
2287
2288         * WebView/WebHTMLView.m:
2289         (-[NSArray menuForEvent:]):
2290
2291 2006-11-29  Timothy Hatcher  <timothy@apple.com>
2292
2293         Reviewed by Oliver.
2294
2295         Keep preferences separate from the rest of the client, making sure we are using expected preference values.
2296         This lets the inspector work when plugins are disabled for the WebView.
2297
2298         * WebInspector/WebInspector.m:
2299         (-[NSWindow window]):
2300
2301 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
2302
2303         Reviewed by Tim.
2304
2305         Add back methods in WebCoreStatistics that are still used by Tiger Safari.
2306         
2307         * Misc/WebCoreStatistics.h:
2308         * Misc/WebCoreStatistics.m:
2309         (+[WebCoreStatistics emptyCache]):
2310         (+[WebCoreStatistics setCacheDisabled:]):
2311
2312 2006-11-28  Alice Liu  <alice.liu@apple.com>
2313
2314         Reviewed by Maciej.
2315
2316         A fix for a couple failing layout tests involving copy/cut in iframes.
2317
2318         * WebCoreSupport/WebEditorClient.h:
2319         * WebCoreSupport/WebEditorClient.mm:
2320         (WebEditorClient::dataForArchivedSelection):
2321         Use the frame parameter instead of using the webview's selectedFrame. 
2322
2323 2006-11-28  Beth Dakin  <bdakin@apple.com>
2324
2325         Reviewed by Geoffff.
2326
2327         Fix for http://bugs.webkit.org/show_bug.cgi?id=11691 REGRESSION 
2328         (r17399, r17511): WebElementDictionary no longer returns nil 
2329         NSStrings
2330
2331         String's NSString* operator converts null Strings to empty 
2332         NSStrings for compatibility with AppKit. We need to work around 
2333         that here.
2334
2335         * Misc/WebElementDictionary.m:
2336         (NSStringOrNil):
2337         (-[WebElementDictionary _altDisplayString]):
2338         (-[WebElementDictionary _spellingToolTip]):
2339         (-[WebElementDictionary _title]):
2340         (-[WebElementDictionary _titleDisplayString]):
2341         (-[WebElementDictionary _textContent]):
2342
2343 2006-11-28  Geoffrey Garen  <ggaren@apple.com>
2344
2345         Reviewed by Beth Dakin.
2346
2347         Fixed <rdar://problem/4844855> Should clarify when to create clients in 
2348         the WebCore client API
2349         
2350         All clients must now be supplied as constructor arguments. This clarifies 
2351         when you need to create clients, and also guarantees that objects can't 
2352         (for the most part) be in a clientless state.
2353
2354         Layout tests pass. No leaks reported.
2355         
2356         * WebCoreSupport/WebFrameBridge.mm: Shuffled around initialization and changed
2357         some arguments to resolve ciruclar dependencies at init time.
2358         (-[WebFrame _initWithWebFrameView:webView:bridge:]): We no longer call setClient
2359         here, because the client is set up at construction time.
2360
2361 2006-11-28  Anders Carlsson  <acarlsson@apple.com>
2362
2363         Reviewed by Maciej.
2364
2365         Update for changes to ResourceRequest.
2366         
2367         * WebCoreSupport/WebChromeClient.mm:
2368         (WebChromeClient::createWindow):
2369         (WebChromeClient::createModalDialog):
2370         * WebCoreSupport/WebFrameLoaderClient.mm:
2371         (WebFrameLoaderClient::canHandleRequest):
2372
2373 2006-11-28  Adam Roben  <aroben@apple.com>
2374
2375         Reviewed by Beth.
2376
2377         More WebCore context menu work.
2378
2379         * DefaultDelegates/WebDefaultUIDelegate.m: New stub delegate method implementation.
2380         (-[NSApplication webView:contextMenuItemSelected:forElement:]):
2381         * WebCoreSupport/WebContextMenuClient.h: Updated to match ContextMenuClient.h changes.
2382         * WebCoreSupport/WebContextMenuClient.mm:
2383         (WebContextMenuClient::addCustomContextMenuItems): Updated for method name changes.
2384         (WebContextMenuClient::contextMenuItemSelected): Added new client method.
2385         * WebView/WebUIDelegatePrivate.h: New private delegate method declaration.
2386
2387 2006-11-28  Alice Liu  <alice.liu@apple.com>
2388
2389         Reviewed by Justin and Adam.
2390
2391         * WebCoreSupport/WebEditorClient.h:
2392         * WebCoreSupport/WebEditorClient.mm:
2393         added the following        
2394         (WebEditorClient::smartInsertDeleteEnabled):
2395         (WebEditorClient::dataForArchivedSelectionInFrame):
2396         (WebEditorClient::_web_userVisibleString):
2397         (WebEditorClient::shouldInsertNode):
2398         
2399         * WebKitPrefix.h:
2400         Added flags to control whether WebCore cut/copy/paste is enabled.
2401         Turned on Cut and Copy, left Paste and Delete off
2402         
2403         * WebView/WebHTMLViewPrivate.h:
2404         * WebView/WebHTMLView.m:
2405         removed _can[Cut|Copy|Paste|Delete]
2406         (-[NSArray validateUserInterfaceItem:]):
2407         call the editor for canDHTML[C|C|P|D] and _can[C|C|P|D] instead 
2408         (-[NSArray delete:]):
2409         added code to call the editor's delete instead (not turned on)
2410         (-[WebHTMLView copy:]):
2411         added code to call the editor's copy (turned on)
2412         (-[WebHTMLView cut:]):
2413         added code to call the editor's cut (turned on)
2414         (-[WebHTMLView paste:]):
2415         added code to call the editor's paste (not turned on)
2416
2417 2006-11-28  Geoffrey Garen  <ggaren@apple.com>
2418
2419         Reviewed by Adam.
2420
2421         Fixed <rdar://problem/4844848> REGRESSION: extra cross-library ref/deref 
2422         calls cause .5% PLT regression.
2423         
2424         Changed ref/deref calls to a single 'xxxDestroyed' call. Moved EditorClient
2425         from the Frame to the Page, since it's only responsible for
2426         Webview-level delegate calls.
2427         
2428         I don't really love this design, but it fixes the regression and allows
2429         a single WebKit object to implement multiple client interfaces.
2430         
2431         Layout tests pass.
2432
2433 2006-11-27  Beth Dakin  <bdakin@apple.com>
2434
2435         Reviewed by Adam.
2436
2437         WebKit half of getting rid of the FixMes in ContextMenu.cpp
2438
2439         * WebCoreSupport/WebFrameLoaderClient.h: canHandleRequest takes a 
2440         ResourceRequest now.
2441         * WebCoreSupport/WebFrameLoaderClient.mm:
2442         (WebFrameLoaderClient::canHandleRequest): Same.
2443         * WebView/WebHTMLView.m:
2444         (-[WebHTMLView _isSelectionMisspelled]): Call into WebCore.
2445
2446 2006-11-27  Ada Chan  <adachan@apple.com>
2447
2448         Reviewed by Adam.
2449
2450         Part of the change to move WebCoreCache into WebKit:
2451         Added WebCache which handles emptying and enable/disabling the cache.
2452         emptyCache and setCacheDisabled have been removed from WebCoreStatistics.
2453
2454         * Misc/WebCache.h: Added.
2455         * Misc/WebCache.mm: Added.
2456         * Misc/WebCoreStatistics.h:
2457         * Misc/WebCoreStatistics.m:
2458         (+[WebCoreStatistics statistics]):
2459         * WebKit.exp:
2460         * WebKit.xcodeproj/project.pbxproj:
2461
2462 2006-11-27  Anders Carlsson  <acarlsson@apple.com>
2463
2464         Reviewed by Adam.
2465
2466         Move addMessageToConsole to Chrome.
2467
2468         * WebCoreSupport/WebChromeClient.h:
2469         * WebCoreSupport/WebChromeClient.mm:
2470         (WebChromeClient::addMessageToConsole):
2471         * WebCoreSupport/WebFrameBridge.mm:
2472
2473 2006-11-27  Brady Eidson  <beidson@apple.com>
2474
2475         Reviewed by Anders
2476
2477         Moved unused Private SPI to Internal and pruned other unused code
2478
2479         * Misc/WebIconDatabase.m:
2480         * Misc/WebIconDatabasePrivate.h:
2481
2482 2006-11-21  Darin Adler  <darin@apple.com>
2483
2484         Reviewed by Maciej.
2485
2486         - make the close method do a more-complete job to prevent world leaks seen when
2487           running some of the layout tests
2488
2489         * WebView/WebHTMLViewInternal.h: Added declaration of -[WebHTMLViewPrivate clear].
2490         * WebView/WebHTMLView.m:
2491         (-[WebHTMLViewPrivate clear]): Added method to drop references to other objects.
2492         We want to do this at "close" time, rather than waiting for deallocation time.
2493         This is especially important for the data source, which indirectly keeps a number of
2494         objects alive.
2495         (-[WebHTMLView close]): Added an explicit call to clear out the data source on the
2496         plug-in controller. Without this, we'd see the plug-in controller making calls to
2497         a deallocated data source during the layout tests. Added a call to the new clear method
2498         on the private object so that we release the objects at close time instead of waiting
2499         for deallocation time.
2500
2501         * WebKit.xcodeproj/project.pbxproj: Let Xcode have its way with the project file,
2502         because I can't fight the power.
2503
2504 2006-11-20  Samuel Weinig  <sam@webkit.org>
2505
2506         Reviewed by Alexey.
2507
2508         Fix for http://bugs.webkit.org/show_bug.cgi?id=11656
2509         Fix Windows build
2510
2511         * WebKit.vcproj/WebKit.vcproj: don't include directories that no
2512         longer exist.
2513
2514 2006-11-19  Beth Dakin  <bdakin@apple.com>
2515
2516         Reviewed by Adam.
2517
2518         WebKit side of new context menu actions.
2519
2520         * WebCoreSupport/WebContextMenuClient.h: These are for the 
2521         currently-WebKit-dependent menu actions.
2522         * WebCoreSupport/WebContextMenuClient.mm:
2523         (WebContextMenuClient::copyLinkToClipboard):
2524         (WebContextMenuClient::downloadURL):
2525         (WebContextMenuClient::copyImageToClipboard):
2526         (WebContextMenuClient::searchWithSpotlight):
2527         (WebContextMenuClient::lookUpInDictionary):
2528         * WebCoreSupport/WebEditorClient.h:
2529         * WebCoreSupport/WebEditorClient.mm:
2530         (core): These are to convert between WebViewInsertAction and 
2531         EditorInsertAction.
2532         (kit):
2533         (WebEditorClient::shouldInsertText): Added implementation for 
2534         shouldInsertText.
2535         * WebKit.xcodeproj/project.pbxproj:
2536         * WebView/WebHTMLView.m:
2537         (-[WebHTMLView _lookUpInDictionaryFromMenu:]): Moved 
2538         _lookUpInDictionary to be within the implementation of WebHTMLView 
2539         internal.
2540         * WebView/WebHTMLViewInternal.h: Add _lookUpInDictionaryFromMenu
2541         * WebView/WebViewInternal.h: Add _searchWithSpotlightFromMenu
2542
2543 2006-11-18  Don Gibson  <dgibson77@gmail.com>
2544
2545         Reviewed by Sam Weinig.
2546
2547         http://bugs.webkit.org/show_bug.cgi?id=11634:
2548         Fix segfault on startup for Windows build.  Also fix segfault when
2549         typing in a URL.
2550
2551         * COM/WebFrame.cpp:
2552         (WebFrame::initWithName):
2553
2554 === Safari-521.31 ===
2555
2556 2006-11-17  Timothy Hatcher  <timothy@apple.com>
2557
2558         Reviewed by Geoff.
2559
2560         <rdar://problem/4841044> Temporarily default Mail.app editable link clicking behavior, until they do it themselves
2561
2562         * WebKit.xcodeproj/project.pbxproj:
2563         * WebView/WebView.mm:
2564         (+[WebView initialize]):
2565         (-[WebView setPreferences:]):
2566
2567 2006-11-16  Don Gibson  <dgibson77@gmail.com>
2568
2569         Reviewed and landed by ap.
2570
2571         http://bugs.webkit.org/show_bug.cgi?id=11509:
2572         Windows build bustage.
2573
2574         * COM/WebFrame.cpp:
2575         (WebFrame::initWithName):
2576         (WebFrame::loadHTMLString):
2577         (WebFrame::stopLoading):
2578         (WebFrame::reload):
2579         (WebFrame::loadDataSource):
2580         (WebFrame::didReceiveData):
2581         (WebFrame::receivedResponse):
2582         (WebFrame::receivedAllData):
2583         * COM/WebFrame.h:
2584         * COM/WebView.cpp:
2585         (WebView::mouseMoved):
2586         (WebView::mouseDown):
2587         (WebView::mouseUp):
2588         (WebView::mouseDoubleClick):
2589         * WebKit.vcproj/WebKit.vcproj:
2590
2591 2006-11-16  Anders Carlsson  <acarlsson@apple.com>
2592
2593         Reviewed by Tim.
2594
2595         <rdar://problem/4841123>
2596         REGRESSION: Crash in WebCore::Range::boundaryPointsValid when replying to a mail Message
2597         
2598         * Misc/WebNSAttributedStringExtras.m:
2599         (+[NSAttributedString _web_attributedStringFromRange:]):
2600         If the range passed in is null, return null. When this function was in the bridge, it would never get called
2601         with a null range when nothing was selected. Instead, the range would just have invalid boundary points.
2602
2603 2006-11-15  Adam Roben  <aroben@apple.com>
2604
2605         Reviewed by Anders.
2606
2607         Added new WebContextMenuClient class to act as WebCore's ChromeClient,
2608         and moved context menu-related code there from WebChromeClient.
2609
2610         * WebCoreSupport/WebChromeClient.h:
2611         * WebCoreSupport/WebChromeClient.mm:
2612         * WebCoreSupport/WebContextMenuClient.h: Added.
2613         (WebContextMenuClient::webView):
2614         * WebCoreSupport/WebContextMenuClient.mm: Added.
2615         (WebContextMenuClient::create):
2616         (WebContextMenuClient::WebContextMenuClient):
2617         (WebContextMenuClient::ref):
2618         (WebContextMenuClient::deref):
2619         (WebContextMenuClient::addCustomContextMenuItems):
2620         * WebKit.xcodeproj/project.pbxproj: Added new files.
2621         * WebView/WebView.mm:
2622         (-[WebView _commonInitializationWithFrameName:groupName:]):
2623
2624 2006-11-15  Beth Dakin  <bdakin@apple.com>
2625         &   Adam Roben  <aroben@apple.com>
2626
2627         Reviewed by Adam & Beth.
2628
2629         WebKit side of first cut at engine context menus. Use the client to 
2630         call into the UIDelegate.
2631
2632         * WebCoreSupport/WebChromeClient.h:
2633         * WebCoreSupport/WebChromeClient.mm:
2634         (WebChromeClient::addCustomContextMenuItems):
2635         * WebKit.xcodeproj/project.pbxproj:
2636
2637 2006-11-15  Brady Eidson  <beidson@apple.com>
2638
2639         Reviewed by Maciej
2640
2641         Quick change of files to ObjC++ for BF cache re-write
2642
2643         * History/WebBackForwardList.m: Removed.
2644         * History/WebBackForwardList.mm: Added.
2645         * History/WebHistoryItem.m: Removed.
2646         * History/WebHistoryItem.mm: Added.
2647         * WebKit.xcodeproj/project.pbxproj:
2648
2649 2006-11-15  Brady Eidson  <beidson@apple.com>
2650
2651         Reviewed by Sarge
2652
2653         SPI addition
2654
2655         * WebView/WebFrame.mm:
2656         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
2657         * WebView/WebFrameInternal.h:
2658         * WebView/WebFramePrivate.h:
2659
2660 2006-11-15  Brady Eidson  <beidson@apple.com>
2661
2662         Reviewed by Adele
2663
2664         <rdar://problem/4838729> - Replace mistakenly removed SPI
2665
2666         * WebView/WebHTMLView.m:
2667         (-[WebHTMLView _handleAutoscrollForMouseDragged:]):
2668         * WebView/WebHTMLViewPrivate.h:
2669
2670 2006-11-15  Anders Carlsson  <acarlsson@apple.com>
2671
2672         Reviewed by Adele.
2673
2674         isTargetItem is used by DRT, so make it private instead of internal.
2675         
2676         * History/WebHistoryItem.m:
2677         (-[WebHistoryItem isTargetItem]):
2678         * History/WebHistoryItemInternal.h:
2679         * History/WebHistoryItemPrivate.h:
2680         * WebCoreSupport/WebFrameLoaderClient.mm:
2681
2682 2006-11-15  Brady Eidson  <beidson@apple.com>
2683
2684         Reviewed by Maciej
2685
2686         Split much of unused WebHistoryItemPrivate.h SPI into WebHistoryItemInternal.h
2687
2688         * History/WebBackForwardList.m:
2689         * History/WebHistory.m:
2690         * History/WebHistoryItem.m:
2691         (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
2692         (-[WebHistoryItem initWithURL:title:]):
2693         (-[WebHistoryItem visitCount]):
2694         (-[WebHistoryItem RSSFeedReferrer]):
2695         (-[WebHistoryItem setRSSFeedReferrer:]):
2696         (-[WebHistoryItem children]):
2697         (-[WebHistoryItem dictionaryRepresentation]):
2698         (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
2699         (+[WebHistoryItem _releaseAllPendingPageCaches]):
2700         (-[WebHistoryItem URL]):
2701         (-[WebHistoryItem target]):
2702         (-[WebHistoryItem _setLastVisitedTimeInterval:]):
2703         (-[WebHistoryItem _lastVisitedDate]):
2704         (-[WebHistoryItem targetItem]):
2705         * History/WebHistoryItemInternal.h: Added.
2706         * History/WebHistoryItemPrivate.h:
2707         * WebCoreSupport/WebFrameBridge.mm:
2708         * WebCoreSupport/WebFrameLoaderClient.mm:
2709         * WebKit.xcodeproj/project.pbxproj:
2710         * WebView/WebFrame.mm:
2711         * WebView/WebView.mm:
2712
2713 2006-11-14  Beth Dakin  <bdakin@apple.com>
2714
2715         Reviewed by Geoff.
2716
2717         Moving things off the bridge and onto clients.
2718
2719         * WebCoreSupport/WebEditorClient.h:
2720         * WebCoreSupport/WebEditorClient.mm:
2721         (WebEditorClient::selectWordBeforeMenuEvent):
2722         (WebEditorClient::isEditable):
2723         * WebCoreSupport/WebFrameBridge.mm:
2724         * WebKit.xcodeproj/project.pbxproj:
2725
2726 2006-11-14  Timothy Hatcher  <timothy@apple.com>
2727
2728         Reviewed by Harrison.
2729
2730         <rdar://problem/4766635> Safari should never follow links in editable areas (add a WebKitEditableLinkNeverLive option)
2731
2732         Adds an Open Link, Open Link in New Window and Copy Link to the editing context menu.
2733         Adds a new WebKitEditableLinkNeverLive preference value that maps to WebCore's EditableLinkNeverLive.
2734
2735         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
2736         (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
2737         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
2738         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
2739         (-[WebDefaultUIDelegate requestWithURL:includingReferrerFromFrame:]):
2740         (-[WebDefaultUIDelegate openNewWindowWithURL:element:]):
2741         (-[WebDefaultUIDelegate openLink:]):
2742         * English.lproj/Localizable.strings:
2743         * WebKit.exp:
2744         * WebView/WebPreferences.m:
2745         (-[WebPreferences editableLinkBehavior]):
2746         * WebView/WebPreferencesPrivate.h:
2747         * WebView/WebUIDelegatePrivate.h:
2748
2749 2006-11-14  Anders Carlsson  <acarlsson@apple.com>
2750
2751         Turns out I wasn't forcing DWARF on the world at all, 
2752         it's now the default!
2753
2754         * WebKit.xcodeproj/project.pbxproj:
2755
2756 2006-11-14  Anders Carlsson  <acarlsson@apple.com>
2757
2758         I must stop trying to force DWARF on the world.
2759
2760         * WebKit.xcodeproj/project.pbxproj:
2761
2762 2006-11-14  Darin Adler  <darin@apple.com>
2763
2764         Reviewed by Anders.
2765
2766         - update for creation of EventHandler
2767
2768         * WebCoreSupport/WebFrameLoaderClient.mm:
2769         (WebFrameLoaderClient::actionDictionary):
2770         * WebView/WebHTMLView.m:
2771         (-[WebHTMLView _updateMouseoverWithEvent:]):
2772         (-[NSArray menuForEvent:]):
2773         (-[NSArray scrollWheel:]):
2774         (-[NSArray acceptsFirstMouse:]):
2775         (-[NSArray shouldDelayWindowOrderingForEvent:]):
2776         (-[NSArray mouseDown:]):
2777         (-[NSArray mouseDragged:]):
2778         (-[NSArray mouseUp:]):
2779         (-[NSArray keyDown:]):
2780         (-[NSArray keyUp:]):
2781         (-[NSArray performKeyEquivalent:]):
2782         (-[WebHTMLView elementAtPoint:allowShadowContent:]):
2783
2784 2006-11-14  Anders Carlsson  <acarlsson@apple.com>
2785
2786         Fix build for real this time.
2787         
2788         * WebCoreSupport/WebEditorClient.mm:
2789         (-[WebEditCommand initWithEditCommand:WebCore::]):
2790         (-[WebEditCommand dealloc]):
2791         (-[WebEditCommand finalize]):
2792         (+[WebEditCommand commandWithEditCommand:]):
2793         (-[WebEditCommand command]):
2794
2795 2006-11-14  Anders Carlsson  <acarlsson@apple.com>
2796
2797         Try fixing the build.
2798         
2799         * WebCoreSupport/WebEditorClient.mm:
2800         (-[WebEditorUndoTarget undoEditing:]):
2801         (-[WebEditorUndoTarget redoEditing:]):
2802
2803 2006-11-14  Anders Carlsson  <acarlsson@apple.com>
2804
2805         Reviewed by Darin.
2806
2807         Move undo/redo handling into WebEditorClient.
2808         
2809         * WebCoreSupport/WebEditorClient.h:
2810         * WebCoreSupport/WebEditorClient.mm:
2811         (WebEditorClient::WebEditorClient):
2812         (WebEditorClient::~WebEditorClient):
2813         (-[WebEditCommand initWithEditCommand:WebCore::]):
2814         (-[WebEditCommand dealloc]):
2815         (-[WebEditCommand finalize]):
2816         (+[WebEditCommand commandWithEditCommand:]):
2817         (-[WebEditCommand command]):
2818         (-[WebEditorUndoTarget undoEditing:]):
2819         (-[WebEditorUndoTarget redoEditing:]):
2820         (undoNameForEditAction):
2821         (WebEditorClient::registerCommandForUndoOrRedo):
2822         (WebEditorClient::registerCommandForUndo):
2823         (WebEditorClient::registerCommandForRedo):
2824         (WebEditorClient::clearUndoRedoOperations):
2825         (WebEditorClient::canUndo):
2826         (WebEditorClient::canRedo):
2827         (WebEditorClient::undo):
2828         (WebEditorClient::redo):
2829         * WebCoreSupport/WebFrameBridge.mm:
2830         * WebKit.xcodeproj/project.pbxproj:
2831
2832 2006-11-14  Alexey Proskuryakov  <ap@webkit.org>
2833
2834         Reviewed by Tim H.
2835
2836         http://bugs.webkit.org/show_bug.cgi?id=3387
2837         Redundant keydown, keypress, keyup events sent for arrow keys
2838
2839         Added another layer of ugly hacks around AppKit event dispatching.
2840
2841         1. For arrow keys, keyDown: is invoked after performKeyEquivalent:, so had to store
2842         _private->keyDownEvent in both methods, and make it persist after leaving them.
2843
2844         2. For Esc, AppKit calls performKeyEquivalent: with a fake event of some kind,
2845         use [NSApp currentEvent] to check for this to prevent it from being passed to  WebCore.
2846
2847         Test: manual-tests/arrow-key-events.html
2848
2849         * WebView/WebHTMLView.m:
2850         (-[NSMutableDictionary dealloc]):
2851         (-[NSArray keyDown:]):
2852         (-[NSArray keyUp:]):
2853         (-[NSArray performKeyEquivalent:]):
2854         * WebView/WebHTMLViewInternal.h:
2855
2856 2006-11-12  Brady Eidson <beidson@apple.com>
2857
2858         Rubberstamped by Anders
2859
2860         Changed some #includes from <WebKit/foo.h> to "foo.h"
2861
2862         * History/WebBackForwardList.m:
2863         * History/WebHistory.m:
2864
2865 2006-11-11  Geoffrey Garen  <ggaren@apple.com>
2866
2867         Reviewed by Maciej Stachowiak.
2868         
2869         - Fixed loader crash by clarifying ownership of WebKit client objects. 
2870         WebCore objects own their WebKit clients, and ref and deref through 
2871         virtual methods, leaving WebKit free to use whatever client / reference-counting 
2872         implementation it likes.
2873         
2874         WebKit on Mac just uses the same refcounting class that WebCore uses (Shared),
2875         but other platforms may choose to do other things.
2876
2877         * WebCoreSupport/WebChromeClient.h:
2878         (WebChromeClient::ref):
2879         (WebChromeClient::deref):
2880         (WebChromeClient::refCount):
2881         * WebCoreSupport/WebEditorClient.h: Nixed commented-out function prototypes.
2882         The ones in WebCore make clear what remains to be implemented. Replaced constructor
2883         with factory function to avoid leaks.
2884         * WebCoreSupport/WebEditorClient.mm:
2885         (WebEditorClient::create):
2886         (WebEditorClient::WebEditorClient):
2887         (WebEditorClient::setWebFrame):
2888         * WebCoreSupport/WebFrameBridge.mm:
2889         (-[WebFrameBridge initMainFrameWithPage:WebCore::frameName:view:webView:]):
2890         (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
2891         * WebCoreSupport/WebFrameLoaderClient.h: Replaced constructor with factory
2892         function to avoid leaks.
2893         (WebFrameLoaderClient::ref):
2894         (WebFrameLoaderClient::deref):
2895         (WebFrameLoaderClient::refCount):
2896         * WebCoreSupport/WebFrameLoaderClient.mm:
2897         (WebFrameLoaderClient::create):
2898         * WebView/WebFrame.mm:
2899         (-[WebFrame _initWithWebFrameView:webView:coreFrame:]):
2900
2901 === Safari-521.30 ===
2902
2903 2006-11-10  Maciej Stachowiak  <mjs@apple.com>
2904
2905         Reviewed by Anders.
2906         
2907         - remove some unnecessary uses of WebDataProtocol
2908
2909         * WebView/WebDataSource.mm: Remove the unneeded include.
2910         * WebView/WebView.mm:
2911         (+[WebView _canHandleRequest:]): Don't bother to check for unreachable URL here.
2912         Any request that has one will be an applewebdata: request, which will pass the check anyway.
2913
2914 2006-11-10  Anders Carlsson  <acarlsson@apple.com>
2915
2916         Reviewed by Geoff.
2917
2918         Update for changes to WebCore
2919         * WebView/WebHTMLView.m:
2920         (-[NSArray _applyStyleToSelection:withUndoAction:]):
2921         (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]):
2922         (-[NSArray _toggleBold]):
2923         (-[NSArray _toggleItalic]):
2924
2925 2006-11-09  Anders Carlsson  <acarlsson@apple.com>
2926
2927         Reviewed by Maciej, Geoff.
2928
2929         Call execCommand directly here instead of going through the bridge.
2930         
2931         * WebView/WebHTMLView.m:
2932         (-[NSArray moveBackward:]):
2933         (-[NSArray moveBackwardAndModifySelection:]):
2934         (-[NSArray moveDown:]):
2935         (-[NSArray moveDownAndModifySelection:]):
2936         (-[NSArray moveForward:]):
2937         (-[NSArray moveForwardAndModifySelection:]):
2938         (-[NSArray moveLeft:]):
2939         (-[NSArray moveLeftAndModifySelection:]):
2940         (-[NSArray moveRight:]):
2941         (-[NSArray moveRightAndModifySelection:]):
2942         (-[NSArray moveToBeginningOfDocument:]):
2943         (-[NSArray moveToBeginningOfDocumentAndModifySelection:]):
2944         (-[NSArray moveToBeginningOfSentence:]):
2945         (-[NSArray moveToBeginningOfSentenceAndModifySelection:]):
2946         (-[NSArray moveToBeginningOfLine:]):
2947         (-[NSArray moveToBeginningOfLineAndModifySelection:]):
2948         (-[NSArray moveToBeginningOfParagraph:]):
2949         (-[NSArray moveToBeginningOfParagraphAndModifySelection:]):
2950         (-[NSArray moveToEndOfDocument:]):
2951         (-[NSArray moveToEndOfDocumentAndModifySelection:]):
2952         (-[NSArray moveToEndOfSentence:]):
2953         (-[NSArray moveToEndOfSentenceAndModifySelection:]):
2954         (-[NSArray moveToEndOfLine:]):
2955         (-[NSArray moveToEndOfLineAndModifySelection:]):
2956         (-[NSArray moveToEndOfParagraph:]):
2957         (-[NSArray moveToEndOfParagraphAndModifySelection:]):
2958         (-[NSArray moveParagraphBackwardAndModifySelection:]):
2959         (-[NSArray moveParagraphForwardAndModifySelection:]):
2960         (-[NSArray moveUp:]):
2961         (-[NSArray moveUpAndModifySelection:]):
2962         (-[NSArray moveWordBackward:]):
2963         (-[NSArray moveWordBackwardAndModifySelection:]):
2964         (-[NSArray moveWordForward:]):
2965         (-[NSArray moveWordForwardAndModifySelection:]):
2966         (-[NSArray moveWordLeft:]):
2967         (-[NSArray moveWordLeftAndModifySelection:]):
2968         (-[NSArray moveWordRight:]):
2969         (-[NSArray moveWordRightAndModifySelection:]):
2970
2971 2006-11-10  Brady Eidson  <beidson@apple.com>
2972
2973         Reviewed by Darin
2974   
2975         Took out WebIconDatabaseBridge and made WebKit call IconDatabase directly
2976
2977         * Misc/WebIconDatabase.m:
2978         (-[WebIconDatabase init]):
2979         (-[WebIconDatabase iconForURL:withSize:cache:]):
2980         (-[WebIconDatabase iconURLForURL:]):
2981         (-[WebIconDatabase defaultIconWithSize:]):
2982         (-[WebIconDatabase defaultIconForURL:withSize:]):
2983         (-[WebIconDatabase retainIconForURL:]):
2984         (-[WebIconDatabase releaseIconForURL:]):
2985         (-[WebIconDatabase setDelegate:]):
2986         (-[WebIconDatabase removeAllIcons]):
2987         (-[WebIconDatabase isIconExpiredForIconURL:]):
2988         (-[WebIconDatabase _isEnabled]):
2989         (-[WebIconDatabase _setIconData:forIconURL:]):
2990         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
2991         (-[WebIconDatabase _setIconURL:forURL:]):
2992         (-[WebIconDatabase _hasEntryForIconURL:]):
2993         (-[WebIconDatabase _applicationWillTerminate:]):
2994         (-[WebIconDatabase _resetCachedWebPreferences:]):
2995         (-[WebIconDatabase _convertToWebCoreFormat]):
2996         (webGetNSImage):
2997         * Misc/WebIconDatabaseInternal.h: Added.
2998         * Misc/WebIconDatabasePrivate.h:
2999         * WebCoreSupport/WebFrameLoaderClient.h:
3000         * WebCoreSupport/WebFrameLoaderClient.mm:
3001         (WebFrameLoaderClient::dispatchDidReceiveIcon):
3002         * WebCoreSupport/WebIconDatabaseBridge.h: Removed.
3003         * WebCoreSupport/WebIconDatabaseBridge.m: Removed.
3004         * WebKit.xcodeproj/project.pbxproj:
3005
3006 2006-11-09  Oliver Hunt  <oliver@apple.com>
3007
3008         Reviewed by Brady.
3009         
3010         Updated to make use of MimeTypeRegistry/bridge
3011
3012         * Misc/WebNSPasteboardExtras.m:
3013         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
3014         * WebCoreSupport/WebFrameBridge.mm:
3015         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
3016         * WebView/WebDataSource.mm:
3017         (-[WebDataSource _documentFragmentWithArchive:]):
3018         * WebView/WebHTMLRepresentation.m:
3019         (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
3020         (+[WebHTMLRepresentation supportedImageMIMETypes]):
3021         * WebView/WebHTMLView.m:
3022         (-[WebHTMLView _imageExistsAtPaths:]):
3023         (-[WebHTMLView _documentFragmentWithPaths:]):
3024
3025 2006-11-09  Brady Eidson  <beidson@apple.com>
3026
3027         Reviewed by Darin
3028
3029         <rdar://problem/4829080>
3030         More loader re-factoring cleanup - WebFramePolicyListener was over-released
3031
3032         * WebCoreSupport/WebFrameLoaderClient.h: Changed vanilla ptr to a RetainPtr<> 
3033         * WebCoreSupport/WebFrameLoaderClient.mm:
3034         (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): Ditto
3035         (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): Ditto
3036         (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto
3037         (WebFrameLoaderClient::dispatchWillSubmitForm): Ditto
3038         (WebFrameLoaderClient::setUpPolicyListener): Ditto
3039         (-[WebFramePolicyListener receivedPolicyDecision:]): Ditto 
3040
3041 2006-11-08  Anders Carlsson  <acarlsson@apple.com>
3042
3043         Reviewed by Adam, Oliver.
3044
3045         Update for changes to WebCore. Pass a specific WebFrame to WebEditorClient
3046         instead of just passing the WebView.
3047         
3048         * WebCoreSupport/WebEditorClient.h:
3049         * WebCoreSupport/WebEditorClient.mm:
3050         (WebEditorClient::WebEditorClient):
3051         (WebEditorClient::setWebFrame):
3052         (WebEditorClient::isContinuousSpellCheckingEnabled):
3053         (WebEditorClient::spellCheckerDocumentTag):
3054         (WebEditorClient::shouldDeleteRange):
3055         (WebEditorClient::shouldShowDeleteInterface):
3056         (WebEditorClient::shouldApplyStyle):
3057         (WebEditorClient::shouldBeginEditing):
3058         (WebEditorClient::shouldEndEditing):
3059         (WebEditorClient::didBeginEditing):
3060         (WebEditorClient::respondToChangedContents):
3061         (WebEditorClient::didEndEditing):
3062         * WebCoreSupport/WebFrameBridge.mm:
3063         (-[WebFrameBridge initMainFrameWithPage:WebCore::frameName:view:webView:]):
3064         (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
3065
3066 2006-11-08  Anders Carlsson  <acarlsson@apple.com>
3067
3068         Reviewed by Adam.
3069
3070         Move more code into editor.
3071
3072         * WebCoreSupport/WebEditorClient.h:
3073         * WebCoreSupport/WebEditorClient.mm:
3074         (WebEditorClient::shouldBeginEditing):
3075         (WebEditorClient::shouldEndEditing):
3076         (WebEditorClient::didBeginEditing):
3077         (WebEditorClient::didEndEditing):
3078         * WebCoreSupport/WebFrameBridge.mm:
3079         * WebView/WebHTMLView.m:
3080         (-[NSArray indent:]):
3081         (-[NSArray outdent:]):
3082         * WebView/WebView.mm:
3083         * WebView/WebViewInternal.h:
3084
3085 2006-11-08  Beth Dakin  <bdakin@apple.com>
3086
3087         Reviewed by Adam.
3088
3089         Add WebElementIsContentEditableKey to the WebElementDictionary, and 
3090         use it!
3091
3092         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
3093         (-[WebDefaultUIDelegate 
3094         webView:contextMenuItemsForElement:defaultMenuItems:]): Use new 
3095         WebElementIsContentEditableKey.
3096         * Misc/WebElementDictionary.m:
3097         (+[WebElementDictionary initializeLookupTable]):
3098         (-[WebElementDictionary _isContentEditable]): Call into 
3099         HitTestResult::isContentEditable()
3100         * WebView/WebView.mm: Add new key.
3101         * WebView/WebViewPrivate.h: Add new key.
3102
3103 2006-11-08  Anders Carlsson  <acarlsson@apple.com>
3104
3105         Reviewed by Oliver.
3106
3107         Call into the WebCore editor object directly.
3108         
3109         * MigrateHeaders.make:
3110         * WebCoreSupport/WebEditorClient.h:
3111         * WebCoreSupport/WebEditorClient.mm:
3112         (WebEditorClient::shouldDeleteRange):
3113         (WebEditorClient::shouldShowDeleteInterface):
3114         (WebEditorClient::shouldApplyStyle):
3115         * WebView/WebFrame.mm:
3116         (core):
3117         (kit):
3118         * WebView/WebFrameInternal.h:
3119         * WebView/WebHTMLView.m:
3120         (-[NSArray _applyStyleToSelection:withUndoAction:]):
3121         (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]):
3122         (-[NSArray _toggleBold]):
3123         (-[NSArray _toggleItalic]):
3124         (-[NSArray _changeCSSColorUsingSelector:inRange:]):
3125         (-[NSArray underline:]):
3126         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
3127         * WebView/WebView.mm:
3128         (-[WebView applyStyle:]):
3129
3130 2006-11-08  Anders Carlsson  <acarlsson@apple.com>
3131
3132         Reviewed by Oliver.
3133
3134         <rdar://problem/4825370>
3135         REGRESSION: Selecting "Look Up In Dictionary" from contextual menu fails to open the Dictionary app
3136         
3137         * WebView/WebHTMLView.m:
3138         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
3139         Initialize the framework pointer to 0.
3140         
3141 2006-11-07  Darin Adler  <darin@apple.com>
3142
3143         Reviewed by Geoff.
3144
3145         - udpated for changes to move from Frame/FrameMac to FrameLoader
3146
3147         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
3148         (-[WebDefaultUIDelegate openNewWindowWithURL:element:]):
3149         * Misc/WebNSAttributedStringExtras.m:
3150         (+[NSAttributedString _web_attributedStringFromRange:]):
3151         * Plugins/WebBaseNetscapePluginView.mm:
3152         (-[WebBaseNetscapePluginView requestWithURLCString:]):
3153         * Plugins/WebNetscapePluginEmbeddedView.m:
3154         (-[WebNetscapePluginEmbeddedView didStart]):
3155         * Plugins/WebNetscapePluginStream.mm:
3156         * Plugins/WebPluginController.mm:
3157         (-[WebPluginController pluginView:receivedResponse:]):
3158         * WebCoreSupport/WebFrameBridge.mm:
3159         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
3160         * WebCoreSupport/WebFrameLoaderClient.mm:
3161         (WebFrameLoaderClient::provisionalLoadStarted):
3162         * WebView/WebFrame.mm:
3163         (-[WebFrame _canCachePage]):
3164         (+[WebFrame _timeOfLastCompletedLoad]):
3165         (-[WebFrame _loadItem:withLoadType:]):
3166         (-[WebFrame _reloadForPluginChanges]):
3167         (-[WebFrame stopLoading]):
3168
3169 2006-11-07  Anders Carlsson  <acarlsson@apple.com>
3170
3171         Reviewed by Geoff.
3172
3173         Use the WebCore editing enums.
3174         
3175         * WebCoreSupport/WebFrameBridge.mm:
3176         (-[WebFrameBridge undoNameForEditAction:]):
3177         * WebView/WebHTMLView.m:
3178         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
3179         (-[WebHTMLView _deleteSelection]):
3180         (-[WebHTMLView moveBackward:]):
3181         (-[WebHTMLView moveBackwardAndModifySelection:]):
3182         (-[WebHTMLView moveDown:]):
3183         (-[WebHTMLView moveDownAndModifySelection:]):
3184         (-[WebHTMLView moveForward:]):
3185         (-[WebHTMLView moveForwardAndModifySelection:]):
3186         (-[WebHTMLView moveLeft:]):
3187         (-[WebHTMLView moveLeftAndModifySelection:]):
3188         (-[WebHTMLView moveRight:]):
3189         (-[WebHTMLView moveRightAndModifySelection:]):
3190         (-[WebHTMLView moveToBeginningOfDocument:]):
3191         (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]):
3192         (-[WebHTMLView moveToBeginningOfSentence:]):
3193         (-[WebHTMLView moveToBeginningOfSentenceAndModifySelection:]):
3194         (-[WebHTMLView moveToBeginningOfLine:]):
3195         (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]):
3196         (-[WebHTMLView moveToBeginningOfParagraph:]):
3197         (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]):
3198         (-[WebHTMLView moveToEndOfDocument:]):
3199         (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]):
3200         (-[WebHTMLView moveToEndOfSentence:]):
3201         (-[WebHTMLView moveToEndOfSentenceAndModifySelection:]):
3202         (-[WebHTMLView moveToEndOfLine:]):
3203         (-[WebHTMLView moveToEndOfLineAndModifySelection:]):
3204         (-[WebHTMLView moveToEndOfParagraph:]):
3205         (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]):
3206         (-[WebHTMLView moveParagraphBackwardAndModifySelection:]):
3207         (-[WebHTMLView moveParagraphForwardAndModifySelection:]):
3208         (-[WebHTMLView moveUp:]):
3209         (-[WebHTMLView moveUpAndModifySelection:]):
3210         (-[WebHTMLView moveWordBackward:]):
3211         (-[WebHTMLView moveWordBackwardAndModifySelection:]):
3212         (-[WebHTMLView moveWordForward:]):
3213         (-[WebHTMLView moveWordForwardAndModifySelection:]):
3214         (-[WebHTMLView moveWordLeft:]):
3215         (-[WebHTMLView moveWordLeftAndModifySelection:]):
3216         (-[WebHTMLView moveWordRight:]):
3217         (-[WebHTMLView moveWordRightAndModifySelection:]):
3218         (-[WebHTMLView pageUp:]):
3219         (-[WebHTMLView pageDown:]):
3220         (-[WebHTMLView pageUpAndModifySelection:]):
3221         (-[WebHTMLView pageDownAndModifySelection:]):
3222         (-[WebHTMLView _expandSelectionToGranularity:]):
3223         (-[WebHTMLView selectParagraph:]):
3224         (-[WebHTMLView selectLine:]):
3225         (-[WebHTMLView selectSentence:]):
3226         (-[WebHTMLView selectWord:]):
3227         (-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
3228         (-[WebHTMLView _applyParagraphStyleToSelection:withUndoAction:]):
3229         (-[WebHTMLView _toggleBold]):
3230         (-[WebHTMLView _toggleItalic]):
3231         (-[WebHTMLView pasteFont:]):
3232         (-[WebHTMLView changeFont:]):
3233         (-[WebHTMLView changeAttributes:]):
3234         (-[WebHTMLView _undoActionFromColorPanelWithSelector:]):
3235         (-[WebHTMLView changeColor:]):
3236         (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]):
3237         (-[WebHTMLView alignCenter:]):
3238         (-[WebHTMLView alignJustified:]):
3239         (-[WebHTMLView alignLeft:]):
3240         (-[WebHTMLView alignRight:]):
3241         (-[WebHTMLView _deleteWithDirection:SelectionController::granularity:killRing:isTypingAction:]):
3242         (-[WebHTMLView deleteForward:]):
3243         (-[WebHTMLView deleteBackward:]):
3244         (-[WebHTMLView deleteWordForward:]):
3245         (-[WebHTMLView deleteWordBackward:]):
3246         (-[WebHTMLView deleteToBeginningOfLine:]):
3247         (-[WebHTMLView deleteToEndOfLine:]):
3248         (-[WebHTMLView deleteToBeginningOfParagraph:]):
3249         (-[WebHTMLView deleteToEndOfParagraph:]):
3250         (-[WebHTMLView subscript:]):
3251         (-[WebHTMLView superscript:]):
3252         (-[WebHTMLView unscript:]):
3253         (-[WebHTMLView underline:]):
3254         (-[WebHTMLView deleteToMark:]):
3255         (-[WebHTMLView toggleBaseWritingDirection:]):
3256         (-[WebHTMLView changeBaseWritingDirection:]):
3257         (-[WebHTMLView _canSmartCopyOrDelete]):
3258         (-[WebTextCompleteController doCompletion]):
3259         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
3260         * WebView/WebView.mm:
3261         (-[WebView setTypingStyle:]):
3262         (-[WebView applyStyle:]):
3263
3264 2006-11-06  Geoffrey Garen  <ggaren@apple.com>
3265
3266         Reviewed by Tim Hatcher.
3267
3268         Removed ScreenClient. It was highly unpopular, risking my midterm re-election.
3269         
3270         None of Screen's responsibilities require up-calls to WebKit or delegates, 
3271         so WebCore can handle it all.
3272
3273         * WebCoreSupport/WebChromeClient.mm:
3274         (WebChromeClient::setWindowRect):
3275         (WebChromeClient::windowRect):
3276         * WebCoreSupport/WebScreenClient.h: Removed.
3277         * WebCoreSupport/WebScreenClient.mm: Removed.
3278         * WebKit.xcodeproj/project.pbxproj:
3279         * WebView/WebView.mm:
3280         (-[WebView _commonInitializationWithFrameName:groupName:]):
3281
3282 2006-11-06  Geoffrey Garen  <ggaren@apple.com>
3283
3284         Reviewed by Darin.
3285         
3286         Accidentally rolled out this change when removing the WebPageBridge. Now
3287         putting it back.
3288
3289         * WebView/WebView.mm:
3290         (-[WebView _commonInitializationWithFrameName:groupName:]):
3291
3292 2006-11-05  Geoffrey Garen  <ggaren@apple.com>
3293
3294         Reviewed by Maciej, Darin, Anders.
3295
3296         Removed the Page bridge. Beefed up Chrome. Added Screen and ScreenClient.
3297         
3298         (WebChromeClient::pageRect): It may seem weird for the page to ask the Chrome/ChromeClient
3299         about its own dimensions. The idea here is that we're asking the Chrome how
3300         much space it has devoted to the page. We have API for this (-webViewContentRect), but 
3301         it was documented incorrectly (even Safari used it wrong), so we don't use 
3302         it anymore. Once we fix our API/documentation, we can return to making a
3303         delegate callback to ask for the page's size.
3304         (WebChromeClient::createWindow): Changed to take a FrameLoadRequest with
3305         an appropriate referrer, instead of making up its own.
3306         (WebChromeClient::createModalDialog): Changed to take a FrameLoadRequest with
3307         an appropriate referrer, instead of broken out parcels.
3308         * WebCoreSupport/WebPageBridge.h: Removed. Dead Code.
3309         * WebCoreSupport/WebPageBridge.mm: Removed. Dead Code.
3310         * WebCoreSupport/WebScreenClient.h: Added.
3311         * WebCoreSupport/WebScreenClient.mm: Added.
3312         * WebView/WebView.mm: Added NULL checks for new _private->page, since
3313         it's not NULL-safe like the bridge was, and it gets cleared before
3314         dealloc.
3315
3316 2006-11-06  Graham Dennis  <graham.dennis@gmail.com>
3317
3318         Reviewed by Tim Hatcher.
3319
3320         Part of patch for http://bugs.webkit.org/show_bug.cgi?id=11323
3321         Link dragging behaviour does not obey WebKitEditableLinkBehavior WebPref
3322
3323         * DefaultDelegates/WebDefaultUIDelegate.m:
3324         (-[NSApplication webView:dragSourceActionMaskForPoint:]): Logic moved to 
3325         WebHTMLView's _mayStartDragAtEventLocation
3326         * Misc/WebElementDictionary.m: added isLiveLink
3327         (+[WebElementDictionary initializeLookupTable]):
3328         (-[WebElementDictionary _isLiveLink]):
3329         * WebView/WebHTMLView.m: 
3330         (-[WebHTMLView _mayStartDragAtEventLocation:]): Editable links should
3331         only be followed if isLiveLink is true
3332         (-[WebHTMLView _isMoveDrag:]): A drag of a live editable link is not
3333         a move
3334         (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]):
3335         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
3336         * WebView/WebView.mm: added WebElementLinkIsLiveKey
3337         * WebView/WebViewPrivate.h: ditto
3338
3339 2006-11-04  Maciej Stachowiak  <mjs@apple.com>
3340
3341         Reviewed by Oliver.
3342         
3343         - removed unneeded (and obsolete) header includes
3344
3345         * WebCoreSupport/WebFrameBridge.mm:
3346         * WebView/WebFrame.mm:
3347
3348 2006-11-05  Darin Adler  <darin@apple.com>
3349
3350         - WebKit part of Frame.h check-in (forgot to land it)
3351
3352         * WebCoreSupport/WebFrameBridge.h:
3353         * WebCoreSupport/WebFrameBridge.mm:
3354         (-[WebFrameBridge textViewWasFirstResponderAtMouseDownTime:]):
3355         (-[WebFrameBridge shouldInterruptJavaScript]):
3356         (-[WebFrameBridge saveDocumentState:]):
3357         (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]):
3358         (-[WebFrameBridge valueForKey:keys:values:]):
3359         (-[WebFrameBridge getObjectCacheSize]):
3360         (-[WebFrameBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
3361         (-[WebFrameBridge mayStartDragAtEventLocation:]):
3362         (-[WebFrameBridge canGoBackOrForward:]):
3363         (-[WebFrameBridge goBackOrForward:]):
3364         (-[WebFrameBridge print]):
3365         (-[WebFrameBridge getAppletInView:]):
3366         (-[WebFrameBridge pollForAppletInView:]):
3367         (-[WebFrameBridge respondToChangedContents]):
3368         (-[WebFrameBridge respondToChangedSelection]):
3369         (-[WebFrameBridge setIsSelected:forView:]):
3370
3371 2006-11-04  Darin Adler  <darin@apple.com>
3372
3373         Reviewed by Maciej.
3374
3375         - converted more of the loader machinery to work with cross-platform
3376           data structures instead of Macintosh-specific ones
3377
3378           store the computed user agent string as a WebCore::String instead
3379           of an NSString to avoid overhead converting it every time we get it
3380
3381         * COM/WebFrame.cpp:
3382         (WebFrame::initWithName):
3383         * ChangeLog:
3384         * Misc/WebElementDictionary.m:
3385         (-[WebElementDictionary _image]):
3386         (-[WebElementDictionary _targetWebFrame]):
3387         * WebCoreSupport/WebFrameLoaderClient.h:
3388         * WebCoreSupport/WebFrameLoaderClient.mm:
3389         (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
3390         (WebFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
3391         (WebFrameLoaderClient::setTitle):
3392         (WebFrameLoaderClient::userAgent):
3393         (WebFrameLoaderClient::actionDictionary):
3394         * WebCoreSupport/WebPageBridge.mm:
3395         (WebCore::if):
3396         * WebView/WebDataSource.mm:
3397         (-[WebDataSource _URL]):
3398         (-[WebDataSource _URLForHistory]):
3399         (-[WebDataSource unreachableURL]):
3400         * WebView/WebHTMLView.m:
3401         (-[WebHTMLView elementAtPoint:allowShadowContent:]):
3402         * WebView/WebPDFView.mm:
3403         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
3404         (-[WebPDFView _path]):
3405         * WebView/WebView.mm:
3406         (-[WebViewPrivate init]):
3407         (-[WebViewPrivate dealloc]):
3408         (-[WebViewPrivate finalize]):
3409         (-[WebView _preferencesChangedNotification:]):
3410         (-[WebView _cachedResponseForURL:]):
3411         (-[WebView setApplicationNameForUserAgent:]):
3412         (-[WebView setCustomUserAgent:]):
3413         (-[WebView customUserAgent]):
3414         (-[WebView userAgentForURL:]):
3415         (-[WebView _computeUserAgent]):
3416         (-[WebView WebCore::]):
3417         * WebView/WebViewInternal.h:
3418
3419 2006-11-04  Bertrand Guiheneuf <guiheneuf@gmail.com>
3420
3421         Reviewed by Maciej, tweaked and landed by Alexey (using a patch by Don Gibson).
3422
3423         http://bugs.webkit.org/show_bug.cgi?id=11433
3424         Fixes to get WebKit to run on Windows; implemented AffineTransformCairo.
3425
3426         * COM/WebFrame.cpp:
3427         (WebFrame::initWithName):
3428         (WebFrame::loadDataSource):
3429         (WebFrame::receivedRedirect):
3430         (WebFrame::receivedResponse):
3431         (WebFrame::didReceiveData):
3432         (WebFrame::receivedAllData):
3433         Use resource handles now. Do not start doc loader by hand anymore. 
3434         Handle didReceiveData() callback instead of receivedData() which 
3435         is deprecated in implementation of ResourceHandleClient        
3436
3437         * COM/WebFrame.h:
3438         * COM/WebView.cpp:
3439         Applied ResourceLoader --> ResourceHandle renaming
3440
3441         * WebKit.vcproj/WebKit.rc:
3442         Got rid of MFC dependencies (build fix for VCExpress).
3443
3444         * WebKit.vcproj/WebKit.vcproj:
3445         Added platform/graphics platform/network and platform/network/win 
3446         to headers search paths
3447
3448 2006-11-03  Geoffrey Garen  <ggaren@apple.com>
3449
3450         Forgot to add these two files. Oops.
3451
3452         * WebCoreSupport/WebChromeClient.h: Added.
3453         * WebCoreSupport/WebChromeClient.mm: Added.
3454
3455 2006-11-02  Geoffrey Garen  <ggaren@apple.com>
3456
3457         Reviewed by Darin, Beth.
3458
3459         First cut at factoring Page's UIDelegate-related functions into Chrome
3460         and ChromeClient.
3461
3462         Layout tests pass.
3463         
3464         * WebCoreSupport/WebEditorClient.h:
3465         * WebCoreSupport/WebPageBridge.mm:
3466         * WebKit.xcodeproj/project.pbxproj:
3467
3468 2006-11-02  Timothy Hatcher  <timothy@apple.com>
3469
3470         Reviewed by Brady.
3471
3472         Adding outdent to the WebView responder forwarding list.
3473         Also add outdent to WebHTMLView.h and WebViewPrivate.h.
3474
3475         * WebView/WebHTMLView.h:
3476         * WebView/WebViewPrivate.h:
3477         * WebView/WebView.mm:
3478
3479 2006-11-01  John Sullivan  <sullivan@apple.com>
3480
3481         Reviewed by Adam Roben
3482         
3483         - fixed <rdar://problem/4801351> Crash reloading PDF file in new Safari (or closing a window containing a PDF file)
3484
3485         * WebView/WebPDFView.mm:
3486         (-[WebPDFView initWithFrame:]):
3487         Retain the PDFSubview in the code path where we just obtain it by asking the PDFPreviewView for it. We were
3488         unconditionally releasing it in dealloc, but only retaining it in one of the two code paths.
3489
3490 2006-10-31  Mark Rowe  <bdash@webkit.org>
3491
3492         Reviewed by Maciej.
3493
3494         Fix null pointer dereference while running editing/pasteboard/drag-drop-modifies-page.html
3495
3496         * Misc/WebElementDictionary.m:
3497         (-[WebElementDictionary _image]): Add null check.
3498
3499 2006-10-31  Beth Dakin  <bdakin@apple.com>
3500
3501         Reviewed by Maciej.
3502
3503         This creates local functions for the remaining WebElementDictionary 
3504         members that calls into HitTestResult instead of doing magical 
3505         things with the Objective-C DOM classes.
3506
3507         * ChangeLog:
3508         * Misc/WebElementDictionary.m:
3509         (addLookupKey): The values of the dictionary are now just 
3510         selectors. They used to be WebElementMethods which were 
3511         WebElementTargetObjects associated with selectors, but none of that 
3512         is needed any more.
3513         (+[WebElementDictionary initializeLookupTable]): All selectors are 
3514         now local functions, no more WebElementTargetObjects.
3515         (-[WebElementDictionary objectForKey:]): No more target objects!
3516         (-[WebElementDictionary _domNode]): Call into HitTestResult member 
3517         variable.
3518         (-[WebElementDictionary _altDisplayString]): Same.
3519         (-[WebElementDictionary _image]): Same.
3520         (-[WebElementDictionary _absoluteImageURL]): Same.
3521         (-[WebElementDictionary _title]): Same.
3522         (-[WebElementDictionary _absoluteLinkURL]): Same.
3523         (-[WebElementDictionary _targetWebFrame]): Same.
3524         (-[WebElementDictionary _titleDisplayString]): Same.
3525         (-[WebElementDictionary _textContent]): Same.
3526
3527 2006-10-31  Geoffrey Garen  <ggaren@apple.com>
3528
3529         Reviewed by Alice.
3530         
3531         Moved some Editing code from WebKit, the bridge, and WebCore::Frame down 
3532         to WebCore::Editor.
3533
3534         * WebCoreSupport/WebFrameBridge.mm:
3535         * WebView/WebHTMLView.m:
3536         (-[WebHTMLView _shouldDeleteRange:]):
3537         (-[WebHTMLView _canCopy]):
3538         (-[WebHTMLView _canCut]):
3539         (-[WebHTMLView _canDelete]):
3540         (-[WebHTMLView _canPaste]):
3541         (-[WebHTMLView _canEdit]):
3542         (-[WebHTMLView _canEditRichly]):
3543         (-[WebHTMLView _isEditable]):
3544         (-[WebHTMLView _isSelectionInPasswordField]):
3545         (-[NSArray validateUserInterfaceItem:]):
3546         (-[NSArray _expandSelectionToGranularity:]):
3547
3548 2006-10-31  John Sullivan  <sullivan@apple.com>
3549
3550         Reviewed by Beth and Adam
3551         
3552         Display a tooltip when hovering over marked bad grammar.
3553
3554         * Misc/WebElementDictionary.m:
3555         (+[WebElementDictionary initializeLookupTable]):
3556         support spelling tool tip
3557         (-[WebElementDictionary _spellingToolTip]):
3558         new method, calls through to HitTestResult
3559         
3560         * WebView/WebHTMLView.m:
3561         (-[WebHTMLView _updateMouseoverWithEvent:]):
3562         Check for a spelling tool tip; if found, prefer it over the other possible tool tips.
3563         Check for empty strings instead of just nil strings being, since values from 
3564         WebElementDictionary are empty strings.
3565         
3566         * WebView/WebViewPrivate.h:
3567         declare new string constant WebElementSpellingToolTipKey
3568         * WebView/WebView.mm:
3569         define new string constant WebElementSpellingToolTipKey
3570         
3571 2006-10-31  Beth Dakin  <bdakin@apple.com>
3572
3573         Reviewed by Maciej.
3574
3575         Small tweaks to WebKit because of http://bugs.webkit.org/
3576         show_bug.cgi?id=11461 HitTestResult should be split into 
3577         HitTestRequest and HitTestResult
3578
3579         * WebKit.xcodeproj/project.pbxproj:
3580         * WebView/WebHTMLView.m:
3581         (-[WebHTMLView elementAtPoint:allowShadowContent:]): The 
3582         HitTestResult initializer now just takes a point.
3583
3584 2006-10-31  Darin Adler  <darin@apple.com>
3585
3586         Reviewed by Brady.
3587
3588         - got "action dictionary" code out of FrameLoader,
3589           replacing with a class called NavigationAction
3590
3591         * WebCoreSupport/WebFrameLoaderClient.h: Changed parameter types to NavigationAction.
3592         Made elementForEvent non-virtual. Added actionDictionary function.
3593         * WebCoreSupport/WebFrameLoaderClient.mm:
3594         (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): Changed parameter type,
3595         and used actionDictionary to make the action dictionary.
3596         (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto.
3597         (WebFrameLoaderClient::actionDictionary): Added. Code that was originally in WebCore
3598         that creates the action dictionary (from a NavigationAction).
3599
3600         * WebView/WebFrame.mm: (-[WebFrame _loadItem:withLoadType:]): Use NavigationAction
3601         instead of a dictionary for the action parameters.
3602
3603 2006-10-31  Marvin Decker  <marv.decker@gmail.com>
3604
3605         Reviewed by Maciej.
3606         
3607         - fixed "Stop and reload don't work on the WebView"
3608         http://bugs.webkit.org/show_bug.cgi?id=11285
3609
3610         * COM/WebFrame.cpp:
3611         (WebFrame::stopLoading): Implement.
3612         * COM/WebView.cpp:
3613         (WebView::stopLoading): ditto
3614         (WebView::reload): ditto
3615
3616 2006-10-30  Darin Adler  <darin@apple.com>
3617
3618         * Plugins/WebBaseNetscapePluginView.mm:
3619         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
3620         Fix comment.
3621
3622 2006-10-30  John Sullivan  <sullivan@apple.com>
3623
3624         Reviewed by Geoff Garen
3625
3626         * WebView/WebHTMLView.m:
3627         (-[NSArray checkSpelling:]):
3628         removed code to update spelling panel; WebCore handles that now
3629         (-[NSArray showGuessPanel:]):
3630         ditto
3631
3632 2006-10-30  John Sullivan  <sullivan@apple.com>
3633
3634         * English.lproj/WebViewEditingContextMenu.nib/info.nib:
3635         * English.lproj/WebViewEditingContextMenu.nib/objects.nib:
3636         Another wording change to match framework, post-Tiger:
3637         "Check Spelling" -> "Check Document Now"
3638
3639 2006-10-30  John Sullivan  <sullivan@apple.com>
3640
3641         Reviewed by Geoff Garen.
3642         
3643         Moved spelling-related methods from bridge to EditorClient. Added one not-yet-used
3644         grammar-related method.
3645
3646         * WebCoreSupport/WebEditorClient.h:
3647         declare overrides of isContinuousSpellCheckingEnabled(), spellCheckerDocumentTag(), and new
3648         isGrammarCheckingEnabled()
3649         * WebCoreSupport/WebEditorClient.mm:
3650         (WebEditorClient::isContinuousSpellCheckingEnabled):
3651         implement by calling through to WebView
3652         (WebEditorClient::isGrammarCheckingEnabled):
3653         ditto
3654         (WebEditorClient::spellCheckerDocumentTag):
3655         ditto
3656         
3657         * WebCoreSupport/WebFrameBridge.mm:
3658         removed bridge equivalents of these methods
3659
3660 2006-10-30  Geoffrey Garen  <ggaren@apple.com>
3661
3662         Reviewed by Beth.
3663         
3664         Fixed nil-deref crash that I saw while using TOT (not sure how to repro,
3665         but the debugger confirmed the cause).
3666
3667         * WebView/WebFrame.mm:
3668         (core): Added check for NULL bridge.
3669
3670 2006-10-30  Geoffrey Garen  <ggaren@apple.com>
3671
3672         Reviewed by Darin.
3673
3674         Removed a number of editing and selection methods from the bridge.
3675         
3676         I moved cross-platform editing and selection code into WebCore::Editor and 
3677         WebCore::SelectionController, respecitvely.
3678         
3679         All of the seemingly new code here is just code grabbed from WebCore or
3680         merged from WebCoreFrameBridge.
3681         
3682         I changed one piece of internal API: we now pass around Ranges in places
3683         where we used to pass around broken out components of Ranges.
3684         
3685         I also added WebCore XPATH_SUPPORT AND SVG_SUPPORT #defines to the project.
3686         Since we now include WebCore headers that depend on these #defines, we need
3687         to keep in sync with them, to avoid binary incompatibility.
3688
3689 2006-10-30  Darin Adler  <darin@apple.com>
3690
3691         Reviewed by John Sullivan.
3692
3693         - work toward removing Objective-C data types from FrameLoader.h:
3694           removed NSDate, NSString, WebCorePageState, WebCoreResourceLoader,
3695           and WebCoreResourceHandle
3696         - moved bodyBackgroundColor function here from Frame
3697
3698         * History/WebHistoryItem.m: (+[WebHistoryItem _closeObjectsInPendingPageCaches]):
3699         Updated for change in WebCorePageState.
3700
3701         * WebCoreSupport/WebFrameBridge.mm: Removed saveDocumentToPageCache method.
3702
3703         * WebCoreSupport/WebFrameLoaderClient.h: Changed NSDate to double.
3704         * WebCoreSupport/WebFrameLoaderClient.mm:
3705         (WebFrameLoaderClient::invalidateCurrentItemPageCache): Moved the code that was
3706         formerly in invalidatePageCache: on the bridge here.
3707         (WebFrameLoaderClient::dispatchWillPerformClientRedirect): Added code to make the
3708         NSDate here.
3709         (WebFrameLoaderClient::createPageCache): Restructured code to create the
3710         WebCorePageState object directly instead of calling saveDocumentToPageCache on
3711         the bridge.
3712
3713         * WebView/WebFrame.mm: (-[WebFrame _bodyBackgroundColor]): Rewrote this to work
3714         directly with the DOM and renderers rather than using a function on Frame.
3715
3716 2006-10-29  Maciej Stachowiak  <mjs@apple.com>
3717
3718         Reviewed by Anders.
3719
3720         - added ResourceResponse class and didReceiveResponse delegate call
3721
3722         * WebCoreSupport/WebFrameBridge.mm: Removed no longer needed
3723         expiresTimeForResponse: method.
3724
3725 2006-10-29  Darin Adler  <darin@apple.com>
3726
3727         - update for the WebCore rename
3728
3729         * WebCoreSupport/WebFrameLoaderClient.mm:
3730         * WebView/WebFrame.mm:
3731
3732 2006-10-29  Darin Adler  <darin@apple.com>
3733
3734         - update for the WebCore renames
3735
3736         * Plugins/WebNetscapePluginStream.mm:
3737         * Plugins/WebPluginController.mm:
3738         * WebCoreSupport/WebFrameBridge.mm:
3739         * WebCoreSupport/WebFrameLoaderClient.h:
3740         * WebCoreSupport/WebFrameLoaderClient.mm:
3741         (WebFrameLoaderClient::willUseArchive):
3742         (WebFrameLoaderClient::isArchiveLoadPending):
3743         (WebFrameLoaderClient::cancelPendingArchiveLoad):
3744         (WebFrameLoaderClient::deliverArchivedResources):
3745         * WebCoreSupport/WebPageBridge.mm:
3746         (-[WebPageBridge canRunModalNow]):
3747         * WebView/WebDocumentLoaderMac.h:
3748         * WebView/WebFrame.mm:
3749         * WebView/WebHTMLRepresentation.m:
3750         * WebView/WebView.mm:
3751
3752 2006-10-29  Darin Adler  <darin@apple.com>
3753
3754         Rubber stamped by Adam Roben.
3755
3756         - renamed WebCore's WebFrameLoaderClient to match the class name inside it
3757
3758         * WebCoreSupport/WebFrameBridge.mm: Update include.
3759         * WebCoreSupport/WebFrameLoaderClient.h: Ditto.
3760
3761 2006-10-29  Darin Adler  <darin@apple.com>
3762
3763         Reviewed by Maciej.
3764
3765         - eliminate use of NSArray to carry form data around
3766           (the code in this framework was actually using the NSArray to hold a single
3767            NSData anyway, so I just went back to an NSData for now)
3768
3769         - also fixed http://bugs.webkit.org/show_bug.cgi?id=11444
3770           REGRESSION (r17378): Exception (-[NSCFDictionary setObject:forKey:]:
3771           attempt to insert nil value) when submitting a form with an empty
3772           uninitialized field
3773
3774         * History/WebHistoryItem.m:
3775         (-[WebHistoryItem _setFormInfoFromRequest:]):
3776         (-[WebHistoryItem formData]):
3777         * History/WebHistoryItemPrivate.h:
3778         * WebCoreSupport/WebFrameLoaderClient.mm:
3779         (WebFrameLoaderClient::dispatchWillSubmitForm):
3780         * WebView/WebFrame.mm:
3781         (-[WebFrame _loadItem:withLoadType:]):
3782
3783 2006-10-28  Darin Adler  <darin@apple.com>
3784
3785         Reviewed by Maciej.
3786
3787         - eliminated the use of Objective-C for the policy decider
3788           machinery, obviating the need for WebPolicyDeciderMac
3789
3790         - moved the defersLoading flag from WebView to WebCore::Page
3791
3792         - removed unused copies of four methods that in the frame bridge;
3793           the actually-used copies are in the page bridge
3794
3795         - updated for rename of PassRefPtr::release to releaseRef
3796
3797         * WebView/WebPolicyDeciderMac.h: Removed.
3798         * WebView/WebPolicyDeciderMac.m: Removed.
3799         * WebKit.xcodeproj/project.pbxproj: Updated for removal.
3800
3801         * Plugins/WebBaseNetscapePluginView.mm:
3802         (-[WebBaseNetscapePluginView sendEvent:]):
3803         * Plugins/WebNetscapePluginStream.mm:
3804         * WebCoreSupport/WebFrameBridge.mm:
3805         * WebCoreSupport/WebFrameLoaderClient.h:
3806         * WebCoreSupport/WebFrameLoaderClient.mm:
3807         (getWebView):
3808         (WebFrameLoaderClient::WebFrameLoaderClient):
3809         (WebFrameLoaderClient::willCloseDocument):
3810         (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
3811         (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
3812         (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
3813         (WebFrameLoaderClient::cancelPolicyCheck):
3814         (WebFrameLoaderClient::dispatchWillSubmitForm):
3815         (WebFrameLoaderClient::setDefersLoading):
3816         (WebFrameLoaderClient::setTitle):
3817         (WebFrameLoaderClient::deliverArchivedResourcesAfterDelay):
3818         (WebFrameLoaderClient::deliverArchivedResources):
3819         (WebFrameLoaderClient::setUpPolicyListener):
3820         (WebFrameLoaderClient::receivedPolicyDecison):
3821         (WebFrameLoaderClient::userAgent):
3822         (-[WebFramePolicyListener initWithWebCoreFrame:]):
3823         (-[WebFramePolicyListener invalidate]):
3824         (-[WebFramePolicyListener dealloc]):
3825         (-[WebFramePolicyListener finalize]):
3826         (-[WebFramePolicyListener receivedPolicyDecision:]):
3827         (-[WebFramePolicyListener ignore]):
3828         (-[WebFramePolicyListener download]):
3829         (-[WebFramePolicyListener use]):
3830         (-[WebFramePolicyListener continue]):
3831         * WebCoreSupport/WebPageBridge.mm:
3832         (-[WebPageBridge runModal]):
3833         * WebView/WebArchiver.m:
3834         (+[WebArchiver archiveSelectionInFrame:]):
3835         * WebView/WebFormDelegate.h:
3836         * WebView/WebFormDelegate.m:
3837         (+[WebFormDelegate _sharedWebFormDelegate]):
3838         (-[WebFormDelegate textFieldDidBeginEditing:inFrame:]):
3839         (-[WebFormDelegate textFieldDidEndEditing:inFrame:]):
3840         (-[WebFormDelegate textDidChangeInTextField:inFrame:]):
3841         (-[WebFormDelegate textDidChangeInTextArea:inFrame:]):
3842         (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]):
3843         * WebView/WebFrame.mm:
3844         (-[WebFrame _loadURL:referrer:intoChild:]):
3845         (-[WebFrame _isFrameSet]):
3846         * WebView/WebFrameInternal.h:
3847         * WebView/WebFrameView.mm:
3848         (-[WebFrameView _shouldDrawBorder]):
3849         * WebView/WebHTMLView.m:
3850         (-[NSArray knowsPageRange:]):
3851         * WebView/WebView.mm:
3852         (-[WebView _formDelegate]):
3853         * WebView/WebViewInternal.h:
3854         * WebView/WebViewPrivate.h:
3855
3856 2006-10-28  Adam Roben  <aroben@apple.com>
3857
3858         Reviewed by Maciej.
3859
3860         Fix layout tests that broke after r17399. Mitz discovered that the
3861         failures were caused by HitTestResult::m_point being uninitialized
3862         much of the time. HitTestResults are now always constructed with a
3863         point.
3864
3865         * WebView/WebHTMLView.m:
3866         (-[WebHTMLView elementAtPoint:allowShadowContent:]): Pass point to
3867         HitTestResult constructor.
3868
3869 2006-10-28  Beth Dakin  <bdakin@apple.com>
3870
3871         Reviewed by Darin.
3872
3873         This is the WebKit half of pushing the guts of elementAtPoint and 
3874         WebElementDictionary into WebCore. Among other things, this patch 
3875         makes WebElementDictionary.m and WebHTMLView.m Objective-C++
3876
3877         * MigrateHeaders.make: Add DOMElementInternal.h to the list of 
3878         headers to migrate.
3879         * Misc/WebElementDictionary.h: Replaced DOMNode, DOMElement, and 
3880         NSPoint member variables with a HitTestResult member variable.
3881         * Misc/WebElementDictionary.m:
3882         (addLookupKey): Formatting.
3883         (-[WebElementDictionary initWithHitTestResult:]): Constructor just 
3884         takes a HitTestResult now and sets the member variable.
3885         (-[WebElementDictionary dealloc]): delete HitTestResult.
3886         (-[WebElementDictionary finalize]): Address HitTestResult.
3887         (-[WebElementDictionary _domNode]): Use HitTestResult and call into 
3888         WebCore.
3889         (-[WebElementDictionary objectForKey:]): Same.
3890         (-[WebElementDictionary _webFrame]): Same.
3891         (-[WebElementDictionary _targetWebFrame]): Same.
3892         (-[WebElementDictionary _title]): Same.
3893         (-[WebElementDictionary _imageRect]): Same.
3894         (-[WebElementDictionary _isSelected]): Same.
3895         * WebKit.xcodeproj/project.pbxproj:
3896         * WebView/WebFrame.mm:
3897         (core): Convert from DOMNode* to Node*
3898         (kit): Convert from Node* to DOMNode*
3899         * WebView/WebFrameInternal.h: Support for the above.
3900         * WebView/WebHTMLView.m:
3901         (-[WebHTMLView elementAtPoint:allowShadowContent:]): Call directly 
3902         into Frame.cpp to get HitTestResult.
3903
3904 2006-10-27  Maciej Stachowiak  <mjs@apple.com>
3905
3906         Reviewed by John & Adam.
3907         
3908         - various performance improvements for resource delegate dispatch.
3909         
3910         - avoid any ObjC messaging when fetching the WebView
3911         - avoid ObjC calls to WebView to get resource load delegate and impl cache
3912         - cache actual method pointers, not just the fact that the method is present
3913         - added a new SPI resource load delegate method which allows clients to get
3914           just one message in case of synchronously loading from memory cache; if this
3915           is implemented you don't get the normal delegate calls in that case.
3916         - various other minor tweaks
3917
3918         * WebCoreSupport/WebFrameBridge.h:
3919         * WebCoreSupport/WebFrameLoaderClient.h:
3920         * WebCoreSupport/WebFrameLoaderClient.mm:
3921         (getWebView):
3922         (WebFrameLoaderClient::hasBackForwardList):
3923         (WebFrameLoaderClient::resetBackForwardList):
3924         (WebFrameLoaderClient::privateBrowsingEnabled):
3925         (WebFrameLoaderClient::updateHistoryForStandardLoad):
3926         (WebFrameLoaderClient::resetAfterLoadError):
3927         (WebFrameLoaderClient::download):
3928         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
3929         (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
3930         (WebFrameLoaderClient::dispatchWillSendRequest):
3931         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
3932         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
3933         (WebFrameLoaderClient::dispatchDidReceiveResponse):
3934         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
3935         (WebFrameLoaderClient::dispatchDidFinishLoading):
3936         (WebFrameLoaderClient::dispatchDidFailLoading):
3937         (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
3938         (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
3939         (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
3940         (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
3941         (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
3942         (WebFrameLoaderClient::dispatchWillClose):
3943         (WebFrameLoaderClient::dispatchDidReceiveIcon):
3944         (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
3945         (WebFrameLoaderClient::dispatchDidReceiveTitle):
3946         (WebFrameLoaderClient::dispatchDidCommitLoad):
3947         (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
3948         (WebFrameLoaderClient::dispatchDidFailLoad):
3949         (WebFrameLoaderClient::dispatchDidFinishLoad):
3950         (WebFrameLoaderClient::dispatchDidFirstLayout):
3951         (WebFrameLoaderClient::dispatchCreatePage):
3952         (WebFrameLoaderClient::dispatchShow):
3953         (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
3954         (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
3955         (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
3956         (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
3957         (WebFrameLoaderClient::dispatchWillSubmitForm):
3958         (WebFrameLoaderClient::dispatchDidLoadMainResource):
3959         (WebFrameLoaderClient::progressStarted):
3960         (WebFrameLoaderClient::progressCompleted):
3961         (WebFrameLoaderClient::incrementProgress):
3962         (WebFrameLoaderClient::completeProgress):
3963         (WebFrameLoaderClient::setMainFrameDocumentReady):
3964         (WebFrameLoaderClient::startDownload):
3965         (WebFrameLoaderClient::willChangeTitle):
3966         (WebFrameLoaderClient::didChangeTitle):
3967         (WebFrameLoaderClient::mainFrameURL):
3968         (WebFrameLoaderClient::frameLoadCompleted):
3969         * WebCoreSupport/WebPageBridge.h:
3970         * WebKit.xcodeproj/project.pbxproj:
3971         * WebView/WebFrame.mm:
3972         (frame):
3973         (core):
3974         (kit):
3975         (getWebView):
3976         (-[WebFrame _addBackForwardItemClippedAtTarget:]):
3977         (-[WebFrame _canCachePage]):
3978         (-[WebFrame _purgePageCache]):
3979         (-[WebFrame _loadItem:withLoadType:]):
3980         (-[WebFrame _goToItem:withLoadType:]):
3981         (-[WebFrame _updateBackground]):
3982         (-[WebFrame _clearSelectionInOtherFrames]):
3983         (-[WebFrame _isMainFrame]):
3984         (-[WebFrame webView]):
3985         * WebView/WebResourceLoadDelegatePrivate.h: Added.
3986         * WebView/WebView.mm:
3987         (-[WebView _cacheResourceLoadDelegateImplementations]):
3988         (WebViewGetResourceLoadDelegate):
3989         (WebViewGetResourceLoadDelegateImplementations):
3990         * WebView/WebViewInternal.h:
3991         * WebView/WebViewPrivate.h:
3992
3993 2006-10-27  Geoffrey Garen  <ggaren@apple.com>
3994
3995         Reviewed by Maciej.
3996         
3997         Moved some WebCoreFrameBridge functions into FrameLoader.
3998
3999         * WebView/WebFrame.mm:
4000         (-[WebFrame _numPendingOrLoadingRequests:]):
4001
4002 2006-10-27  Timothy Hatcher  <timothy@apple.com>
4003
4004         Reviewed by Beth.
4005
4006         Make a DerivedSource/Webkit directory to store migrated
4007         internal headers from WebCore.
4008
4009         * MigrateHeaders.make:
4010         * WebKit.xcodeproj/project.pbxproj:
4011         * WebView/WebFrame.mm: import the new migrated DOM*Internal.h headers
4012
4013 2006-10-27  John Sullivan  <sullivan@apple.com>
4014
4015         Reviewed by Anders
4016         
4017         - fixed http://bugs.webkit.org/show_bug.cgi?id=11439 
4018           REGRESSION: Another page loading crash
4019
4020         * WebView/WebFrame.mm:
4021         (-[WebFrame _createItem:]):
4022         Handle nil documentLoader the way we did before ObjC->C++ changes
4023
4024 2006-10-27  John Sullivan  <sullivan@apple.com>
4025
4026         Reviewed by Anders
4027
4028         * WebView/WebHTMLView.m:
4029         (-[NSArray checkSpelling:]):
4030         call advanceToNextMisspelling directly on FrameMac, bypassing bridge
4031         (-[NSArray showGuessPanel:]):
4032         ditto
4033
4034 2006-10-27  Darin Adler  <darin@apple.com>
4035
4036         - build fix
4037
4038         * WebCoreSupport/WebFrameLoaderClient.mm: Corrected header file name.
4039
4040 2006-10-27  Darin Adler  <darin@apple.com>
4041
4042         Reviewed by Maciej.
4043
4044         - moved methods that are there just to be called by the frame loader client into the client
4045           in an attempt to get back some of the speed we lost yesterday
4046
4047         * DefaultDelegates/WebDefaultResourceLoadDelegate.m:
4048         (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]):
4049         (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]):
4050         * WebCoreSupport/WebFrameLoaderClient.h:
4051         * WebCoreSupport/WebFrameLoaderClient.mm:
4052         (dataSource):
4053         (decisionListener):
4054         (WebFrameLoaderClient::WebFrameLoaderClient):
4055         (WebFrameLoaderClient::hasWebView):
4056         (WebFrameLoaderClient::hasFrameView):
4057         (WebFrameLoaderClient::hasBackForwardList):
4058         (WebFrameLoaderClient::resetBackForwardList):
4059         (WebFrameLoaderClient::provisionalItemIsTarget):
4060         (WebFrameLoaderClient::loadProvisionalItemFromPageCache):
4061         (WebFrameLoaderClient::invalidateCurrentItemPageCache):
4062         (WebFrameLoaderClient::privateBrowsingEnabled):
4063         (WebFrameLoaderClient::makeDocumentView):
4064         (WebFrameLoaderClient::makeRepresentation):
4065         (WebFrameLoaderClient::setDocumentViewFromPageCache):
4066         (WebFrameLoaderClient::forceLayout):
4067         (WebFrameLoaderClient::forceLayoutForNonHTML):
4068         (WebFrameLoaderClient::updateHistoryForCommit):
4069         (WebFrameLoaderClient::updateHistoryForBackForwardNavigation):
4070         (WebFrameLoaderClient::updateHistoryForReload):
4071         (WebFrameLoaderClient::updateHistoryForStandardLoad):
4072         (WebFrameLoaderClient::updateHistoryForInternalLoad):
4073         (WebFrameLoaderClient::updateHistoryAfterClientRedirect):
4074         (WebFrameLoaderClient::setCopiesOnScroll):
4075         (WebFrameLoaderClient::tokenForLoadErrorReset):
4076         (WebFrameLoaderClient::resetAfterLoadError):
4077         (WebFrameLoaderClient::doNotResetAfterLoadError):
4078         (WebFrameLoaderClient::detachedFromParent1):
4079         (WebFrameLoaderClient::detachedFromParent2):
4080         (WebFrameLoaderClient::detachedFromParent3):
4081         (WebFrameLoaderClient::detachedFromParent4):
4082         (WebFrameLoaderClient::loadedFromPageCache):
4083         (WebFrameLoaderClient::download):
4084         (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
4085         (WebFrameLoaderClient::dispatchWillSendRequest):
4086         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
4087         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
4088         (WebFrameLoaderClient::dispatchDidReceiveResponse):
4089         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
4090         (WebFrameLoaderClient::dispatchDidFinishLoading):
4091         (WebFrameLoaderClient::dispatchDidFailLoading):
4092         (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
4093         (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
4094         (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
4095         (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
4096         (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
4097         (WebFrameLoaderClient::dispatchWillClose):
4098         (WebFrameLoaderClient::dispatchDidReceiveIcon):
4099         (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
4100         (WebFrameLoaderClient::dispatchDidReceiveTitle):
4101         (WebFrameLoaderClient::dispatchDidCommitLoad):
4102         (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
4103         (WebFrameLoaderClient::dispatchDidFailLoad):
4104         (WebFrameLoaderClient::dispatchDidFinishLoad):
4105         (WebFrameLoaderClient::dispatchDidFirstLayout):
4106         (WebFrameLoaderClient::dispatchCreatePage):
4107         (WebFrameLoaderClient::dispatchShow):
4108         (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
4109         (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
4110         (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
4111         (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
4112         (WebFrameLoaderClient::dispatchWillSubmitForm):
4113         (WebFrameLoaderClient::dispatchDidLoadMainResource):
4114         (WebFrameLoaderClient::clearLoadingFromPageCache):
4115         (WebFrameLoaderClient::isLoadingFromPageCache):
4116         (WebFrameLoaderClient::revertToProvisionalState):
4117         (WebFrameLoaderClient::setMainDocumentError):
4118         (WebFrameLoaderClient::clearUnarchivingState):
4119         (WebFrameLoaderClient::progressStarted):
4120         (WebFrameLoaderClient::progressCompleted):
4121         (WebFrameLoaderClient::incrementProgress):
4122         (WebFrameLoaderClient::completeProgress):
4123         (WebFrameLoaderClient::setMainFrameDocumentReady):
4124         (WebFrameLoaderClient::startDownload):
4125         (WebFrameLoaderClient::willChangeTitle):
4126         (WebFrameLoaderClient::didChangeTitle):
4127         (WebFrameLoaderClient::committedLoad):
4128         (WebFrameLoaderClient::finishedLoading):
4129         (WebFrameLoaderClient::finalSetupForReplace):
4130         (WebFrameLoaderClient::cancelledError):
4131         (WebFrameLoaderClient::cannotShowURLError):
4132         (WebFrameLoaderClient::interruptForPolicyChangeError):
4133         (WebFrameLoaderClient::cannotShowMIMETypeError):
4134         (WebFrameLoaderClient::fileDoesNotExistError):
4135         (WebFrameLoaderClient::shouldFallBack):
4136         (WebFrameLoaderClient::mainFrameURL):
4137         (WebFrameLoaderClient::setDefersCallbacks):
4138         (WebFrameLoaderClient::willUseArchive):
4139         (WebFrameLoaderClient::isArchiveLoadPending):
4140         (WebFrameLoaderClient::cancelPendingArchiveLoad):
4141         (WebFrameLoaderClient::clearArchivedResources):
4142         (WebFrameLoaderClient::canHandleRequest):
4143         (WebFrameLoaderClient::canShowMIMEType):
4144         (WebFrameLoaderClient::representationExistsForURLScheme):
4145         (WebFrameLoaderClient::generatedMIMETypeForURLScheme):
4146         (WebFrameLoaderClient::elementForEvent):
4147         (WebFrameLoaderClient::createPolicyDecider):
4148         (WebFrameLoaderClient::frameLoadCompleted):
4149         (WebFrameLoaderClient::restoreScrollPositionAndViewState):
4150         (WebFrameLoaderClient::provisionalLoadStarted):
4151         (WebFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
4152         (WebFrameLoaderClient::addHistoryItemForFragmentScroll):
4153         (WebFrameLoaderClient::didFinishLoad):
4154         (WebFrameLoaderClient::prepareForDataSourceReplacement):
4155         (WebFrameLoaderClient::createDocumentLoader):
4156         (WebFrameLoaderClient::setTitle):
4157         (WebFrameLoaderClient::canUseArchivedResource):
4158         (WebFrameLoaderClient::deliverArchivedResourcesAfterDelay):
4159         (WebFrameLoaderClient::deliverArchivedResources):
4160         (WebFrameLoaderClient::createPageCache):
4161         * WebView/WebFrame.mm:
4162         (-[NSView setWebFrame:]):
4163         (-[WebFrame _createItem:]):
4164         (-[WebFrame _loadItem:withLoadType:]):
4165         (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):
4166         (-[WebFrame _loadURL:referrer:intoChild:]):
4167         (-[WebFrame _saveScrollPositionAndViewStateToItem:]):
4168         (-[WebFrame _hasSelection]):
4169         (-[WebFrame _clearSelection]):
4170         (-[WebFrame _setProvisionalItem:]):
4171         (-[WebFrame _setPreviousItem:]):
4172         (-[WebFrame _setCurrentItem:]):
4173         (-[WebFrame loadArchive:]):
4174         * WebView/WebFrameInternal.h:
4175         * WebView/WebHTMLView.m:
4176         (-[WebHTMLView _topHTMLView]):
4177         * WebView/WebHTMLViewPrivate.h:
4178
4179 2006-10-26  Geoffrey Garen  <ggaren@apple.com>
4180
4181         Reviewed by Darin, Maciej.
4182
4183         Removed many uses of NSString * from WebCore.
4184         
4185         Changed a few files to ObjC++ for compatiblity with new WebCore methods
4186         taking WebCore::Strings as arguments.
4187         
4188         Added a static_cast to make the c++ compiler happy.
4189
4190 2006-10-26  John Sullivan  <sullivan@apple.com>
4191
4192         Reviewed by Anders
4193
4194         * WebView/WebFrame.mm:
4195         now includes <WebCore/Document.h> and <WebCore/DocumentMarker.h>
4196         (-[WebFrame _unmarkAllBadGrammar]):
4197         filled in guts
4198         (-[WebFrame _unmarkAllMisspellings]):
4199         rewrote to call Document directly, bypassing bridge
4200
4201 2006-10-26  John Sullivan  <sullivan@apple.com>
4202
4203         * English.lproj/WebViewEditingContextMenu.nib/info.nib:
4204         * English.lproj/WebViewEditingContextMenu.nib/objects.nib:
4205         
4206         Changed "Spelling" to "Spelling and Grammar" in context menu for post-Tiger.
4207
4208 === Safari-521.29 ===
4209
4210 2006-10-26  John Sullivan  <sullivan@apple.com>
4211
4212         No review, just two localized string changes.
4213         
4214         * WebView/WebHTMLView.m:
4215         (-[NSArray validateUserInterfaceItem:]):
4216         changed "Show/Hide Spelling" to "Show/Hide Spelling and Grammar" post-Tiger to match framework change
4217
4218         * English.lproj/Localizable.strings:
4219         updated for these changes
4220
4221 2006-10-25  Darin Adler  <darin@apple.com>
4222
4223         Reviewed by Anders.
4224
4225         - removed 55 methods from WebCoreFrameBridge
4226         - changed callers to use Frame directly instead
4227         - put FrameLoaderTypes.h types into the WebCore namespace
4228         - first steps to get FrameLoader.h ready for cross-platform duty
4229
4230         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
4231         (-[WebDefaultUIDelegate openNewWindowWithURL:element:]):
4232         * Plugins/WebBaseNetscapePluginView.mm:
4233         (-[WebBaseNetscapePluginView requestWithURLCString:]):
4234         (-[WebBaseNetscapePluginView loadPluginRequest:]):
4235         (-[WebBaseNetscapePluginView getVariable:value:]):
4236         * Plugins/WebNetscapePluginEmbeddedView.m:
4237         (-[WebNetscapePluginEmbeddedView didStart]):
4238         * Plugins/WebNetscapePluginStream.mm:
4239         * Plugins/WebPluginContainerCheck.m:
4240         (-[WebPluginContainerCheck _continueWithPolicy:]):
4241         (-[WebPluginContainerCheck _isForbiddenFileLoad]):
4242         * WebCoreSupport/WebEditorClient.mm:
4243         (WebEditorClient::shouldDeleteRange):
4244         (WebEditorClient::shouldShowDeleteInterface):
4245         * WebCoreSupport/WebFrameBridge.mm:
4246         (-[WebFrameBridge webView]):
4247         (-[WebFrameBridge finishInitializingWithFrameName:view:]):
4248         (-[WebFrameBridge createWindowWithURL:]):
4249         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
4250         (-[WebFrameBridge windowObjectCleared]):
4251         (-[WebFrameBridge createModalDialogWithURL:]):
4252         * WebCoreSupport/WebFrameLoaderClient.mm: