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