JavaScriptCore:
[WebKit-https.git] / WebKit / ChangeLog
1 2007-07-14  Brady Eidson  <beidson@apple.com>
2
3         Reviewed by Sam Weinig
4
5         Initial check-in for <rdar://problem/3154486> - Supporting FTP directory listings in the browser
6
7         * WebView/WebPreferenceKeysPrivate.h: Added preference keys for the FTP template location, as well as to force 
8           FTP directory listings, bypassing the policy delegate.  This is necessary to test the new feature until browser
9           policy delegate support is added.
10
11         * WebView/WebPreferences.m:
12         (-[WebPreferences _setFTPDirectoryTemplatePath:]):
13         (-[WebPreferences _ftpDirectoryTemplatePath]):
14         (-[WebPreferences _setForceFTPDirectoryListings:]):
15         (-[WebPreferences _forceFTPDirectoryListings]):
16         * WebView/WebPreferencesPrivate.h:
17         * WebView/WebView.mm:
18         (-[WebView _updateWebCoreSettingsFromPreferences:]):
19
20 2007-07-13  Anders Carlsson  <andersca@apple.com>
21
22         Reviewed by Maciej.
23
24         <rdar://problem/5290103> Assert failure when loading page with multipart resource
25         
26         Don't try to call the delegate method if the resource object doesn't exist in the 
27         identifier map. When a multipart resource has finished loading one part, it is removed from the
28         web view identifier map. 
29         
30         This is not an ideal fix, a better fix would be to special-case multipart resources and not remove
31         them when the first part has finished loading. I've filed <rdar://problem/5335034> to track doing that.
32         
33         * WebCoreSupport/WebFrameLoaderClient.mm:
34         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
35         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
36         (WebFrameLoaderClient::dispatchDidReceiveResponse):
37         (WebFrameLoaderClient::willCacheResponse):
38         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
39         (WebFrameLoaderClient::dispatchDidFinishLoading):
40         (WebFrameLoaderClient::dispatchDidFailLoading):
41
42 2007-07-13  Timothy Hatcher  <timothy@apple.com>
43
44         Reviewed by Oliver Hunt.
45
46         <rdar://problem/5333766> Can't include WebEditingDelegatePrivate.h
47
48         * WebView/WebEditingDelegatePrivate.h: Changed the include to be a framework include,
49         so other projects can use this header.
50
51 2007-07-12  Anders Carlsson  <andersca@apple.com>
52
53         Reviewed by Darin and Maciej.
54
55         <rdar://problem/5271096> panic after Safari stress test, caused by port leak
56
57         Replace uses of -[NSObject performSelector:withObject:afterDelay:] with CFRunLoopTimer. performSelector
58         causes the target (the WebHTMLView in this case) to be retained until the timer fires. Furthermore, when
59         running the PLT or iBench, the timers will not fire until the main loop is entered (usually after running all tests).
60         
61         This means that the timers and ports will not be released until after the test has finished running.
62         
63         * WebView/WebHTMLView.mm:
64         (-[WebHTMLViewPrivate dealloc]):
65         (-[WebHTMLView _cancelUpdateMouseoverTimer]):
66         (-[WebHTMLView _updateMouseoverWithFakeEvent]):
67         (-[WebHTMLView _updateMouseoverTimerCallback:]):
68         (-[WebHTMLView _frameOrBoundsChanged]):
69         (-[WebHTMLView _updateActiveState]):
70         (-[WebHTMLView _updateActiveStateTimerCallback:]):
71         (-[WebHTMLView viewWillMoveToWindow:]):
72         (-[WebHTMLView viewDidMoveToWindow]):
73         (-[WebHTMLView mouseDown:]):
74         (-[WebTextCompleteController dealloc]):
75         * WebView/WebHTMLViewInternal.h:
76
77 2007-07-13  Mark Rowe  <mrowe@apple.com>
78
79         Reviewed by Mitz.
80
81         Build fix.  Stub out WebChromeClient::print.
82
83         * WebCoreSupport/WebChromeClient.h:
84         * WebCoreSupport/WebChromeClient.mm:
85         (WebChromeClient::print):
86
87 2007-07-11  Timothy Hatcher  <timothy@apple.com>
88
89         Reviewed by Oliver.
90
91         <rdar://problem/5108789> WEBVIEW: Drawing artifacts when dragging in IB
92
93         Interface Builder 3 is relying on KVO notifications for frameOrigin and frameSize,
94         among other standard NSView keys. Change automaticallyNotifiesObserversForKey to 
95         return NO only for keys WebView manually fires notifications for.
96
97         * WebView/WebView.mm:
98         (+[WebView automaticallyNotifiesObserversForKey:]): Selectivly return NO for keys we manually fire.
99         (-[WebView _declaredKeys]): Code clean up.
100
101 2007-07-10  Antti Koivisto  <antti@apple.com>
102
103         Reviewed by John.
104         
105         Fix <rdar://problem/4570550>
106         Hang in layout/layoutBlock/layoutBlockChildren preparing to print certain Mail messages
107         
108         When printing from Mail, WebHTMLView is a subview of the view that is actually printed and does not 
109         receive calls that would set it to printing mode. Method adjustPageHeightNew is called repeatedly (for each page) during
110         printing and it enables printing mode temporarily for each call. This triggers two full style recalcs and layouts
111         each time making printing at least O(n^2). 
112
113         Instead of enabling printing mode and resetting it back immediatly do the resetting asynchronously, after
114         all adjustPageHeightNew calls are done. Normal Safari printing is not affected as adjustPageHeightNew is only
115         called in case WebHTMLView is embedded in the view that is being printed.
116         
117         No automatic test possible, requires printing and non-Safari client.
118         
119         * WebView/WebHTMLView.mm:
120         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
121
122 2007-07-10  Geoffrey Garen  <ggaren@apple.com>
123
124         Reviewed by Maciej Stachowiak.
125
126         - Fixed <rdar://problem/5049509> REGRESSION(10.4.9-9A377a): REAP Suite 
127         installer shows empty modal alert window (hangs) if user cancels during
128         "installing shared components" phase
129         
130         Added Adobe installers to the family of apps that need a data load
131         loading quirk.
132         
133         Added a linked-on-or-after check because this code is no longer 
134         Tiger-only.
135         
136         I tested this code on Tiger and Leopard.
137
138         * Misc/WebKitVersionChecks.h:
139         * WebKit.xcodeproj/project.pbxproj:
140         * WebView/WebDocumentLoaderMac.mm:
141         (needsDataLoadWorkaround):
142         (WebDocumentLoaderMac::setDataSource):
143
144 2007-07-10  Darin Adler  <darin@apple.com>
145
146         - fix build
147
148         * WebView/WebHTMLView.mm: Add include of ContextMenu.h.
149
150 2007-07-10  Darin Adler  <darin@apple.com>
151
152         Reviewed by John Sullivan.
153
154         - <rdar://problem/5321953> remove workaround for fixed AppKit mouse moved bug
155
156         * WebView/WebHTMLView.mm: Put the workaround for bug 3429631 inside an
157         ifdef BUILDING_ON_TIGER.
158
159 2007-07-09  Anders Carlsson  <andersca@apple.com>
160
161         Reviewed by Oliver.
162
163         <rdar://problem/4954319> 
164         Acrobat 7 / Safari crash: CrashTracer: 99 crashes in Safari at 
165         com.apple.WebCore: WebCore::NetscapePlugInStreamLoader::isDone const + 0
166
167         Add a new initWithFrameLoader: method to WebNetscapePluginStream which is to be used when
168         the stream is a "fake" stream for full frame plug-ins.
169         
170         * Plugins/WebBaseNetscapePluginView.mm:
171         (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
172         * Plugins/WebNetscapePluginStream.h:
173         * Plugins/WebNetscapePluginStream.mm:
174         (-[WebNetscapePluginStream initWithFrameLoader:]):
175         (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
176         (-[WebNetscapePluginStream start]):
177         (-[WebNetscapePluginStream cancelLoadWithError:]):
178         (-[WebNetscapePluginStream stop]):
179         * WebCoreSupport/WebFrameLoaderClient.mm:
180         (WebFrameLoaderClient::createFrame):
181
182 2007-07-09  John Sullivan  <sullivan@apple.com>
183
184         Reviewed by Darin
185         
186         - fixed <rdar://problem/5320208> WebKit should prevent Time Machine from backing up WebKit clients' icon databases
187
188         * Misc/WebIconDatabase.mm:
189         (-[WebIconDatabase init]):
190         Re-added the code to exclude the icon database from backups. We now do this at the same time we (try to) import
191         the old icon database format, which happens only once per icon database's lifetime.
192         (-[WebIconDatabase _importToWebCoreFormat]):
193         Assert that we haven't imported yet rather than bailing out. It's now the caller's responsibility to check
194         whether we've imported yet.
195
196 2007-07-08  John Sullivan  <sullivan@apple.com>
197
198         * Misc/WebIconDatabase.mm:
199         (-[WebIconDatabase init]):
200         Removed the code to exclude the icon database from backups. We still want to do this, but in a way
201         that only runs once ever, instead of once per launch, due to performance concerns.
202
203 2007-07-07  Darin Adler  <darin@apple.com>
204
205         Reviewed by Maciej.
206
207         - fix <rdar://problem/5124665> WebCore secondary-thread assertion should use linked-on-or-after check instead of building on Tiger check
208
209         * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITH_MAIN_THREAD_EXCEPTIONS.
210
211         * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]): In first-time initialization block,
212         check for binaries linked against older versions of WebKit, and set the default thread violation
213         behavior to LogOnFirstThreadViolation.
214
215         * WebView/WebView.mm: (+[WebView initialize]): Improved comments.
216
217 2007-07-06  Oliver Hunt  <oliver@apple.com>
218
219         Reviewed by Maciej.
220
221         <rdar://problem/5318756> Need to refactor IM/Marked text code to share logic with windows.
222
223         Moved a number of methods from WebHTMLView into WebCore.
224         Replaced bridge methods with calls directly into WebCore objects.
225
226         * WebKit.xcodeproj/project.pbxproj:
227         * WebView/WebHTMLView.mm:
228         (-[WebHTMLView setMarkedText:selectedRange:]):
229           Now calls WebCore object methods directly, rather than calling 
230           via the bridge.
231
232 2007-07-06  John Sullivan  <sullivan@apple.com>
233
234         Reviewed by Brady
235
236         - WebKit part of fix for: 
237           <rdar://problem/5310739> Time Machine shouldn't back up WebKit's icon database files
238
239         * Misc/WebIconDatabase.mm:
240         (-[WebIconDatabase init]):
241         Use CSBackupSetItemExcluded to tell Time Machine not to back up the icon database file
242
243 2007-07-07  Mark Rowe  <mrowe@apple.com>
244
245         Build fix.  Update WebDynamicScrollBarsView.h to include methods added and used in r24060.
246
247         * WebView/WebDynamicScrollBarsView.h:
248
249 2007-07-05  Timothy Hatcher  <timothy@apple.com>
250
251         Reviewed by John.
252
253         <rdar://problem/5236277> REGRESSION-9A458: SPI for setting scroll bar behavior doesn't work
254
255         Calling setHorizontalScrollingMode: calls updateScrollers before returning, this will cause
256         WebCore to reset the scrolling mode based on the CSS overflow rules. So the setAlwaysShowHorizontalScroller:
257         and setAlwaysShowVerticalScroller: methods needed a way to lock the scrolling mode before
258         calling updateScrollers.
259
260         * WebView/WebDynamicScrollBarsView.m:
261         (-[WebDynamicScrollBarsView updateScrollers]):
262         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
263         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]):
264         (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
265         (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]):
266         (-[WebDynamicScrollBarsView setScrollingMode:]):
267         (-[WebDynamicScrollBarsView setScrollingMode:andLock:]):
268         * WebView/WebView.mm:
269         (-[WebView setAlwaysShowVerticalScroller:]):
270         (-[WebView setAlwaysShowHorizontalScroller:]):
271
272 2007-07-06  Mitz Pettel  <mitz@webkit.org>
273
274         Reviewed by Maciej.
275
276         - fix http://bugs.webkit.org/show_bug.cgi?id=10267
277           Can't scroll page downwards with scroll wheel, when pointer is on top of non-scrolling iframe
278
279         * WebView/WebDynamicScrollBarsView.m:
280         (-[WebDynamicScrollBarsView scrollWheel:]): Override the superclass
281         implementation to forward the wheel event to the next responder if this view
282         does not allow scrolling in the event's direction.
283
284 2007-07-05  John Sullivan  <sullivan@apple.com>
285
286         Reviewed by Adam
287         
288         - WebKit part of fix for <rdar://problem/5315033>
289
290         * WebView/WebDocumentPrivate.h:
291         new selectionImageForcingBlackText: method. selectionImageForcingWhiteText: is no longer used and was never
292         in an official release of WebKit, so it could be removed, except that doing so would cause trouble for people
293         using nightly WebKit with Safari 3.0 beta. So I left it in, but made it just force black text instead of
294         white text, which will look different for those nightly WebKit/Safari 3.0 beta people but not break anything.
295         
296         * Misc/WebSearchableTextView.m:
297         (-[WebSearchableTextView selectionImageForcingBlackText:]):
298         new unimplemented protocol method for this obsolete class
299         
300         * WebView/WebHTMLView.mm:
301         (-[WebHTMLView selectionImageForcingBlackText:]):
302         calls through to WebCore the way selectionImageForcingWhiteText: used to
303         (-[WebHTMLView selectionImageForcingWhiteText:]):
304         now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
305         
306         * WebView/WebPDFView.mm:
307         (-[WebPDFView selectionImageForcingBlackText:]):
308         guts of old selectionImageForcingWhiteText:, but with black substituted for white
309         (-[WebPDFView selectionImageForcingWhiteText:]):
310         now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
311
312 2007-07-05  Timothy Hatcher  <timothy@apple.com>
313
314         Reviewed by John.
315
316         <rdar://problem/5314993> Shiira 2.1 throws an exception open a new window: -[WebInspector window]: unrecognized selector
317
318         Add an empty implementation of this method to prevent Shiira from throwing an exception.
319         Also log that this method is obsolete and the class will be removed.
320
321         * WebInspector/WebInspector.mm:
322         (-[WebInspector window]):
323
324 2007-07-04  Adam Roben  <aroben@apple.com>
325
326         Move tooltip logic down into WebCore so that it can be shared cross-platform
327
328         Reviewed by Sam.
329
330         * WebCoreSupport/WebChromeClient.h:
331         * WebCoreSupport/WebChromeClient.mm:
332         (WebChromeClient::setToolTip): Added.
333         * WebView/WebHTMLView.mm: Removed _resetCachedWebPreferences.
334         (-[WebHTMLView _updateMouseoverWithEvent:]): Removed tooltip code.
335         (-[WebHTMLView initWithFrame:]): Removed call to
336         _resetCachedWebPreferences.
337         (-[WebHTMLView setDataSource:]): Ditto.
338         * WebView/WebHTMLViewInternal.h: Removed showsURLsInToolTips ivar.
339         * WebView/WebHTMLViewPrivate.h: Added declaration for _setTooltip so
340         that WebChromeClient can call it.
341
342 2007-07-04  Adam Roben  <aroben@apple.com>
343
344         Initialize Settings::showsURLsInToolTips
345
346         Reviewed by Sam.
347
348         * WebView/WebView.mm:
349         (-[WebView _updateWebCoreSettingsFromPreferences:]):
350
351 2007-07-04  Adam Roben  <aroben@apple.com>
352
353         Removed call to mouseDidMoveOverElement now that WebCore handles it
354
355         Reviewed by Sam.
356
357         * WebView/WebHTMLView.mm:
358         (-[WebHTMLView _updateMouseoverWithEvent:]):
359
360 2007-07-04  Adam Roben  <aroben@apple.com>
361
362         Add WebChromeClient::mouseDidMoveOverElement
363
364         This is not called yet.
365
366         Reviewed by Sam.
367
368         * WebCoreSupport/WebChromeClient.h:
369         * WebCoreSupport/WebChromeClient.mm:
370
371 2007-07-03  Darin Adler  <darin@apple.com>
372
373         * StringsNotToBeLocalized.txt: Updated for recent changes.
374
375 2007-07-03  Timothy Hatcher  <timothy@apple.com>
376
377         Reviewed by Darin.
378
379         Remove HIWebView in 64-bit.
380
381         Also disable a few calls that are now gone in 64-bit and filed these bugs:
382
383         <rdar://problem/5311653> WebKit needs to adopt HIGetMousePosition where we used GetGlobalMouse before
384         <rdar://problem/5311648> WebKit needs to move off of CopyEvent in WebBaseNetscapePluginView
385         <rdar://problem/5311640> WebKit needs a new solution for HISearchWindowShow on 64-bit
386
387         * Carbon/CarbonUtils.m:
388         * Carbon/CarbonWindowAdapter.m:
389         * Carbon/CarbonWindowContentView.m:
390         * Carbon/CarbonWindowFrame.m:
391         * Carbon/HIViewAdapter.m:
392         (SetViewNeedsDisplay):
393         * Carbon/HIWebView.m:
394         (Draw):
395         (SyncFrame):
396         * Configurations/WebKit.xcconfig:
397         * Plugins/WebBaseNetscapePluginView.mm:
398         (+[WebBaseNetscapePluginView getCarbonEvent:]):
399         (TSMEventHandler):
400         * WebKit.LP64.exp: Added.
401         * WebView/WebView.mm:
402         (-[WebView _searchWithSpotlightFromMenu:]):
403
404 2007-07-03  Adam Roben  <aroben@apple.com>
405
406         Merge the Windows and Mac localized strings and exceptions files
407
408         Reviewed by Darin and Anders.
409
410         * English.lproj/Localizable.strings: Added Windows strings.
411         * StringsNotToBeLocalized.txt: Renamed from WebKit/English.lproj/StringsNotToBeLocalized.txt.
412
413 2007-07-03  Adele Peterson  <adele@apple.com>
414
415         Removed printf I accidently left in.
416
417         * Misc/WebNSURLExtras.m: (mapHostNames):
418
419 2007-07-03  Adele Peterson  <adele@apple.com>
420
421         Reviewed by Darin.
422
423         Fix for: <rdar://problem/5292988> domain names shouldn't contain ignorable characters
424
425         * Misc/WebNSURLExtras.m:
426         (isLookalikeCharacter): Renamed.  Also excludes any non-printable character, 
427          any character considered as whitespace that isn't already converted to a space by ICU, any ignorable character,
428          and any character excluded in Mozilla's blacklist: http://kb.mozillazine.org/Network.IDN.blacklist_chars
429         (allCharactersInIDNScriptWhiteList):
430
431 2007-07-03  Darin Adler  <darin@apple.com>
432
433         Reviewed by Maciej.
434
435         - fix <rdar://problem/5310848> WebDataSource lifetime problem -- may be cause of the leaks seen on the buildbot
436
437         * WebView/WebDataSource.mm:
438         (-[WebDataSourcePrivate dealloc]): Added a call to the new detachDataSource function.
439         (-[WebDataSourcePrivate finalize]): Ditto.
440
441         * WebView/WebDocumentLoaderMac.h: Added detachDataSource function to be used when the
442         WebDataSource is deallocated. Added retain/releaseDataSource helper functions to be
443         used to retain and release the data source object. Replaced the m_hasEverBeenDetached
444         boolean with a more primitive and hence easier to understand m_isDataSourceRetained boolean.
445
446         * WebView/WebDocumentLoaderMac.mm:
447         (WebDocumentLoaderMac::WebDocumentLoaderMac): Initialize m_isDataSourceRetained to false.
448         (WebDocumentLoaderMac::setDataSource): Call retainDataSource instead of calling HardRetain
449         on the dataSource parameter. Also updated a comment.
450         (WebDocumentLoaderMac::attachToFrame): Call retainDataSource unconditionally rather than
451         trying to use m_hasEverBeenDetached to decide if a retain is needed. Also got rid of an
452         assertion that m_loadingResources is empty -- not important any more.
453         (WebDocumentLoaderMac::detachFromFrame): Call releaseDataSource instead of using
454         HardRelease, but only if m_loadingResources is empty. If it's non-empty, then we'll
455         do the releaseDataSource later in decreaseLoadCount.
456         (WebDocumentLoaderMac::increaseLoadCount): Call retainDataSource unconditionally
457         rather than calling HardRetain only if the old set of resources was empty.
458         (WebDocumentLoaderMac::decreaseLoadCount): Call releaseDataSource if m_loadingResources
459         is empty and we're not attached to a frame. If we are attached to a frame, then
460         we'll do the releaseDataSource later in detachFromFrame.
461         (WebDocumentLoaderMac::retainDataSource): Added. Calls CFRetain, but only if the data
462         source is not already retained (according to the boolean).
463         (WebDocumentLoaderMac::releaseDataSource): Added. Calls CFRelease, but only if the data
464         source is currently retained (according to the boolean).
465         (WebDocumentLoaderMac::detachDataSource): Added. Sets m_dataSource to nil. Since this
466         is only called from WebDataSource's dealloc and finalize methods, it won't ever be called
467         when the m_isDataSourceRetained boolean is true.
468
469 2007-07-03  Darin Adler  <darin@apple.com>
470
471         - forgot to check in one file in the fix for <rdar://problem/5307880>
472           some classes need finalize methods because of non-trivial work done in dealloc methods
473
474         * WebView/WebView.mm: (-[WebViewPrivate finalize]): Delete identifierMap so it doesn't leak.
475
476 2007-07-03  Anders Carlsson  <andersca@apple.com>
477
478         Reviewed by Darin.
479
480         * WebView/WebView.mm:
481         (-[WebView stringByEvaluatingJavaScriptFromString:]):
482         ASSERT that the value returned isn't nil. It can't be nil when invoked on the main frame.
483
484 2007-07-04  Mark Rowe  <mrowe@apple.com>
485
486         Unreviewed 64-bit build fixes.
487
488         * WebCoreSupport/WebInspectorClient.mm: Let the compiler know that WebFrameView is a subclass of NSView.
489         * WebView/WebDocumentInternal.h: Remove our preprocessor macro once we're done with it.
490         * WebView/WebHTMLView.mm:
491         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Fix argument types.
492
493 2007-07-02  Darin Adler  <darin@apple.com>
494
495         Reviewed by Kevin Decker and Tim Hatcher.
496
497         - fix <rdar://problem/5307880> some classes need finalize methods
498           because of non-trivial work done in dealloc methods
499
500         * DefaultDelegates/WebScriptDebugServer.m:
501         (-[WebScriptDebugServer dealloc]): Added a comment about how this probably won't
502         work under GC.
503         * WebInspector/WebNodeHighlight.m:
504         (-[WebNodeHighlight dealloc]): Ditto.
505
506         * WebView/WebDataSource.mm:
507         (+[WebDataSourcePrivate initialize]): Added. Makes finalize run on main thread.
508         (-[WebDataSourcePrivate finalize]): Added. Calls deref on the document loader.
509         * WebView/WebHTMLView.mm:
510         (+[WebHTMLViewPrivate initialize]): Added. Makes finalize run on main thread.
511         (-[WebHTMLViewPrivate finalize]): Added. Calls deref on promisedDragTIFFDataSource.
512
513         * WebKit.xcodeproj/project.pbxproj: Let Xcode be Xcode.
514
515 2007-07-02  Oliver Hunt  <oliver@apple.com>
516
517         Reviewed by Justin.
518
519         Fix for 
520           <rdar://problem/5290113> WebKit does not correctly handle replacement ranges from the IM in -[WebHTMLView insertText:]
521           http://bugs.webkit.org/show_bug.cgi?id=13664
522
523         We replicate the logic of -[WebHTMLView setMarkedText:selectedRange:] to handle the Input Method 
524         feeding us a replacement string through insertText: so we can handle IMs that use insertText to
525         replace text.
526
527         * WebView/WebHTMLView.mm:
528         (-[WebHTMLView insertText:]):
529
530 2007-07-01  Oliver Hunt  <oliver@apple.com>
531
532         Reviewed by Alexey.
533
534         Fix for <rdar://problem/5306210> Some events are still passed to WebCore despite being handled by the IM
535         http://bugs.webkit.org/show_bug.cgi?id=14457
536
537         We have to assume that the IM will consume all events, so we remove the dependency
538         on -[WebHTMLView hasMarkedText].
539
540         * WebView/WebHTMLView.mm:
541         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
542
543 2007-06-29  John Sullivan  <sullivan@apple.com>
544
545         Reviewed by Oliver Hunt.
546
547         - WebKit support for accessing the set of rectangles that encompass the selected text
548
549         * WebView/WebDocumentPrivate.h:
550         added -selectionTextRects to WebDocumentSelection protocol; tweaked comments
551
552         * WebView/WebHTMLView.mm:
553         (-[WebHTMLView _selectionDraggingRect]):
554         use selectionRect instead of selectionImageRect since they're the same and maybe we can get
555         rid of selectionImageRect someday
556         (-[WebHTMLView selectionTextRects]):
557         added implementation of new protocol method, which calls through to WebCore
558         
559         * WebView/WebPDFView.mm:
560         (-[WebPDFView selectionTextRects]):
561         added simple implementation of new protocol method, which just returns the single selection rect.
562         PDFKit doesn't support obtaining multiple rects to describe a multi-line selection.
563         (-[WebPDFView selectionImageForcingWhiteText:]):
564         use selectionRect instead of selectionImageRect since they're the same and maybe we can get
565         rid of selectionImageRect someday
566         
567         * Misc/WebSearchableTextView.m:
568         (-[WebSearchableTextView selectionTextRects]):
569         added no-op implementation of new protocol method to this obsolete class
570
571 2007-06-28  Timothy Hatcher  <timothy@apple.com>
572
573         Reviewed by Darin.
574
575         <rdar://problem/5287569> WEBVIEW: Creating a webview in IB 3.0 (v2.0) NIB later crashes Interface Builder 2.5.4 on Tiger
576
577         Prevent encoding any of the WebView subviews. The subviews are ignored by -[WebView initWithCoder:] and will be recreated.
578         The Tiger 2.0 code crashed when the WebView released the subviews in initWithCoder:, so now there are no subviews to release.
579         This never happened before because the Tiger 2.0 code and IB wouldn't encode a WebView that has a WebHTMLView.
580
581         * WebView/WebView.mm:
582         (-[WebView encodeWithCoder:]):
583
584 2007-06-26  John Sullivan  <sullivan@apple.com>
585
586         Reviewed by Darin
587         
588         - WebKit support for displaying multiple text matches in PDF views (<rdar://problem/4601967>)
589
590         * WebView/WebPDFView.h:
591         new ivars textMatches and lastScrollPosition; now conforms to WebMultipleTextMatches protocol
592         
593         * WebView/WebPDFView.mm:
594         (-[WebPDFView dealloc]):
595         release textMatches
596         (-[WebPDFView viewDidMoveToWindow]):
597         start observing bounds changes in the PDF document's enclosing clip view, so we can notice when
598         scrolling takes place
599         (-[WebPDFView viewWillMoveToWindow:]):
600         stop observing bounds changes in the PDF document's enclosing clip view
601         (-[WebPDFView searchFor:direction:caseSensitive:wrap:startInSelection:]):
602         most of the code here has been moved into the new method _nextMatchFor::::, which this now calls
603         (-[WebPDFView setMarkedTextMatchesAreHighlighted:]):
604         implementation of WebMultipleTextMatches protocol method, does nothing useful here because we don't
605         support inline highlighting of matches in PDF documents
606         (-[WebPDFView markedTextMatchesAreHighlighted]):
607         implementation of WebMultipleTextMatches protocol method
608         (-[WebPDFView markAllMatchesForText:caseSensitive:limit:]):
609         implementation of WebMultipleTextMatches protocol method; calls _nextMatchFor:::: in a loop until
610         entire document is searched or limit is hit; records results by saving PDFSelections in textMatches ivar
611         (-[WebPDFView unmarkAllTextMatches]):
612         implementation of WebMultipleTextMatches protocol method; clears saved textMatches
613         (-[WebPDFView rectsForTextMatches]):
614         implementation of WebMultipleTextMatches protocol method; converts saved PDFSelections into NSValue 
615         objects that represent NSRects
616         (-[WebPDFView _clipViewForPDFDocumentView]):
617         new helper method to find the clip view whose bounds determine the current scroll position
618         (-[WebPDFView _nextMatchFor:direction:caseSensitive:wrap:fromSelection:startInSelection:]):
619         new helper method, extracted from searchFor:::::
620         (-[WebPDFView _PDFDocumentViewMightHaveScrolled:]):
621         new notification callback; tells webView's delegate when document has scrolled
622         (-[WebPDFView _setTextMatches:]):
623         new helper method, stores value in ivar
624
625 2007-06-26  Oliver Hunt  <oliver@apple.com>
626
627         Reviewed by Maciej.
628
629         Hopefully fix remainder of the IME issues on Mac.  
630         We now assume that the IME silently consumes any event given
631         to it during text composition, and only override this assumption
632         if the NSTextInput or NSResponder callbacks are made.
633
634         This prevents us from treating those events that the IME has 
635         consumed internally (eg. candidate window navigation) as unhandled
636         events that should be bubbled.
637
638         This fixes:
639           <rdar://problem/5107538> Major problems handling key press event with non-english Input Methods
640           <rdar://problem/4196249> REGRESSION: Mail: Inputting space (U+0020) with IM deletes subsequent line breaks on Mail.app
641           <rdar://problem/5015544> REGRESSION: Reverse conversion keyboard command does not work in Safari.
642           <rdar://problem/5045121> REGRESSION: Inline is confirmed after press left/right arrow keys, happens in Mail but not in TextEdit.
643           <rdar://problem/5076807> REGRESSION: Can't undo conversion of inline text (by hitting ESC)
644           <rdar://problem/5085781> REGRESSION: Active input area lost "selected" highlight
645           <rdar://problem/5094200> space key pressed to close the associated words candidate window gets inserted as text
646           <rdar://problem/5228294> Candidate item for character matrix is sometimes skipped
647
648         * WebKit.xcodeproj/project.pbxproj:
649         * WebView/WebHTMLView.mm:
650         (-[WebHTMLView launchKeyEvent:]):
651         (-[WebHTMLView keyDown:]):
652         (-[WebHTMLView keyUp:]):
653         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
654         (-[WebHTMLView unmarkText]):
655         (-[WebHTMLView setMarkedText:selectedRange:]):
656         (-[WebHTMLView doCommandBySelector:]):
657         (-[WebHTMLView insertText:]):
658
659 2007-06-26  Jim Correia  <jim.correia@pobox.com>
660
661         Reviewed by Darin.
662
663         Fix http://bugs.webkit.org/show_bug.cgi?id=14411
664         Bug 14411: WebNetscapePluginPackage overagressively sets CurApRefNum, which affects shipping versions of BBEdit.
665         <rdar://problem/5297268>
666
667         * Plugins/WebNetscapePluginPackage.m:
668         (+[WebNetscapePluginPackage initialize]): Force the Resource Manager to
669         lazy initialize, and only set CurApRefNum to the system file if
670         CurApRefNum is still -1 after that forced lazy initialization.
671
672 2007-06-25  Kevin Decker  <kdecker@apple.com>
673
674         Reviewed by Darin.
675
676         <rdar://problem/5294036> -[WebView customTextEncodingName] API may return empty string instead of nil
677
678         * WebView/WebView.mm:
679         (-[WebView _mainFrameOverrideEncoding]): Addded the nsStringNilIfEmpty() inline to the data being returned because 
680         our API says "The custom text encoding name or nil if no custom text encoding name has been set." I also verified
681         the standing Tiger WebKit behavior for this method and it does indeed return nil if a custom encoding wasn't set.
682
683 2007-06-25  John Sullivan  <sullivan@apple.com>
684
685         Reviewed by Darin
686         
687         - WebKit part of <rdar://problem/5293820>, needed to support multiple matches in PDFs
688
689         * WebView/WebDocumentInternal.h:
690         Added WebMultipleTextMatches protocol, containing five methods that were formerly implemented in WebHTMLView
691         * WebView/WebHTMLViewPrivate.h:
692         Removed declarations for the methods that are now in WebMultipleTextMatches protocol
693         
694         * WebView/WebHTMLView.mm:
695         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]):
696         moved this method into the WebDocumentInternalProtocols portion of the file
697         (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
698         ditto
699         (-[WebHTMLView markedTextMatchesAreHighlighted]):
700         ditto
701         (-[WebHTMLView unmarkAllTextMatches]):
702         ditto
703         (-[WebHTMLView rectsForTextMatches]):
704         ditto
705
706         * WebView/WebView.mm:
707         (-[WebView canMarkAllTextMatches]):
708         new method, returns YES only if the documentView of every frame implements WebMultipleTextMatches
709         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
710         check for WebMultipleTextMatches protocol instead of checking for WebHTMLView class
711         (-[WebView unmarkAllTextMatches]):
712         ditto
713         (-[WebView rectsForTextMatches]):
714         ditto
715
716         * WebView/WebViewPrivate.h:
717         declared new method canMarkAllTextMatches
718
719 2007-06-25  John Sullivan  <sullivan@apple.com>
720
721         Reviewed by Darin
722         
723         Fixed <rdar://problem/5292259> Find on Page doesn't work (throws exception) on page that includes PDF in a subframe
724
725         * WebView/WebView.mm:
726         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
727         We were testing whether the view was an HTMLView, but then running code that assumed it was an HTMLView outside of
728         that test. That's a bad idea.
729
730 2007-06-22  Adele Peterson  <adele@apple.com>
731
732         Reviewed by Geoff and Darin.
733
734         Fix for: <rdar://problem/5239236> Other slash characters should not be permitted as part of a domain name
735
736         * Misc/WebNSURLExtras.m:
737         (isSlashOrPeriodLookalike):
738         (allCharactersInIDNScriptWhiteList):
739
740 2007-06-21  Sam Weinig  <sam@webkit.org>
741
742         Reviewed by Antti.
743
744         Remove empty directories
745
746         * WebInspector/webInspector: directory removed.
747         * WebInspector/webInspector/Images: directory removed
748
749 2007-06-21  Justin Garcia  <justin.garcia@apple.com>
750
751         Reviewed by Tim.
752         
753         <rdar://problem/5237524> 
754         REGRESSION: Keyboard commands don't work in a message window until you click inside the message
755         
756         When you open a message in its own window, Mail creates an empty 
757         WebView, makes that WebView firstResponder and then sets off a 
758         load inside that WebView.
759         
760         When we're asked to create the empty WebView, we put an empty 
761         WebHTMLView inside it (in r21367 we began creating a document 
762         for empty frames).  When Mail makes the WebView first responder 
763         we make that empty WebHTMLView firstResponder.  Then when the 
764         load finishes we create a new WebHTMLView and set it as the 
765         document view.  
766         
767         Inside _setDocumentView, if the old document view or one of its
768         descendants was the first responder, we'd makeFirstResponder:nil 
769         so that the window wouldn't be left with a firstResponder that 
770         was no longer inside of it.  This change fixes the bug by instead 
771         transferring firstResponder status to the new document view.
772         
773         We could also fix this by not allowing the WebHTMLView to become
774         firstResponder when it's in the provisional state mentioned above.
775
776         * WebView/WebFrameView.mm:
777         (-[WebFrameView _setDocumentView:]):
778
779 2007-06-21  John Sullivan  <sullivan@apple.com>
780
781         Reviewed by Adele
782         
783         - fixed <rdar://problem/5268673> REGRESSION: Context menu missing for PDF in frame when there's no selection
784         
785         This was surprisingly interesting. It turns out that at least for Safari, the method [WebDefaultUIDelegate
786         webView:contextMenuItemsForElement:defaultMenuItems:] is only exercised from WebPDFView these days. It mimics
787         some of the code that was moved to WebCore as part of the Great Context Menu Refactoring of 2006, but is
788         independent of that code. And it was partly broken/incomplete, probably as a result of said refactoring.
789
790         * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
791         (localizedMenuTitleFromAppKit()):
792         deleted this function since I removed all callers
793         (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
794         Handle WebMenuItemTagOpenFrameInNewWindow tag, since code later in this file was relying on it. Added
795         ASSERT_NOT_REACHED to the default case, since returning nil from this method is bad.
796         Also, use WebKit versions of menu title strings rather than AppKit versions. We added these strings to WebKit 
797         a while back so we don't need to sneakily find them in AppKit anymore.
798         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
799         make the WebView be the target of the Open Frame in New Window item; previously it was self, but that was
800         just silly (probably a leftover from some code shuffling when context menus were reimplemented)
801
802         * WebView/WebView.mm:
803         (-[WebView _openFrameInNewWindowFromMenu:]):
804         new method, used by Open Frame in New Window menu item.
805
806         * WebView/WebViewInternal.h:
807         Declare new method used by menu item. This isn't necessary for compilation, but could prevent the accidental
808         deletion of the method implementation.
809
810 2007-06-20  Mark Rowe  <mrowe@apple.com>
811
812         Reviewed by Adam.
813
814         Fix http://bugs.webkit.org/show_bug.cgi?id=14255.
815         Bug 14255: Reproducible crash opening web inspector from debug menu
816
817         Reinstate the WebInspector class so WebKit clients that currently depend on it
818         will build and run correctly.
819
820         * WebInspector/WebInspector.h: Added.
821         * WebInspector/WebInspector.mm: Added.
822         (+[WebInspector webInspector]):
823         (-[WebInspector dealloc]):
824         (-[WebInspector setWebFrame:]):
825         (-[WebInspector showWindow:]):
826         * WebKit.exp:
827         * WebKit.xcodeproj/project.pbxproj:
828
829 2007-06-20  Adam Roben  <aroben@apple.com>
830
831         Land the new Inspector.
832
833         Co-written with Tim Hatcher.
834
835         Reviewed by Anders, Adele, Hyatt, and Sam.
836
837         Implement the InspectorClient interface.
838
839         * WebCoreSupport/WebInspectorClient.h: Added.
840         * WebCoreSupport/WebInspectorClient.mm: Added.
841         (WebInspectorClient::WebInspectorClient):
842         (WebInspectorClient::inspectorDestroyed):
843         (WebInspectorClient::createPage):
844         (WebInspectorClient::showWindow):
845         (WebInspectorClient::closeWindow):
846         (WebInspectorClient::attachWindow):
847         (WebInspectorClient::detachWindow):
848         (WebInspectorClient::highlight):
849         (WebInspectorClient::hideHighlight):
850         (WebInspectorClient::inspectedURLChanged):
851         (WebInspectorClient::updateWindowTitle):
852         (-[WebInspectorWindowController init]):
853         (-[WebInspectorWindowController initWithInspectedWebView:]):
854         (-[WebInspectorWindowController dealloc]):
855         (-[WebInspectorWindowController inspectorVisible]):
856         (-[WebInspectorWindowController webView]):
857         (-[WebInspectorWindowController window]):
858         (-[WebInspectorWindowController windowShouldClose:]):
859         (-[WebInspectorWindowController close]):
860         (-[WebInspectorWindowController showWindow:]):
861         (-[WebInspectorWindowController attach]):
862         (-[WebInspectorWindowController detach]):
863         (-[WebInspectorWindowController highlightAndScrollToNode:]):
864         (-[WebInspectorWindowController highlightNode:]):
865         (-[WebInspectorWindowController hideHighlight]):
866         (-[WebInspectorWindowController animationDidEnd:]):
867
868         Add an easier-to-see highlight.
869
870         * Misc/WebNSViewExtras.h:
871         * Misc/WebNSViewExtras.m:
872         (-[NSView _web_convertRect:toView:]):
873         * WebInspector/WebNodeHighlight.h:
874         * WebInspector/WebNodeHighlight.m:
875         (-[WebNodeHighlightFadeInAnimation setCurrentProgress:]):
876         (-[WebNodeHighlight initWithTargetView:]):
877         (-[WebNodeHighlight setHighlightedNode:]):
878         (-[WebNodeHighlight highlightedNode]):
879         (-[WebNodeHighlight dealloc]):
880         (-[WebNodeHighlight attachHighlight]):
881         (-[WebNodeHighlight delegate]):
882         (-[WebNodeHighlight detachHighlight]):
883         (-[WebNodeHighlight show]):
884         (-[WebNodeHighlight hide]):
885         (-[WebNodeHighlight animationDidEnd:]):
886         (-[WebNodeHighlight ignoresMouseEvents]):
887         (-[WebNodeHighlight highlightView]):
888         (-[WebNodeHighlight setDelegate:]):
889         (-[WebNodeHighlight setHolesNeedUpdateInTargetViewRect:]):
890         (-[WebNodeHighlight setIgnoresMouseEvents:]):
891         (-[WebNodeHighlight targetView]):
892         (-[WebNodeHighlight _computeHighlightWindowFrame]):
893         (-[WebNodeHighlight _repositionHighlightWindow]):
894         * WebInspector/WebNodeHighlightView.h:
895         * WebInspector/WebNodeHighlightView.m:
896         (-[WebNodeHighlightView initWithWebNodeHighlight:]):
897         (-[WebNodeHighlightView dealloc]):
898         (-[WebNodeHighlightView detachFromWebNodeHighlight]):
899         (-[WebNodeHighlightView drawRect:]):
900         (-[WebNodeHighlightView webNodeHighlight]):
901         (-[WebNodeHighlightView fractionFadedIn]):
902         (-[WebNodeHighlightView setFractionFadedIn:]):
903         (-[WebNodeHighlightView setHolesNeedUpdateInRect:]):
904         (-[WebNodeHighlightView _holes]):
905
906         WebView changes needed for the new Inspector.
907
908         * WebView/WebView.mm: Remove the old _inspectElement method now that
909         this is handled by WebCore.
910         (-[WebView _isClosed]): Added.
911         (-[WebView initWithFrame]): Give each Page an InspectorClient to
912         enable the Inspector.
913         * WebView/WebViewPrivate.h:
914
915         Updates needed for WebCore changes.
916
917         * WebCoreSupport/WebContextMenuClient.h:
918         * WebCoreSupport/WebContextMenuClient.mm:
919         * WebCoreSupport/WebViewFactory.mm:
920         (-[WebViewFactory contextMenuItemTagInspectElement]):
921         * WebView/WebUIDelegatePrivate.h:
922
923         Remove old Inspector code.
924
925         * WebCoreSupport/WebFrameLoaderClient.mm:
926         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
927         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
928         (WebFrameLoaderClient::dispatchDidFinishLoading):
929         * WebInspector/WebInspector.m: Removed.
930         * WebInspector/WebInspectorPanel.h: Removed.
931         * WebInspector/WebInspectorPanel.m: Removed.
932         * WebInspector/webInspector/Images/button.png: Removed.
933         * WebInspector/webInspector/Images/buttonDivider.png: Removed.
934         * WebInspector/webInspector/Images/buttonPressed.png: Removed.
935         * WebInspector/webInspector/Images/close.png: Removed.
936         * WebInspector/webInspector/Images/closePressed.png: Removed.
937         * WebInspector/webInspector/Images/downTriangle.png: Removed.
938         * WebInspector/webInspector/Images/menu.png: Removed.
939         * WebInspector/webInspector/Images/menuPressed.png: Removed.
940         * WebInspector/webInspector/Images/popup.png: Removed.
941         * WebInspector/webInspector/Images/popupPressed.png: Removed.
942         * WebInspector/webInspector/Images/resize.png: Removed.
943         * WebInspector/webInspector/Images/rightTriangle.png: Removed.
944         * WebInspector/webInspector/Images/scrollThumbBottom.png: Removed.
945         * WebInspector/webInspector/Images/scrollThumbMiddle.png: Removed.
946         * WebInspector/webInspector/Images/scrollTrackBottom.png: Removed.
947         * WebInspector/webInspector/Images/upTriangle.png: Removed.
948         * WebInspector/webInspector/inspector.css: Removed.
949         * WebInspector/webInspector/inspector.html: Removed.
950         * WebInspector/webInspector/inspector.js: Removed.
951         * WebInspector/webInspector/scrollarea.js: Removed.
952         * WebInspector/webInspector/scrollbar.js: Removed.
953         * WebInspector/webInspector/utilities.js: Removed.
954         * WebView/WebFrame.mm:
955         (-[WebFramePrivate dealloc]):
956         * WebView/WebFrameInternal.h:
957         * WebView/WebHTMLView.mm:
958         (-[WebHTMLView menuForEvent:]):
959
960         Build-fu:
961
962         * WebKit.exp:
963         * WebKit.xcodeproj/project.pbxproj:
964
965 2007-06-20  Justin Garcia  <justin.garcia@apple.com>
966
967         Reviewed by Darin.
968         
969         <rdar://problem/5263541> REGRESSION (Safari 3 Beta 1): Pressing Delete doesn't delete an HTML message in Mail
970         
971         Mail wasn't receiving the keyDown event because WebFrameView was blocking it.
972         It blocks the event and moves back/forward on Delete/Shift+Delete if the
973         back/forward list is enabled.
974
975         * WebView/WebFrameView.mm:
976         (-[WebFrameView keyDown:]): Check to see if the BackForwardList is
977         enabled.  It always exists.
978
979 2007-06-19  Anders Carlsson  <andersca@apple.com>
980
981         Reviewed by Kevin Decker.
982
983         <rdar://problem/5266289> REGRESSION (Safari 3 Beta 1): Incoming iChat messages are delayed
984
985         * WebView/WebDocumentLoaderMac.mm:
986         (needsAppKitWorkaround):
987         New function which checks if the frame load delegate belongs to AppKit.
988         
989         (WebDocumentLoaderMac::setDataSource):
990         If the frame load delegate belongs to AppKit, set m_deferMainResourceDataLoad to false.
991
992 2007-06-19  John Sullivan  <sullivan@apple.com>
993
994         Reviewed by Tim Hatcher
995
996         - fixed <rdar://problem/5272011> Hole for find-on-page match in subframe isn't clipped by frame bounds
997
998         * WebView/WebView.mm:
999         (-[WebView rectsForTextMatches]):
1000         intersect the HTMLView's computed rect with the visible rect for that view
1001
1002 2007-06-19  Jim Correia  <jim.correia@pobox.com>
1003
1004         Reviewed by Kevin Decker
1005         
1006         * Carbon/HIWebView.m:
1007         (WindowHandler): HIObjectIsOfClass requires non-NULL input on Tiger. Reworked Kevin Decker's patch to remove the conditional compilation for Tiger, yet still avoid crashing BBEdit.
1008
1009 2007-06-18  Sam Weinig  <sam@webkit.org>
1010
1011         Reviewed by Beth.
1012
1013         Build fix.
1014
1015         * WebCoreSupport/WebChromeClient.mm:
1016
1017 2007-06-18  Kevin Decker <kdecker@apple.com>
1018
1019         * Carbon/HIWebView.m:
1020         (WindowHandler): Fixed the Tiger build; ControlKind wasn't defined.
1021
1022 2007-06-18  Kevin Decker  <kdecker@apple.com>
1023
1024         Reviewed by Tim Hatcher.
1025
1026         Fixed: <rdar://problem/5276135> With Safari 3 Tiger Beta installed, a crash occurs in BBEdit while mousing down and dragging outside of HTML preview window
1027
1028         * Carbon/HIWebView.m:
1029         (WindowHandler): Because the fix for 5051616 causes Tiger to crash in HIToolbox (but not on Leopard), I reverted back to using GetControlKind
1030         on Tiger only, instead of HIObjectIsOfClass.
1031
1032 2007-06-16  David Hyatt  <hyatt@apple.com>
1033
1034         Back out fix for 13972.  Quicktime will no longer clip correctly. :(
1035         Too many regressions in Mail caused by inserting an extra view into the
1036         hierarchy.  Can revisit later.
1037
1038         Reviewed by olliej
1039
1040         * Plugins/WebPluginController.mm:
1041         (-[WebPluginController destroyPlugin:]):
1042         (-[WebPluginController destroyAllPlugins]):
1043         * WebCoreSupport/WebFrameBridge.mm:
1044         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
1045         * WebView/WebHTMLView.mm:
1046         (-[WebHTMLView addSubview:]):
1047         (-[WebHTMLView willRemoveSubview:]):
1048
1049 2007-06-15  Sam Weinig  <sam@webkit.org>
1050
1051         Reviewed by Darin.
1052
1053         Patch for http://bugs.webkit.org/show_bug.cgi?id=14053
1054         Autogenerate JS binding for Rect
1055
1056         - Fix conflicts by using ::Rect instead of Rect.
1057
1058         * Plugins/WebBaseNetscapePluginView.mm:
1059         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1060         (-[WebBaseNetscapePluginView sendEvent:]):
1061         (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
1062         (-[WebBaseNetscapePluginView invalidateRegion:]):
1063         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
1064
1065 2007-06-15  Anders Carlsson  <andersca@apple.com>
1066
1067         Reviewed by Kevin.
1068
1069         A better fix for <rdar://problem/5271774>. Only try to access the element if the
1070         view has an associated window. This also works with GC. (Fix suggested by Kevin.)
1071
1072         * Plugins/WebKitPluginContainerView.mm:
1073         (-[WebKitPluginContainerView dealloc]):
1074         (-[WebKitPluginContainerView visibleRect]):
1075
1076 2007-06-15  Anders Carlsson  <andersca@apple.com>
1077
1078         Reviewed by Kevin.
1079
1080         <rdar://problem/5271774> REGRESSION: A crash occurs when closing a window that contains a QT movie
1081         
1082         In some cases, calling [super dealloc] might end up calling visibleRect, so make sure to
1083         set _element to 0 so we won't send a message to a freed object and crash.
1084         
1085         * Plugins/WebKitPluginContainerView.mm:
1086         (-[WebKitPluginContainerView dealloc]):
1087         (-[WebKitPluginContainerView visibleRect]):
1088
1089 2007-06-14  Anders Carlsson  <andersca@apple.com>
1090
1091         Reviewed by Geoff.
1092
1093         Call cleanupScriptObjectsForPlugin on the frame after destroying the plug-in.
1094         
1095         * Plugins/WebBaseNetscapePluginView.mm:
1096         (-[WebBaseNetscapePluginView _destroyPlugin]):
1097         * Plugins/WebPluginController.mm:
1098         (-[WebPluginController destroyPlugin:]):
1099         (-[WebPluginController destroyAllPlugins]):
1100
1101 2007-06-13  John Sullivan  <sullivan@apple.com>
1102
1103         Reviewed by Adele Peterson
1104         
1105         - fixed <rdar://problem/5267607> Clicking the "Save to Downloads" button in 
1106           PDF overlay too soon results in corrupt file
1107
1108         * WebView/WebPDFView.mm:
1109         (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
1110         Just beep if the document isn't available yet, since trying to save it as a file
1111         really isn't a good idea.
1112
1113 2007-06-12  Oliver Hunt  <oliver@apple.com>
1114
1115         Reviewed by Darin.
1116
1117         Use correct size for BITMAPINFOHEADER -- whoops.
1118
1119         * win/WebIconDatabase.cpp:
1120         (createDIB):
1121         (WebIconDatabase::getOrCreateDefaultIconBitmap):
1122
1123 2007-06-10  David Hyatt  <hyatt@apple.com>
1124
1125         Fix for bug 14037, make sure respondsToSelector does the write thing
1126         when invoked on a WebKit plugin's container view.
1127
1128         Reviewed by Mark Rowe
1129
1130         * Plugins/WebKitPluginContainerView.mm:
1131         (-[WebKitPluginContainerView respondsToSelector:]):
1132
1133 2007-06-08  John Sullivan  <sullivan@apple.com>
1134
1135         * WebView/WebViewPrivate.h:
1136         Added a FIXME
1137
1138 2007-06-07  Justin Garcia  <justin.garcia@apple.com>
1139
1140         Reviewed by Tristan.
1141         
1142         <rdar://problem/5250997> A crash occurs when selecting Undo Typing for a page that has been closed in tab
1143
1144         * WebView/WebView.mm:
1145         (-[WebView _clearUndoRedoOperations]): Added.
1146         * WebView/WebViewPrivate.h:
1147
1148 2007-06-07  Oliver Hunt  <oliver@apple.com>
1149
1150         Reviewed by Sam "The Intern" Weinig.
1151         
1152         Don't be overzealous with the input checks, firstRectForCharacterRange
1153         can be determined even when there is not an active editable region.
1154         
1155         This unbreaks editing/input/range-for-empty-document which was broken
1156         by aforementioned overzealousness. 
1157
1158         * WebView/WebHTMLView.mm:
1159         (-[WebHTMLView firstRectForCharacterRange:]):
1160
1161 2007-06-07  Oliver Hunt  <oliver@apple.com>
1162
1163         Reviewed by Justin.
1164         
1165         Add checks to make sure we don't try to create, use
1166         or return invalid ranges to TSM when it calls us despite
1167         not currently being in an editable region.
1168
1169         * WebView/WebHTMLView.mm:
1170         (isTextInput):
1171         (-[WebHTMLView textStorage]):
1172         (-[WebHTMLView firstRectForCharacterRange:]):
1173         (-[WebHTMLView selectedRange]):
1174         (-[WebHTMLView attributedSubstringFromRange:]):
1175
1176 2007-06-06  David Hyatt  <hyatt@apple.com>
1177
1178         Make sure to hand back a script object for webkit plugins (the container
1179         view forwards to its plugin child).
1180
1181         Reviewed by sullivan
1182
1183         * Plugins/WebKitPluginContainerView.h:
1184         * Plugins/WebKitPluginContainerView.mm:
1185         (-[WebKitPluginContainerView objectForWebScript]):
1186
1187 2007-06-06  David Hyatt  <hyatt@apple.com>
1188
1189         Fix for bug 13972, quicktime doesn't respect CSS clip and overflow properties.
1190         Make sure that calls to [NSView visibleRect] will do the right thing for both
1191         Netscape plugins and WebKit plugins.
1192
1193         Reviewed by olliej
1194
1195         * Plugins/WebBaseNetscapePluginView.mm:
1196         (-[WebBaseNetscapePluginView visibleRect]):
1197         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1198         (-[WebBaseNetscapePluginView isOpaque]):
1199         * Plugins/WebKitPluginContainerView.h: Added.
1200         * Plugins/WebKitPluginContainerView.mm: Added.
1201         (-[WebKitPluginContainerView initWithFrame:DOMElement:]):
1202         (-[WebKitPluginContainerView dealloc]):
1203         (-[WebKitPluginContainerView visibleRect]):
1204         * Plugins/WebPluginController.mm:
1205         (-[WebPluginController destroyAllPlugins]):
1206         * WebCoreSupport/WebFrameBridge.mm:
1207         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
1208         * WebKit.xcodeproj/project.pbxproj:
1209         * WebView/WebHTMLView.mm:
1210         (-[WebHTMLView addSubview:]):
1211         (-[WebHTMLView willRemoveSubview:]):
1212
1213 2007-06-04  Oliver Hunt  <oliver@apple.com>
1214
1215         Reviewed by Geoff and Justin.
1216
1217         Fix for <rdar://problem/5246941> Clicking URL field on 
1218         Safari causes halt for a minute when using input methods.
1219         and <rdar://problem/5245964> Safari hangs for several 
1220         seconds when trying to select text using mouse
1221         
1222         This is a by product of the textStorage hack used to fix 
1223         rdar://problem/5000470 -- TSM calls textStorage repeatedly
1224         when changing focus, on certain mouse events, etc.  If there
1225         is no selection/editable region we repeatedly create an     
1226         NSAttributedString from the full document.  If the document is
1227         sufficiently long this starts consuming an inordinate amount of 
1228         time.
1229         
1230         This check should really have been present in the original 
1231         patch.
1232
1233         * WebKit.xcodeproj/project.pbxproj:
1234         * WebView/WebHTMLView.mm:
1235         (-[WebHTMLView textStorage]):
1236
1237 2007-05-31  David Hyatt  <hyatt@apple.com>
1238
1239         Fix for 11768, Flash plugin does not respect clips set by CSS.
1240
1241         Reviewed by olliej
1242
1243         * Plugins/WebBaseNetscapePluginView.mm:
1244         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1245
1246 2007-05-30  Mark Rowe  <mrowe@apple.com>
1247
1248         Build fixes after r21889.
1249
1250         * ForwardingHeaders/kjs/function.h: Added.
1251
1252 2007-05-29  Mark Rowe  <mrowe@apple.com>
1253
1254         Reviewed by Geoff.
1255
1256         64-bit build fix.  Ensure that use of WebNSUInteger in headers is matched by WebNSUInteger in implementations.
1257
1258         * DefaultDelegates/WebScriptDebugServer.h:
1259         * DefaultDelegates/WebScriptDebugServer.m:
1260         (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
1261         (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
1262         * DefaultDelegates/WebScriptDebugServerPrivate.h:
1263         * History/WebBackForwardList.mm:
1264         (-[WebBackForwardList setPageCacheSize:]):
1265         (-[WebBackForwardList pageCacheSize]):
1266         * WebView/WebView.mm:
1267         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
1268
1269 2007-05-26  Darin Adler  <darin@apple.com>
1270
1271         Reviewed by Tim Hatcher.
1272
1273         * MigrateHeaders.make: Added dependency on this makefile itself, which is
1274         useful when you change the sed command or other aspect of this file. My build
1275         failed until I made this fix.
1276
1277 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
1278
1279         Reviewed by Darin Adler.
1280
1281         Fixed <rdar://problem/5055182> The page cache has no global cap.
1282         
1283         The main WebKit changes are:
1284             1. Changed -[WebBackForwardList setPageCacheSize] and -[WebBackForwardList 
1285             pageCacheSize] to accomodate the new global page cache model, updating
1286             their documentation. 
1287             
1288             2. Added -[WebPreferences setShouldUsePageCache] and -[WebPreferences 
1289             shouldUsePageCache] as pending public API.
1290             
1291             3. Centralized calculation of object cache and page cache sizes inside
1292             WebPreferences. 
1293             
1294             Cchanged our old behavior of reading a preference and applying a fudge 
1295             factor with a new behavior of just using the preference directly. The 
1296             old behavior was confusing and often inappropriate. (For example, if 
1297             you set a page cache size of 100, a 256MB machine would somewhat 
1298             arbitrarily reduce that number to 98. ???)
1299
1300         * WebView/WebView.mm: Added support for two flags to determine whether
1301         to use the page cache. If either -[WebBackForwardList setPageCacheSize:0]
1302         or -[WebPreferences setShouldUsePageCache:NO] is called, we don't use
1303         the page cache.
1304
1305 2007-05-25  Timothy Hatcher  <timothy@apple.com>
1306
1307         Reviewed by Kevin Decker.
1308
1309         <rdar://problem/5219089> Changes for migration of DictionaryServices
1310
1311         * WebView/WebHTMLView.mm:
1312         (-[WebHTMLView _lookUpInDictionaryFromMenu:]): look for the HIDictionaryWindowShow symbol in HIToolbox
1313
1314 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
1315
1316         Reviewed by Oliver Hunt.
1317         
1318         Fixed global initializer (like you fix a dog).
1319         
1320         I'm not sure how our script missed this. I tested, and it generally doesn't 
1321         seem to work very well.
1322
1323         * WebView/WebHTMLView.mm: Allocate lazily to avoid the performance hit of
1324         a global initializer.
1325         (promisedDataClient):
1326         (-[WebHTMLViewPrivate dealloc]):
1327         (-[WebHTMLViewPrivate clear]):
1328         (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
1329
1330 2007-05-25  Brady Eidson  <beidson@apple.com>
1331
1332         Reviewed by Darin
1333
1334         <rdar://problem/5228371> - REGRESSION - Certain mail message bodies display as empty
1335
1336         This is due to http://trac.webkit.org/projects/webkit/changeset/21480 which unintentionally
1337         made applewebdata urls result in check.call(false) instead of check.call(true)
1338
1339         Best place for a fix is to have the FrameLoaderClient::canHandleRequest() call return true, which
1340         really is rooted in WebView
1341
1342         <rdar://problem/5229587> tracks adding a layout test
1343
1344         * WebView/WebView.mm:
1345         (+[WebView _canHandleRequest:]): Return true for applewebdata URLs
1346
1347 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
1348
1349         Reviewed by Darin Adler, Tim Hatcher.
1350         
1351         "unsigned" => "WebNSUInteger" in public API.
1352
1353         * History/WebBackForwardList.h:
1354         * WebView/WebScriptDebugDelegate.h:
1355         * WebView/WebUIDelegate.h:
1356         * WebView/WebViewPrivate.h:
1357
1358 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
1359
1360         Reviewed by Darin Adler.
1361         
1362         Moved JavaScriptCore-related pending public API to public API.
1363
1364         * MigrateHeaders.make: Hack to prevent <JavaScriptCore/JSBase.h> from 
1365         automatically converting to <WebKit/JSBase.h>
1366         
1367         Moved -windowObject and -globalContext
1368
1369         * WebView/WebFramePrivate.h: from here
1370         * WebView/WebFrame.h: to here
1371         * WebView/WebFrame.mm: and out of its temporary category
1372
1373         Moved -didClearWindowObject:forFrame:
1374
1375         * WebView/WebViewPrivate.h: from here
1376         * WebView/WebFrameLoadDelegate.h: to here
1377
1378 2007-05-25  John Sullivan  <sullivan@apple.com>
1379
1380         Reviewed by Anders and Tim
1381         
1382         - fixed <rdar://problem/5226000> REGRESSION: In Gmail and Mail, a hang occurs when attempting 
1383           to grammar/spellcheck a word in a reply
1384
1385         * WebCoreSupport/WebEditorClient.mm:
1386         (WebEditorClient::checkGrammarOfString):
1387         Fixed recently-introduced false assumption that NSNotFound == -1
1388
1389 2007-05-24  dethbakin  <bdakin@apple.com>
1390
1391         Reviewed by Geoff.
1392
1393         Fix for <rdar://problem/5023545> QuickBooks Pro 2007:hang/crash 
1394         after closing QuickBooks Tutorial Center with Leopard9A377
1395
1396         We can hit a race condition where drawRect will be called after the 
1397         WebView has closed. Quickbooks does not properly close the WebView 
1398         and set the UIDelegate to nil, so the UIDelegate is stale and we 
1399         crash. This is a regression because the code that uses the 
1400         UIDelegate in the drawRect code path was only added recently. The 
1401         method that the UIDelegate calls into is new -- it does not exist 
1402         on Tiger -- so there is no harm in not running this code for 
1403         applications linked against older WebKits. Other applications may 
1404         run into this same bug so I am not doing a bundle 
1405         check...particularly because, as I mentioned, the new UIDelegate 
1406         call would not be implemented by older clients anyway.  
1407
1408         * Misc/WebKitVersionChecks.h:
1409         * WebView/WebHTMLView.mm:
1410         (-[WebHTMLView drawSingleRect:]):
1411
1412 2007-05-24  Darin Adler  <darin@apple.com>
1413
1414         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
1415
1416 2007-05-24  Oliver Hunt  <oliver@apple.com>
1417
1418         Reviewed by Adam, Darin, and Geoff.
1419
1420         Fix for <rdar://problem/5000470> REGRESSION: The IM reconvert
1421         function returns incorrect symbol due to inconsistent range
1422         domains in TSM
1423
1424         Text Services Management uses ranges provided by the
1425         NSTextInput API to index into the string return by
1426         -[WebHTMLView string]. As a result some input methods
1427         incorrectly get their candidate text from the beginning
1428         of the document instead of from the input element.
1429
1430         TSM prefers to query -textStorage over -string so as a
1431         workaround we provide an implementation of -textStorage that
1432         returns the content of the current text input.  TSM only ever
1433         queries the result of textStorage as an NSAttributedString so
1434         we do not need to implement a fake NSTextStorage class
1435
1436         This should not cause harm to anything else as textStorage is
1437         actually a method on NSTextView, which we clearly are not. TSM
1438         only queries the method because it uses respondsToSelector to
1439         control behaviour.
1440
1441         * WebView/WebHTMLView.mm:
1442         (-[WebHTMLView textStorage]):
1443
1444
1445 2007-05-24  David Harrison  <harrison@apple.com>
1446
1447         Reviewed by Tim Hatcher.
1448
1449         <rdar://problem/5225343> REGRESSION: With View Source window opened, navigating to a different URL in the browser window results in a crash at WebCore::FrameLoader::frameHasLoaded()
1450         
1451         _private->loader->frameLoader() was not being nil checked.
1452         * WebView/WebDataSource.mm:
1453         (-[WebDataSource request]):
1454         Add nil check for _private->loader->frameLoader() 
1455
1456 2007-05-23  Anders Carlsson  <andersca@apple.com>
1457
1458         Reviewed by Geoff.
1459
1460         <rdar://problem/3663808> Resize large images to fit in the browser window
1461         
1462         Add new WebPreferences SPI.
1463         
1464         * WebView/WebPreferenceKeysPrivate.h:
1465         * WebView/WebPreferences.m:
1466         (+[WebPreferences initialize]):
1467         (-[WebPreferences enableAutomaticImageResizing]):
1468         (-[WebPreferences setEnableAutomaticImageResizing:]):
1469         * WebView/WebPreferencesPrivate.h:
1470         * WebView/WebView.mm:
1471         (-[WebView _updateWebCoreSettingsFromPreferences:]):
1472
1473 2007-05-23  Sam Weinig  <sam@webkit.org>
1474
1475         Reviewed by Darin.
1476
1477         Patch for http://bugs.webkit.org/show_bug.cgi?id=13830
1478         Auto-generate JS DOM bindings for HTMLDocument and most of the rest
1479         of HTMLElement
1480
1481         * MigrateHeaders.make: add DOMHTMLDocumentPrivate.h
1482         * WebKit.xcodeproj/project.pbxproj:
1483
1484 2007-05-23  Oliver Hunt  <oliver@apple.com>
1485
1486         Reviewed by Geoff.
1487
1488         Fix for <rdar://problem/5223782> REGRESSION: Can't drag and drop a standalone image
1489
1490         The main resource for a standalone image webarchive has the same mimetype as the
1491         underlying image.
1492
1493         * Misc/WebNSPasteboardExtras.mm:
1494         (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
1495
1496 2007-05-22  Sam Weinig  <sam@webkit.org>
1497
1498         Reviewed by Adam.
1499
1500         Patch for http://bugs.webkit.org/show_bug.cgi?id=13833
1501         Add ObjC DOM binding for HTMLMarqeeElement
1502
1503         - Also adds missing DOMHTMLFramePrivate.
1504
1505         * MigrateHeaders.make:
1506
1507 2007-05-22  Darin Adler  <darin@apple.com>
1508
1509         Reviewed by Geoff.
1510
1511         * WebInspector/webInspector/treeoutline.js: Use ownerDocument instead of non-standard
1512         document property.
1513
1514 2007-05-22  Adele Peterson  <adele@apple.com>
1515
1516         Reviewed by Darin.
1517
1518         Adding some asserts to help detect other cases of <rdar://problem/5171145>
1519
1520         * WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge makeFirstResponder:]):
1521
1522 2007-05-22  Brady Eidson  <beidson@apple.com>
1523
1524         Reviewed by Kevin (Sarge)
1525
1526         <rdar://problem/5219885> - Crash after closing a inline popup ad at http://news.yahoo.com/
1527
1528         This regressed in http://trac.webkit.org/projects/webkit/changeset/21618
1529
1530         * WebView/WebFrame.mm:
1531         (-[WebFrame dataSource]): Null check the frameloader
1532
1533 2007-05-21  Adele Peterson  <adele@apple.com>
1534
1535         Fix by Darin, reviewed by me.
1536
1537         Fix for <rdar://problem/5171145> Safari crashed closing tab in NSInputContext updateInputContexts
1538
1539         * WebView/WebFrameView.mm: (-[WebFrameView _setDocumentView:]): If the old view is the first responder,
1540         then set the window's first responder to nil so we don't leave the window pointing to a view that's no longer in it.
1541
1542 2007-05-21  Brady Eidson  <beidson@apple.com>
1543
1544         Making the importance of my last change more clear
1545
1546         * WebView/WebViewPrivate.h: "Leave for Dashboard, people!"
1547
1548 2007-05-21  Brady Eidson  <beidson@apple.com>
1549
1550         Reviewed by Kevin (Sarge)
1551
1552         <rdar://problem/5217124> - Re-add mistakenly removed SPI
1553
1554         * WebView/WebView.mm:
1555         (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
1556         * WebView/WebViewPrivate.h:
1557
1558 2007-05-21  Anders Carlsson  <andersca@apple.com>
1559
1560         Reviewed by Ada.
1561
1562         <rdar://problem/5200816> REGRESSION: With Shiira 1.2.2 , I can't open embedded link in flash object by clicking (http:/www.adobe.com )
1563         
1564         Null check the request.
1565         
1566         * WebView/WebView.mm:
1567         (+[WebView _canHandleRequest:]):
1568
1569 2007-05-19  Maciej Stachowiak  <mjs@apple.com>
1570
1571         Reviewed by Geoff.
1572         
1573         <rdar://problem/5205358> REGRESSION (r21367): All messages appear entirely blank when running Mail off of tip of tree WebKit
1574         
1575         The fix is to return nil from [WebFrame dataSource] when it has not loaded anything but the fake
1576         empty initial document. However, WebKit still needs the real data source internally, so I also
1577         added a [WebFrame _dataSource] method that skips this check, and made WebKit use it throughout.
1578
1579         * Misc/WebNSAttributedStringExtras.mm:
1580         (fileWrapperForElement):
1581         * Plugins/WebBaseNetscapePluginView.mm:
1582         (-[WebBaseNetscapePluginView dataSource]):
1583         * Plugins/WebNullPluginView.mm:
1584         (-[WebNullPluginView viewDidMoveToWindow]):
1585         * Plugins/WebPluginController.mm:
1586         (-[WebPluginController URLPolicyCheckReferrer]):
1587         * WebCoreSupport/WebFrameBridge.mm:
1588         (-[WebFrameBridge dataSource]):
1589         (-[WebFrameBridge redirectDataToPlugin:]):
1590         * WebCoreSupport/WebFrameLoaderClient.mm:
1591         (WebFrameLoaderClient::makeDocumentView):
1592         (WebFrameLoaderClient::forceLayoutForNonHTML):
1593         (WebFrameLoaderClient::prepareForDataSourceReplacement):
1594         (WebFrameLoaderClient::canCachePage):
1595         * WebCoreSupport/WebViewFactory.mm:
1596         (-[WebViewFactory bridgeForView:]):
1597         * WebKit.xcodeproj/project.pbxproj:
1598         * WebView/WebArchiver.mm:
1599         (+[WebArchiver archiveFrame:]):
1600         (+[WebArchiver archiveMainResourceForFrame:]):
1601         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
1602         (+[WebArchiver archiveSelectionInFrame:]):
1603         * WebView/WebFrame.mm:
1604         (-[WebFrame _loadURL:referrer:intoChild:]):
1605         (-[WebFrame _addChild:]):
1606         (-[WebFrame _dataSource]):
1607         (-[WebFrame DOMDocument]):
1608         (-[WebFrame dataSource]):
1609         * WebView/WebFrameInternal.h:
1610         * WebView/WebHTMLView.mm:
1611         (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
1612         * WebView/WebRenderNode.mm:
1613         (-[WebRenderNode initWithWebFrameView:]):
1614         * WebView/WebView.mm:
1615         (-[WebView _mainFrameOverrideEncoding]):
1616         (-[WebView mainFrameURL]):
1617         (-[WebView mainFrameTitle]):
1618         (-[WebView mainFrameIcon]):
1619         (-[WebView validateUserInterfaceItemWithoutDelegate:]):
1620         (-[WebView replaceSelectionWithArchive:]):
1621         (-[WebView _isLoading]):
1622         (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
1623         (-[WebView _notifyTextSizeMultiplierChanged]):
1624
1625 2007-05-18  Oliver Hunt  <oliver@apple.com>
1626
1627         Reviewed by Sam.
1628
1629         Fix for http://bugs.webkit.org/show_bug.cgi?id=13782 
1630         REGRESSION (r21528-r21533): Failing editing/selection/drag-in-iframe in pixel mode
1631         
1632         r21533 made used a DOMElement as the source for promise data, this meant it had to 
1633         clear the dragging pasteboard following the drag.  In DRT a drag is non-blocking
1634         so this resulted in us prematurely clearing the pasteboard.  
1635         
1636         This patch avoids this problem by referencing the source CachedImage rather than the
1637         DOMElement, so we don't need to worry about retaining an entire document forever, so
1638         we don't need to clear the dragging pasteboard following the drag.
1639         
1640         * Misc/WebNSPasteboardExtras.mm:
1641         (imageFromElement):
1642           Extract the underlying CachedImage from a DOMElement
1643         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
1644           Use a CachedImage instead of a DOMElement
1645           
1646         * WebCoreSupport/WebDragClient.mm:
1647         (WebDragClient::startDrag):
1648         
1649         * WebKit.xcodeproj/project.pbxproj:
1650         
1651         * WebView/WebHTMLView.mm:
1652         (-[WebHTMLViewPrivate dealloc]):
1653         (-[WebHTMLViewPrivate clear]):
1654         (-[WebHTMLView pasteboardChangedOwner:]):
1655         (-[WebHTMLView pasteboard:provideDataForType:]):
1656         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
1657         (-[WebHTMLView WebCore::]):
1658         (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
1659           Use CachedImage rather than DOMElement as promised data source
1660           
1661         * WebView/WebHTMLViewInternal.h:
1662         * WebView/WebHTMLViewPrivate.h:
1663
1664 2007-05-18  Tristan O'Tierney  <tristan@apple.com>
1665
1666         Reviewed by Brady E.
1667
1668         * WebCoreSupport/WebFrameLoaderClient.mm:
1669         (WebFrameLoaderClient::download):
1670         asked the webframeloaderclient for its webview's history and 
1671         injected the originated url into the created WebDownload
1672
1673 2007-05-18  John Sullivan  <sullivan@apple.com>
1674
1675         Reviewed by Kevin Decker
1676         
1677         Improvement to WebKit part of fix for 5201499 based on more modern understanding. (That is,
1678         a couple of hours more modern.)
1679
1680         * WebView/WebUIDelegatePrivate.h:
1681         add showPanel: parameter to just-introduced delegate method webView:saveFrameView:
1682
1683         * WebView/WebPDFView.mm:
1684         (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
1685         pass NO for new showPanel: parameter, and update comment
1686
1687 2007-05-18  Maciej Stachowiak  <mjs@apple.com>
1688
1689         Reviewed by John.
1690         
1691         <rdar://problem/5204792> REGRESSION (r21367): System widgets are drawn with vertical/horizontal scroll bars
1692         
1693         No test because the bug requires calling setAllowsScrolling: to reproduce.
1694
1695         * WebView/WebFrameView.mm:
1696         (-[WebFrameView setAllowsScrolling:]): Update the FrameView's scroll state as well as the one
1697         on WebDynamicScrollBarsView, otherwise this setting won't stick if the frame has already loaded
1698         a document.
1699
1700 2007-05-18  Geoffrey Garen  <ggaren@apple.com>
1701
1702         Fixed spelling error.
1703         
1704         * WebView/WebViewPrivate.h:
1705
1706 2007-05-18  John Sullivan  <sullivan@apple.com>
1707
1708         Reviewed by Kevin Decker
1709         
1710         WebKit part of fix for 5201499 (support for PDFKit UI for saving PDFs to disk)
1711         
1712         Also, the PDFKit mechanism for notifying clients about "Open File Externally" was
1713         changed from a notification to a delegate method. The notification was new to 
1714         Leopard, so removing it doesn't affect clients in the field.
1715
1716         * WebView/WebUIDelegatePrivate.h:
1717         Declared new UI delegate method webView:saveFrameView:, analogous to the existing
1718         webView:printFrameView:
1719
1720         * WebView/WebPDFView.mm:
1721         removed declaration of _webkit_PDFKitLaunchNotification
1722         (-[WebPDFView viewDidMoveToWindow]):
1723         don't observe _webkit_PDFKitLaunchNotification
1724         (-[WebPDFView viewWillMoveToWindow:]):
1725         ditto
1726         (-[WebPDFView PDFViewOpenPDFInNativeApplication:]):
1727         new PDFKit delegate method, replaces our use of _webkit_PDFKitLaunchNotification
1728         (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
1729         new PDFKit delegate method, calls through to new WebKit UI delegate method
1730         
1731 2007-05-17  Oliver Hunt  <oliver@apple.com>
1732
1733         Reviewed by Justin.
1734
1735         Fix for <rdar://problem/4244861> Safari fails to create image file
1736         after releasing dragged image that has changed on source page
1737
1738         This patch fixes this bug by manually creating an NSFileWrapper from
1739         the TIFF promise data for a drag if it is available.  This bypasses
1740         the problem of the required resource no longer being held due to page
1741         loads or other constraints.
1742         
1743         We need to leave the old path in place to allow for the case where
1744         the promised data is not available.
1745
1746         * WebCoreSupport/WebDragClient.mm:
1747         (WebDragClient::declareAndWriteDragImage):
1748           Always use the top WebHTMLView as the pasteboard owner, this is
1749           safe as we only use the owner for resolving promised types.
1750         * WebView/WebHTMLView.mm:
1751         (-[WebHTMLView _writeSelectionToPasteboard:]):
1752         (-[WebHTMLView writeSelectionToPasteboard:types:]):
1753           Always use the top WebHTMLView as the pasteboard owner.
1754         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
1755           Add path to create NSFileWrapper from promise data.
1756
1757 2007-05-17  Oliver Hunt  <oliver@apple.com>
1758
1759         Reviewed by Adam.
1760         
1761         Fix for <rdar://problem/4343832> Trying to drag a large 6.2MB jpeg image
1762          out of Safari is unexpectedly slow (4 copies of image plus RTF document on pasteboard)
1763          
1764         This patch causes the construction of the RTF and TIFF data to be delayed until requested.
1765         
1766         We delay TIFF construction from a DOMElement as this may require generating TIFF data
1767         from the CachedImage, which is slow.  To allow the TIFF data to be created later the 
1768         it's necessary to add a reference to the source DOMElement to the view.
1769
1770         * Misc/WebNSPasteboardExtras.h:
1771         * Misc/WebNSPasteboardExtras.mm:
1772         (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
1773           Implements the delayed write of RTF data
1774         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
1775           Set up the pasteboard to allow the data writing to be delayed
1776         (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
1777           Now we need to pass the WebHTMLView on to _web_writeImage:element:URL:title:archive:types:source:
1778         * WebCoreSupport/WebDragClient.mm:
1779         (WebDragClient::startDrag):
1780           Clear the dragging pasteboard once the drag has ended to ensure we don't hold references
1781           to anything longer than we need to.
1782         (WebDragClient::declareAndWriteDragImage):
1783           
1784         * WebView/WebHTMLView.mm:
1785         (-[WebHTMLViewPrivate dealloc]):
1786         (-[WebHTMLViewPrivate clear]):
1787         (-[WebHTMLView pasteboardChangedOwner:]):
1788           Make sure we clear out the DOMElement reference once it is no longer needed
1789         (-[WebHTMLView pasteboard:provideDataForType:]):
1790           Provide delayed data
1791         (-[WebHTMLView _writeSelectionToPasteboard:]):
1792           Make sure we set pasteboard ownership correctly
1793         (-[WebHTMLView promisedDragTIFFDataSource]):
1794         (-[WebHTMLView setPromisedDragTIFFDataSource:]):
1795         (-[WebHTMLView writeSelectionToPasteboard:types:]):
1796         * WebView/WebHTMLViewInternal.h:
1797         * WebView/WebHTMLViewPrivate.h:
1798         
1799         * WebView/WebView.mm:
1800         (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]):
1801
1802 2007-05-16  Anders Carlsson  <andersca@apple.com>
1803
1804         Reviewed by Darin.
1805
1806         <rdar://problem/5207156> Hamachi test tool causes assertion in FormCompletionController in Safari
1807
1808         Update for WebCore changes.
1809         
1810         * WebView/WebFrame.mm:
1811         (-[WebFrame _loadURL:referrer:intoChild:]):
1812
1813 2007-05-15  Oliver Hunt  <oliver@apple.com>
1814
1815         Reviewed by Sam and Geoff.
1816         
1817         Removing dead code left behind from drag and drop refactoring.
1818
1819         * WebCoreSupport/WebFrameBridge.mm:
1820         * WebView/WebHTMLView.mm:
1821         * WebView/WebHTMLViewPrivate.h:
1822
1823 2007-05-15  Bruce Q Hammond  <bruceq@apple.com>
1824
1825         Reviewed by Darin.
1826
1827         Correction of previous patch for http://bugs.webkit.org/show_bug.cgi?id=13578
1828         This corrects the sign of the Y-Axis origin adjustment.
1829
1830         * Plugins/WebBaseNetscapePluginView.mm:
1831         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1832
1833 2007-05-15  Geoffrey Garen  <ggaren@apple.com>
1834
1835         Reviewed by Maciej Stachowiak.
1836         
1837         Patch: fixed <rdar://problem/5198890> .5% performance regression caused 
1838         by r21307
1839         
1840         The only code r21307 added that runs during the PLT is a frame load delegate
1841         -respondsToSelector: call inside windowObjectCleared(), so it seems like 
1842         our message dispatch overhead for the frame load delegate is significant.
1843         
1844         This patch is a straight port of Maciej's fix for the same problem in the
1845         resource load delegate. The solution is simple enough: don't use Objective-C. 
1846         Instead, use a special structure that caches which methods the delegate 
1847         implements, along with pointers to those methods.
1848         
1849         I verified each frame load delegate callback in the debugger, except for
1850         -webView:didFailLoadWithError:forFrame:, which is not implemented by Safari
1851         or DumpRenderTree.
1852
1853         * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.h: Removed.
1854         * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.m: Removed.
1855
1856         * WebCoreSupport/WebFrameBridge.mm:
1857         (-[WebFrameBridge windowObjectCleared]): I also removed a misleading 
1858         comment here. The JS debugger caches the windowScriptObject, so you do
1859         need to re-create the debugger every time you invalidate the old 
1860         WebScriptObject wrapper for the window object and create a new one, or
1861         the debugger will stop working. We could fix this in a number of ways, 
1862         but <rdar://problem/4608404> is not the key issue.
1863
1864 2007-05-15  Maciej Stachowiak  <mjs@apple.com>
1865
1866         Reviewed by Hyatt and Lars.
1867         
1868         - fixed <rdar://problem/5201758> REGRESSION: Stop button enabled and other problems caused by [WebView currentURL] returning non-nil for empty window
1869         
1870         * WebView/WebDataSource.mm:
1871         (-[WebDataSource request]): Return nil when we are still showing the initial empty doc
1872
1873 2007-05-14  Geoffrey Garen  <ggaren@apple.com>
1874
1875         Reviewed by Darin Adler.
1876         
1877         Updated for WebCore move to PageCache singleton. Also removed some WebCore::
1878         prefixes and replaced them with 'using namespace WebCore'.
1879
1880         * History/WebHistoryItem.mm:
1881         (+[WebHistoryItem _releaseAllPendingPageCaches]):
1882         (-[WebWindowWatcher windowWillClose:]):
1883
1884 2007-05-13  Darin Adler  <darin@apple.com>
1885
1886         - one more retain/release for a tiny bit more robustness
1887
1888         * WebView/WebPDFView.mm:
1889         (-[WebPDFView _updatePreferences:]): [prefs release]
1890         (-[WebPDFView _updatePreferencesSoon]): [prefs retain]
1891
1892 2007-05-13  Darin Adler  <darin@apple.com>
1893
1894         Reviewed by Geoff.
1895
1896         - fix <rdar://problem/5188400> Webkit crashes going back from PDF at perl.org site
1897
1898         * WebView/WebPDFView.h: Replace _updatePreferencesTimer with _willUpdatePreferencesSoon BOOL.
1899         Also remove unneeded @public that gives other classes access to our dataSource member.
1900
1901         * WebView/WebPDFView.mm: Rearrange top of file a bit, remove forward declaration of the
1902         _cancelUpdatePreferencesTimer method.
1903         (-[WebPDFView dealloc]): Removed call to _cancelUpdatePreferencesTimer.
1904         (-[WebPDFView _updatePreferencesNow:]): Added WebPreferences parameter. This sidesteps problems
1905         where the dataSource is no longer present by not looking at the dataSource field at all.
1906         Also removed the call to _cancelUpdatePreferencesTimer, added code to set _willUpdatePreferencesSoon
1907         to NO and added a release to balance a retain I did in _updatePreferencesSoon.
1908         (-[WebPDFView _updatePreferencesSoon]): Changed to use performSelectorAfterDelay instead of
1909         an NSTimer. Pass in the preferences object as a parameter, since we might not be able to get to
1910         the dataSource when the timer fires.
1911
1912 2007-05-10  Geoffrey Garen  <ggaren@apple.com>
1913
1914         Reviewed by Darin Adler.
1915         
1916         "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.
1917
1918 2007-05-10  Adele Peterson  <adele@apple.com>
1919
1920         Reviewed by Hyatt.
1921
1922         WebKit part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result
1923
1924         Updated to use selectionRect instead of visibleSelectionRect.  selectionRect() now returns the visible rect by default.
1925
1926         * WebView/WebHTMLView.mm:
1927         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
1928         (-[WebHTMLView selectionImageRect]):
1929
1930 2007-05-10  dethbakin  <bdakin@apple.com>
1931
1932         Reviewed by Darin.
1933
1934         Fix for <rdar://problem/5191941> Leopard: Adobe Acrobat 8: 
1935         Distiller 8 needs same check fix as 4992521
1936
1937         * WebView/WebView.mm:
1938         (-[WebView _updateWebCoreSettingsFromPreferences:]): Adobe 
1939         Distiller needs the same quirk.
1940
1941 2007-05-10  Maciej Stachowiak  <mjs@apple.com>
1942
1943         Reviewed by Oliver.
1944
1945         - WebKit part of fix for:
1946         <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
1947         <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
1948
1949         The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
1950         so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.
1951         
1952         However, this caused many regressions so I had to fix the fallout.
1953
1954         * WebCoreSupport/WebChromeClient.mm:
1955         (WebChromeClient::takeFocus): Avoid focus cycle problems (can happen in DumpRenderTree
1956         with initial empty document now).
1957         * WebCoreSupport/WebFrameBridge.mm:
1958         (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]): init the frame.
1959         (-[WebFrameBridge determineObjectFromMIMEType:URL:]): return image type when appropriate
1960         * WebView/WebFrame.mm:
1961         (-[WebFrame stopLoading]): use stopForUserCancel().
1962         * WebView/WebFrameView.mm:
1963         (-[WebFrameView _makeDocumentViewForDataSource:]): assume html when no mime type available.
1964         * WebView/WebView.mm:
1965         (-[WebView becomeFirstResponder]): Track whether we are becoming first responder from
1966         outside the view.
1967         (-[WebView _becomingFirstResponderFromOutside]): Return this value.
1968         * WebView/WebViewInternal.h:
1969
1970 2007-05-09  Oliver Hunt  <oliver@apple.com>
1971
1972         rs=Adele.
1973
1974         The previous patch (r21346) broke editing, rolling out
1975
1976         * WebView/WebHTMLView.mm:
1977         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
1978         (-[WebHTMLView doCommandBySelector:]):
1979
1980 2007-05-09  Adele Peterson  <adele@apple.com>
1981
1982         Reviewed by Oliver.
1983         
1984         Re-applying fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
1985         http://bugs.webkit.org/show_bug.cgi?id=13263
1986         
1987         We don't need to call interpretKeyEvents for cmd-key events as
1988         they events will be interpreted by performKeyEquivalent.
1989
1990         * WebView/WebHTMLView.mm:
1991         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
1992         (-[WebHTMLView doCommandBySelector:]):
1993
1994 2007-05-09  Mark Rowe  <mrowe@apple.com>
1995
1996         Build fix to keep the buildbot happy.
1997
1998         * Plugins/WebBaseNetscapePluginView.mm:
1999         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2000
2001 2007-05-08  Bruce Q Hammond  <bruceq@apple.com>
2002
2003         Reviewed by Darin.
2004
2005         http://bugs.webkit.org/show_bug.cgi?id=13578
2006         Bug 13578: When QD plugins draw to an offscreen bitmap the origin is not correct
2007
2008         Now we have correct handling of the origin when QD plugins draw to
2009         offscreen bitmaps.
2010         Also the clipping code for this path was doing unnecessary work which
2011         caused incorrect results; it has been removed.
2012         
2013         This change should not affect Safari and in general will only affect
2014         plugins (e.g. Flash) drawing to a CGBitmapContext.
2015
2016         * Plugins/WebBaseNetscapePluginView.mm:
2017         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2018
2019 2007-05-08  Steve Falkenburg  <sfalken@apple.com>
2020
2021         Reviewed by Darin.
2022
2023         Implemented spelling/grammar related WebEditorClient methods.
2024
2025         * WebCoreSupport/WebEditorClient.h:
2026         * WebCoreSupport/WebEditorClient.mm:
2027         (WebEditorClient::ignoreWordInSpellDocument): Added. Call through to NSSpellChecker.
2028         (WebEditorClient::learnWord): Added. Call through to NSSpellChecker.
2029         (WebEditorClient::checkSpellingOfString): Added. Call through to NSSpellChecker.
2030         (WebEditorClient::checkGrammarOfString): Added. Call through to NSSpellChecker.
2031         (WebEditorClient::updateSpellingUIWithGrammarString): Added. Call through to NSSpellChecker.
2032         (WebEditorClient::updateSpellingUIWithMisspelledWord): Added. Call through to NSSpellChecker.
2033         (WebEditorClient::showSpellingUI): Added. Call through to NSSpellChecker.
2034         (WebEditorClient::spellingUIIsShowing): Added. Call through to NSSpellChecker.
2035         (WebEditorClient::getGuessesForWord): Added. Call through to NSSpellChecker.
2036
2037 2007-05-08  Steve Falkenburg  <sfalken@apple.com>
2038
2039         Reviewed by Ada.
2040
2041         Slight modification to last editor method fix.
2042
2043         * WebCoreSupport/WebEditorClient.h:
2044         (WebEditorClient::updateSpellingUIWithGrammarString):
2045
2046 2007-05-07  Geoffrey Garen  <ggaren@apple.com>
2047
2048         Reviewed by Maciej Stachowiak.
2049         
2050         Fixed <rdar://problem/5140447> API for fetching JSGlobalContextRef from 
2051         WebView or WebFrame
2052         
2053         Added -[WebFrame windowObject] and -[WebFrame globalContext], along with
2054         a new frame load delegate method, - (void)webView:(WebView *)webView 
2055         didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame.
2056         This is all to support briding between the WebScriptObject and JavaScriptCore
2057         APIs.
2058
2059         Also fixed more of <rdar://problem/4395622> API: WebScriptObject.h incorrectly 
2060         reports that -isSelectorExcludedFromWebScript returns NO by default, and
2061         generally cleaned up the WebScriptObject headerdoc.
2062
2063         * WebCoreSupport/WebFrameBridge.mm:
2064         (-[WebFrameBridge windowObjectCleared]):
2065         * WebView/WebFrame.mm:
2066         (-[WebFrame windowObject]):
2067         (-[WebFrame globalContext]):
2068         * WebView/WebFramePrivate.h:
2069         * WebView/WebViewPrivate.h:
2070
2071 2007-05-07  Timothy Hatcher  <timothy@apple.com>
2072
2073         Reviewed by Darin.
2074
2075         <rdar://problem/5180384> webView:validateUserInterfaceItem:defaultValidation: does not get called on WebUIDelegates
2076
2077         Call the delegate when the one of our views gets a validateUserInterfaceItem: call.
2078
2079         * WebView/WebHTMLView.mm:
2080         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
2081         (-[WebHTMLView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
2082         * WebView/WebPDFView.mm:
2083         (-[WebPDFView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
2084         (-[WebPDFView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
2085         * WebView/WebView.mm:
2086         (-[WebView _responderValidateUserInterfaceItem:]): Call validateUserInterfaceItemWithoutDelegate: to prevent asking the delegate twice.
2087         (-[WebView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
2088         (-[WebView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
2089
2090 2007-05-07  Brady Eidson  <beidson@apple.com>
2091
2092         Actually finish the code move from my last checkin
2093
2094         * History/WebHistoryItem.mm:
2095         (-[WebHistoryItem _transientPropertyForKey:]):
2096         (-[WebHistoryItem _setTransientProperty:forKey:]):
2097
2098 2007-05-07  Brady Eidson  <beidson@apple.com>
2099
2100         Rubberstamped by Kevin (Sarge)
2101
2102         Make _transientPropertyForKey: and _setTransientProperty:forKey: SPI
2103
2104         * History/WebHistoryItemInternal.h:
2105         * History/WebHistoryItemPrivate.h:
2106
2107 2007-05-04  Geoffrey Garen  <ggaren@apple.com>
2108
2109         Reviewed by Tim Hatcher.
2110
2111         First step in fixing <rdar://problem/5055182> The back cache has no global cap
2112
2113         Stop giving SnapBack infinite cache-ability. Instead, make SnapBack rely
2114         on the underlying back cache.
2115         
2116         I left -setAlwaysAttemptToUsePageCache: as an empty stub because we don't 
2117         want to break Safari 2.0, but I removed its header declaration so nobody 
2118         else starts using it.
2119
2120         * History/WebHistoryItem.mm:
2121         (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
2122         * History/WebHistoryItemPrivate.h:
2123
2124 2007-05-04  Geoffrey Garen  <ggaren@apple.com>
2125
2126         Reviewed by Brady Eidson.
2127         
2128         Some cleanup in preparation for fixing <rdar://problem/5055182> The 
2129         back/forward cache has no global cap
2130         
2131         Unified naming of WebKit/WebCore b/f lists -- instead of the potpourri 
2132         of webBackForwardList, backForwardList, list, kitList, coreList, listWrapper, 
2133         and webCoreBackForwardList, we use webBackForwardList for WebKit and 
2134         backForwardList for WebCore, matching their respective class names.
2135         
2136         Removed "private" versions of kit() and core() -- kit() and core() are
2137         canonically used for converting between WebKit API objects and WebCore
2138         API objects. I think it's clearer to have only one way to do this.
2139
2140         Removed COMPUTE_DEFAULT_PAGE_CACHE_SIZE, since it was unused.
2141         
2142         Removed _clearPageCache, since it was unused and it duplicated -setPageCacheSize:0.
2143
2144         Removed _usesPageCache, since it was unused and it duplicated -pageCacheSize.
2145
2146 2007-05-04  Brady Eidson  <beidson@apple.com>
2147
2148         Reviewed by Mark Rowe
2149
2150         Added main thread assertion to WebHTMLView to help make sure 3rd party clients aren't trying
2151         to draw on secondary threads
2152
2153         * WebView/WebHTMLView.mm:
2154         (-[WebHTMLView drawRect:]): Added ASSERT_MAIN_THREAD()
2155
2156 2007-05-04  Anders Carlsson  <andersca@apple.com>
2157
2158         Reviewed by Antti.
2159
2160         <rdar://problem/5179977> Use the correct URLs when dispatching delegate methods for data loads.
2161
2162         * WebView/WebFrame.mm:
2163         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
2164         If the base URL is nil, set it to "about:blank", and set the response URL to a generated applewebdata URL.
2165         
2166         * WebView/WebView.mm:
2167         (+[WebView _canHandleRequest:]):
2168         No need to special-case applewebdata URLs here anymore, they're only used in responses.
2169
2170 2007-05-03  Steve Falkenburg  <sfalken@apple.com>
2171
2172         Reviewed by Oliver.
2173
2174         Add missing user description parameter to spelling-related editor client method.
2175
2176         * WebCoreSupport/WebEditorClient.h:
2177         (WebEditorClient::updateSpellingUIWithGrammarString):
2178
2179 2007-05-03  TImothy Hatcher  <timothy@apple.com>
2180
2181         Reviewed by Kevin.
2182
2183         <rdar://problem/4975212> REGRESSION: With NetNewsWire 2.1.1, the contextual menu shows extra menu items when focus
2184         is placed in input or textarea field
2185
2186         The NetNewsWire UI delegate isn't expecting calls for form controls, so we need to do a linked-on-or-after check.
2187         If the application was linked against Tiger or earlier and the element is a text form control, just return the
2188         default menu items and bypass the delegate call completely.
2189
2190         * WebCoreSupport/WebContextMenuClient.mm:
2191         (isPreVersion3Client): Cache the result of the WebKitLinkedOnOrAfter call
2192         (fixMenusToSendToOldClients): Call the new isPreVersion3Client()
2193         (fixMenusReceivedFromOldClients): Ditto.
2194         (WebContextMenuClient::getCustomMenuFromDefaultItems): Return the default menu items if the element is a text form control.
2195
2196 2007-05-03  Mark Rowe  <mrowe@apple.com>
2197
2198         Reviewed by Geoff and Kevin.
2199
2200         <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients
2201
2202         Second shot at fixing this error.  Stub out the macros rather than forwarding to JavaScriptCore, which would
2203         leave clients using this header trying to resolve JavaScriptCore symbols against WebKit when linking.  This
2204         should only happen in production builds when assertions should be disabled anyway as anyone building a
2205         development configuration should be in a position to move away from using this header.
2206
2207         * Misc/WebAssertions.h: 
2208
2209 2007-05-03  Timothy Hatcher  <timothy@apple.com>
2210
2211         Reviewed by Kevin.
2212
2213         <rdar://problem/5067707> REGRESSION: "Open Link" contextual menu item appears twice in Mail
2214
2215         Remove the check for Mail in fixMenusToSendToOldClients and fixMenusReceivedFromOldClients
2216         when linked on or after Leopard. The isAppleMail() function is still used for Tiger Mail fixups.
2217
2218         * WebCoreSupport/WebContextMenuClient.mm:
2219         (fixMenusToSendToOldClients):
2220         (fixMenusReceivedFromOldClients):
2221
2222 2007-05-02  Anders Carlsson  <andersca@apple.com>
2223
2224         Reviewed by Brady.
2225
2226         <rdar://problem/5151113> Assertion firing in [FrameProgressEntry addChild:forDataSource:] when navigating cnn.com
2227         
2228         The assertion fired because a plug-in was trying to load a subresource when a new load had started but not yet
2229         committed. The check that would have prevented this was removed in order to fix <rdar://problem/5085897>.
2230         
2231         This puts back the check but changes it to allow loads where the target is the same frame as the plugin's parent frame.
2232         
2233         * Plugins/WebBaseNetscapePluginView.mm:
2234         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2235
2236 2007-04-27  Timothy Hatcher  <timothy@apple.com>
2237
2238         Reviewed by Darin.
2239
2240         There were only a couple calls to ResourceLoadDelegate forwarder left,
2241         this removes the calls and adds a new cached method for didFailLoad.
2242
2243         * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.h: Removed.
2244         * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.m: Removed.
2245         * WebKit/Plugins/WebNullPluginView.mm: Call the resource load delegate directly.
2246         * WebKit/WebCoreSupport/WebFrameLoaderClient.mm: Call the cached didFailLoad delegate function.
2247         * WebKit/WebKit.xcodeproj/project.pbxproj: Remove WebDefaultResourceLoadDelegate.
2248         * WebKit/WebView/WebDataSource.mm: Remove the #import for WebDefaultResourceLoadDelegate.h
2249         * WebKit/WebView/WebView.mm: Remove the ResourceLoadDelegate forwarder, and remove a method that isn't used.
2250         * WebKit/WebView/WebViewInternal.h: Ditto.
2251         * WebKit/WebView/WebViewPrivate.h: Remove a method that is no longer used.
2252
2253 2007-04-27  David Harrison  <harrison@apple.com>
2254
2255         Reviewed by Darin.
2256
2257         <rdar://problem/5160627> Export JS list creation support as ObjC SPI for Mail
2258
2259         * WebKit.xcodeproj/project.pbxproj:
2260         * WebView/WebHTMLView.mm:
2261         (-[WebHTMLView _selectedRange]):
2262         (-[WebHTMLView _shouldDeleteRange:]):
2263         (-[WebHTMLView _canEdit]):
2264         (-[WebHTMLView _canEditRichly]):
2265         (-[WebHTMLView _hasSelection]):
2266         (-[WebHTMLView _hasSelectionOrInsertionPoint]):
2267         (-[WebHTMLView _hasInsertionPoint]):
2268         (-[WebHTMLView _isEditable]):
2269         Condense the check for nil [self frame].
2270         Remove canEditRichly checks and rely on the editor to do the check instead.
2271         
2272         (-[WebHTMLView _insertOrderedList]):
2273         (-[WebHTMLView _insertUnorderedList]):
2274         New.
2275         
2276         (-[WebHTMLView _canIncreaseSelectionListLevel]):
2277         (-[WebHTMLView _canDecreaseSelectionListLevel]):
2278         (-[WebHTMLView _increaseSelectionListLevel]):
2279         (-[WebHTMLView _increaseSelectionListLevelOrdered]):
2280         (-[WebHTMLView _increaseSelectionListLevelUnordered]):
2281         (-[WebHTMLView _decreaseSelectionListLevel]):
2282         Moved from bridge to frame editor.
2283
2284         * WebView/WebHTMLViewPrivate.h:
2285         Add _insertOrderedList and _insertUnorderedList to WebHTMLView(WebPrivate)
2286
2287 2007-04-27  Brady Eidson  <beidson@apple.com>
2288
2289         Rubberstamped by Mark
2290
2291         Remove default implementation of UIDelegate method that was removed
2292
2293         I have also been instructed to give Tim a hard time about this one - apparently
2294         it was his job to clean it out and he failed...  failed miserably.
2295
2296         :)
2297
2298         * DefaultDelegates/WebDefaultUIDelegate.m: Removed webViewPrint:
2299
2300 2007-04-27  Maciej Stachowiak  <mjs@apple.com>
2301
2302         Reviewed by Mark.
2303         
2304         <rdar://problem/5154113> Repro ASSERT (would be crash) in KJS::GCLock::GCLock (13462)
2305         http://bugs.webkit.org/show_bug.cgi?id=13462
2306
2307         * WebInspector/WebInspector.m:
2308         (-[WebInspectorPrivate dealloc]): Delay release of WebView to avoid GC re-entrancy.
2309
2310 2007-04-27  Anders Carlsson  <andersca@apple.com>
2311
2312         Reviewed by Mitz.
2313
2314         <rdar://problem/5165755>
2315         View Source is broken; empty window is shown
2316         
2317         Return YES for applewebdata URLs.
2318         
2319         * WebView/WebView.mm:
2320         (+[WebView _canHandleRequest:]):
2321
2322 2007-04-26  Oliver Hunt  <oliver@apple.com>
2323
2324         Reviewed by Adam.
2325
2326         Fix <rdar://problem/5061252> REGRESSION: In Gmail, image fails 
2327         to be inserted into message field after dragging
2328
2329         Don't try to create <img> tags for local image files as it results
2330         in the potential to submit forms that look like they have an image,
2331         when in reality they don't.
2332
2333         * WebView/WebHTMLView.mm:
2334         (-[WebHTMLView _documentFragmentWithPaths:]):
2335
2336 2007-04-26  Anders Carlsson  <andersca@apple.com>
2337
2338         Reviewed by Maciej.
2339
2340         <rdar://problem/5049099> documents no longer have a default base URL
2341         
2342         If the base URL is nil, then create a unique applewebdata URL to match what Tiger WebKit does.
2343         
2344         * WebView/WebFrame.mm:
2345         (createUniqueWebDataURL):
2346         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
2347
2348 2007-04-25  Oliver Hunt  <oliver@apple.com>
2349
2350         Rubber stamped by Adele.
2351
2352         Roll out WebKit changes from from r21052 to fix regression noted in
2353         <rdar://problem/5159556> REGRESSION: In Mail, pressing option-command- ' doesn't decrease block quote in selection
2354
2355         * WebView/WebHTMLView.mm:
2356         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
2357         (-[WebHTMLView doCommandBySelector:]):
2358
2359 2007-04-25  Steve Falkenburg  <sfalken@apple.com>
2360
2361         Reviewed by Adam.
2362
2363         Mac callbacks for new spelling methods in WebEditorClient.
2364         Not used yet.
2365
2366         * WebCoreSupport/WebEditorClient.h:
2367         (WebEditorClient::ignoreWordInSpellDocument):
2368         (WebEditorClient::learnWord):
2369         (WebEditorClient::checkSpellingOfString):
2370         (WebEditorClient::checkGrammarOfString):
2371         (WebEditorClient::updateSpellingUIWithGrammarString):
2372         (WebEditorClient::updateSpellingUIWithMisspelledWord):
2373         (WebEditorClient::showSpellingUI):
2374         (WebEditorClient::spellingUIIsShowing):
2375         (WebEditorClient::getGuessesForWord):
2376
2377 2007-04-24  Geoffrey Garen  <ggaren@apple.com>
2378
2379         Reviewed by Darin Adler, Tim Hatcher.
2380
2381         Fixed a few NSAutoreleasePool issues I noticed while reviewing Brady's patch.
2382
2383         * Carbon/CarbonUtils.m:
2384         (PoolCleaner): Call -drain instead of -release, since -release is a 
2385         no-op in a GC world.
2386
2387         * Misc/WebKitErrors.m:
2388         (registerErrors): Condensed onto one line.
2389
2390         * Plugins/WebPluginDatabase.m:
2391         (-[WebPluginDatabase refresh]): Call -drain instead of -release, since
2392         -release is a no-op in a GC world.
2393
2394         * WebCoreSupport/WebChromeClient.mm:
2395         (WebChromeClient::setStatusbarText):
2396
2397         * WebInspector/WebNodeHighlightView.m:
2398         (-[WebNodeHighlightView initWithHighlight:andRects:forView:]): Don't drain
2399         and then release because drain deallocates the receiver, so the release
2400         is an over-release.
2401
2402         * WebView/WebView.mm:
2403         (-[WebView rectsForTextMatches]): Re-allocate the pool after draining it,
2404         because drain deallocates the receiver, so the drain would leave you without
2405         any autorelease pool, causing a leak and then an over-release at the bottom
2406         of the loop.
2407
2408 2007-04-24  Brady Eidson  <beidson@apple.com>
2409
2410         Reviewed by Beth, Hyatt, Ada, and Darin
2411
2412         <rdar://problem/5011477> and <rdar://problem/5011514>
2413         Provide support for the icon.db to be moved to a different directory from the old WebKit-style
2414         icons, and remove the old directory if that is the case
2415
2416         * Misc/WebIconDatabase.mm:
2417         (-[WebIconDatabase init]):
2418         (-[WebIconDatabase _importToWebCoreFormat]): Check "imported()" to determine if a conversion is needed
2419           - Look for WebIconDatabaseImportDirectoryDefaultsKey for the source location for the conversion
2420           - Set "imported" to true in the Icons.db
2421           - If the new Icons.db isn't in the same patch as the old icons, delete the entire directory when finished
2422           - Move old icon.db to Icons.db to reflect rename
2423         * Misc/WebIconDatabasePrivate.h: Add WebIconDatabaseImportDirectoryDefaultsKey so a WebKit client can tell WebKit
2424           where to look for the old icons if their location is different from the icon.db
2425         * WebKit.exp:
2426
2427 2007-04-24  Mitz Pettel  <mitz@webkit.org>
2428
2429         Reviewed by Oliver Hunt.
2430
2431         Changed an apostrophe (') into a right single quotation mark (U+2019).
2432
2433         * WebInspector/webInspector/inspector.js:
2434
2435 2007-04-24  Mitz Pettel  <mitz@webkit.org>
2436
2437         Reviewed by Timothy Hatcher.
2438
2439         - fix http://bugs.webkit.org/show_bug.cgi?id=13459
2440           The "mapped style" link next to an attribute doesn't work
2441
2442         * WebInspector/webInspector/inspector.js: Added a check that the rule is
2443         mapped from an attribute.
2444
2445 2007-04-23  Adele Peterson  <adele@apple.com>
2446
2447         Fixed and reviewed by Darin, Adele, and Oliver.
2448
2449         WebKit part of fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
2450         http://bugs.webkit.org/show_bug.cgi?id=13263
2451
2452         * WebView/WebHTMLView.mm:
2453         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):  If we have no command after calling interpretKeyEvents, we assume the input method handled the key.
2454         (-[WebHTMLView doCommandBySelector:]): Add noop: to the command vector, but then when actually performing actions, ignore it.
2455
2456 2007-04-23  Timothy Hatcher  <timothy@apple.com>
2457
2458         Reviewed by Darin.
2459
2460         <rdar://problem/5124364> IB3 crashes when loading a nib containing a WebView that has a WebHTMLView encoded inside
2461
2462         Since WebView's initWithCoder throws away all the decoded subviews, the WebHTMLView gets dealoced while it has a nil _private pointer.
2463         Checking for a nil _private in WehHTMLView's close fixes this crash. No need to implement a full initWithCoder for WebHTMLView since
2464         it will be thrown away by the WebView anyway.
2465
2466         * WebView/WebHTMLView.mm:
2467         (-[WebHTMLView close]): Return earily if _priviate is nil.
2468         (-[WebHTMLView initWithFrame:]): Unrelated change that removes an AppKit version check that predates Tiger.
2469
2470 2007-04-23  Timothy Hatcher  <timothy@apple.com>
2471
2472         Reviewed by Mark Rowe.
2473
2474         Remove the "No Selection" message after leaving search mode.
2475         This was a regression caused by the inspector refresh.
2476
2477         * WebInspector/webInspector/inspector.js:
2478
2479 2007-04-23  Timothy Hatcher  <timothy@apple.com>
2480
2481         Reviewed by Darin.
2482
2483         Bug 6658: World leak when closing inspected window
2484         http://bugs.webkit.org/show_bug.cgi?id=6658 and <rdar://problem/4411863>
2485
2486         Removes over-retains of the inspector WebView, WebInspector and WebInspectorPanel.
2487
2488         * WebInspector/WebInspector.m:
2489         (+[WebInspector sharedWebInspector]): Return the global sharedWebInspector variable.
2490         (-[WebInspector window]): Release the window after calling setWindow:.
2491         (-[WebInspector windowWillClose:]): Set the JavaScript Inspector variable to null and expire the current highlight.
2492           Also clear the global sharedWebInspector variable and release it if self equals sharedWebInspector.
2493         (-[WebInspector showWindow:]): Set the JavaScript Inspector variable back to self.
2494         * WebInspector/WebInspectorInternal.h: Remove the isSharedInspector member variable.
2495         * WebView/WebView.mm:
2496         (-[WebView windowScriptObject]): Return nil if core([self mainFrame]) is NULL.
2497
2498 2007-04-23  Darin Adler  <darin@apple.com>
2499
2500         Reviewed by Hyatt.
2501
2502         - rename box-sizing to -webkit-box-sizing
2503
2504         * WebInspector/webInspector/inspector.css: Here.
2505         * WebInspector/webInspector/inspector.js: And here, in the expected default CSS values list.
2506
2507 2007-04-22  Timothy Hatcher  <timothy@apple.com>
2508
2509         Reviewed by Darin.
2510
2511         The fix for <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject
2512         was #ifdefed out in Production builds.
2513
2514         * WebView/WebView.mm:
2515         (+[WebView initialize]): Move the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM inside initialize around the specific code
2516         (+[WebView _applicationWillTerminate]): Moved outside the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM block
2517
2518 2007-04-22  Timothy Hatcher  <timothy@apple.com>
2519
2520         Reviewed by Mitz.
2521
2522         Bug 13436: Make Option-clicking a disclosure triangle expand the entire subtree
2523         http://bugs.webkit.org/show_bug.cgi?id=13436
2524
2525         Makes option-click recursively expand and collapse the sub-tree. Pressing option-left
2526         and -right also recursively expands and collapses the sub-tree.
2527
2528         * WebInspector/webInspector/treeoutline.js:
2529
2530 2007-04-22  Timothy Hatcher  <timothy@apple.com>
2531
2532         Reviewed by Mitz.
2533
2534         Bug 13437: Inspector does not update when navigating to a different page
2535         http://bugs.webkit.org/show_bug.cgi?id=13437
2536
2537         * WebInspector/webInspector/inspector.js: Correctly update to a new root node
2538           if the new focus node and the old focus node don't have a common ancestor.
2539
2540 2007-04-22  Darin Adler  <darin@apple.com>
2541
2542         Reviewed by Adele.
2543
2544         - fix for <rdar://problem/5100240> REGRESSION: Control-O broken
2545
2546         * WebView/WebHTMLView.mm:
2547         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Update to handle a vector of
2548         command names instead of a single command.
2549         (-[WebHTMLView doCommandBySelector:]): Change logic so that we add the command to a vector
2550         and also so that the interpretKeyEvents parameters are still intact for a second call to
2551         doCommandBySelector:, since the key bindings mechanism can do more than one.
2552         (-[WebHTMLView insertText:]): Added comment.
2553
2554 2007-04-21  Darin Adler  <darin@apple.com>
2555
2556         Reviewed by Oliver.
2557
2558         - fix some problems I ran into using the inspector
2559
2560         * WebInspector/webInspector/inspector.js: Add some null checks.
2561
2562 2007-04-20  Timothy Hatcher  <timothy@apple.com>
2563
2564         Reviewed by Darin.
2565
2566         Merge over the WebInspectorRefresh branch. This change removes the NSOutlineView and
2567         is replaced with a HTML/JavaScript tree. Most of the inspector logic is now in the JavaScript.
2568
2569         A few bugs are fixed by these changes:
2570
2571         Bug 6615: Parent node drop-down list is upside-down
2572         http://bugs.webkit.org/show_bug.cgi?id=6615
2573
2574         Bug 6643: REGRESSION: Tree view repaints lines without erasing them first
2575         http://bugs.webkit.org/show_bug.cgi?id=6643
2576
2577         Bug 6650: Web Inspector HTML Hierarchy can't be scrolled with scrollwheel
2578         http://bugs.webkit.org/show_bug.cgi?id=6650
2579
2580         Bug 6677: Can't drag inspector when tree view has focus
2581         http://bugs.webkit.org/show_bug.cgi?id=6677
2582
2583         Bug 7326: Web Inspector tree scrollbar always shows up when resizing the top pane down
2584         http://bugs.webkit.org/show_bug.cgi?id=7326
2585
2586         * WebInspector/WebInspector.h: Removed the searchQuery methods.
2587         * WebInspector/WebInspector.m: Removed the DOMNode category and code for the old outline view.
2588         * WebInspector/WebInspectorOutlineView.h: Removed.
2589         * WebInspector/WebInspectorOutlineView.m: Removed.
2590         * WebInspector/WebInspectorInternal.h: Remove some methods and instance variables.
2591         * WebInspector/webInspector/Images/resize.png: Added.
2592         * WebInspector/webInspector/inspector.css: 
2593         * WebInspector/webInspector/inspector.html: Include the new classes and remove the plugin.
2594         * WebInspector/webInspector/inspector.js: Changes to use the new tree outline and other fixes.
2595         * WebInspector/webInspector/scrollarea.js: Copied from the Dashboard widget resources.
2596         * WebInspector/webInspector/scrollbar.js: Ditto.
2597         * WebInspector/webInspector/treeoutline.js: New tree outline class.
2598         * WebInspector/webInspector/utilities.js: DOM and String prototype additions.
2599         * WebKit.xcodeproj/project.pbxproj: Remove WebInspectorOutlineView.
2600
2601 2007-04-20  Brady Eidson  <beidson@apple.com>
2602
2603         Reviewed by Oliver (Black Sheep)
2604
2605         <rdar://problem/3559794>
2606         [WebView setMaintainsBackForwardList:] doesn't actually flush out the current page caches
2607
2608         * WebView/WebView.mm: Remove _private->useBackForwardList
2609         (-[WebView _setInitiatedDrag:]): Use _private->page instead of [self page]
2610         (-[WebView initWithCoder:]): Manipulate the flag that is now in WebCore::BackForwardList
2611         (-[WebView encodeWithCoder:]): Ditto
2612         (-[WebView backForwardList]): Use _private->page instead of [self page]
2613         (-[WebView setMaintainsBackForwardList:]): Manipulate the flag that is now in WebCore::BackForwardList
2614
2615 2007-04-20  Anders Carlsson  <andersca@apple.com>
2616
2617         Reviewed by Maciej.
2618
2619         <rdar://problem/5085897> REGRESSION: Some Flash links at www.jumpskyhigh.com just reload the page
2620         
2621         Get rid of the check that would prevent plugin requests from being loaded if a new page load was underway.
2622         www.jumpskyhigh.com had a flash movie that was embedded inside an <a> tag and clicking on the plug-in would cause the
2623         URL pointed to by the <a> tag to start loading and thus preventing the plug-in from loading the real URL.
2624         
2625         This check was added by Maciej and we should be able to remove it with the loader changes that have happened now,
2626         (mainly the fact that resource loaders are handled by the document loader instead of the frame loader).
2627         
2628         * Plugins/WebBaseNetscapePluginView.mm:
2629         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2630
2631 2007-04-19  Oliver Hunt  <oliver@apple.com>
2632
2633         Reviewed by Adam.
2634
2635         Fix for <rdar://problem/4960912> -- REGRESSION: Content-Disposition:
2636         filename is ignored for drag-and-drop.
2637
2638         * WebView/WebResource.mm:
2639         (-[WebResource _fileWrapperRepresentation]):
2640           When creating the NSFileWrapper check the response for a preferred 
2641           filename, rather than just blindly hoping for the best.
2642
2643 2007-04-19  Anders Carlsson  <andersca@apple.com>
2644
2645         Reviewed by John.
2646
2647         <rdar://problem/5137002>
2648         REGRESSION (r20812): [WebFrame DOMDocument] is returning non-nil value in bookmarks view, causing trouble in Safari
2649
2650         Put back the MIME type check as a workaround.
2651         * WebView/WebFrame.mm:
2652         (-[WebFrame DOMDocument]):
2653
2654 2007-04-19  Mark Rowe  <mrowe@apple.com>
2655
2656         Reviewed by Oliver and Adam.
2657
2658         <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients.
2659
2660         * Misc/WebAssertions.h: Added.
2661         * WebKit.xcodeproj/project.pbxproj:
2662
2663 2007-04-17  Brady Eidson  <beidson@apple.com>
2664
2665         Reviewed by Tim
2666
2667         <rdar://problem/5008925>
2668         Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate
2669
2670         * WebCoreSupport/WebFrameLoaderClient.h:
2671         * WebCoreSupport/WebFrameLoaderClient.mm:
2672         (WebFrameLoaderClient::willCacheResponse): Call 
2673           [WebResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:];
2674
2675         * WebView/WebView.mm:
2676         (-[WebView _cacheResourceLoadDelegateImplementations]): Pull out the willCacheResponse impl
2677
2678         * WebView/WebViewPrivate.h: Add WebResourceLoadDelegatePrivate category for this new SPI
2679
2680 2007-04-18  John Sullivan  <sullivan@apple.com>
2681
2682         Reviewed by Adam
2683
2684         - fixed <rdar://problem/5103009> REGRESSION: Activity window shows blank name for untitled pages
2685
2686         * WebView/WebHTMLRepresentation.mm:
2687         (-[WebHTMLRepresentation title]):
2688         return nil for empty string, to match old behavior
2689
2690 2007-04-17  John Sullivan  <sullivan@apple.com>
2691
2692         Reviewed by Tim Hatcher
2693
2694         - fixed <rdar://problem/5138492> Safari doesn't remember some changes to the PDF scale and display mode 
2695
2696         Some of the user interactions that could change the PDF scale and display mode were not going through
2697         the proxy mechanism in WebPDFView that updates preferences. Now we also listen to PDFKit notifications
2698         in order to catch the other cases.
2699
2700         * WebView/WebPDFView.h:
2701         new _ignoreScaleAndDisplayModeNotifications and _updatePreferencesTimer ivars
2702
2703         * WebView/WebPDFView.mm:
2704         (-[WebPDFView setPDFDocument:]):
2705         ignore scale and display mode notifications while we're setting up a fresh document
2706         (-[WebPDFView dealloc]):
2707         cancel the new timer (which releases it)
2708         (-[WebPDFView viewDidMoveToWindow]):
2709         listen for two PDFKit notifications
2710         (-[WebPDFView viewWillMoveToWindow:]):
2711         stop listening to the two PDFKit notifications
2712         (-[WebPDFView _applyPDFDefaults]):
2713         white space change
2714         (-[WebPDFView _cancelUpdatePreferencesTimer]):
2715         invalidate, release, and nil out the timer
2716         (-[WebPDFView _scaleOrDisplayModeChanged:]):
2717         update preferences soon, unless deliberately ignoring these notifications
2718         (-[WebPDFView _updatePreferencesNow]):
2719         cancel timer, then save data to preferences (code for saving the data was extracted from
2720         -[PDFPrefUpdatingProxy forwardInvocation:])
2721         (-[WebPDFView _updatePreferencesSoon]):
2722         use timer to consolidate multiple calls into one action; formerly we were setting preferences
2723         multiple times for some atomic user actions
2724         (-[PDFPrefUpdatingProxy forwardInvocation:]):
2725         call _updatePreferencesSoon where we used to immediately set preferences
2726
2727 2007-04-17  John Sullivan  <sullivan@apple.com>
2728
2729         Reviewed by Kevin Decker
2730
2731         - fixed <rdar://problem/4184640> "Look Up in Dictionary" item is always disabled for PDF pages
2732
2733         * WebView/WebPDFView.mm:
2734         (-[WebPDFView validateUserInterfaceItem:]):
2735         enable "Look Up in Dictionary" only if we're using a version of PDFKit that knows how to do so
2736         (-[WebPDFView _canLookUpInDictionary]):
2737         use respondsToSelector to test whether the current version of PDFKit supports this non-API feature
2738         (-[WebPDFView _lookUpInDictionaryFromMenu:]):
2739         implement this method, which WebKit includes in the context menu when there's selected text
2740         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
2741         updated comment for this change
2742
2743 2007-04-16  Darin Adler  <darin@apple.com>
2744
2745         Rubber stamped by Tim Hatcher.
2746
2747         * WebKit.xcodeproj/project.pbxproj: Added Radar bug number to the error message
2748         for the "version number ending in 4" check so folks from Apple can find the
2749         original bug that motivated for this. To summarize what's in that bug, it says that
2750         <http://my.fedex.com> was failing, that it was because of the OpenCube DHTML Menu,
2751         and that some other affected sites were not using OpenCube (so the error is presumably
2752         more widespread).
2753
2754 2007-04-16  Darin Adler  <darin@apple.com>
2755
2756         Reviewed by John Sullivan.
2757
2758         - fix http://bugs.webkit.org/show_bug.cgi?id=13303
2759           <rdar://problem/5126341> REGRESSION: controls in a background Safari window
2760           maintain active appearance if the address bar has focus (13303)
2761
2762         * WebView/WebHTMLView.mm: (-[WebHTMLView _windowChangedKeyState]):
2763         Added. Calls FrameView::updateControlTints.
2764
2765 2007-04-13  Oliver Hunt  <oliver@apple.com>
2766
2767         Reviewed by Adam.
2768
2769         Due to rdar://problem/5133910 -- WebArchives should not be constructed 
2770         using resource from the cache -- We may try to create a potentially 
2771         incorrect WebArchive when dragging an image multiple times.
2772
2773         This patch retains the assertion for invalid behaviour, but adds a
2774         branch to make sure we don't try to do anything with the WebArchive
2775         in release builds.
2776
2777         * Misc/WebNSPasteboardExtras.mm:
2778         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
2779
2780 2007-04-13  Timothy Hatcher  <timothy@apple.com>
2781
2782         Reviewed by Dave Harrison.
2783
2784         <rdar://problem/5132727> Soho Mail build fails because of renamed SPI
2785
2786         * WebView/WebUIDelegatePrivate.h: define WebMenuItemTagSearchInGoogle as OldWebMenuItemTagSearchWeb
2787
2788 2007-04-13  Mark Rowe  <mrowe@apple.com>
2789
2790         Reviewed by Oliver.
2791
2792         <rdar://problem/5130686> Using WebPreferencesPrivate.h requires modifying framework search path
2793
2794         * WebView/WebPreferencesPrivate.h: Remove unneeded #ifdef.
2795
2796 2007-04-12  Deneb Meketa  <dmeketa@adobe.com>
2797
2798         Reviewed by Darin Adler.
2799
2800         http://bugs.webkit.org/show_bug.cgi?id=13029
2801         rdar://problem/4994849
2802         Bug 13029: Permit NPAPI plug-ins to see HTTP response headers.
2803
2804         * Plugins/WebBaseNetscapePluginStream.h: declarations.
2805         * Plugins/WebBaseNetscapePluginStream.mm: main implementation.
2806         (-[WebBaseNetscapePluginStream dealloc]): cleanup.
2807         (-[WebBaseNetscapePluginStream finalize]): cleanup.
2808         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
2809         Pass headers along.
2810         (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
2811         Main work is here.  Extract headers from NSHTTPURLResponse object into a byte sequence.
2812         See comments here about how it would be nice to have low-level access to the HTTP response.
2813         (-[WebBaseNetscapePluginStream _destroyStream]): cleanup.
2814         * Plugins/WebBaseNetscapePluginView.mm:
2815         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
2816         Conform to new startStream params.  Not applicable here, pass nil.
2817
2818 2007-04-12  Brady Eidson  <beidson@apple.com>
2819
2820         Build fix for case sensitive file systems
2821
2822         * Misc/WebNSPasteboardExtras.mm:
2823         * WebCoreSupport/WebPasteboardHelper.mm:
2824
2825 2007-04-11  John Sullivan  <sullivan@apple.com>
2826
2827         Reviewed by Anders
2828
2829         - WebKit part of fix for:
2830         <rdar://problem/5128697> REGRESSION: At least one PDF context menu item isn't appearing on Leopard
2831
2832         * Misc/WebNSArrayExtras.h: Added.
2833         * Misc/WebNSArrayExtras.m: Added.
2834         (-[NSMutableArray _webkit_removeUselessMenuItemSeparators]):
2835         New file, includes this method to strip leading, trailing, and duplicate separators from arrays
2836         of NSMenuItems (copied from Safari)
2837
2838         * WebView/WebUIDelegatePrivate.h:
2839         new MenuItemTag enum values for new PDFKit context menu items
2840
2841         * WebKit.xcodeproj/project.pbxproj:
2842         updated for new files
2843
2844         * WebView/WebPDFView.mm:
2845         (-[WebPDFView _anyPDFTagsFoundInMenu:]):
2846         check for new PDFKit context menu items
2847         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
2848         associate new PDFKit context menu item selectors with the new tags; skip certain selectors that
2849         correspond to menu items that WebKit already includes; remove useless menu item separators when
2850         we're done, since we might have removed arbitrarily-placed menu items
2851
2852 2007-04-11  Oliver Hunt  <oliver@apple.com>
2853
2854         Reviewed by Maciej.
2855
2856         Adding RetainPtr to the many global obj-c pointers we use in
2857         C/C++ methods.  This is necessary to prevent GC from collecting
2858         globals we want to keep around.
2859
2860         We use RetainPtr in obj-c++ and c++ files, and CFRetain/Release in pure
2861         obj-c.
2862
2863         This fixes <rdar://problem/5058731> -- Crash in 
2864         WebCore::DragData::containsCompatibleContent due to early release 
2865         of types array
2866
2867         * Misc/WebLocalizableStrings.m:
2868         (WebLocalizedString):
2869         * Misc/WebNSPasteboardExtras.mm:
2870         (+[NSPasteboard _web_writableTypesForURL]):
2871         (_writableTypesForImageWithoutArchive):
2872         (_writableTypesForImageWithArchive):
2873         * Misc/WebNSURLExtras.m:
2874         (applyHostNameFunctionToMailToURLString):
2875         (applyHostNameFunctionToURLString):
2876         * Misc/WebStringTruncator.m:
2877         (defaultMenuFont):
2878         (fontFromNSFont):
2879         * WebCoreSupport/WebPasteboardHelper.mm:
2880         (WebPasteboardHelper::insertablePasteboardTypes):
2881
2882 2007-04-11  MorganL  <morganl.webkit@yahoo.com>
2883
2884         Reviewed by Maciej.
2885
2886         Add a Frame pointer to ChromeClient methods:
2887         http://bugs.webkit.org/show_bug.cgi?id=13127
2888
2889         * COM/ChromeClientWin.cpp:
2890         (ChromeClientWin::createWindow):
2891         (ChromeClientWin::createModalDialog):
2892         * COM/ChromeClientWin.h:
2893         * WebCoreSupport/WebChromeClient.h:
2894         * WebCoreSupport/WebChromeClient.mm:
2895         (WebChromeClient::createWindow):
2896         (WebChromeClient::createModalDialog):
2897
2898 2007-04-10  Brady Eidson  <beidson@apple.com>
2899
2900         Reviewed by Darin
2901
2902         <rdar://problem/4887095> - PageCache and PageState should be combined
2903
2904         WebKit side of the change to reflect the new object name of CachedPage and new Client method names
2905
2906         * History/WebHistoryItem.mm:
2907         (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
2908         (+[WebHistoryItem _releaseAllPendingPageCaches]):
2909         (-[WebWindowWatcher windowWillClose:]):
2910
2911         * WebCoreSupport/WebFrameLoaderClient.h:
2912         * WebCoreSupport/WebFrameLoaderClient.mm:
2913         (WebFrameLoaderClient::setDocumentViewFromCachedPage):
2914         (WebFrameLoaderClient::loadedFromCachedPage):
2915         (WebFrameLoaderClient::saveDocumentViewToCachedPage):
2916
2917 2007-04-09  Geoffrey Garen  <ggaren@apple.com>
2918
2919         Reviewed by Maciej Stachowiak.
2920         
2921         Support for fixing fast/forms/textarea-paste-newline.html.
2922         
2923         Added SPI for specifying whether a WebView should allow pasting through the 
2924         DOM API.
2925
2926         * ChangeLog:
2927         * WebKit.xcodeproj/project.pbxproj:
2928         * WebView/WebPreferenceKeysPrivate.h:
2929         * WebView/WebPreferences.m:
2930         (+[WebPreferences standardPreferences]):
2931         (-[WebPreferences isDOMPasteAllowed]):
2932         (-[WebPreferences setDOMPasteAllowed:]):
2933         * WebView/WebPreferencesPrivate.h:
2934         * WebView/WebView.mm:
2935         (-[WebView _updateWebCoreSettingsFromPreferences:]):
2936
2937 2007-04-09  Anders Carlsson  <andersca@apple.com>
2938
2939         Reviewed by John.
2940
2941         <rdar://problem/5081860>
2942         REGRESSION: Select All for standalone image has no visible effect but does change state
2943         
2944         <rdar://problem/5081840>
2945         REGRESSION: context menu in white space beyond standalone image is different after Select All
2946         
2947         Have validateUserInterface emulate the old behavior for full-frame images and plugins, which is:
2948         
2949         - For full-frame plugins, always return false.
2950         - For images, only return true if the selector is copy: and the image has finished loading.
2951         
2952         * WebView/WebHTMLView.mm:
2953         (-[WebHTMLView validateUserInterfaceItem:]):
2954
2955 2007-04-09  Anders Carlsson  <andersca@apple.com>
2956
2957         Reviewed by Darin.
2958
2959         <rdar://problem/5026893>
2960         REGRESSION: "Mail Contents of this Page" for standalone image in Safari results in a broken image in Mail
2961         
2962         * WebView/WebFrame.mm:
2963         (-[WebFrame DOMDocument]):
2964         We can't check for _isHTMLDocument here since image and plugin documents inherit from HTMLDocument. Instead,
2965         check for those two document types explicitly.
2966         
2967 2007-04-09  Anders Carlsson  <andersca@apple.com>
2968
2969         Reviewed by Geoff, Ada and John.
2970
2971         <rdar://problem/4600978> Would like a way to test whether a WebView is displaying a standalone image
2972
2973         * WebView/WebFrame.mm:
2974         (-[WebFrame _isDisplayingStandaloneImage]):
2975         * WebView/WebFramePrivate.h:
2976         Add _isDisplayingStandaloneImage SPI.
2977
2978 2007-04-06  Timothy Hatcher  <timothy@apple.com>
2979
2980         Reviewed by Mark Rowe.
2981
2982         Adds a build phase script that ensures WebKit's version dosen't end in a 4.
2983         If our version ends in 4, some sites might think we are Netscape 4 in their
2984         user agent checks.
2985
2986         * Configurations/Version.xcconfig:
2987         * WebKit.xcodeproj/project.pbxproj:
2988
2989 2007-04-05  Anders Carlsson  <andersca@apple.com>
2990
2991         Reviewed by Adam.
2992
2993         <rdar://problem/5083023>
2994         REGRESSION: In Real Player (10.1.0), video continues to play after closing window
2995         
2996         This broke in revision 18422 because now the plugin isn't stopped when the window is closed. Since the window is retained
2997         by the plugin view for as long as it is running (so that removeTrackingRect works even though the window has been closed),
2998         we would end up with a reference cycle (NSWindow -> WebView -> PluginView -> NSWindow) and stopping the plug-in when the window
2999         was closed would break that cycle.
3000         
3001         Applications that call -[WebView close] when closing aren't affected, but RealPlayer doesn't do this.
3002         
3003         The bug that 18422 was supposed to fix was fixed by 19275, which is why it's safe to add back the check.
3004         
3005         * Plugins/WebBaseNetscapePluginView.mm:
3006         (-[WebBaseNetscapePluginView addWindowObservers]):
3007         (-[WebBaseNetscapePluginView removeWindowObservers]):
3008         (-[WebBaseNetscapePluginView windowWillClose:]):
3009
3010 2007-04-05  Kevin McCullough  <kmccullough@apple.com>
3011
3012         Reviewed by Darin.
3013
3014         - Moved registerURLSchemeAsLocal to the public API.
3015
3016         * WebView/WebView.h:
3017         * WebView/WebView.mm:
3018         (+[WebView registerURLSchemeAsLocal:]):
3019         * WebView/WebViewPrivate.h:
3020
3021 === Safari-5522.6 ===
3022
3023 2007-04-04  Anders Carlsson  <andersca@apple.com>
3024
3025         Reviewed by John.
3026
3027         <rdar://problem/5107536> 
3028         http://bugs.webkit.org/show_bug.cgi?id=13264
3029         REGRESSION: Crash when canceling about:blank in Activity viewer
3030         
3031         * WebView/WebFrame.mm:
3032         (-[WebFrame stopLoading]):
3033         Add a null check for the frame loader - it can be null when the frame has been disconnected
3034         from the web page.
3035
3036 2007-04-03  Anders Carlsson  <andersca@apple.com>
3037
3038         Reviewed by Darin.
3039
3040         <rdar://problem/5028178>
3041         Crash occurs at WebCore::FrameLoader::activeDocumentLoader() after loading Froggster widget
3042         
3043         * Plugins/WebNetscapePluginStream.mm:
3044         (-[WebNetscapePluginStream start]):
3045         If load returns no the plugin loader has already been removed by the didFail callback.
3046
3047 2007-04-02  Anders Carlsson  <andersca@apple.com>
3048
3049         Reviewed by Geoff.
3050
3051         Fix crash when running plugins/destroy-stream-twice.html under GuardMalloc
3052
3053         * Plugins/WebBaseNetscapePluginStream.h:
3054         * Plugins/WebBaseNetscapePluginStream.mm:
3055         (+[WebBaseNetscapePluginStream ownerForStream:]):
3056         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
3057         (-[WebBaseNetscapePluginStream dealloc]):
3058         (-[WebBaseNetscapePluginStream finalize]):
3059         Change the streams hash map to contain an NPStream*, and change ownerForStream to take an NPStream*.
3060         
3061         * Plugins/WebBaseNetscapePluginView.mm:
3062         (-[WebBaseNetscapePluginView destroyStream:reason:]):
3063         Check that the NPStream pointer is valid before accessing stream->ndata.
3064
3065 2007-04-02  Darin Adler  <darin@apple.com>
3066
3067         Reviewed by Geoff.
3068
3069         - fix http://bugs.webkit.org/show_bug.cgi?id=13026
3070           <rdar://problem/5061026> incomplete render of menu
3071           (assertion failing in -[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:])
3072
3073         - fix http://bugs.webkit.org/show_bug.cgi?id=13120
3074           <rdar://problem/5080339> Plug-ins that draw through the QuickDraw interface may crash
3075           by hanging onto old GWorlds.
3076
3077         - set clip path for CoreGraphics plug-ins in the same way we do for QuickDraw plug-ins
3078           this is a better fix for <rdar://problem/4939511> WebKit should set the the CG clip
3079           path for plug-ins that draw using Core Graphics
3080
3081         Incorporates changes from a patch by Mark Ambachtsheer.
3082
3083         Here are the changes:
3084
3085             1) Don't try to use the offscreen code path if GGBitmapContextGetData returns 0.
3086             2) Handle kCGBitmapByteOrderDefault when computing the QD pixel format, even though
3087                we don't have any evidence that this happens in practice.
3088             3) Keep the GWorld around until we create a new one or the plug-in is destroyed.
3089             4) Use the GWorld pointer itself as a flag to indicate whether we are using an
3090                offscreen GWorld.
3091             5) Set up clipping for CoreGraphics in the same way we do for QuickDraw; remove an
3092                earlier attempt that handled CoreGraphics differently.
3093
3094         * Plugins/WebBaseNetscapePluginView.h: Added a field named offscreenGWorld to hold
3095         the GWorld until it's needed.
3096         * Plugins/WebBaseNetscapePluginView.mm:
3097         (getQDPixelFormatForBitmapContext): Replaced QDPixelFormatFromCGBitmapInfo. Used the
3098         "get" prefix so we don't intrude on the QD namespace. Added code to handle the
3099         kCGBitmapByteOrderDefault case, although I'm not sure it will really come up in
3100         practice -- it wasn't really coming up in the buggy case.
3101         (getNPRect): Added helper functions. Used to make the code below clearer.
3102         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Use getNPRect to
3103         streamline code. Use GetGWorld to save the port since we use SetGWorld to restore
3104         it later. Store the GWorld we create in the offscreenGWorld field and dispose the
3105         existing one. Don't treat the CGBitmapContext as an offscreen bitmap if it
3106         has a data pointer of 0. Set up the clip based on the result of
3107         -[NSView getRectsBeingDrawn:count] when setting up the port for CoreGraphics
3108         (after saving the port state).
3109         (-[WebBaseNetscapePluginView restorePortState:]): Remove now-unneeded code to
3110         destroy the offscreen GWorld, and simplified the code that restores the port so we
3111         don't need a separate case for offscreen.
3112         (-[WebBaseNetscapePluginView fini]): Renamed from freeAttributeKeysAndValues, since
3113         this method now does more than just the attributes. This is the shared method that
3114         does things needed in both dealloc and finalize. Added a call to DisposeGWorld here.
3115         (-[WebBaseNetscapePluginView dealloc]): Updated for name change.
3116         (-[WebBaseNetscapePluginView finalize]): Ditto.
3117         (-[WebBaseNetscapePluginView drawRect:]): Removed code to set clip. This is done in
3118         the saveAndSetNewPortStateForUpdate: method instead.
3119
3120 2007-03-30  Adele Peterson  <adele@apple.com>
3121
3122         Reviewed by Darin.
3123
3124         Call execCommand for deleteWordForward and deleteWordBackward instead of calling
3125         deleteWithDirection directly.
3126
3127         * WebView/WebHTMLView.mm:
3128         (-[WebHTMLView deleteWordForward:]):
3129         (-[WebHTMLView deleteWordBackward:]):
3130
3131 2007-03-30  Anders Carlsson  <andersca@apple.com>
3132
3133         Reviewed by Geoff.
3134
3135         * Plugins/WebNetscapePluginPackage.m:
3136         (-[WebNetscapePluginPackage load]):
3137         Initialize pushpopupsenabledstate, poppopupsenabledstate and enumerate.
3138         
3139         * Plugins/npapi.m:
3140         (NPN_PushPopupsEnabledState):
3141         (NPN_PopPopupsEnabledState):
3142         Add stubs for these functions.
3143         
3144         * Plugins/npfunctions.h:
3145         Add new methods to NPNetscapeFuncs.
3146
3147 2007-03-29  Geoffrey Garen  <ggaren@apple.com>
3148
3149         Reviewed by Beth Dakin, reviewed by Maciej Stachowiak.
3150         
3151         Layout test for <rdar://problem/5091330> REGRESSION: Repro crash in 
3152         -[WebBaseNetscapePluginView(WebNPPCallbacks) destroyStream:reason:] 
3153         navigating away from page with DivX movie plug-in (13203)
3154         
3155         Changed LOG_ERROR to LOG so the layout test doesn't produce console spew
3156         every time you run it.
3157
3158         * Plugins/WebBaseNetscapePluginView.mm:
3159         (-[WebBaseNetscapePluginView destroyStream:reason:]):
3160
3161 2007-03-29  Beth Dakin  <bdakin@apple.com>
3162
3163         Reviewed by Brady.
3164
3165         Fix for <rdar://problem/4674537> REGRESSION: Adobe Acrobat 8 - Text 
3166         blinks when mouse is moved, and is invisible otherwise
3167
3168         -and-
3169
3170         <rdar://problem/4992521> Please adjust WebKit's Acrobat-workaround 
3171         methodology
3172
3173         The fix for the first bug is to compare against the bundle 
3174         identifiers for Adobe Reader and the non-Pro Adobe Acrobat in 
3175         addition to Adobe Acrobat Pro. The fix for the second bug is to 
3176         check the version number of Acrobat/Reader through 
3177         WebKitSystemInterface instead of checking which version of WebKit 
3178         it has been linked against.
3179
3180         * English.lproj/StringsNotToBeLocalized.txt: Two new bundle 
3181         identifiers.
3182         * Misc/WebKitVersionChecks.h: Remove Acrobat quirk constant.
3183         * WebView/WebView.mm:
3184         (-[WebView _updateWebCoreSettingsFromPreferences:]):
3185
3186 2007-03-29  Geoffrey Garen  <ggaren@apple.com>
3187
3188         Rubber stamped by Beth Dakin.
3189         
3190         WebBaseNetscapePluginStream.m => WebBaseNetscapePluginStream.mm, since
3191         it's ObjC++ now.
3192
3193         * Plugins/WebBaseNetscapePluginStream.m: Removed.
3194         * WebKit.xcodeproj/project.pbxproj:
3195
3196 2007-03-27  Geoffrey Garen  <ggaren@apple.com>
3197
3198         Reluctantly tolerated by Darin Adler.
3199         
3200         Fixed <rdar://problem/5091330> REGRESSION: Repro crash in 
3201         -[WebBaseNetscapePluginView(WebNPPCallbacks) destroyStream:reason:] 
3202         navigating away from page with DivX movie plug-in (13203)
3203         
3204         The problem was that the DivX plug-in would ask us to destroy an NPStream
3205         that had already been destroyed, causing us to wander off into freed
3206         memory. (I believe the reason this was a regression was that we never used 
3207         to destroy plug-in streams, period.)
3208         
3209         The solution here is to track the NPStreams belonging to a plug-in, and 
3210         guard against plug-ins making calls with NPStreams that don't belong to 
3211         them. (It turns out that NPN_DestroyStream is the only stream-based 
3212         plug-in call we support.)
3213
3214         (CarbonPathFromPOSIXPath): Fixed up a cast to be C++ compatible.
3215         * Plugins/WebBaseNetscapePluginView.mm:
3216         (-[WebBaseNetscapePluginView destroyStream:reason:]): The actual fix.
3217         Use helper method to guard against a plug-in using an NPStream that doesn't
3218         belong to it.
3219         * WebKit.xcodeproj/project.pbxproj: Made WebBaseNetscapePluginView ObjC++
3220         so I could use HashMap.
3221
3222 2007-03-28  Adele Peterson  <adele@apple.com>
3223
3224         Reviewed by Brady.
3225
3226         Update to last fix.
3227
3228         * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITHOUT_VITALSOURCE_QUIRK.
3229         * WebView/WebView.mm: (-[WebView stringByEvaluatingJavaScriptFromString:]):
3230         Added check to only use the VitalSource workaround if the app is not linked on or after
3231         the defined WEBKIT_FIRST_VERSION_WITHOUT_VITALSOURCE_QUIRK version number.
3232
3233 2007-03-28  Adele Peterson  <adele@apple.com>
3234
3235         Reviewed by Kevin M.
3236
3237         WebKit part of fix for <rdar://problem/5095515> VitalSource Bookshelf should not pass return statements into stringByEvaluatingJavaScriptFromString
3238
3239         Added an app specific workaround for VitalSource Bookshelf that strips "return" from the beginning of their script strings.  We used to allow this
3240         but now we throw a JavaScript exception for return statements that aren't in functions.
3241
3242         Filed this evangelism bug so we can notify VitalSource of the problem:
3243         <rdar://problem/5095515> VitalSource Bookshelf should not pass return statements into stringByEvaluatingJavaScriptFromString
3244
3245         * WebView/WebView.mm: (-[WebView stringByEvaluatingJavaScriptFromString:]):
3246
3247 2007-03-27  John Sullivan  <sullivan@apple.com>
3248
3249         Reviewed by Tim
3250         
3251         - fixed <rdar://problem/5092556> Default UA spoofing is always off until explicitly toggled
3252
3253         * WebView/WebView.mm:
3254         (-[WebView _commonInitializationWithFrameName:groupName:]):
3255         initialize the cached value of _private->useSiteSpecificSpoofing here; formerly it would not
3256         be initialized correctly in the common case of WebViews that use [WebPreferences standardPreferences]
3257
3258 2007-03-27  Mark Rowe  <mrowe@apple.com>
3259
3260         Reviewed by Dave Harrison.
3261
3262         * Configurations/WebKit.xcconfig: Include UMBRELLA_FRAMEWORKS_DIR in framework search path.
3263
3264 2007-03-26  Antti Koivisto  <antti@apple.com>
3265
3266         Reviewed by Darin.
3267         
3268         On Mac, support fine grained wheel events generated by trackpad and Mighty Mouse.
3269         http://bugs.webkit.org/show_bug.cgi?id=13134
3270         <rdar://problem/5076249>
3271
3272         * WebCoreSupport/WebSystemInterface.m:
3273         (InitWebCoreSystemInterface): Expose GetWheelEventDeltas()
3274
3275 2007-03-26  John Sullivan  <sullivan@apple.com>
3276
3277         Reviewed by Dave Harrison
3278         
3279         - fixed <rdar://problem/4769772> Problem with Find on certain PDF page
3280
3281         * WebView/WebPDFView.mm:
3282         (-[WebPDFView _scaledAttributedString:]):
3283         We were hitting an exception trying to set the font attribute to nil, which was happening because
3284         the result of -[PDFSelection attributedString] had no attributes. That PDFSelection bug is now
3285         filed separately, but this works around the exception.
3286
3287 2007-03-24  David Hyatt  <hyatt@apple.com>
3288
3289         Amend the statistics reporting for the WebCore cache to include XSL and to report live/decoded sizes.
3290
3291         * Misc/WebCache.mm:
3292         (+[WebCache statistics]):
3293
3294 2007-03-24  Brady Eidson  <beidson@apple.com>
3295
3296         Reviewed by Adam
3297
3298         RetainPtr is no longer in the WebCore namespace
3299
3300         * History/WebBackForwardList.mm:
3301         * WebCoreSupport/WebEditorClient.h:
3302         * WebCoreSupport/WebFrameLoaderClient.h:
3303         * WebView/WebDocumentLoaderMac.h:
3304
3305 2007-03-24  Brady Eidson  <beidson@apple.com>
3306
3307         Reviewed by Adam
3308
3309         <rdar://problem/5086210> - Move RetainPtr to WTF
3310         
3311         * ForwardingHeaders/wtf/RetainPtr.h: Added.
3312         * History/WebBackForwardList.mm: Changed #import to <wtf/RetainPtr.h>
3313         * WebCoreSupport/WebEditorClient.h: Ditto
3314         * WebCoreSupport/WebFrameLoaderClient.h: Ditto
3315         * WebView/WebDocumentLoaderMac.h: Ditto
3316
3317 2007-03-24  John Sullivan  <sullivan@apple.com>
3318
3319         Reviewed by Adele
3320
3321         - fixed <rdar://problem/5084872> Need to add flickr to spoof list in WebKit
3322         - only do site-specific spoofing if a preference is set
3323
3324         * WebView/WebPreferenceKeysPrivate.h:
3325         added WebKitUseSiteSpecificSpoofingPreferenceKey 
3326         
3327         * WebView/WebPreferences.m:
3328         (+[WebPreferences initialize]):
3329         initialize WebKitUseSiteSpecificSpoofingPreferenceKey to false
3330         (-[WebPreferences _useSiteSpecificSpoofing]):
3331         get value of WebKitUseSiteSpecificSpoofingPreferenceKey
3332         (-[WebPreferences _setUseSiteSpecificSpoofing:]):
3333         set value of WebKitUseSiteSpecificSpoofingPreferenceKey
3334         
3335         * WebView/WebPreferencesPrivate.h:
3336         declare _useSiteSpecificSpoofing and _setUseSiteSpecificSpoofing
3337         
3338         * WebView/WebView.mm:
3339         cache the value of WebKitUseSiteSpecificSpoofingPreferenceKey in a bool in _private
3340         (-[WebView _preferencesChangedNotification:]):
3341         update the cached value
3342         (-[WebView setPreferences:]):
3343         ditto
3344         (-[WebView WebCore::_userAgentForURL:WebCore::]):
3345         Only spoof here if the new site-specific spoofing preference is enabled. If it is, pass
3346         Safari 2.0.4's user agent string for flickr.com. We can remove this case when 5081617 is addressed.
3347
3348 2007-03-24  Mark Rowe  <mrowe@apple.com>
3349
3350         Rubber-stamped by Darin.
3351
3352         * Configurations/WebKit.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
3353
3354 2007-03-23  Mark Rowe  <mrowe@apple.com>
3355
3356         Build fix for when BUILDING_ON_TIGER is not defined.
3357
3358         * Misc/WebTypesInternal.h:
3359         * WebView/WebHTMLView.mm:
3360
3361 2007-03-22  David Kilzer  <ddkilzer@apple.com>
3362
3363         Reviewed by Darin.
3364
3365         Use BUILDING_ON_TIGER from WebKitPrefix.h instead of local
3366         MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4 tests.
3367
3368         * Misc/WebTypesInternal.h:
3369         * WebView/WebHTMLView.mm:
3370
3371 2007-03-22  Darin Adler  <darin@apple.com>
3372
3373         Reviewed by Adele.
3374
3375         - fix <rdar://problem/5074630> detachChildren call should move from WebKit to WebCore
3376
3377         * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::prepareForDataSourceReplacement):
3378         Remove call to detachChildren. This should be a WebCore responsibility.
3379
3380 2007-03-19  Anders Carlsson  <acarlsson@apple.com>
3381
3382         Reviewed by Dave Hyatt.
3383
3384         <rdar://problem/5067983>
3385         iSale: Crash occurs at WebFrameLoaderClient::dispatchDecidePolicyForMIMEType() when attempting to load a HTML template
3386         
3387         Restore old behavior (broke in r14533) where the resource load and download delegates are retained for as long as the 
3388         data source is loading.
3389         
3390         * WebCoreSupport/WebFrameLoaderClient.mm:
3391         (WebFrameLoaderClient::createDocumentLoader):
3392         * WebView/WebDocumentLoaderMac.h:
3393         * WebView/WebDocumentLoaderMac.mm:
3394         (WebDocumentLoaderMac::setDataSource):
3395         (WebDocumentLoaderMac::decreaseLoadCount):
3396
3397 2007-03-19  Geoffrey Garen  <ggaren@apple.com>
3398
3399         Speculative fix for why ASSERT_MAIN_THREAD didn't work for me. (The
3400         documentation says "non-zero," not "1."
3401
3402         * Misc/WebKitLogging.m:
3403         (WebKitRunningOnMainThread):
3404
3405 2007-03-19  Andrew Wellington  <proton@wiretapped.net>
3406
3407         Reviewed by Maciej.
3408
3409         Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
3410
3411         * WebKit.xcodeproj/project.pbxproj:
3412
3413 2007-03-19  Darin Adler  <darin@apple.com>
3414
3415         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
3416
3417 2007-03-19  John Sullivan  <sullivan@apple.com>
3418
3419         Reviewed by Justin
3420         
3421         - fixed <rdar://problem/5071238> REGRESSION: opt-cmd-B to show Bookmarks view does 
3422         nothing when form field has focus
3423
3424         * WebView/WebHTMLView.mm:
3425         (-[WebHTMLView _handleStyleKeyEquivalent:]):
3426         we were counting any set of modifiers plus 'b' as the standard key equivalent for
3427         toggling Bold; now we only accept command+'b'
3428
3429 2007-03-19  Adam Roben  <aroben@apple.com>
3430
3431         Reviewed by Hyatt and Maciej.
3432
3433         Updated WebCoreStatistics for the conversion of WebCoreJavaScript to
3434         C++.
3435
3436         * Misc/WebCoreStatistics.mm:
3437         (+[WebCoreStatistics javaScriptObjectsCount]):
3438         (+[WebCoreStatistics javaScriptInterpretersCount]):
3439         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
3440         (+[WebCoreStatistics javaScriptRootObjectTypeCounts]): Moved
3441         conversion to NSCountedSet here from WebCore.
3442         (+[WebCoreStatistics garbageCollectJavaScriptObjects]):
3443         (+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThread:]):
3444         (+[WebCoreStatistics shouldPrintExceptions]):
3445         (+[WebCoreStatistics setShouldPrintExceptions:]):
3446         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
3447         (+[WebCoreStatistics javaScriptRootObjectClasses]):
3448
3449 2007-03-18  Andrew Wellington  <proton@wiretapped.net>
3450
3451         Reviewed by Mark Rowe
3452         
3453         Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
3454
3455         * WebKit.xcodeproj/project.pbxproj:
3456
3457 2007-03-19  Mark Rowe  <mrowe@apple.com>
3458
3459         Rubber-stamped by Brady.
3460
3461         Update references to bugzilla.opendarwin.org with bugs.webkit.org.
3462
3463         * WebInspector/webInspector/inspector.css:
3464         * WebView/WebHTMLView.mm:
3465         (-[WebHTMLView firstRectForCharacterRange:]):
3466         * WebView/WebView.mm:
3467         (-[WebView initWithFrame:frameName:groupName:]):
3468
3469 2007-03-18  David Hyatt  <hyatt@apple.com>
3470
3471         Move frame borders out of WebKit and into WebCore.
3472
3473         Reviewed by aroben, olliej
3474
3475         * WebCoreSupport/WebFrameBridge.mm:
3476         * WebKit.xcodeproj/project.pbxproj:
3477         * WebView/WebFrameView.mm:
3478         (-[WebFrameView drawRect:]):
3479         (-[WebFrameView setFrameSize:]):
3480         * WebView/WebFrameViewInternal.h:
3481
3482 2007-03-17  John Sullivan  <sullivan@apple.com>
3483
3484         Reviewed by Tim Hatcher
3485         
3486         Discovered while working on <rdar://problem/5070334> that many WebView calls will crash if called
3487         after -[WebView close] has executed because _private->page is deferenced after it's been set to 0. 
3488         It might be silly/wrong to call these methods after -close, but obviously it shouldn't crash. Made
3489         each use of _private->page robust against nil-dereferencing.
3490
3491         * WebView/WebView.mm:
3492         (-[WebView _loadBackForwardListFromOtherView:]):
3493         (-[WebView _updateWebCoreSettingsFromPreferences:]):
3494         (-[WebView _setDashboardBehavior:to:]):
3495         (-[WebView _dashboardBehavior:]):
3496         (-[WebView goBack]):
3497         (-[WebView goForward]):
3498         (-[WebView goToBackForwardItem:]):
3499         (-[WebView canGoBack]):
3500         (-[WebView canGoForward]):
3501         (-[WebView setTabKeyCyclesThroughElements:]):
3502         (-[WebView tabKeyCyclesThroughElements]):
3503         (-[WebView setEditable:]):
3504
3505 2007-03-17  Timothy Hatcher  <timothy@apple.com>
3506
3507         Reviewed by Mark Rowe.
3508
3509         Made Version.xcconfig smarter when building for different configurations.
3510         Now uses the 522+ OpenSource version for Debug and Release, while using the
3511         full 522.4 version for Production builds. The system prefix is also computed
3512         based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.
3513
3514         * Configurations/Version.xcconfig:
3515         * Configurations/WebKit.xcconfig:
3516
3517 2007-03-16  Oliver Hunt  <oliver@apple.com>
3518
3519         Reviewed by Hyatt.
3520
3521         The old canSaveAsWebArchive call was necessary as stand alone
3522         images used to be rendered by ImageDocument.
3523
3524         Fixes rdar://problem/5061252
3525
3526         * WebCoreSupport/WebDragClient.h:
3527         * WebCoreSupport/WebDragClient.mm:
3528         (WebDragClient::declareAndWriteDragImage):
3529         * WebKit.xcodeproj/project.pbxproj:
3530
3531 2007-03-15  Brady Eidson  <beidson@apple.com>
3532
3533         Reviewed by Maciej
3534
3535         <rdar://problem/4429701>
3536         Implements a port blocking black list that matches Firefox's
3537
3538         * English.lproj/Localizable.strings: Added localizable string for port blocked error code
3539
3540         * Misc/WebKitErrors.h:
3541         * Misc/WebKitErrors.m:
3542         (registerErrors): Add new port blocked error code to WebKitErrorDomain
3543