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