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