20190b2fd7de4d0b43bb97f3e11903119fb8b1fc
[WebKit-https.git] / WebKit / ChangeLog
1 2007-08-29  Darin Adler  <darin@apple.com>
2
3         Reviewed by Tim Hatcher.
4
5         - fix <rdar://problem/4582212> WebKit inappropriately adds +initialize to
6           NSPasteboard via a category, prevents AppKit initialize
7           http://bugs.webkit.org/show_bug.cgi?id=9417
8
9         * Misc/WebNSPasteboardExtras.h: Got rid of the global data objects and replaced
10         them with global functions.
11
12         * Misc/WebNSPasteboardExtras.mm:
13         (initializePasteboardTypes): Changed the initialize method to be this function.
14         (WebURLPasteboardType): Added, calls the initialize function and then returns
15         the value of the global.
16         (WebURLNamePasteboardType): Ditto.
17         (+[NSPasteboard _web_writableTypesForURL]): Changed to call the new function instead
18         of getting at the global directly.
19         (+[NSPasteboard _web_dragTypesForURL]): Ditto.
20         (-[NSPasteboard _web_writeURL:andTitle:types:]): Ditto.
21         * WebCoreSupport/WebPasteboardHelper.mm:
22         (WebPasteboardHelper::urlFromPasteboard): Ditto.
23         * WebView/WebHTMLView.mm:
24         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto.
25
26         * WebView/WebView.mm:
27         (+[WebView initialize]): Added a call to one of the functions to take advantage
28         of the side effect that initializes the globals; this is to help out old versions
29         of Safari.
30         (+[WebView URLTitleFromPasteboard:]): Changed to call the new function instead
31         of getting at the global directly.
32
33         * WebKit.exp: Add exports of the new functions.
34
35 2007-08-29  Adele Peterson  <adele@apple.com>
36
37         Reviewed by Darin.
38
39         Fix for http://bugs.webkit.org/show_bug.cgi?id=15098
40         <rdar://problem/5440319> REGRESSION (9A530-9A534): Double scroll bar on pdfs
41
42         * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::makeDocumentView):
43          Don't suppress scrollbars before the view creation if we're making the view for a non-html view
44
45         * WebView/WebFrameViewInternal.h: Make _scrollView return a WebDynamicScrollBarsView since so many clients were relying on it being that type anyway.
46         * WebView/WebFrameView.mm:
47         (-[WebFrameView _setDocumentView:]):
48         (-[WebFrameView _scrollView]):
49         (-[WebFrameView setAllowsScrolling:]):
50         (-[WebFrameView allowsScrolling]):
51         * WebView/WebView.mm:
52         (-[WebView setAlwaysShowVerticalScroller:]):
53         (-[WebView alwaysShowVerticalScroller]):
54         (-[WebView setAlwaysShowHorizontalScroller:]):
55         (-[WebView alwaysShowHorizontalScroller]):
56
57 2007-08-29  David Hyatt  <hyatt@apple.com>
58
59         The method that was swizzled to fix 5441281 does not exist on Tiger.
60         Tiger has to do a double swizzle instead (of resetCursorRects and NSCursor's
61         set method) in order to roughly achieve the same effect.
62
63         Reviewed by darin
64
65         * WebView/WebHTMLView.mm:
66         (resetCursorRects):
67         (setCursor):
68         (+[WebHTMLViewPrivate initialize]):
69
70 2007-08-29  Anders Carlsson  <andersca@apple.com>
71
72         Fix 64-bit build.
73         
74         * WebCoreSupport/WebFrameBridge.mm:
75
76 2007-08-29  David Hyatt  <hyatt@apple.com>
77
78         Fix for 5441281, remove our dependency on cursor rects and drag margins
79         in AppKit for a large performance boost on the PLT and iBench.
80
81         Reviewed by darin
82
83         * Plugins/WebBaseNetscapePluginView.h:
84         * Plugins/WebBaseNetscapePluginView.mm:
85         (-[WebBaseNetscapePluginView sendNullEvent]):
86         (-[WebBaseNetscapePluginView mouseEntered:]):
87         (-[WebBaseNetscapePluginView mouseExited:]):
88         (-[WebBaseNetscapePluginView stop]):
89         Clean up cursor setting from Netscape plugins.  Don't unconditionally mutate
90         the cursor when a plugin stops.
91
92         * WebView/WebFrameView.mm:
93         (-[WebFrameView _setDocumentView:]):
94         Suppress the resetting of drag margins while the new document view is being
95         added to the view hierarchy.
96
97         * WebView/WebHTMLView.mm:
98         (-[NSWindow _web_borderView]):
99         Expose the border view of the NSWindow so that it can be hit tested.
100
101         (setCursorForMouseLocation):
102         Apply a method swizzle to override the private AppKit method, _setCursorForMouseLocation.
103         We have to do this to suppress the cursor rect invalidation handling from resetting
104         the cursor for no reason.
105
106         The swizzle will do a hit test and allow the cursor set to occur if the mouse ends up
107         being over a plugin or over a view other than a WebHTMLView.
108
109         (+[WebHTMLViewPrivate initialize]):
110         The swizzle for setCursorForMouseLocation is set up here.
111
112         (-[WebHTMLView _frameOrBoundsChanged]):
113         Add a 100ms delay to the fake mouse moved event that fires when the view moves
114         under the mouse (without the mouse moving).  This happens on iBench when the
115         pages get scrolled.  By adding a delay we ensure that even with the mouse inside
116         the window, we don't experience cursor thrashing when pages are updating and
117         scrolling rapidly.
118
119 2007-08-28  Anders Carlsson  <andersca@apple.com>
120
121         Reviewed by Darin.
122
123         <rdar://problem/5424866> Bottom portion of any Web Clip widget appears transparent
124         
125         * WebCoreSupport/WebFrameBridge.mm:
126         Use the enum from FrameLoaderTypes.h.
127         
128         * WebCoreSupport/WebFrameLoaderClient.mm:
129         (WebFrameLoaderClient::objectContentType):
130         Return ObjectContentNetscapePlugin and ObjectContentOtherPlugin depending on the plug-in type.
131
132 2007-08-28  Mark Rowe  <mrowe@apple.com>
133
134         Reviewed by Maciej Stachowiak.
135
136         Fix fallout from the fix for <rdar://problem/5437983> (Loading history containing 100,000 entries adds 20s to Safari's startup)
137         in r25275.  The array of entries for each day was being maintained in the reverse of the order that was expected.
138
139         * History/WebHistory.mm:
140         (-[WebHistoryPrivate insertItem:forDateKey:]): Maintain the array of entries in descending order.
141
142 2007-08-28  Mark Rowe  <mrowe@apple.com>
143
144         Fix the buildbot build.
145
146         * History/WebHistory.mm:
147         (timeIntervalForBeginningOfDay):  Explicitly cast to silence compiler warning.
148
149 2007-08-28  Mark Rowe  <mrowe@apple.com>
150
151         Reviewed by Darin Adler.
152
153         <rdar://problem/5437983> Loading history containing 100,000 entries adds 20s to Safari's startup
154
155         Move WebHistoryItemPrivate from using a sorted array of NSCalendarDate's that map to a sorted array of arrays
156         of WebHistoryItem's over to using a HashMap of NSTimeIntervals and arrays of WebHistoryItems.  NSTimeInterval
157         uses less memory and is substantially cheaper during comparisons than NSCalendarDate.  The use of the HashMap
158         avoids the needs to repeatedly search within an array to locate the array that corresponds to the given days
159         history items.
160
161         The result of these changes is that loading 100,000 history items drops from around 25s to 1.6s.  Loading
162         100 items drops from 0.003s to 0.002s.
163
164         * History/WebHistory.mm:
165         (-[WebHistoryPrivate init]):
166         (-[WebHistoryPrivate dealloc]):
167         (timeIntervalForBeginningOfDay): Return the NSTimeInterval representing the beginning of the specified day.
168         (-[WebHistoryPrivate findKey:forDay:]):
169         (-[WebHistoryPrivate insertItem:forDateKey:]): Perform a binary search within the day's history items rather than a linear search.
170         (-[WebHistoryPrivate _removeItemFromDateCaches:]):
171         (-[WebHistoryPrivate _addItemToDateCaches:]):
172         (-[WebHistoryPrivate removeAllItems]):
173         (-[WebHistoryPrivate orderedLastVisitedDays]): Generate and cache the sorted NSArray of NSCalendarDate's exposed in the API.
174         This cache is invalidated by _removeItemFromDateCaches: and _addItemToDateCaches: when needed.
175         (-[WebHistoryPrivate orderedItemsLastVisitedOnDay:]):
176         (-[WebHistoryPrivate arrayRepresentation]):
177         (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]): Use an autorelease pool to keep the
178         number of live autoreleased objects generated to a reasonable level.
179         * History/WebHistoryItem.mm:
180         (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]):
181         (-[WebHistoryItem initFromDictionaryRepresentation:]): Use the new HistoryItem constructor that accepts the alternate title
182         rather than setting it after construction.  This prevents a modification notification from being sent for each WebHistoryItem that is loaded.
183         * History/WebHistoryItemInternal.h:
184         * History/WebHistoryPrivate.h:
185         * Misc/WebNSCalendarDateExtras.h: Removed as _webkit_compareDay: is no longer used.
186         * Misc/WebNSCalendarDateExtras.m: Removed.
187         * WebKit.xcodeproj/project.pbxproj:
188
189 2007-08-28  Anders Carlsson  <andersca@apple.com>
190
191         Reviewed by Darin.
192
193         <rdar://problem/5298296> XMLHttpRequest readyState 3 & responseText buffer issues
194         
195         Expose WKSetNSURLRequestShouldContentSniff to WebCore.
196         
197         * WebCoreSupport/WebSystemInterface.m:
198         (InitWebCoreSystemInterface):
199
200 2007-08-24  Kevin McCullough  <kmccullough@apple.com>
201
202         Reviewed by Darin.
203
204         <rdar://problem/5437038> 1 credential object leaked for each call to credentialWithUser:password:persistence
205         - Use initWithUser instead of credentialWithUser because credentialWithUser leaks.
206
207         * Panels/WebAuthenticationPanel.m:
208         (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
209         (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
210
211 2007-08-24  Adele Peterson  <adele@apple.com>
212
213         Fix by Darin, reviewed by Adele.
214
215         Fix for <rdar://problem/5433422> Upon quitting, WebKit loads the WebPlugin shared database and immediately closes it
216
217         * Plugins/WebPluginDatabase.h: Added closeSharedDatabase, which won't create a new database if we're just trying to close it.
218         * Plugins/WebPluginDatabase.m: (+[WebPluginDatabase closeSharedDatabase]): Added.
219         * WebView/WebView.mm:
220         (-[WebView _close]): Call closeSharedDatabase.
221         (+[WebView _applicationWillTerminate]): Call closeSharedDatabase.
222
223 2007-08-24  Timothy Hatcher  <timothy@apple.com>
224
225         Reviewed by John Sullivan.
226
227         <rdar://problem/5410937> HIWebView in SimpleCarbonWeb doesn't seem to be getting adequate invalidation when window is resized
228
229         This is a more localized fix for yesterday's change. Now explicitly call _web_layoutIfNeededRecursive inside the
230         HIWebView Draw() function. Adds a FIXME to explain that we need to do layout before Carbon has decided what regions to draw.
231         Doing layout in Draw() will potentially cause drawing to happen in two passes, but this has always been a problem in Carbon.
232
233         * Carbon/HIWebView.m:
234         (Draw): Call _web_layoutIfNeededRecursive on the main WebHTMLView.
235         (SetFocusPart): Fix to work in ObjC++ (now that HIWebView.m is treated as a ObjC++ file.)
236         * WebView/WebView.mm: Removes the 4 displayIfNeeded methods from yesterday's change.
237         * WebKit.xcodeproj/project.pbxproj: Force the file type of HIWebView.m to ObjC++ so WebHTMLViewInternal.h can be included.
238
239 2007-08-23  Timothy Hatcher  <timothy@apple.com>
240
241         Reviewed by Dave Hyatt.
242
243         <rdar://problem/5410937> HIWebView in SimpleCarbonWeb doesn't seem to be getting adequate invalidation when window is resized
244
245         The Carbon HIWebView was relying on layout happening when displayIfNeededInRect: was called on the WebView.
246         This would happen on Tiger because _recursiveDisplayRectIfNeededIgnoringOpacity: would always do a layout if needed.
247         Doing a layout in _recursiveDisplayRectIfNeededIgnoringOpacity was removed in Leopard in favor of viewWillDraw, and
248         the fact that adding new dirty rects inside _recursiveDisplayRectIfNeededIgnoringOpacity on Leopard will not
249         cause a drawRect in the same display loop.
250
251         So any client on Leopard calling displayIfNeeded* on the WebView would get a layout and any new dirty rects. So
252         _web_layoutIfNeededRecursive needs to be called on the main frame's WebHTMLView to make sure we layout and
253         display anything that is really needed.
254
255         * WebView/WebHTMLView.mm:
256         (-[WebHTMLView _layoutIfNeeded]):
257         (-[WebHTMLView _web_layoutIfNeededRecursive]):
258         * WebView/WebHTMLViewInternal.h:
259         * WebView/WebView.mm:
260         (-[WebView displayIfNeeded]): Call _web_layoutIfNeededRecursive on the main WebHTMLView.
261         (-[WebView displayIfNeededIgnoringOpacity]): Ditto.
262         (-[WebView displayIfNeededInRect:]): Ditto. 
263         (-[WebView displayIfNeededInRectIgnoringOpacity:]): Ditto.
264
265 2007-08-22  Timothy Hatcher  <timothy@apple.com>
266
267         Rolling out r25102 for <rdar://problem/5410937> until
268         <rdar://problem/5429920> is resolved.
269
270         * Carbon/CarbonUtils.m:
271         (WebInitForCarbon):
272         (PoolCleaner):
273         * Carbon/CarbonWindowAdapter.h:
274         * Carbon/CarbonWindowAdapter.m:
275         * Carbon/CarbonWindowContentView.h:
276         * Carbon/CarbonWindowContentView.m:
277         * Carbon/CarbonWindowFrame.h:
278         * Carbon/CarbonWindowFrame.m:
279         * Carbon/HIViewAdapter.h:
280         * Carbon/HIViewAdapter.m:
281         * Carbon/HIWebView.h:
282         * Carbon/HIWebView.m:
283
284 2007-08-20  John Sullivan  <sullivan@apple.com>
285
286         Reviewed by Adam Roben
287         
288         WebKit part of fix for: 
289         <rdar://problem/5417777> WebKit focus ring color no longer matches system focus rings
290
291         * Misc/WebNSAttributedStringExtras.mm:
292         now includes <WebCore/ColorMac.h> to account for moved declaration
293         * WebView/WebFrame.mm:
294         ditto
295         
296         * WebView/WebViewPrivate.h:
297         * WebView/WebView.mm:
298         (+[WebView _setUsesTestModeFocusRingColor:]):
299         new SPI, calls through to new WebCore function. This is used by DumpRenderTree to make sure the
300         focus ring color is always the same when performing layout tests, regardless of OS X version.
301         (+[WebView _usesTestModeFocusRingColor]):
302         new SPI, calls through to new WebCore function
303
304 2007-08-20  Antti Koivisto  <antti@apple.com>
305
306         Reviewed by John.
307         
308         Fix <rdar://problem/5378390>
309         Crash at Range::startContainer() when creating multiple ToDos on the same line
310         
311         Null check range.
312         
313         No layout test, this only happens with ObjC API.
314
315         * WebView/WebHTMLView.mm:
316         (-[WebHTMLView _expandSelectionToGranularity:]):
317
318 2007-08-20  Maciej Stachowiak  <mjs@apple.com>
319
320         Not reviewed, fix for crash on launch bug in last patch.
321
322         * WebView/WebHTMLView.mm:
323         (-[WebHTMLView setDataSource:]): Remove an assertion, fix code to work right in the
324         face of that condition.
325
326 2007-08-18  Maciej Stachowiak  <mjs@apple.com>
327
328         Reviewed by Darin.
329         
330         - fixed <rdar://problem/5198272> REGRESSION: PLT 1.5% slower due to r21367 (change to start frames with empty documents)
331
332         There were three main cuases of extra time due to creating the initial empty document:
333         
334         1) Creating an extra WebHTMLView and swapping it for a new one for each frame created.
335         2) Parsing the minimal markup for the initial document's contents.
336         3) Clearing the Window object an extra time and dispatching the corresponding delegate method.
337         
338         The WebKit part of the fixes addresses 1.
339
340         * WebCoreSupport/WebFrameLoaderClient.mm:
341         (WebFrameLoaderClient::makeDocumentView): When switching from the initial
342         empty document to the first real document, reuse the WebHTMLView.
343         
344         It might actually be a significant performance improvement to always
345         reuse the WebHTMLView, but that is a much riskier change and not
346         needed to fix the regression right now.
347
348 2007-08-17  Maciej Stachowiak  <mjs@apple.com>
349
350         Reviewed by Darin.
351
352         - WebKit part of fix to scrollbar suppression hack for Leopard
353
354         * WebView/WebDynamicScrollBarsView.m:
355         (-[WebDynamicScrollBarsView reflectScrolledClipView:]): Don't call the superclass method
356         when scrollbars are suppressed.
357         (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]): Instead call it
358         here, when unsuppressing.
359
360 2007-08-17  Darin Adler  <darin@apple.com>
361
362         Reviewed by Maciej.
363
364         - fix <rdar://problem/5414518> Use root URL as origin URL when quarantining downloads
365
366         * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::setOriginalURLForDownload):
367         Extract only the scheme and host name and make the originating URL from that.
368
369         * WebKit/StringsNotToBeLocalized.txt: Updated for recent changes.
370
371 2007-08-17  Timothy Hatcher  <timothy@apple.com>
372
373         Reviewed by Darin.
374
375         <rdar://problem/5398301> Xcode threw mutation exception while enumerating subviews (GC only)
376
377         I was never able to reproduce this exception. But there can be cases where layout will
378         trigger JavaScript or plugin code that can modify the WebView view hierarchy during a
379         recursive enumeration of all the subviews.
380
381         This patch does two things:
382         1) Adds a check in debug builds that will LOG when any view is added or removed during layout.
383         Noting that added views will not recieve layout this round and might paint without first recieving layout.
384
385         2) Recursivly builds up an array of descendant WebHTMLViews before calling layout on them.
386         This matches the behavior of makeObjectsPerformSelector: in the non-GC case (making a copy
387         before enumerating.)
388
389         * WebView/WebHTMLView.mm:
390         (-[WebHTMLView _web_setPrintingModeRecursive]): Use _web_addDescendantWebHTMLViewsToArray to build up an array
391         of WebHTMLViews to enumerate.
392         (-[WebHTMLView _web_clearPrintingModeRecursive]): Ditto.
393         (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): Ditto.
394         (-[WebHTMLView _web_layoutIfNeededRecursive]): Ditto.
395         (-[WebHTMLView _layoutIfNeeded]): Moved to WebHTMLViewFileInternal category.
396         (-[WebHTMLView didAddSubview:]): LOG in debug builds.
397         (-[WebHTMLView willRemoveSubview:]): Ditto.
398         (-[NSView _web_addDescendantWebHTMLViewsToArray:]): Recursivly build an array of descendant WebHTMLViews.
399         * WebView/WebHTMLViewInternal.h: Added a BOOL in WebHTMLViewPrivate to track subview changes (debug only.)
400
401 2007-08-17  Anders Carlsson  <andersca@apple.com>
402
403         Reviewed by Dave Hyatt.
404
405         <rdar://problem/5379040> 
406         REGRESSION (Tiger-Leopard): ADOBE: Safari calls NPP_SetWindow with bad values sometimes
407         
408         Pass the right size when creating the views.
409         
410         * WebCoreSupport/WebFrameBridge.mm:
411         (-[WebFrameBridge viewForPluginWithFrame:URL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
412         * WebCoreSupport/WebFrameLoaderClient.h:
413         * WebCoreSupport/WebFrameLoaderClient.mm:
414         (WebFrameLoaderClient::createPlugin):
415
416 2007-08-13  Geoffrey Garen  <ggaren@apple.com>
417
418         Reviewed by Dave Hyatt.
419         
420         WebKit changes to support new cache eviction model in WebCore.
421
422         * WebView/WebPreferences.m:
423         (+[WebPreferences initialize]): Modified to reflect new API in WebCore.
424         * WebView/WebView.mm:
425         (+[WebView _initializeCacheSizesIfNecessary]): Slightly increased cache
426         size on low memory systems to avoid affecting the PLT for now.
427
428 2007-08-15  Timothy Hatcher  <timothy@apple.com>
429
430         Reviewed by Darin.
431
432         <rdar://problem/5410937> HIWebView in SimpleCarbonWeb doesn't seem to be getting adequate invalidation when window is resized
433
434         HIWebViewCreate now just returns a HIViewRef created with HICocoaViewCreate. This eliminates lots of old code and
435         makes HIWebView a better citizen starting with Leopard. The old code paths are still needed for Tiger, so now
436         most of the files in the WebKit/Carbon directory are #ifdef BUILDING_ON_TIGER.
437
438         The Tiger code is unchanged and dosen't exhibit the invalidation problem when the window resizes.
439
440         * Carbon/CarbonUtils.m:
441         (WebInitForCarbon): #ifdef BUILDING_ON_TIGER portions of this code that is not needed on Leopard.
442         * Carbon/CarbonWindowAdapter.h: #ifdef BUILDING_ON_TIGER
443         * Carbon/CarbonWindowAdapter.m: Ditto.
444         * Carbon/CarbonWindowContentView.h: Ditto.
445         * Carbon/CarbonWindowContentView.m: Ditto.
446         * Carbon/CarbonWindowFrame.h: Ditto.
447         * Carbon/CarbonWindowFrame.m: Ditto.
448         * Carbon/HIViewAdapter.h: Ditto.
449         * Carbon/HIViewAdapter.m: Ditto.
450         * Carbon/HIWebView.h: Consolidate two #ifdef __OBJC__ blocks into one.
451         * Carbon/HIWebView.m: Implement Leopard specific HIWebViewCreate, HIWebViewCreateWithClass and HIWebViewGetWebView.
452         (HIWebViewCreate): Call HIWebViewCreateWithClass passing [WebView class].
453         (HIWebViewCreateWithClass): Call HICocoaViewCreate with an instance of the class passed in.
454         (HIWebViewGetWebView): Call HICocoaViewGetView.
455
456 2007-08-14  Brady Eidson  <beidson@apple.com>
457
458         Reviewed by Darin, John, Maciej, Oliver, and Tim
459
460         <rdar://problem/5394708> - Crash on launch with corrupt icon database
461
462         Expose some new SPI to help recover from this case should it happen again
463
464         * Misc/WebIconDatabase.mm:
465         (-[WebIconDatabase init]): Use the new _databaseDirectory to determine where to open the database on disk
466         (+[WebIconDatabase _checkIntegrityBeforeOpening]): Tell the icon database to check integrity when it opens
467         (-[WebIconDatabase _databaseDirectory]): Moved the database-directory-determining logic here as it's now used in two places
468         * Misc/WebIconDatabasePrivate.h: Added _checkIntegrityBeforeOpening SPI for clients to give hints about when the
469           integrity check should run
470
471 2007-08-12  Alexey Proskuryakov  <ap@webkit.org>
472
473         Reviewed by Darin.
474
475         http://bugs.webkit.org/show_bug.cgi?id=4648
476         Shockwave unable to load GZip'd text resources when server sends Content-Length header
477
478         * Plugins/WebBaseNetscapePluginStream.mm:
479         (-[WebBaseNetscapePluginStream startStreamWithResponse:]): Don't trust 
480         -[NSURLResponse expectedContentLength] if Content-Encoding is not identity.
481
482 2007-08-10  Timothy Hatcher  <timothy@apple.com>
483
484         Reviewed by Mark Rowe.
485
486         <rdar://problem/5403302> HIWebView.h should be #ifdefed out for 64-bit
487
488         * Carbon/HIWebView.h: #ifdef out the header in 64-bit. Adds a comment about 32-bit only.
489         * Carbon/CarbonUtils.h: Ditto.
490
491 2007-08-10  Timothy Hatcher  <timothy@apple.com>
492
493         Reviewed by Adam.
494
495         <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit
496
497         Disable NPObject use in 64-bit on Mac OS X. Also generate the 64-bit export file.
498
499         * Configurations/WebKit.xcconfig: Point to the generated 64-bit export file.
500         * Plugins/WebBasePluginPackage.h:
501         * Plugins/npfunctions.h: #ifdef out this header in 64-bit on Mac OS X.
502         * WebKit.LP64.exp: Removed.
503         * WebKit.xcodeproj/project.pbxproj: Generate the the 64-bit export file.
504         * WebKitPrefix.h: Define WTF_USE_NPOBJECT.
505
506 2007-08-10  Anders Carlsson  <andersca@apple.com>
507
508         Reviewed by Geoff.
509
510         <rdar://problem/5390568>
511         REGRESSION: Ð[WebFrame loadHTMLString:baseURL:] leaks the data source
512         
513         If the identifier is not in the map, just bail out instead of asserting. This is a better fix for
514         <rdar://problem/5133420> because WebCore shouldn't have to worry about the lifetime of WebKit objects.
515         
516         * WebView/WebDocumentLoaderMac.mm:
517         (WebDocumentLoaderMac::decreaseLoadCount):
518
519 2007-08-10  Oliver Hunt  <oliver@apple.com>
520
521         Reviewed by Darin.
522
523         Fixed <rdar://problem/5000470> REGRESSION: ATOK IM: reconvert returns incorrect symbol due to inconsistent range domains in TSM by working around <rdar://problem/5400551> [NSAttributedString(WebKitExtras) _web_attributedStringFromRange:] adds whitespace to the requested range
524
525         We truncate the returned string to the expected length.
526
527         * WebView/WebHTMLView.mm:
528         (-[WebHTMLView attributedSubstringFromRange:]):
529
530 2007-08-09  Mark Rowe  <mrowe@apple.com>
531
532         Reviewed by Antti.
533
534         <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +
535
536         * Configurations/Version.xcconfig:
537         * WebKit.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between
538         Version.xcconfig and Info.plist explicit to Xcode.
539
540 2007-08-08  Kevin Decker <kdecker@apple.com>
541
542         Reviewed by Anders Carlsson.
543
544         Fixed: <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit
545         
546         #ifdef'd out Netscape style plug-ins on 64-bit because Mac OS X doesn't support 64-bit Carbon UI.
547         
548         * Plugins/WebBaseNetscapePluginStream.h:
549         * Plugins/WebBaseNetscapePluginStream.mm:
550         * Plugins/WebBaseNetscapePluginView.h:
551         * Plugins/WebBaseNetscapePluginView.mm:
552         (+[WebBaseNetscapePluginView getCarbonEvent:]):
553         (TSMEventHandler):
554         * Plugins/WebBaseNetscapePluginViewInternal.h:
555         * Plugins/WebBaseNetscapePluginViewPrivate.h:
556         * Plugins/WebBasePluginPackage.m:
557         (+[WebBasePluginPackage pluginWithPath:]):
558         * Plugins/WebNetscapePluginEmbeddedView.h:
559         * Plugins/WebNetscapePluginEmbeddedView.mm:
560         * Plugins/WebNetscapePluginPackage.h:
561         * Plugins/WebNetscapePluginPackage.m:
562         * Plugins/WebNetscapePluginStream.h:
563         * Plugins/WebNetscapePluginStream.mm:
564         * Plugins/WebPluginDatabase.m:
565         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
566         * Plugins/npapi.m:
567         * WebCoreSupport/WebFrameBridge.mm:
568         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
569         * WebView/WebFrame.mm:
570         * WebView/WebFramePrivate.h:
571         * WebView/WebHTMLView.mm:
572         (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
573         * WebView/WebHTMLViewInternal.h:
574
575 2007-08-07  David Hyatt  <hyatt@apple.com>
576
577         Fix a botched backout of the Quicktime plugin clipping fix that broke Java.  The plugin view should not
578         be set to autosize with the parent view.  Also, cleanup of script objects was removed accidentally as
579         well.
580
581         Reviewed by olliej
582
583         * Plugins/WebPluginController.mm:
584         (-[WebPluginController destroyPlugin:]):
585         (-[WebPluginController destroyAllPlugins]):
586         * WebCoreSupport/WebFrameBridge.mm:
587         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
588
589 2007-08-03  Brady Eidson  <beidson@apple.com>
590
591         Reviewed by Oliver
592
593         Fix for http://bugs.webkit.org/show_bug.cgi?id=14824 and <rdar://problem/5372989>
594
595         When unregistering a MIMEType, remove it from the WebCore registry unconditionally
596         When registrying a MIMEType whose view class is WebHTMLView, add it to the WebCore registry
597
598         * WebView/WebView.mm:
599         (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]): 
600         (+[WebView _registerViewClass:representationClass:forURLScheme:]):
601         (+[WebView registerViewClass:representationClass:forMIMEType:]):
602
603 2007-08-03  Timothy Hatcher  <timothy@apple.com>
604
605         Reviewed by Mark Rowe.
606
607         Correct the bundle version check to work in Debug and Release builds too.
608
609         * WebKit.xcodeproj/project.pbxproj:
610
611 2007-08-02  Brady Eidson  <beidson@apple.com>
612
613         Reviewed by Tim
614
615         <rdar://problem/5381463> - setMIMETypesShownAsHTML mutates while enumerating
616
617         * WebView/WebView.mm:
618         (+[WebView setMIMETypesShownAsHTML:]): Copy the dictionary before we work with it.
619
620 2007-08-02  Alice Liu  <alice.liu@apple.com>
621
622         Reviewed by Kevin McCullough.
623
624         fixed <rdar://problem/5310312> REGRESSION: javascript is mis-escaped at http://labs.zarate.org/passwd causing bookmarklet to break
625
626         * Misc/WebNSURLExtras.mm:
627         (+[NSURL _web_URLWithUserTypedString:relativeToURL:]):
628         (-[NSURL _web_userVisibleString]):
629         (-[NSURL _web_URLWithLowercasedScheme]):
630         (-[NSURL _web_dataForURLComponentType:]):
631         These 4 changes are just casting changes.
632
633         (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
634         This change replaces the call to an NSURL method with a webcore one that doesn't abort the escaping effort once an illegal character is encountered. 
635
636 2007-08-01  Anders Carlsson  <andersca@apple.com>
637
638         Fix build.
639         
640         * Misc/WebNSURLExtras.mm:
641         (+[NSURL _web_URLWithUserTypedString:relativeToURL:]):
642         (-[NSURL _web_userVisibleString]):
643         (-[NSURL _web_URLWithLowercasedScheme]):
644         (-[NSURL _web_dataForURLComponentType:]):
645
646 2007-08-01  Alice Liu  <alice.liu@apple.com>
647
648         Reviewed by .
649
650         Making WebNSURLExtras objc++
651
652         * Misc/WebNSURLExtras.m: Removed.
653         * Misc/WebNSURLExtras.mm: Copied from WebKit/Misc/WebNSURLExtras.m.
654         * WebKit.xcodeproj/project.pbxproj:
655
656 2007-08-01  Darin Adler  <darin@apple.com>
657
658         Reviewed by Anders Carlsson and Kevin Decker.
659
660         - fix <rdar://problem/5377432> Removal of MakeDataExecutable from 64-bit breaks WebKit build
661
662         The trick was to ifdef out more of the code that's only needed to support CFM, which exists
663         only for 32-bit PowerPC.
664
665         * Plugins/WebNetscapePluginPackage.h: Define a SUPPORT_CFM symbol in this internal header when
666         we support CFM. We support it only on 32-bit PowerPC. Only define the isBundle, isCFM, and
667         connID fields when SUPPORT_CFM is on. Also use ResFileRefNum instead of SInt16.
668         * Plugins/WebNetscapePluginPackage.m: Only compile the function pointer and transition vector
669         functions when SUPPORT_CFM is on.
670         (-[WebNetscapePluginPackage openResourceFile]): Put the non-bundle case inside a SUPPORT_CFM
671         ifdef, since all non-CFM plug-ins are bundles.
672         (-[WebNetscapePluginPackage closeResourceFile:]): Ditto.
673         (-[WebNetscapePluginPackage _initWithPath:]): Use SUPPORT_CFM to compile out the code for
674         non-bundle and bundle-based CFM plug-ins, and code that sets isBundle and isCFM.
675         (-[WebNetscapePluginPackage executableType]): Put the CFM case inside SUPPORT_CFM.
676         (-[WebNetscapePluginPackage load]): Put the non-bundle and CFM cases inside SUPPORT_CFM.
677         There was a bit of dead code here.
678         (-[WebNetscapePluginPackage _unloadWithShutdown:]): Put the non-bundle case inside
679         SUPPORT_CFM.
680
681 2007-07-31  Timothy Hatcher  <timothy@apple.com>
682
683         Reviewed by Oliver and Beth.
684
685         <rdar://problem/5211271> ADOBE Leopard 9A410: At the first Launching InDesign after deactivate, EULA page gets blanked.
686
687         Check for more Adobe applications that need the frame reload quirk. Also cache the answer
688         so the version check dosen't happen more than once.
689
690         * WebView/WebView.mm:
691         (-[WebView _needsAdobeFrameReloadingQuirk]):
692         (-[WebView _updateWebCoreSettingsFromPreferences:]):
693
694 2007-07-30  Adele Peterson  <adele@apple.com>
695
696         Reviewed by Oliver.
697
698         Fix for <rdar://problem/5308020> REGRESSION: Command-N with Dvorak-Qwerty keyboard layout stopped working inside web page text fields
699
700         * WebView/WebHTMLView.mm: (-[WebHTMLView _handleStyleKeyEquivalent:]):
701         The input method may have modified the character we get, so don't use charactersIgnoringModifiers to interpret the character we get.
702
703 2007-07-30  John Sullivan  <sullivan@apple.com>
704
705         Reviewed by Darin
706         
707         - fixed <rdar://problem/5216176> Need WebKit SPI to allow clients using embedded WebViews to avoid 
708           clipping ends of some printed pages
709           
710         This provides Mail, and other clients that print views that embed WebViews, a way to ensure that
711         the HTML is laid out for printing before pagination occurs.
712
713         * WebView/WebHTMLViewPrivate.h:
714         new SPI method -_layoutForPrinting
715         
716         * WebView/WebHTMLView.mm:
717         (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]):
718         new method, just like existing _web_setPrintingModeRecursive except passes YES for adjustViewSize
719         (-[WebHTMLView _layoutForPrinting]):
720         new SPI method, sets printing mode temporarily to adjust the view size for printing 
721         (-[NSView _web_setPrintingModeRecursiveAndAdjustViewSize]):
722         new helper method to do the recursion
723
724 2007-07-30  Adele Peterson  <adele@apple.com>
725
726         Reviewed by Darin.
727
728         Fix for <rdar://problem/5367919> A crash occurs at WebCore::Frame::isFrameSet() when attempting to print a iframe before it loads at http://www.monster.com/
729
730         * WebView/WebHTMLView.mm: (-[WebHTMLView knowsPageRange:]): Nil check for frame.
731
732 2007-07-30  Anders Carlsson  <andersca@apple.com>
733
734         Reviewed by Darin.
735
736         <rdar://problem/5370710> 
737         REGRESSION: After switching from Bookmark view, the Find Banner won't appear while displaying a PDF file
738
739         Implement hasHTMLView.
740         
741         * WebCoreSupport/WebFrameLoaderClient.h:
742         * WebCoreSupport/WebFrameLoaderClient.mm:
743         (WebFrameLoaderClient::hasHTMLView):
744
745 2007-07-30  Justin Garcia  <justin.garcia@apple.com>
746
747         Reviewed by Tristan.
748         
749         <rdar://problem/5098931> Attachments are lost when they are moved into a ToDo after a delete
750         
751         Mail needs to be asked if it is OK to do the content movement that happens 
752         after a deleting in a situation like this one: 
753         <div contenteditable="plaintext-only">foo</div><div>^bar</div> 
754         so that they can prevent the move or so that they can save content that 
755         will be stripped by the move. This could have been done with shouldInsertNode 
756         and a new WebViewInsertAction for "moves", but WebKit clients like Mail and 
757         DashCode think that a shouldInsert* means that the user pasted something and
758         perform actions only appropriate for pastes.  This change is less risky because
759         it won't require those clients to change their code.
760
761         * DefaultDelegates/WebDefaultEditingDelegate.m:
762         (-[WebDefaultEditingDelegate webView:shouldMoveRangeAfterDelete:replacingRange:]):
763         * WebCoreSupport/WebEditorClient.h:
764         * WebCoreSupport/WebEditorClient.mm:
765         (WebEditorClient::shouldMoveRangeAfterDelete):
766         * WebView/WebEditingDelegatePrivate.h:
767
768 2007-07-29  Adele Peterson  <adele@apple.com>
769
770         Reviewed by John.
771
772         WebKit part of fix for <rdar://problem/5102522> REGRESSION: Can't tab to webview that doesn't have editable content
773
774         * WebView/WebHTMLView.mm: (-[WebHTMLView becomeFirstResponder]): Call new setInitialFocus method instead of advanceFocus.
775
776 2007-07-27  Darin Adler  <darin@apple.com>
777
778         - fix build
779
780         * WebKitPrefix.h: Removed the USING_WEBCORE_XXX definitions.
781         * WebView/WebHTMLView.mm:
782         (-[WebHTMLView delete:]): Fixed this to use WebCore again; I accidentally revived a dead
783         code path that didn't work in the last patch!
784         (-[WebHTMLView deleteToMark:]): Ditto.
785         (-[WebHTMLView copy:]): Removed the unused side of the ifdef.
786         (-[WebHTMLView cut:]): Ditto.
787         (-[WebHTMLView paste:]): Ditto.
788
789 2007-07-27  Darin Adler  <darin@apple.com>
790
791         Reviewed by Tim Hatcher and Oliver Hunt.
792
793         - fix <rdar://problem/5355815> webView:doCommandBySelector: isn't getting called for copy:
794
795         Added code so that webView:doCommandBySelector: is called for every command.
796
797         * WebView/WebHTMLView.mm: Made 44 of the commands use the WEBCORE_COMMAND macro instead
798         of being handwritten. For all the others, added invocation of COMMAND_PROLOGUE macro at
799         the start of the command.
800         (-[WebHTMLView callDelegateDoCommandBySelectorIfNeeded:]): Added.
801         (-[WebHTMLView callWebCoreCommand:]): Added.
802         (-[WebHTMLView delete:]): Removed unused code path -- easy to bring back some day, but
803         we don't need it compiled in.
804         (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Changed so this doesn't
805         call deleteBackward: any more so we don't call the delegate two times.
806         (-[WebHTMLView deleteToMark:]): Changed so this doesn't call delete: any more so we don't
807         call the delegate two times.
808         (-[WebHTMLView selectToMark:]): Changed so this doesn't call setMark: any more so we don't
809         call the delegate two times.
810         (-[WebHTMLView doCommandBySelector:]): Added code to set the private variable
811         selectorForDoCommandBySelector. This allows callDelegateDoCommandBySelectorIfNeeded to
812         detect that we've already called the delegate and avoids calling it twice.
813
814         * WebView/WebHTMLViewInternal.h: Added the selectorForDoCommandBySelector field.
815
816 2007-07-26  Alexey Proskuryakov  <ap@webkit.org>
817
818         Reviewed by Oliver.
819
820         http://bugs.webkit.org/show_bug.cgi?id=14733
821         Add a logging channel for text input
822         <rdar://problem/5364667>
823
824         * Misc/WebKitLogging.h:
825         * Misc/WebKitLogging.m:
826         (WebKitInitializeLoggingChannelsIfNecessary):
827         * WebView/WebHTMLView.mm:
828         (-[WebHTMLView validAttributesForMarkedText]):
829         (-[WebHTMLView textStorage]):
830         (-[WebHTMLView characterIndexForPoint:]):
831         (-[WebHTMLView firstRectForCharacterRange:]):
832         (-[WebHTMLView selectedRange]):
833         (-[WebHTMLView markedRange]):
834         (-[WebHTMLView attributedSubstringFromRange:]):
835         (-[WebHTMLView hasMarkedText]):
836         (-[WebHTMLView unmarkText]):
837         (-[WebHTMLView setMarkedText:selectedRange:]):
838         (-[WebHTMLView doCommandBySelector:]):
839         (-[WebHTMLView insertText:]):
840
841 2007-07-26  Darin Adler  <darin@apple.com>
842
843         - fix Tiger build
844
845         * Misc/WebTypesInternal.h: For use inside the library, use NSInteger and
846         NSUInteger, just like on Leopard. WebNSInteger and WebNSUInteger are still
847         present, but they are used in public and private headers only.
848
849         * Carbon/CarbonWindowAdapter.m:
850         * Carbon/CarbonWindowFrame.m:
851         * DefaultDelegates/WebScriptDebugServer.m:
852         * History/WebBackForwardList.mm:
853         * Misc/WebDownload.m:
854         * Misc/WebSearchableTextView.m:
855         * Plugins/WebBaseNetscapePluginView.mm:
856         * WebCoreSupport/WebFrameLoaderClient.mm:
857         * WebView/WebHTMLView.mm:
858         * WebView/WebPDFView.mm:
859         * WebView/WebView.mm:
860         * WebView/WebViewInternal.h:
861         Update all implementation files and internal headers to use NSInteger and
862         NSUInteger rather than WebNSInteger and WebNSUInteger.
863
864 2007-07-26  John Sullivan  <sullivan@apple.com>
865
866         Reviewed by Kevin Decker
867         
868         - fixed <rdar://problem/5362989> Searching a pdf in some modes shows hilights for all instances 
869           of the word, even those not on the current page
870           
871         It turns out that there were three different issues here, all contributing to incorrect display
872         of multiple matches for PDF pages in certain display modes. (1) in non-continuous display modes,
873         we weren't updating the match rects when the displayed page is changed with page up/down (e.g.);
874         (2) the mechanism to update the match rects on scrolling was busted except for the first scroll
875         away from 0,0; (3) the PDFKit API returns selection bounds for non-displayed pages in non-continuous
876         modes just as if they were the displayed pages. This patch fixes all three issues.
877
878         * WebView/WebPDFView.h:
879         made ivar name even longer
880         
881         * WebView/WebPDFView.mm:
882         (-[WebPDFView setPDFDocument:]):
883         updated for ivar name change
884         (-[WebPDFView viewDidMoveToWindow]):
885         observe page-change notifications as well as the others; this is necessary because in the
886         non-continuous modes the view can be completely updated without any scrolling involved (problem 1)
887         (-[WebPDFView viewWillMoveToWindow:]):
888         stop observing page-change notifications
889         (-[WebPDFView rectsForTextMatches]):
890         skip any pages that aren't visible; this avoids treating matches on non-displayed non-continous
891         modes as if they were on the displayed page (problem 3)
892         (-[WebPDFView _PDFDocumentViewMightHaveScrolled:]):
893         after checking whether scroll position has changed since we last checked it, remember the new
894         one (d'oh!) (problem 2)
895
896         (-[WebPDFView _scaleOrDisplayModeOrPageChanged:]):
897         renamed to include page changes
898         
899         (-[WebPDFView _visiblePDFPages]):
900         new method, returns the set of pages that are at least partly visible
901
902 2007-07-24  Oliver Hunt  <oliver@apple.com>
903
904         Reviewed by Adam and Justin.
905
906         <rdar://problem/5141779> WebView editableDOMRangeForPoint: & moveDragCaretToPoint: returns last position in DOMText range
907
908         editableDOMRangeForPoint:, moveDragCaretToPoint:, and removeDragCaret now call directly into
909         WebCore without relying on bridge look up through the now removed _bridgeAtPoint:.
910
911         * WebKit.xcodeproj/project.pbxproj:
912         * WebView/WebView.mm:
913         (-[WebView moveDragCaretToPoint:]):
914         (-[WebView removeDragCaret]):
915         (-[WebView editableDOMRangeForPoint:]):
916
917 2007-07-24  Kevin Decker  <kdecker@apple.com>
918
919         Reviewed by Anders.
920
921         <rdar://problem/4699455> REGRESSION (Safari 2->Safari 3): Adobe Reader 7.0.8 plug-in doesn't work
922         
923         * Plugins/WebNetscapePluginEmbeddedView.h: Added a #define that renames this class to "WebNetscapePluginDocumentView"
924         This is necessary because the Adobe 7.x Acrobat plug-in has a hard coded check for a view named "WebNetscapePluginDocumentView"
925         and will not function correctly if it doesn't find a view in the hierarchy without the old class name.
926
927 2007-07-24  Mark Rowe  <mrowe@apple.com>
928
929         Reviewed by Antti.
930
931         <rdar://problem/5356666> NSMenuItem's seen leaking on buildbot
932
933         * WebCoreSupport/WebContextMenuClient.mm:
934         (WebContextMenuClient::contextMenuItemSelected): Release platformItem as we were transferred its ownership by releasePlatformDescription.
935
936 2007-07-23  Oliver Hunt  <oliver@apple.com>
937
938         Reviewed by Darin.
939
940         We have to be able to support insertText: followed by doCommandBySelector: in 
941         order to support the 2- and 3-Set Korean and RuSwitcher IMs at least.
942
943         * WebView/WebHTMLView.mm:
944         (-[WebHTMLView insertText:]):
945
946 2007-07-23  Alice Liu  <alice.liu@apple.com>
947
948         Reverting change 24535 now that a solution has been found that doesn't 
949         involve exposing an interface unnecessarily.
950
951         * WebView/WebHTMLView.mm:
952         * WebView/WebHTMLViewPrivate.h:
953
954 2007-07-23  Alice Liu  <alice.liu@apple.com>
955
956         Reviewed by Oliver Hunt.
957
958         Expose [WebHTMLView hasMarkedText] to 
959         fix <rdar://problem/4830074> autocomplete breaks Japanese typing
960
961         * WebView/WebHTMLView.mm:
962         * WebView/WebHTMLViewPrivate.h:
963
964 2007-07-22  Darin Adler  <darin@apple.com>
965
966         * StringsNotToBeLocalized.txt: Updated for recent changes.
967
968 2007-07-21  Adam Roben  <aroben@apple.com>
969
970         Fix REGRESSION: Right-click/control-click broken
971
972         http://bugs.webkit.org/show_bug.cgi?id=14658
973         <rdar://problem/5346830>
974
975         Reviewed by Mitz.
976
977         * WebCoreSupport/WebContextMenuClient.mm:
978         (fixMenusToSendToOldClients): Update defaultItemsCount after removing
979         items from the defaultItems array.
980
981 2007-07-20  Oliver Hunt  <oliver@apple.com>
982
983         Reviewed by Adele.
984
985         <rdar://problem/5319438> REGRESSION: Cannot paste into an active inline input area (14522)
986         http://bugs.webkit.org/show_bug.cgi?id=14522
987
988         AppKit sends noop: to -[WebHTMLView doCommandBySelector:] when an IM does not handle event,
989         we now check this as it is necessary to work around some IMs that do send messages 
990         (such as insertText: rather than unmarkText: to confirm a composition)
991
992         * WebView/WebHTMLView.mm:
993         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
994         (-[WebHTMLView doCommandBySelector:]):
995         * WebView/WebHTMLViewInternal.h:
996
997 2007-07-20  Brady Eidson  <beidson@apple.com>
998
999         Reviewed by Adele and Andersca
1000
1001         <rdar://problem/5336105> - WebBackForwardList created from scratch is unusable (always leads to crash)
1002
1003         * History/WebBackForwardList.mm:
1004         (-[WebBackForwardList init]): Have a default initializer that uses an empty BackFowardList not associated with a page.
1005
1006         * WebView/WebFrame.mm:
1007         (kit): For clarity's sake, this should return nil, not 0
1008
1009 2007-07-20  Justin Garcia  <justin.garcia@apple.com>
1010
1011         Reviewed by Darin.
1012         
1013         <rdar://problem/5109817> Ctrl-click on word in non-editable text doesn't select it
1014
1015         * WebCoreSupport/WebEditorClient.h:
1016         * WebCoreSupport/WebEditorClient.mm: Removed the method
1017         for enabling/disabling word selection on right click.
1018         * WebView/WebView.mm: Ditto.
1019         * WebView/WebViewPrivate.h: Removed the getter/setter entirely, 
1020         it was in a private Category for Mail, but wasn't used by Mail
1021         on Tiger or Leopard, they apparently implement word selection on 
1022         their own.
1023
1024 2007-07-20  Timothy Hatcher  <timothy@apple.com>
1025
1026         Reviewed by Darin.
1027
1028         <rdar://problem/5199812> WebView needs to adopt viewWillDraw (moving off of _propagateDirtyRectsToOpaqueAncestors)
1029         <rdar://problem/5017301> REGRESSION: Scroller in Widget Manager splits down the middle while scrolling
1030
1031         On Leopard _propagateDirtyRectsToOpaqueAncestors is no longer called by AppKit. Also marking new dirty rects
1032         underneath _recursiveDisplayRectIfNeededIgnoringOpacity will wait until the next runloop to draw them,
1033         causing rendering to happen in two steps instead of one as WebCore expected.
1034
1035         * WebView/WebHTMLView.mm:
1036         (-[WebHTMLView _topHTMLView]): Move to the file internal category so we can use it in viewWillDraw.
1037         (-[WebHTMLView _isTopHTMLView]): Ditto.
1038         (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): #ifdef for Tiger only.
1039         (-[WebHTMLView viewWillDraw]): Do a recursive layout if this is the top WebHTMLView.
1040         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
1041           Don't do layout here on Leopard since viewWillDraw handled it.
1042         (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
1043
1044 2007-07-20  Beth Dakin  <bdakin@apple.com>
1045
1046         Reviewed by Tim and Geoff.
1047
1048         Fix for <rdar://problem/5346855> Mail crashes at 
1049         WebCore::RenderTableSection:paint + 846 when attempting to display 
1050         a HTML based message
1051
1052         After reapplying styles, the RenderView needs layout. However, 
1053         layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize used to 
1054         return early if the WebHTMLView itself does not need layout. 
1055         Because the WebHTMLView is not necessarily in synch with the 
1056         RenderTree, returning early here can get us into a bad situation 
1057         where we paint before laying out the Render Tree. This patch checks 
1058         both the WebHTMLView and the bridge (which checks the RenderView, 
1059         etc), so that we do not return early without laying out the Render 
1060         Tree. 
1061
1062         Some day, we should phase out WebHTMLView keeping track of 
1063         needsLayout at all. But that is a bit beyond the scope of this fix.  
1064
1065         * WebView/WebHTMLView.mm:
1066         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
1067
1068 2007-07-20  John Sullivan  <sullivan@apple.com>
1069
1070         Reviewed by Darin Adler and David Harrison
1071         
1072         - fixed <rdar://problem/5307075> REGRESSION: Bottom of some printed pages are truncated
1073         
1074         The "avoid orphan" code I added a year ago was causing the page to be imaged to a larger 
1075         height (good), but not shrinking everything to compensate (bad). Bad one-year-ago me!
1076
1077         * WebView/WebHTMLViewInternal.h:
1078         added avoidingPrintOrphan boolean
1079
1080         * WebView/WebHTMLView.mm:
1081         (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
1082         clear _private->avoidingPrintOrphan when clearing _private->printing
1083         (-[WebHTMLView _scaleFactorForPrintOperation:]):
1084         take _private->avoidingPrintOrphan into account when computing the scale factor
1085         (-[WebHTMLView knowsPageRange:]):
1086         set _private->avoidingPrintOrphan when we're shrinking to avoid an orphan
1087
1088 2007-07-19  Adam Roben  <aroben@apple.com>
1089
1090         Fix <rdar://problem/5344972> REGRESSION: A error dialog occurs when
1091         attempting to ctrl-click in a iChat message window (webview)
1092
1093         Reviewed by Oliver.
1094
1095         * WebCoreSupport/WebContextMenuClient.mm:
1096         (fixMenusToSendToOldClients): Don't check for the Inspect Element item
1097         if we have fewer than 2 items.
1098
1099 2007-07-18  Geoffrey Garen  <ggaren@apple.com>
1100
1101         Reviewed by Dave Hyatt.
1102         
1103         <rdar://problem/5345099>
1104         
1105         Reduced default WebCore cache size from 32 MB to 23 MB on systems below 
1106         512 MB RAM. This improves RPRVT usage in the Safari pageout test by 
1107         ~10% on a system with 384 MB RAM.
1108         
1109         At 23 MB, no extra resources are evicted from the cache during a PLT 
1110         run, so this is a safe change PLT-wise. 23 MB is also seems to be a
1111         generous number in real world usage.
1112
1113         * WebView/WebPreferences.m:
1114         (+[WebPreferences initialize]):
1115
1116 2007-07-18  Anders Carlsson  <andersca@apple.com>
1117
1118         Reviewed by Geoff.
1119
1120         <rdar://problem/5341133> REGRESSION (Safari 2->Safari 3): DjVu plug-in doesn't load in Safari 3
1121         
1122         The DjVu plug-in uses the size of the passed in NPNetscapeFuncs struct to copy it over to a NPNetscapeFuncs struct
1123         whose size was determined when DjVu was compiled. This means that when we add extra functions to the vtable, 
1124         DjVu will segfault copying it into the (too small) destination struct.
1125         
1126         Fix this by special-casing the DjVu plug-in and setting the NPNetscapeFuncs size to be the same size as what DjVu expects.
1127         
1128         * Plugins/WebNetscapePluginPackage.m:
1129         (-[WebNetscapePluginPackage _applyDjVuWorkaround]):
1130         (-[WebNetscapePluginPackage load]):
1131
1132 2007-07-18  Timothy Hatcher  <timothy@apple.com>
1133
1134         Reviewed by Adam.
1135
1136         <rdar://problem/5343767> Should have a way to disable the Web Inspector
1137
1138         Adds a new DisableWebKitDeveloperExtras default that will force the Web Inspector to be disabled.
1139         This overrides the WebKitDeveloperExtras and IncludeDebugMenu default. It also disables
1140         the Web Inspector in Debug builds.
1141
1142         * WebView/WebView.mm:
1143         (+[WebView _developerExtrasEnabled]): Check for the DisableWebKitDeveloperExtras default.
1144         (-[WebView _commonInitializationWithFrameName:groupName:]): Make a new WebInspectorClient when making the Page.
1145
1146 2007-07-18  Anders Carlsson  <andersca@apple.com>
1147
1148         Build fix.
1149         
1150         * Misc/WebNSAttributedStringExtras.mm:
1151
1152 2007-07-18  Sam Weinig  <sam@webkit.org>
1153
1154         Rubber-stamped by Adam Roben.
1155
1156         Update after renaming MimeTypeRegistry to MIMETypeRegistry.
1157
1158         * Misc/WebNSPasteboardExtras.mm:
1159         (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
1160         * WebCoreSupport/WebFrameBridge.mm:
1161         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
1162         * WebView/WebDataSource.mm:
1163         (-[WebDataSource _documentFragmentWithArchive:]):
1164         * WebView/WebHTMLRepresentation.mm:
1165         (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
1166         (+[WebHTMLRepresentation supportedImageMIMETypes]):
1167         * WebView/WebHTMLView.mm:
1168         (-[WebHTMLView _imageExistsAtPaths:]):
1169
1170 2007-07-18  Tristan O'Tierney  <tristan@apple.com>
1171
1172         Reviewed by Maciej Stachowiak.
1173         
1174         <rdar://problem/5341334> Alt-clicking a link in Safari does not register original URL info with gatekeeper
1175         <rdar://problem/5342570> REGRESSION: A hang occurs when attempting to open a attached file from a .Mac web mail message
1176
1177         * WebCoreSupport/WebFrameLoaderClient.h:
1178         Added a new method, setOriginalURLForDownload, for both download() 
1179         and startDownload() to share.
1180         
1181         * WebCoreSupport/WebFrameLoaderClient.mm:
1182         (WebFrameLoaderClient::download):
1183         Moved all the gatekeeper code into setOriginalURLForDownload.
1184         
1185         (WebFrameLoaderClient::setOriginalURLForDownload):
1186         Same code that was in download() but moved into a single place for both
1187         startDownload and download to use.  Also returned the boolean logic
1188         for detecting _wasUserGesture back to it's previous state, since my prior change
1189         was incorrect.  Additionally I found a loop index bug with backListCount and fixed it.
1190         
1191         (WebFrameLoaderClient::startDownload):
1192         Calls out to setOriginalURLForDownload after a download is created.
1193         
1194         * WebView/WebView.mm:
1195         (-[WebView _downloadURL:]):
1196         Changed to return the WebDownload object created inside _downloadURL
1197         
1198         * WebView/WebViewInternal.h:
1199         Changed _downloadURL to return the WebDownload it creates.
1200
1201 2007-07-17  Timothy Hatcher  <timothy@apple.com>
1202
1203         Reviewed by Geoff.
1204
1205         <rdar://problem/5336267> loadData:MIMEType:textEncodingName:baseURL: doesn't like relative URLs
1206
1207         Get the absoluteURL from any user supplied NSURL before we pass it down to WebCore.
1208
1209         * WebView/WebFrame.mm:
1210         (-[WebFrame _loadURL:referrer:intoChild:]):
1211         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
1212         * WebView/WebView.mm:
1213         (-[WebView userAgentForURL:]):
1214
1215 2007-07-17  Adam Roben  <aroben@apple.com>
1216
1217         Fix Bug 14324: Cannot remove/customize the "Inspect Element" contextual menu item
1218         http://bugs.webkit.org/show_bug.cgi?id=14324
1219
1220         Only clients linking against new versions of WebKit will see the item.
1221         I've maintained our behavior for old clients of not including the
1222         Inspect Element item in the menu items passed to the UI delegate.
1223
1224         Reviewed by Tim.
1225
1226         * Misc/WebKitVersionChecks.h: Added a new constant.
1227         * WebCoreSupport/WebContextMenuClient.mm:
1228         (isPreInspectElementTagClient): Added.
1229         (fixMenusToSendToOldClients): Return an array of items that should be
1230         appended to the menu received from the delegate.
1231         (fixMenusReceivedFromOldClients): Append the saved items to the array.
1232         (WebContextMenuClient::getCustomMenuFromDefaultItems): Retain/release
1233         the saved items.
1234
1235 2007-07-17  Adam Roben  <aroben@apple.com>
1236
1237         Remove WebContextMenuClient::shouldIncludeInspectElementItem
1238
1239         Reviewed by Tim.
1240
1241         * WebCoreSupport/WebContextMenuClient.h:
1242         * WebCoreSupport/WebContextMenuClient.mm:
1243
1244 2007-07-17  Adam Roben  <aroben@apple.com>
1245
1246         Initialize Settings::developerExtrasEnabled
1247
1248         Reviewed by Tim.
1249
1250         * WebView/WebView.mm:
1251         (-[WebView _updateWebCoreSettingsFromPreferences:]):
1252
1253 2007-07-17  Geoffrey Garen  <ggaren@apple.com>
1254
1255         Build fix.
1256
1257         * WebView/WebFrame.mm:
1258         (-[WebFrame _loadURL:referrer:intoChild:]):
1259         * WebView/WebFramePrivate.h:
1260
1261 2007-07-17  Tristan O'Tierney  <tristan@apple.com>
1262
1263         Reviewed by Maciej Stachowiak.
1264
1265         <rdar://problem/5294691> Source of file is misrepresented if downloaded by typing in URL in Safari address bar
1266
1267         * WebCoreSupport/WebFrameLoaderClient.h:
1268         * WebCoreSupport/WebFrameLoaderClient.mm:
1269         (WebFrameLoaderClient::download):
1270         Revised code to check the initial request's referrer before assuming it has a history to check.
1271
1272 2007-07-16  Brady Eidson  <beidson@apple.com>
1273
1274         Reviewed by Adam
1275
1276         Begin the arduous task of localizing FTP directory listings while removing a global initializer!
1277
1278         * English.lproj/Localizable.strings:
1279         * WebCoreSupport/WebViewFactory.mm:
1280         (-[WebViewFactory unknownFileSizeText]):
1281
1282 2007-07-16  Adam Roben  <aroben@apple.com>
1283
1284         Move printing from WebFrameBridge to WebChromeClient
1285
1286         Reviewed by Darin.
1287
1288         * WebCoreSupport/WebChromeClient.h: Updated for ChromeClient changes.
1289         * WebCoreSupport/WebChromeClient.mm:
1290         (WebChromeClient::print): Moved code from WebFrameBridge.
1291         * WebCoreSupport/WebFrameBridge.mm: Removed -print.
1292
1293 2007-07-16  Darin Adler  <darin@apple.com>
1294
1295         * StringsNotToBeLocalized.txt: Update for recent changes.
1296
1297 2007-07-16  John Sullivan  <sullivan@apple.com>
1298
1299         Reviewed by Kevin Decker and Darin Adler
1300         
1301         - fixed <rdar://problem/5337529> Holes in Find banner overlay on PDF pages are left in wrong place after changing scale
1302
1303         * WebView/WebPDFView.mm:
1304         (-[WebPDFView _scaleOrDisplayModeChanged:]):
1305         tell UI delegate that the entire PDF view has been redrawn
1306
1307 2007-07-14  Brady Eidson  <beidson@apple.com>
1308
1309         Reviewed by Sam Weinig
1310
1311         Initial check-in for <rdar://problem/3154486> - Supporting FTP directory listings in the browser
1312
1313         * WebView/WebPreferenceKeysPrivate.h: Added preference keys for the FTP template location, as well as to force 
1314           FTP directory listings, bypassing the policy delegate.  This is necessary to test the new feature until browser
1315           policy delegate support is added.
1316
1317         * WebView/WebPreferences.m:
1318         (-[WebPreferences _setFTPDirectoryTemplatePath:]):
1319         (-[WebPreferences _ftpDirectoryTemplatePath]):
1320         (-[WebPreferences _setForceFTPDirectoryListings:]):
1321         (-[WebPreferences _forceFTPDirectoryListings]):
1322         * WebView/WebPreferencesPrivate.h:
1323         * WebView/WebView.mm:
1324         (-[WebView _updateWebCoreSettingsFromPreferences:]):
1325
1326 2007-07-13  Anders Carlsson  <andersca@apple.com>
1327
1328         Reviewed by Maciej.
1329
1330         <rdar://problem/5290103> Assert failure when loading page with multipart resource
1331         
1332         Don't try to call the delegate method if the resource object doesn't exist in the 
1333         identifier map. When a multipart resource has finished loading one part, it is removed from the
1334         web view identifier map. 
1335         
1336         This is not an ideal fix, a better fix would be to special-case multipart resources and not remove
1337         them when the first part has finished loading. I've filed <rdar://problem/5335034> to track doing that.
1338         
1339         * WebCoreSupport/WebFrameLoaderClient.mm:
1340         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
1341         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
1342         (WebFrameLoaderClient::dispatchDidReceiveResponse):
1343         (WebFrameLoaderClient::willCacheResponse):
1344         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
1345         (WebFrameLoaderClient::dispatchDidFinishLoading):
1346         (WebFrameLoaderClient::dispatchDidFailLoading):
1347
1348 2007-07-13  Timothy Hatcher  <timothy@apple.com>
1349
1350         Reviewed by Oliver Hunt.
1351
1352         <rdar://problem/5333766> Can't include WebEditingDelegatePrivate.h
1353
1354         * WebView/WebEditingDelegatePrivate.h: Changed the include to be a framework include,
1355         so other projects can use this header.
1356
1357 2007-07-12  Anders Carlsson  <andersca@apple.com>
1358
1359         Reviewed by Darin and Maciej.
1360
1361         <rdar://problem/5271096> panic after Safari stress test, caused by port leak
1362
1363         Replace uses of -[NSObject performSelector:withObject:afterDelay:] with CFRunLoopTimer. performSelector
1364         causes the target (the WebHTMLView in this case) to be retained until the timer fires. Furthermore, when
1365         running the PLT or iBench, the timers will not fire until the main loop is entered (usually after running all tests).
1366         
1367         This means that the timers and ports will not be released until after the test has finished running.
1368         
1369         * WebView/WebHTMLView.mm:
1370         (-[WebHTMLViewPrivate dealloc]):
1371         (-[WebHTMLView _cancelUpdateMouseoverTimer]):
1372         (-[WebHTMLView _updateMouseoverWithFakeEvent]):
1373         (-[WebHTMLView _updateMouseoverTimerCallback:]):
1374         (-[WebHTMLView _frameOrBoundsChanged]):
1375         (-[WebHTMLView _updateActiveState]):
1376         (-[WebHTMLView _updateActiveStateTimerCallback:]):
1377         (-[WebHTMLView viewWillMoveToWindow:]):
1378         (-[WebHTMLView viewDidMoveToWindow]):
1379         (-[WebHTMLView mouseDown:]):
1380         (-[WebTextCompleteController dealloc]):
1381         * WebView/WebHTMLViewInternal.h:
1382
1383 2007-07-13  Mark Rowe  <mrowe@apple.com>
1384
1385         Reviewed by Mitz.
1386
1387         Build fix.  Stub out WebChromeClient::print.
1388
1389         * WebCoreSupport/WebChromeClient.h:
1390         * WebCoreSupport/WebChromeClient.mm:
1391         (WebChromeClient::print):
1392
1393 2007-07-11  Timothy Hatcher  <timothy@apple.com>
1394
1395         Reviewed by Oliver.
1396
1397         <rdar://problem/5108789> WEBVIEW: Drawing artifacts when dragging in IB
1398
1399         Interface Builder 3 is relying on KVO notifications for frameOrigin and frameSize,
1400         among other standard NSView keys. Change automaticallyNotifiesObserversForKey to 
1401         return NO only for keys WebView manually fires notifications for.
1402
1403         * WebView/WebView.mm:
1404         (+[WebView automaticallyNotifiesObserversForKey:]): Selectivly return NO for keys we manually fire.
1405         (-[WebView _declaredKeys]): Code clean up.
1406
1407 2007-07-10  Antti Koivisto  <antti@apple.com>
1408
1409         Reviewed by John.
1410         
1411         Fix <rdar://problem/4570550>
1412         Hang in layout/layoutBlock/layoutBlockChildren preparing to print certain Mail messages
1413         
1414         When printing from Mail, WebHTMLView is a subview of the view that is actually printed and does not 
1415         receive calls that would set it to printing mode. Method adjustPageHeightNew is called repeatedly (for each page) during
1416         printing and it enables printing mode temporarily for each call. This triggers two full style recalcs and layouts
1417         each time making printing at least O(n^2). 
1418
1419         Instead of enabling printing mode and resetting it back immediatly do the resetting asynchronously, after
1420         all adjustPageHeightNew calls are done. Normal Safari printing is not affected as adjustPageHeightNew is only
1421         called in case WebHTMLView is embedded in the view that is being printed.
1422         
1423         No automatic test possible, requires printing and non-Safari client.
1424         
1425         * WebView/WebHTMLView.mm:
1426         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
1427
1428 2007-07-10  Geoffrey Garen  <ggaren@apple.com>
1429
1430         Reviewed by Maciej Stachowiak.
1431
1432         - Fixed <rdar://problem/5049509> REGRESSION(10.4.9-9A377a): REAP Suite 
1433         installer shows empty modal alert window (hangs) if user cancels during
1434         "installing shared components" phase
1435         
1436         Added Adobe installers to the family of apps that need a data load
1437         loading quirk.
1438         
1439         Added a linked-on-or-after check because this code is no longer 
1440         Tiger-only.
1441         
1442         I tested this code on Tiger and Leopard.
1443
1444         * Misc/WebKitVersionChecks.h:
1445         * WebKit.xcodeproj/project.pbxproj:
1446         * WebView/WebDocumentLoaderMac.mm:
1447         (needsDataLoadWorkaround):
1448         (WebDocumentLoaderMac::setDataSource):
1449
1450 2007-07-10  Darin Adler  <darin@apple.com>
1451
1452         - fix build
1453
1454         * WebView/WebHTMLView.mm: Add include of ContextMenu.h.
1455
1456 2007-07-10  Darin Adler  <darin@apple.com>
1457
1458         Reviewed by John Sullivan.
1459
1460         - <rdar://problem/5321953> remove workaround for fixed AppKit mouse moved bug
1461
1462         * WebView/WebHTMLView.mm: Put the workaround for bug 3429631 inside an
1463         ifdef BUILDING_ON_TIGER.
1464
1465 2007-07-09  Anders Carlsson  <andersca@apple.com>
1466
1467         Reviewed by Oliver.
1468
1469         <rdar://problem/4954319> 
1470         Acrobat 7 / Safari crash: CrashTracer: 99 crashes in Safari at 
1471         com.apple.WebCore: WebCore::NetscapePlugInStreamLoader::isDone const + 0
1472
1473         Add a new initWithFrameLoader: method to WebNetscapePluginStream which is to be used when
1474         the stream is a "fake" stream for full frame plug-ins.
1475         
1476         * Plugins/WebBaseNetscapePluginView.mm:
1477         (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
1478         * Plugins/WebNetscapePluginStream.h:
1479         * Plugins/WebNetscapePluginStream.mm:
1480         (-[WebNetscapePluginStream initWithFrameLoader:]):
1481         (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
1482         (-[WebNetscapePluginStream start]):
1483         (-[WebNetscapePluginStream cancelLoadWithError:]):
1484         (-[WebNetscapePluginStream stop]):
1485         * WebCoreSupport/WebFrameLoaderClient.mm:
1486         (WebFrameLoaderClient::createFrame):
1487
1488 2007-07-09  John Sullivan  <sullivan@apple.com>
1489
1490         Reviewed by Darin
1491         
1492         - fixed <rdar://problem/5320208> WebKit should prevent Time Machine from backing up WebKit clients' icon databases
1493
1494         * Misc/WebIconDatabase.mm:
1495         (-[WebIconDatabase init]):
1496         Re-added the code to exclude the icon database from backups. We now do this at the same time we (try to) import
1497         the old icon database format, which happens only once per icon database's lifetime.
1498         (-[WebIconDatabase _importToWebCoreFormat]):
1499         Assert that we haven't imported yet rather than bailing out. It's now the caller's responsibility to check
1500         whether we've imported yet.
1501
1502 2007-07-08  John Sullivan  <sullivan@apple.com>
1503
1504         * Misc/WebIconDatabase.mm:
1505         (-[WebIconDatabase init]):
1506         Removed the code to exclude the icon database from backups. We still want to do this, but in a way
1507         that only runs once ever, instead of once per launch, due to performance concerns.
1508
1509 2007-07-07  Darin Adler  <darin@apple.com>
1510
1511         Reviewed by Maciej.
1512
1513         - fix <rdar://problem/5124665> WebCore secondary-thread assertion should use linked-on-or-after check instead of building on Tiger check
1514
1515         * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITH_MAIN_THREAD_EXCEPTIONS.
1516
1517         * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]): In first-time initialization block,
1518         check for binaries linked against older versions of WebKit, and set the default thread violation
1519         behavior to LogOnFirstThreadViolation.
1520
1521         * WebView/WebView.mm: (+[WebView initialize]): Improved comments.
1522
1523 2007-07-06  Oliver Hunt  <oliver@apple.com>
1524
1525         Reviewed by Maciej.
1526
1527         <rdar://problem/5318756> Need to refactor IM/Marked text code to share logic with windows.
1528
1529         Moved a number of methods from WebHTMLView into WebCore.
1530         Replaced bridge methods with calls directly into WebCore objects.
1531
1532         * WebKit.xcodeproj/project.pbxproj:
1533         * WebView/WebHTMLView.mm:
1534         (-[WebHTMLView setMarkedText:selectedRange:]):
1535           Now calls WebCore object methods directly, rather than calling 
1536           via the bridge.
1537
1538 2007-07-06  John Sullivan  <sullivan@apple.com>
1539
1540         Reviewed by Brady
1541
1542         - WebKit part of fix for: 
1543           <rdar://problem/5310739> Time Machine shouldn't back up WebKit's icon database files
1544
1545         * Misc/WebIconDatabase.mm:
1546         (-[WebIconDatabase init]):
1547         Use CSBackupSetItemExcluded to tell Time Machine not to back up the icon database file
1548
1549 2007-07-07  Mark Rowe  <mrowe@apple.com>
1550
1551         Build fix.  Update WebDynamicScrollBarsView.h to include methods added and used in r24060.
1552
1553         * WebView/WebDynamicScrollBarsView.h:
1554
1555 2007-07-05  Timothy Hatcher  <timothy@apple.com>
1556
1557         Reviewed by John.
1558
1559         <rdar://problem/5236277> REGRESSION-9A458: SPI for setting scroll bar behavior doesn't work
1560
1561         Calling setHorizontalScrollingMode: calls updateScrollers before returning, this will cause
1562         WebCore to reset the scrolling mode based on the CSS overflow rules. So the setAlwaysShowHorizontalScroller:
1563         and setAlwaysShowVerticalScroller: methods needed a way to lock the scrolling mode before
1564         calling updateScrollers.
1565
1566         * WebView/WebDynamicScrollBarsView.m:
1567         (-[WebDynamicScrollBarsView updateScrollers]):
1568         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
1569         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]):
1570         (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
1571         (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]):
1572         (-[WebDynamicScrollBarsView setScrollingMode:]):
1573         (-[WebDynamicScrollBarsView setScrollingMode:andLock:]):
1574         * WebView/WebView.mm:
1575         (-[WebView setAlwaysShowVerticalScroller:]):
1576         (-[WebView setAlwaysShowHorizontalScroller:]):
1577
1578 2007-07-06  Mitz Pettel  <mitz@webkit.org>
1579
1580         Reviewed by Maciej.
1581
1582         - fix http://bugs.webkit.org/show_bug.cgi?id=10267
1583           Can't scroll page downwards with scroll wheel, when pointer is on top of non-scrolling iframe
1584
1585         * WebView/WebDynamicScrollBarsView.m:
1586         (-[WebDynamicScrollBarsView scrollWheel:]): Override the superclass
1587         implementation to forward the wheel event to the next responder if this view
1588         does not allow scrolling in the event's direction.
1589
1590 2007-07-05  John Sullivan  <sullivan@apple.com>
1591
1592         Reviewed by Adam
1593         
1594         - WebKit part of fix for <rdar://problem/5315033>
1595
1596         * WebView/WebDocumentPrivate.h:
1597         new selectionImageForcingBlackText: method. selectionImageForcingWhiteText: is no longer used and was never
1598         in an official release of WebKit, so it could be removed, except that doing so would cause trouble for people
1599         using nightly WebKit with Safari 3.0 beta. So I left it in, but made it just force black text instead of
1600         white text, which will look different for those nightly WebKit/Safari 3.0 beta people but not break anything.
1601         
1602         * Misc/WebSearchableTextView.m:
1603         (-[WebSearchableTextView selectionImageForcingBlackText:]):
1604         new unimplemented protocol method for this obsolete class
1605         
1606         * WebView/WebHTMLView.mm:
1607         (-[WebHTMLView selectionImageForcingBlackText:]):
1608         calls through to WebCore the way selectionImageForcingWhiteText: used to
1609         (-[WebHTMLView selectionImageForcingWhiteText:]):
1610         now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
1611         
1612         * WebView/WebPDFView.mm:
1613         (-[WebPDFView selectionImageForcingBlackText:]):
1614         guts of old selectionImageForcingWhiteText:, but with black substituted for white
1615         (-[WebPDFView selectionImageForcingWhiteText:]):
1616         now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
1617
1618 2007-07-05  Timothy Hatcher  <timothy@apple.com>
1619
1620         Reviewed by John.
1621
1622         <rdar://problem/5314993> Shiira 2.1 throws an exception open a new window: -[WebInspector window]: unrecognized selector
1623
1624         Add an empty implementation of this method to prevent Shiira from throwing an exception.
1625         Also log that this method is obsolete and the class will be removed.
1626
1627         * WebInspector/WebInspector.mm:
1628         (-[WebInspector window]):
1629
1630 2007-07-04  Adam Roben  <aroben@apple.com>
1631
1632         Move tooltip logic down into WebCore so that it can be shared cross-platform
1633
1634         Reviewed by Sam.
1635
1636         * WebCoreSupport/WebChromeClient.h:
1637         * WebCoreSupport/WebChromeClient.mm:
1638         (WebChromeClient::setToolTip): Added.
1639         * WebView/WebHTMLView.mm: Removed _resetCachedWebPreferences.
1640         (-[WebHTMLView _updateMouseoverWithEvent:]): Removed tooltip code.
1641         (-[WebHTMLView initWithFrame:]): Removed call to
1642         _resetCachedWebPreferences.
1643         (-[WebHTMLView setDataSource:]): Ditto.
1644         * WebView/WebHTMLViewInternal.h: Removed showsURLsInToolTips ivar.
1645         * WebView/WebHTMLViewPrivate.h: Added declaration for _setTooltip so
1646         that WebChromeClient can call it.
1647
1648 2007-07-04  Adam Roben  <aroben@apple.com>
1649
1650         Initialize Settings::showsURLsInToolTips
1651
1652         Reviewed by Sam.
1653
1654         * WebView/WebView.mm:
1655         (-[WebView _updateWebCoreSettingsFromPreferences:]):
1656
1657 2007-07-04  Adam Roben  <aroben@apple.com>
1658
1659         Removed call to mouseDidMoveOverElement now that WebCore handles it
1660
1661         Reviewed by Sam.
1662
1663         * WebView/WebHTMLView.mm:
1664         (-[WebHTMLView _updateMouseoverWithEvent:]):
1665
1666 2007-07-04  Adam Roben  <aroben@apple.com>
1667
1668         Add WebChromeClient::mouseDidMoveOverElement
1669
1670         This is not called yet.
1671
1672         Reviewed by Sam.
1673
1674         * WebCoreSupport/WebChromeClient.h:
1675         * WebCoreSupport/WebChromeClient.mm:
1676
1677 2007-07-03  Darin Adler  <darin@apple.com>
1678
1679         * StringsNotToBeLocalized.txt: Updated for recent changes.
1680
1681 2007-07-03  Timothy Hatcher  <timothy@apple.com>
1682
1683         Reviewed by Darin.
1684
1685         Remove HIWebView in 64-bit.
1686
1687         Also disable a few calls that are now gone in 64-bit and filed these bugs:
1688
1689         <rdar://problem/5311653> WebKit needs to adopt HIGetMousePosition where we used GetGlobalMouse before
1690         <rdar://problem/5311648> WebKit needs to move off of CopyEvent in WebBaseNetscapePluginView
1691         <rdar://problem/5311640> WebKit needs a new solution for HISearchWindowShow on 64-bit
1692
1693         * Carbon/CarbonUtils.m:
1694         * Carbon/CarbonWindowAdapter.m:
1695         * Carbon/CarbonWindowContentView.m:
1696         * Carbon/CarbonWindowFrame.m:
1697         * Carbon/HIViewAdapter.m:
1698         (SetViewNeedsDisplay):
1699         * Carbon/HIWebView.m:
1700         (Draw):
1701         (SyncFrame):
1702         * Configurations/WebKit.xcconfig:
1703         * Plugins/WebBaseNetscapePluginView.mm:
1704         (+[WebBaseNetscapePluginView getCarbonEvent:]):
1705         (TSMEventHandler):
1706         * WebKit.LP64.exp: Added.
1707         * WebView/WebView.mm:
1708         (-[WebView _searchWithSpotlightFromMenu:]):
1709
1710 2007-07-03  Adam Roben  <aroben@apple.com>
1711
1712         Merge the Windows and Mac localized strings and exceptions files
1713
1714         Reviewed by Darin and Anders.
1715
1716         * English.lproj/Localizable.strings: Added Windows strings.
1717         * StringsNotToBeLocalized.txt: Renamed from WebKit/English.lproj/StringsNotToBeLocalized.txt.
1718
1719 2007-07-03  Adele Peterson  <adele@apple.com>
1720
1721         Removed printf I accidently left in.
1722
1723         * Misc/WebNSURLExtras.m: (mapHostNames):
1724
1725 2007-07-03  Adele Peterson  <adele@apple.com>
1726
1727         Reviewed by Darin.
1728
1729         Fix for: <rdar://problem/5292988> domain names shouldn't contain ignorable characters
1730
1731         * Misc/WebNSURLExtras.m:
1732         (isLookalikeCharacter): Renamed.  Also excludes any non-printable character, 
1733          any character considered as whitespace that isn't already converted to a space by ICU, any ignorable character,
1734          and any character excluded in Mozilla's blacklist: http://kb.mozillazine.org/Network.IDN.blacklist_chars
1735         (allCharactersInIDNScriptWhiteList):
1736
1737 2007-07-03  Darin Adler  <darin@apple.com>
1738
1739         Reviewed by Maciej.
1740
1741         - fix <rdar://problem/5310848> WebDataSource lifetime problem -- may be cause of the leaks seen on the buildbot
1742
1743         * WebView/WebDataSource.mm:
1744         (-[WebDataSourcePrivate dealloc]): Added a call to the new detachDataSource function.
1745         (-[WebDataSourcePrivate finalize]): Ditto.
1746
1747         * WebView/WebDocumentLoaderMac.h: Added detachDataSource function to be used when the
1748         WebDataSource is deallocated. Added retain/releaseDataSource helper functions to be
1749         used to retain and release the data source object. Replaced the m_hasEverBeenDetached
1750         boolean with a more primitive and hence easier to understand m_isDataSourceRetained boolean.
1751
1752         * WebView/WebDocumentLoaderMac.mm:
1753         (WebDocumentLoaderMac::WebDocumentLoaderMac): Initialize m_isDataSourceRetained to false.
1754         (WebDocumentLoaderMac::setDataSource): Call retainDataSource instead of calling HardRetain
1755         on the dataSource parameter. Also updated a comment.
1756         (WebDocumentLoaderMac::attachToFrame): Call retainDataSource unconditionally rather than
1757         trying to use m_hasEverBeenDetached to decide if a retain is needed. Also got rid of an
1758         assertion that m_loadingResources is empty -- not important any more.
1759         (WebDocumentLoaderMac::detachFromFrame): Call releaseDataSource instead of using
1760         HardRelease, but only if m_loadingResources is empty. If it's non-empty, then we'll
1761         do the releaseDataSource later in decreaseLoadCount.
1762         (WebDocumentLoaderMac::increaseLoadCount): Call retainDataSource unconditionally
1763         rather than calling HardRetain only if the old set of resources was empty.
1764         (WebDocumentLoaderMac::decreaseLoadCount): Call releaseDataSource if m_loadingResources
1765         is empty and we're not attached to a frame. If we are attached to a frame, then
1766         we'll do the releaseDataSource later in detachFromFrame.
1767         (WebDocumentLoaderMac::retainDataSource): Added. Calls CFRetain, but only if the data
1768         source is not already retained (according to the boolean).
1769         (WebDocumentLoaderMac::releaseDataSource): Added. Calls CFRelease, but only if the data
1770         source is currently retained (according to the boolean).
1771         (WebDocumentLoaderMac::detachDataSource): Added. Sets m_dataSource to nil. Since this
1772         is only called from WebDataSource's dealloc and finalize methods, it won't ever be called
1773         when the m_isDataSourceRetained boolean is true.
1774
1775 2007-07-03  Darin Adler  <darin@apple.com>
1776
1777         - forgot to check in one file in the fix for <rdar://problem/5307880>
1778           some classes need finalize methods because of non-trivial work done in dealloc methods
1779
1780         * WebView/WebView.mm: (-[WebViewPrivate finalize]): Delete identifierMap so it doesn't leak.
1781
1782 2007-07-03  Anders Carlsson  <andersca@apple.com>
1783
1784         Reviewed by Darin.
1785
1786         * WebView/WebView.mm:
1787         (-[WebView stringByEvaluatingJavaScriptFromString:]):
1788         ASSERT that the value returned isn't nil. It can't be nil when invoked on the main frame.
1789
1790 2007-07-04  Mark Rowe  <mrowe@apple.com>
1791
1792         Unreviewed 64-bit build fixes.
1793
1794         * WebCoreSupport/WebInspectorClient.mm: Let the compiler know that WebFrameView is a subclass of NSView.
1795         * WebView/WebDocumentInternal.h: Remove our preprocessor macro once we're done with it.
1796         * WebView/WebHTMLView.mm:
1797         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Fix argument types.
1798
1799 2007-07-02  Darin Adler  <darin@apple.com>
1800
1801         Reviewed by Kevin Decker and Tim Hatcher.
1802
1803         - fix <rdar://problem/5307880> some classes need finalize methods
1804           because of non-trivial work done in dealloc methods
1805
1806         * DefaultDelegates/WebScriptDebugServer.m:
1807         (-[WebScriptDebugServer dealloc]): Added a comment about how this probably won't
1808         work under GC.
1809         * WebInspector/WebNodeHighlight.m:
1810         (-[WebNodeHighlight dealloc]): Ditto.
1811
1812         * WebView/WebDataSource.mm:
1813         (+[WebDataSourcePrivate initialize]): Added. Makes finalize run on main thread.
1814         (-[WebDataSourcePrivate finalize]): Added. Calls deref on the document loader.
1815         * WebView/WebHTMLView.mm:
1816         (+[WebHTMLViewPrivate initialize]): Added. Makes finalize run on main thread.
1817         (-[WebHTMLViewPrivate finalize]): Added. Calls deref on promisedDragTIFFDataSource.
1818
1819         * WebKit.xcodeproj/project.pbxproj: Let Xcode be Xcode.
1820
1821 2007-07-02  Oliver Hunt  <oliver@apple.com>
1822
1823         Reviewed by Justin.
1824
1825         Fix for 
1826           <rdar://problem/5290113> WebKit does not correctly handle replacement ranges from the IM in -[WebHTMLView insertText:]
1827           http://bugs.webkit.org/show_bug.cgi?id=13664
1828
1829         We replicate the logic of -[WebHTMLView setMarkedText:selectedRange:] to handle the Input Method 
1830         feeding us a replacement string through insertText: so we can handle IMs that use insertText to
1831         replace text.
1832
1833         * WebView/WebHTMLView.mm:
1834         (-[WebHTMLView insertText:]):
1835
1836 2007-07-01  Oliver Hunt  <oliver@apple.com>
1837
1838         Reviewed by Alexey.
1839
1840         Fix for <rdar://problem/5306210> Some events are still passed to WebCore despite being handled by the IM
1841         http://bugs.webkit.org/show_bug.cgi?id=14457
1842
1843         We have to assume that the IM will consume all events, so we remove the dependency
1844         on -[WebHTMLView hasMarkedText].
1845
1846         * WebView/WebHTMLView.mm:
1847         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
1848
1849 2007-06-29  John Sullivan  <sullivan@apple.com>
1850
1851         Reviewed by Oliver Hunt.
1852
1853         - WebKit support for accessing the set of rectangles that encompass the selected text
1854
1855         * WebView/WebDocumentPrivate.h:
1856         added -selectionTextRects to WebDocumentSelection protocol; tweaked comments
1857
1858         * WebView/WebHTMLView.mm:
1859         (-[WebHTMLView _selectionDraggingRect]):
1860         use selectionRect instead of selectionImageRect since they're the same and maybe we can get
1861         rid of selectionImageRect someday
1862         (-[WebHTMLView selectionTextRects]):
1863         added implementation of new protocol method, which calls through to WebCore
1864         
1865         * WebView/WebPDFView.mm:
1866         (-[WebPDFView selectionTextRects]):
1867         added simple implementation of new protocol method, which just returns the single selection rect.
1868         PDFKit doesn't support obtaining multiple rects to describe a multi-line selection.
1869         (-[WebPDFView selectionImageForcingWhiteText:]):
1870         use selectionRect instead of selectionImageRect since they're the same and maybe we can get
1871         rid of selectionImageRect someday
1872         
1873         * Misc/WebSearchableTextView.m:
1874         (-[WebSearchableTextView selectionTextRects]):
1875         added no-op implementation of new protocol method to this obsolete class
1876
1877 2007-06-28  Timothy Hatcher  <timothy@apple.com>
1878
1879         Reviewed by Darin.
1880
1881         <rdar://problem/5287569> WEBVIEW: Creating a webview in IB 3.0 (v2.0) NIB later crashes Interface Builder 2.5.4 on Tiger
1882
1883         Prevent encoding any of the WebView subviews. The subviews are ignored by -[WebView initWithCoder:] and will be recreated.
1884         The Tiger 2.0 code crashed when the WebView released the subviews in initWithCoder:, so now there are no subviews to release.
1885         This never happened before because the Tiger 2.0 code and IB wouldn't encode a WebView that has a WebHTMLView.
1886
1887         * WebView/WebView.mm:
1888         (-[WebView encodeWithCoder:]):
1889
1890 2007-06-26  John Sullivan  <sullivan@apple.com>
1891
1892         Reviewed by Darin
1893         
1894         - WebKit support for displaying multiple text matches in PDF views (<rdar://problem/4601967>)
1895
1896         * WebView/WebPDFView.h:
1897         new ivars textMatches and lastScrollPosition; now conforms to WebMultipleTextMatches protocol
1898         
1899         * WebView/WebPDFView.mm:
1900         (-[WebPDFView dealloc]):
1901         release textMatches
1902         (-[WebPDFView viewDidMoveToWindow]):
1903         start observing bounds changes in the PDF document's enclosing clip view, so we can notice when
1904         scrolling takes place
1905         (-[WebPDFView viewWillMoveToWindow:]):
1906         stop observing bounds changes in the PDF document's enclosing clip view
1907         (-[WebPDFView searchFor:direction:caseSensitive:wrap:startInSelection:]):
1908         most of the code here has been moved into the new method _nextMatchFor::::, which this now calls
1909         (-[WebPDFView setMarkedTextMatchesAreHighlighted:]):
1910         implementation of WebMultipleTextMatches protocol method, does nothing useful here because we don't
1911         support inline highlighting of matches in PDF documents
1912         (-[WebPDFView markedTextMatchesAreHighlighted]):
1913         implementation of WebMultipleTextMatches protocol method
1914         (-[WebPDFView markAllMatchesForText:caseSensitive:limit:]):
1915         implementation of WebMultipleTextMatches protocol method; calls _nextMatchFor:::: in a loop until
1916         entire document is searched or limit is hit; records results by saving PDFSelections in textMatches ivar
1917         (-[WebPDFView unmarkAllTextMatches]):
1918         implementation of WebMultipleTextMatches protocol method; clears saved textMatches
1919         (-[WebPDFView rectsForTextMatches]):
1920         implementation of WebMultipleTextMatches protocol method; converts saved PDFSelections into NSValue 
1921         objects that represent NSRects
1922         (-[WebPDFView _clipViewForPDFDocumentView]):
1923         new helper method to find the clip view whose bounds determine the current scroll position
1924         (-[WebPDFView _nextMatchFor:direction:caseSensitive:wrap:fromSelection:startInSelection:]):
1925         new helper method, extracted from searchFor:::::
1926         (-[WebPDFView _PDFDocumentViewMightHaveScrolled:]):
1927         new notification callback; tells webView's delegate when document has scrolled
1928         (-[WebPDFView _setTextMatches:]):
1929         new helper method, stores value in ivar
1930
1931 2007-06-26  Oliver Hunt  <oliver@apple.com>
1932
1933         Reviewed by Maciej.
1934
1935         Hopefully fix remainder of the IME issues on Mac.  
1936         We now assume that the IME silently consumes any event given
1937         to it during text composition, and only override this assumption
1938         if the NSTextInput or NSResponder callbacks are made.
1939
1940         This prevents us from treating those events that the IME has 
1941         consumed internally (eg. candidate window navigation) as unhandled
1942         events that should be bubbled.
1943
1944         This fixes:
1945           <rdar://problem/5107538> Major problems handling key press event with non-english Input Methods
1946           <rdar://problem/4196249> REGRESSION: Mail: Inputting space (U+0020) with IM deletes subsequent line breaks on Mail.app
1947           <rdar://problem/5015544> REGRESSION: Reverse conversion keyboard command does not work in Safari.
1948           <rdar://problem/5045121> REGRESSION: Inline is confirmed after press left/right arrow keys, happens in Mail but not in TextEdit.
1949           <rdar://problem/5076807> REGRESSION: Can't undo conversion of inline text (by hitting ESC)
1950           <rdar://problem/5085781> REGRESSION: Active input area lost "selected" highlight
1951           <rdar://problem/5094200> space key pressed to close the associated words candidate window gets inserted as text
1952           <rdar://problem/5228294> Candidate item for character matrix is sometimes skipped
1953
1954         * WebKit.xcodeproj/project.pbxproj:
1955         * WebView/WebHTMLView.mm:
1956         (-[WebHTMLView launchKeyEvent:]):
1957         (-[WebHTMLView keyDown:]):
1958         (-[WebHTMLView keyUp:]):
1959         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
1960         (-[WebHTMLView unmarkText]):
1961         (-[WebHTMLView setMarkedText:selectedRange:]):
1962         (-[WebHTMLView doCommandBySelector:]):
1963         (-[WebHTMLView insertText:]):
1964
1965 2007-06-26  Jim Correia  <jim.correia@pobox.com>
1966
1967         Reviewed by Darin.
1968
1969         Fix http://bugs.webkit.org/show_bug.cgi?id=14411
1970         Bug 14411: WebNetscapePluginPackage overagressively sets CurApRefNum, which affects shipping versions of BBEdit.
1971         <rdar://problem/5297268>
1972
1973         * Plugins/WebNetscapePluginPackage.m:
1974         (+[WebNetscapePluginPackage initialize]): Force the Resource Manager to
1975         lazy initialize, and only set CurApRefNum to the system file if
1976         CurApRefNum is still -1 after that forced lazy initialization.
1977
1978 2007-06-25  Kevin Decker  <kdecker@apple.com>
1979
1980         Reviewed by Darin.
1981
1982         <rdar://problem/5294036> -[WebView customTextEncodingName] API may return empty string instead of nil
1983
1984         * WebView/WebView.mm:
1985         (-[WebView _mainFrameOverrideEncoding]): Addded the nsStringNilIfEmpty() inline to the data being returned because 
1986         our API says "The custom text encoding name or nil if no custom text encoding name has been set." I also verified
1987         the standing Tiger WebKit behavior for this method and it does indeed return nil if a custom encoding wasn't set.
1988
1989 2007-06-25  John Sullivan  <sullivan@apple.com>
1990
1991         Reviewed by Darin
1992         
1993         - WebKit part of <rdar://problem/5293820>, needed to support multiple matches in PDFs
1994
1995         * WebView/WebDocumentInternal.h:
1996         Added WebMultipleTextMatches protocol, containing five methods that were formerly implemented in WebHTMLView
1997         * WebView/WebHTMLViewPrivate.h:
1998         Removed declarations for the methods that are now in WebMultipleTextMatches protocol
1999         
2000         * WebView/WebHTMLView.mm:
2001         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]):
2002         moved this method into the WebDocumentInternalProtocols portion of the file
2003         (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
2004         ditto
2005         (-[WebHTMLView markedTextMatchesAreHighlighted]):
2006         ditto
2007         (-[WebHTMLView unmarkAllTextMatches]):
2008         ditto
2009         (-[WebHTMLView rectsForTextMatches]):
2010         ditto
2011
2012         * WebView/WebView.mm:
2013         (-[WebView canMarkAllTextMatches]):
2014         new method, returns YES only if the documentView of every frame implements WebMultipleTextMatches
2015         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
2016         check for WebMultipleTextMatches protocol instead of checking for WebHTMLView class
2017         (-[WebView unmarkAllTextMatches]):
2018         ditto
2019         (-[WebView rectsForTextMatches]):
2020         ditto
2021
2022         * WebView/WebViewPrivate.h:
2023         declared new method canMarkAllTextMatches
2024
2025 2007-06-25  John Sullivan  <sullivan@apple.com>
2026
2027         Reviewed by Darin
2028         
2029         Fixed <rdar://problem/5292259> Find on Page doesn't work (throws exception) on page that includes PDF in a subframe
2030
2031         * WebView/WebView.mm:
2032         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
2033         We were testing whether the view was an HTMLView, but then running code that assumed it was an HTMLView outside of
2034         that test. That's a bad idea.
2035
2036 2007-06-22  Adele Peterson  <adele@apple.com>
2037
2038         Reviewed by Geoff and Darin.
2039
2040         Fix for: <rdar://problem/5239236> Other slash characters should not be permitted as part of a domain name
2041
2042         * Misc/WebNSURLExtras.m:
2043         (isSlashOrPeriodLookalike):
2044         (allCharactersInIDNScriptWhiteList):
2045
2046 2007-06-21  Sam Weinig  <sam@webkit.org>
2047
2048         Reviewed by Antti.
2049
2050         Remove empty directories
2051
2052         * WebInspector/webInspector: directory removed.
2053         * WebInspector/webInspector/Images: directory removed
2054
2055 2007-06-21  Justin Garcia  <justin.garcia@apple.com>
2056
2057         Reviewed by Tim.
2058         
2059         <rdar://problem/5237524> 
2060         REGRESSION: Keyboard commands don't work in a message window until you click inside the message
2061         
2062         When you open a message in its own window, Mail creates an empty 
2063         WebView, makes that WebView firstResponder and then sets off a 
2064         load inside that WebView.
2065         
2066         When we're asked to create the empty WebView, we put an empty 
2067         WebHTMLView inside it (in r21367 we began creating a document 
2068         for empty frames).  When Mail makes the WebView first responder 
2069         we make that empty WebHTMLView firstResponder.  Then when the 
2070         load finishes we create a new WebHTMLView and set it as the 
2071         document view.  
2072         
2073         Inside _setDocumentView, if the old document view or one of its
2074         descendants was the first responder, we'd makeFirstResponder:nil 
2075         so that the window wouldn't be left with a firstResponder that 
2076         was no longer inside of it.  This change fixes the bug by instead 
2077         transferring firstResponder status to the new document view.
2078         
2079         We could also fix this by not allowing the WebHTMLView to become
2080         firstResponder when it's in the provisional state mentioned above.
2081
2082         * WebView/WebFrameView.mm:
2083         (-[WebFrameView _setDocumentView:]):
2084
2085 2007-06-21  John Sullivan  <sullivan@apple.com>
2086
2087         Reviewed by Adele
2088         
2089         - fixed <rdar://problem/5268673> REGRESSION: Context menu missing for PDF in frame when there's no selection
2090         
2091         This was surprisingly interesting. It turns out that at least for Safari, the method [WebDefaultUIDelegate
2092         webView:contextMenuItemsForElement:defaultMenuItems:] is only exercised from WebPDFView these days. It mimics
2093         some of the code that was moved to WebCore as part of the Great Context Menu Refactoring of 2006, but is
2094         independent of that code. And it was partly broken/incomplete, probably as a result of said refactoring.
2095
2096         * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
2097         (localizedMenuTitleFromAppKit()):
2098         deleted this function since I removed all callers
2099         (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
2100         Handle WebMenuItemTagOpenFrameInNewWindow tag, since code later in this file was relying on it. Added
2101         ASSERT_NOT_REACHED to the default case, since returning nil from this method is bad.
2102         Also, use WebKit versions of menu title strings rather than AppKit versions. We added these strings to WebKit 
2103         a while back so we don't need to sneakily find them in AppKit anymore.
2104         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
2105         make the WebView be the target of the Open Frame in New Window item; previously it was self, but that was
2106         just silly (probably a leftover from some code shuffling when context menus were reimplemented)
2107
2108         * WebView/WebView.mm:
2109         (-[WebView _openFrameInNewWindowFromMenu:]):
2110         new method, used by Open Frame in New Window menu item.
2111
2112         * WebView/WebViewInternal.h:
2113         Declare new method used by menu item. This isn't necessary for compilation, but could prevent the accidental
2114         deletion of the method implementation.
2115
2116 2007-06-20  Mark Rowe  <mrowe@apple.com>
2117
2118         Reviewed by Adam.
2119
2120         Fix http://bugs.webkit.org/show_bug.cgi?id=14255.
2121         Bug 14255: Reproducible crash opening web inspector from debug menu
2122
2123         Reinstate the WebInspector class so WebKit clients that currently depend on it
2124         will build and run correctly.
2125
2126         * WebInspector/WebInspector.h: Added.
2127         * WebInspector/WebInspector.mm: Added.
2128         (+[WebInspector webInspector]):
2129         (-[WebInspector dealloc]):
2130         (-[WebInspector setWebFrame:]):
2131         (-[WebInspector showWindow:]):
2132         * WebKit.exp:
2133         * WebKit.xcodeproj/project.pbxproj:
2134
2135 2007-06-20  Adam Roben  <aroben@apple.com>
2136
2137         Land the new Inspector.
2138
2139         Co-written with Tim Hatcher.
2140
2141         Reviewed by Anders, Adele, Hyatt, and Sam.
2142
2143         Implement the InspectorClient interface.
2144
2145         * WebCoreSupport/WebInspectorClient.h: Added.
2146         * WebCoreSupport/WebInspectorClient.mm: Added.
2147         (WebInspectorClient::WebInspectorClient):
2148         (WebInspectorClient::inspectorDestroyed):
2149         (WebInspectorClient::createPage):
2150         (WebInspectorClient::showWindow):
2151         (WebInspectorClient::closeWindow):
2152         (WebInspectorClient::attachWindow):
2153         (WebInspectorClient::detachWindow):
2154         (WebInspectorClient::highlight):
2155         (WebInspectorClient::hideHighlight):
2156         (WebInspectorClient::inspectedURLChanged):
2157         (WebInspectorClient::updateWindowTitle):
2158         (-[WebInspectorWindowController init]):
2159         (-[WebInspectorWindowController initWithInspectedWebView:]):
2160         (-[WebInspectorWindowController dealloc]):
2161         (-[WebInspectorWindowController inspectorVisible]):
2162         (-[WebInspectorWindowController webView]):
2163         (-[WebInspectorWindowController window]):
2164         (-[WebInspectorWindowController windowShouldClose:]):
2165         (-[WebInspectorWindowController close]):
2166         (-[WebInspectorWindowController showWindow:]):
2167         (-[WebInspectorWindowController attach]):
2168         (-[WebInspectorWindowController detach]):
2169         (-[WebInspectorWindowController highlightAndScrollToNode:]):
2170         (-[WebInspectorWindowController highlightNode:]):
2171         (-[WebInspectorWindowController hideHighlight]):
2172         (-[WebInspectorWindowController animationDidEnd:]):
2173
2174         Add an easier-to-see highlight.
2175
2176         * Misc/WebNSViewExtras.h:
2177         * Misc/WebNSViewExtras.m:
2178         (-[NSView _web_convertRect:toView:]):
2179         * WebInspector/WebNodeHighlight.h:
2180         * WebInspector/WebNodeHighlight.m:
2181         (-[WebNodeHighlightFadeInAnimation setCurrentProgress:]):
2182         (-[WebNodeHighlight initWithTargetView:]):
2183         (-[WebNodeHighlight setHighlightedNode:]):
2184         (-[WebNodeHighlight highlightedNode]):
2185         (-[WebNodeHighlight dealloc]):
2186         (-[WebNodeHighlight attachHighlight]):
2187         (-[WebNodeHighlight delegate]):
2188         (-[WebNodeHighlight detachHighlight]):
2189         (-[WebNodeHighlight show]):
2190         (-[WebNodeHighlight hide]):
2191         (-[WebNodeHighlight animationDidEnd:]):
2192         (-[WebNodeHighlight ignoresMouseEvents]):
2193         (-[WebNodeHighlight highlightView]):
2194         (-[WebNodeHighlight setDelegate:]):
2195         (-[WebNodeHighlight setHolesNeedUpdateInTargetViewRect:]):
2196         (-[WebNodeHighlight setIgnoresMouseEvents:]):
2197         (-[WebNodeHighlight targetView]):
2198         (-[WebNodeHighlight _computeHighlightWindowFrame]):
2199         (-[WebNodeHighlight _repositionHighlightWindow]):
2200         * WebInspector/WebNodeHighlightView.h:
2201         * WebInspector/WebNodeHighlightView.m:
2202         (-[WebNodeHighlightView initWithWebNodeHighlight:]):
2203         (-[WebNodeHighlightView dealloc]):
2204         (-[WebNodeHighlightView detachFromWebNodeHighlight]):
2205         (-[WebNodeHighlightView drawRect:]):
2206         (-[WebNodeHighlightView webNodeHighlight]):
2207         (-[WebNodeHighlightView fractionFadedIn]):
2208         (-[WebNodeHighlightView setFractionFadedIn:]):
2209         (-[WebNodeHighlightView setHolesNeedUpdateInRect:]):
2210         (-[WebNodeHighlightView _holes]):
2211
2212         WebView changes needed for the new Inspector.
2213
2214         * WebView/WebView.mm: Remove the old _inspectElement method now that
2215         this is handled by WebCore.
2216         (-[WebView _isClosed]): Added.
2217         (-[WebView initWithFrame]): Give each Page an InspectorClient to
2218         enable the Inspector.
2219         * WebView/WebViewPrivate.h:
2220
2221         Updates needed for WebCore changes.
2222
2223         * WebCoreSupport/WebContextMenuClient.h:
2224         * WebCoreSupport/WebContextMenuClient.mm:
2225         * WebCoreSupport/WebViewFactory.mm:
2226         (-[WebViewFactory contextMenuItemTagInspectElement]):
2227         * WebView/WebUIDelegatePrivate.h:
2228
2229         Remove old Inspector code.
2230
2231         * WebCoreSupport/WebFrameLoaderClient.mm:
2232         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
2233         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
2234         (WebFrameLoaderClient::dispatchDidFinishLoading):
2235         * WebInspector/WebInspector.m: Removed.
2236         * WebInspector/WebInspectorPanel.h: Removed.
2237         * WebInspector/WebInspectorPanel.m: Removed.
2238         * WebInspector/webInspector/Images/button.png: Removed.
2239         * WebInspector/webInspector/Images/buttonDivider.png: Removed.
2240         * WebInspector/webInspector/Images/buttonPressed.png: Removed.
2241         * WebInspector/webInspector/Images/close.png: Removed.
2242         * WebInspector/webInspector/Images/closePressed.png: Removed.
2243         * WebInspector/webInspector/Images/downTriangle.png: Removed.
2244         * WebInspector/webInspector/Images/menu.png: Removed.
2245         * WebInspector/webInspector/Images/menuPressed.png: Removed.
2246         * WebInspector/webInspector/Images/popup.png: Removed.
2247         * WebInspector/webInspector/Images/popupPressed.png: Removed.
2248         * WebInspector/webInspector/Images/resize.png: Removed.
2249         * WebInspector/webInspector/Images/rightTriangle.png: Removed.
2250         * WebInspector/webInspector/Images/scrollThumbBottom.png: Removed.
2251         * WebInspector/webInspector/Images/scrollThumbMiddle.png: Removed.
2252         * WebInspector/webInspector/Images/scrollTrackBottom.png: Removed.
2253         * WebInspector/webInspector/Images/upTriangle.png: Removed.
2254         * WebInspector/webInspector/inspector.css: Removed.
2255         * WebInspector/webInspector/inspector.html: Removed.
2256         * WebInspector/webInspector/inspector.js: Removed.
2257         * WebInspector/webInspector/scrollarea.js: Removed.
2258         * WebInspector/webInspector/scrollbar.js: Removed.
2259         * WebInspector/webInspector/utilities.js: Removed.
2260         * WebView/WebFrame.mm:
2261         (-[WebFramePrivate dealloc]):
2262         * WebView/WebFrameInternal.h:
2263         * WebView/WebHTMLView.mm:
2264         (-[WebHTMLView menuForEvent:]):
2265
2266         Build-fu:
2267
2268         * WebKit.exp:
2269         * WebKit.xcodeproj/project.pbxproj:
2270
2271 2007-06-20  Justin Garcia  <justin.garcia@apple.com>
2272
2273         Reviewed by Darin.
2274         
2275         <rdar://problem/5263541> REGRESSION (Safari 3 Beta 1): Pressing Delete doesn't delete an HTML message in Mail
2276         
2277         Mail wasn't receiving the keyDown event because WebFrameView was blocking it.
2278         It blocks the event and moves back/forward on Delete/Shift+Delete if the
2279         back/forward list is enabled.
2280
2281         * WebView/WebFrameView.mm:
2282         (-[WebFrameView keyDown:]): Check to see if the BackForwardList is
2283         enabled.  It always exists.
2284
2285 2007-06-19  Anders Carlsson  <andersca@apple.com>
2286
2287         Reviewed by Kevin Decker.
2288
2289         <rdar://problem/5266289> REGRESSION (Safari 3 Beta 1): Incoming iChat messages are delayed
2290
2291         * WebView/WebDocumentLoaderMac.mm:
2292         (needsAppKitWorkaround):
2293         New function which checks if the frame load delegate belongs to AppKit.
2294         
2295         (WebDocumentLoaderMac::setDataSource):
2296         If the frame load delegate belongs to AppKit, set m_deferMainResourceDataLoad to false.
2297
2298 2007-06-19  John Sullivan  <sullivan@apple.com>
2299
2300         Reviewed by Tim Hatcher
2301
2302         - fixed <rdar://problem/5272011> Hole for find-on-page match in subframe isn't clipped by frame bounds
2303
2304         * WebView/WebView.mm:
2305         (-[WebView rectsForTextMatches]):
2306         intersect the HTMLView's computed rect with the visible rect for that view
2307
2308 2007-06-19  Jim Correia  <jim.correia@pobox.com>
2309
2310         Reviewed by Kevin Decker
2311         
2312         * Carbon/HIWebView.m:
2313         (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.
2314
2315 2007-06-18  Sam Weinig  <sam@webkit.org>
2316
2317         Reviewed by Beth.
2318
2319         Build fix.
2320
2321         * WebCoreSupport/WebChromeClient.mm:
2322
2323 2007-06-18  Kevin Decker <kdecker@apple.com>
2324
2325         * Carbon/HIWebView.m:
2326         (WindowHandler): Fixed the Tiger build; ControlKind wasn't defined.
2327
2328 2007-06-18  Kevin Decker  <kdecker@apple.com>
2329
2330         Reviewed by Tim Hatcher.
2331
2332         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
2333
2334         * Carbon/HIWebView.m:
2335         (WindowHandler): Because the fix for 5051616 causes Tiger to crash in HIToolbox (but not on Leopard), I reverted back to using GetControlKind
2336         on Tiger only, instead of HIObjectIsOfClass.
2337
2338 2007-06-16  David Hyatt  <hyatt@apple.com>
2339
2340         Back out fix for 13972.  Quicktime will no longer clip correctly. :(
2341         Too many regressions in Mail caused by inserting an extra view into the
2342         hierarchy.  Can revisit later.
2343
2344         Reviewed by olliej
2345
2346         * Plugins/WebPluginController.mm:
2347         (-[WebPluginController destroyPlugin:]):
2348         (-[WebPluginController destroyAllPlugins]):
2349         * WebCoreSupport/WebFrameBridge.mm:
2350         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
2351         * WebView/WebHTMLView.mm:
2352         (-[WebHTMLView addSubview:]):
2353         (-[WebHTMLView willRemoveSubview:]):
2354
2355 2007-06-15  Sam Weinig  <sam@webkit.org>
2356
2357         Reviewed by Darin.
2358
2359         Patch for http://bugs.webkit.org/show_bug.cgi?id=14053
2360         Autogenerate JS binding for Rect
2361
2362         - Fix conflicts by using ::Rect instead of Rect.
2363
2364         * Plugins/WebBaseNetscapePluginView.mm:
2365         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2366         (-[WebBaseNetscapePluginView sendEvent:]):
2367         (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
2368         (-[WebBaseNetscapePluginView invalidateRegion:]):
2369         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
2370
2371 2007-06-15  Anders Carlsson  <andersca@apple.com>
2372
2373         Reviewed by Kevin.
2374
2375         A better fix for <rdar://problem/5271774>. Only try to access the element if the
2376         view has an associated window. This also works with GC. (Fix suggested by Kevin.)
2377
2378         * Plugins/WebKitPluginContainerView.mm:
2379         (-[WebKitPluginContainerView dealloc]):
2380         (-[WebKitPluginContainerView visibleRect]):
2381
2382 2007-06-15  Anders Carlsson  <andersca@apple.com>
2383
2384         Reviewed by Kevin.
2385
2386         <rdar://problem/5271774> REGRESSION: A crash occurs when closing a window that contains a QT movie
2387         
2388         In some cases, calling [super dealloc] might end up calling visibleRect, so make sure to
2389         set _element to 0 so we won't send a message to a freed object and crash.
2390         
2391         * Plugins/WebKitPluginContainerView.mm:
2392         (-[WebKitPluginContainerView dealloc]):
2393         (-[WebKitPluginContainerView visibleRect]):
2394
2395 2007-06-14  Anders Carlsson  <andersca@apple.com>
2396
2397         Reviewed by Geoff.
2398
2399         Call cleanupScriptObjectsForPlugin on the frame after destroying the plug-in.
2400         
2401         * Plugins/WebBaseNetscapePluginView.mm:
2402         (-[WebBaseNetscapePluginView _destroyPlugin]):
2403         * Plugins/WebPluginController.mm:
2404         (-[WebPluginController destroyPlugin:]):
2405         (-[WebPluginController destroyAllPlugins]):
2406
2407 2007-06-13  John Sullivan  <sullivan@apple.com>
2408
2409         Reviewed by Adele Peterson
2410         
2411         - fixed <rdar://problem/5267607> Clicking the "Save to Downloads" button in 
2412           PDF overlay too soon results in corrupt file
2413
2414         * WebView/WebPDFView.mm:
2415         (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
2416         Just beep if the document isn't available yet, since trying to save it as a file
2417         really isn't a good idea.
2418
2419 2007-06-12  Oliver Hunt  <oliver@apple.com>
2420
2421         Reviewed by Darin.
2422
2423         Use correct size for BITMAPINFOHEADER -- whoops.
2424
2425         * win/WebIconDatabase.cpp:
2426         (createDIB):
2427         (WebIconDatabase::getOrCreateDefaultIconBitmap):
2428
2429 2007-06-10  David Hyatt  <hyatt@apple.com>
2430
2431         Fix for bug 14037, make sure respondsToSelector does the write thing
2432         when invoked on a WebKit plugin's container view.
2433
2434         Reviewed by Mark Rowe
2435
2436         * Plugins/WebKitPluginContainerView.mm:
2437         (-[WebKitPluginContainerView respondsToSelector:]):
2438
2439 2007-06-08  John Sullivan  <sullivan@apple.com>
2440
2441         * WebView/WebViewPrivate.h:
2442         Added a FIXME
2443
2444 2007-06-07  Justin Garcia  <justin.garcia@apple.com>
2445
2446         Reviewed by Tristan.
2447         
2448         <rdar://problem/5250997> A crash occurs when selecting Undo Typing for a page that has been closed in tab
2449
2450         * WebView/WebView.mm:
2451         (-[WebView _clearUndoRedoOperations]): Added.
2452         * WebView/WebViewPrivate.h:
2453
2454 2007-06-07  Oliver Hunt  <oliver@apple.com>
2455
2456         Reviewed by Sam "The Intern" Weinig.
2457         
2458         Don't be overzealous with the input checks, firstRectForCharacterRange
2459         can be determined even when there is not an active editable region.
2460         
2461         This unbreaks editing/input/range-for-empty-document which was broken
2462         by aforementioned overzealousness. 
2463
2464         * WebView/WebHTMLView.mm:
2465         (-[WebHTMLView firstRectForCharacterRange:]):
2466
2467 2007-06-07  Oliver Hunt  <oliver@apple.com>
2468
2469         Reviewed by Justin.
2470         
2471         Add checks to make sure we don't try to create, use
2472         or return invalid ranges to TSM when it calls us despite
2473         not currently being in an editable region.
2474
2475         * WebView/WebHTMLView.mm:
2476         (isTextInput):
2477         (-[WebHTMLView textStorage]):
2478         (-[WebHTMLView firstRectForCharacterRange:]):
2479         (-[WebHTMLView selectedRange]):
2480         (-[WebHTMLView attributedSubstringFromRange:]):
2481
2482 2007-06-06  David Hyatt  <hyatt@apple.com>
2483
2484         Make sure to hand back a script object for webkit plugins (the container
2485         view forwards to its plugin child).
2486
2487         Reviewed by sullivan
2488
2489         * Plugins/WebKitPluginContainerView.h:
2490         * Plugins/WebKitPluginContainerView.mm:
2491         (-[WebKitPluginContainerView objectForWebScript]):
2492
2493 2007-06-06  David Hyatt  <hyatt@apple.com>
2494
2495         Fix for bug 13972, quicktime doesn't respect CSS clip and overflow properties.
2496         Make sure that calls to [NSView visibleRect] will do the right thing for both
2497         Netscape plugins and WebKit plugins.
2498
2499         Reviewed by olliej
2500
2501         * Plugins/WebBaseNetscapePluginView.mm:
2502         (-[WebBaseNetscapePluginView visibleRect]):
2503         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2504         (-[WebBaseNetscapePluginView isOpaque]):
2505         * Plugins/WebKitPluginContainerView.h: Added.
2506         * Plugins/WebKitPluginContainerView.mm: Added.
2507         (-[WebKitPluginContainerView initWithFrame:DOMElement:]):
2508         (-[WebKitPluginContainerView dealloc]):
2509         (-[WebKitPluginContainerView visibleRect]):
2510         * Plugins/WebPluginController.mm:
2511         (-[WebPluginController destroyAllPlugins]):
2512         * WebCoreSupport/WebFrameBridge.mm:
2513         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
2514         * WebKit.xcodeproj/project.pbxproj:
2515         * WebView/WebHTMLView.mm:
2516         (-[WebHTMLView addSubview:]):
2517         (-[WebHTMLView willRemoveSubview:]):
2518
2519 2007-06-04  Oliver Hunt  <oliver@apple.com>
2520
2521         Reviewed by Geoff and Justin.
2522
2523         Fix for <rdar://problem/5246941> Clicking URL field on 
2524         Safari causes halt for a minute when using input methods.
2525         and <rdar://problem/5245964> Safari hangs for several 
2526         seconds when trying to select text using mouse
2527         
2528         This is a by product of the textStorage hack used to fix 
2529         rdar://problem/5000470 -- TSM calls textStorage repeatedly
2530         when changing focus, on certain mouse events, etc.  If there
2531         is no selection/editable region we repeatedly create an     
2532         NSAttributedString from the full document.  If the document is
2533         sufficiently long this starts consuming an inordinate amount of 
2534         time.
2535         
2536         This check should really have been present in the original 
2537         patch.
2538
2539         * WebKit.xcodeproj/project.pbxproj:
2540         * WebView/WebHTMLView.mm:
2541         (-[WebHTMLView textStorage]):
2542
2543 2007-05-31  David Hyatt  <hyatt@apple.com>
2544
2545         Fix for 11768, Flash plugin does not respect clips set by CSS.
2546
2547         Reviewed by olliej
2548
2549         * Plugins/WebBaseNetscapePluginView.mm:
2550         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2551
2552 2007-05-30  Mark Rowe  <mrowe@apple.com>
2553
2554         Build fixes after r21889.
2555
2556         * ForwardingHeaders/kjs/function.h: Added.
2557
2558 2007-05-29  Mark Rowe  <mrowe@apple.com>
2559
2560         Reviewed by Geoff.
2561
2562         64-bit build fix.  Ensure that use of WebNSUInteger in headers is matched by WebNSUInteger in implementations.
2563
2564         * DefaultDelegates/WebScriptDebugServer.h:
2565         * DefaultDelegates/WebScriptDebugServer.m:
2566         (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
2567         (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
2568         * DefaultDelegates/WebScriptDebugServerPrivate.h:
2569         * History/WebBackForwardList.mm:
2570         (-[WebBackForwardList setPageCacheSize:]):
2571         (-[WebBackForwardList pageCacheSize]):
2572         * WebView/WebView.mm:
2573         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
2574
2575 2007-05-26  Darin Adler  <darin@apple.com>
2576
2577         Reviewed by Tim Hatcher.
2578
2579         * MigrateHeaders.make: Added dependency on this makefile itself, which is
2580         useful when you change the sed command or other aspect of this file. My build
2581         failed until I made this fix.
2582
2583 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
2584
2585         Reviewed by Darin Adler.
2586
2587         Fixed <rdar://problem/5055182> The page cache has no global cap.
2588         
2589         The main WebKit changes are:
2590             1. Changed -[WebBackForwardList setPageCacheSize] and -[WebBackForwardList 
2591             pageCacheSize] to accomodate the new global page cache model, updating
2592             their documentation. 
2593             
2594             2. Added -[WebPreferences setShouldUsePageCache] and -[WebPreferences 
2595             shouldUsePageCache] as pending public API.
2596             
2597             3. Centralized calculation of object cache and page cache sizes inside
2598             WebPreferences. 
2599             
2600             Cchanged our old behavior of reading a preference and applying a fudge 
2601             factor with a new behavior of just using the preference directly. The 
2602             old behavior was confusing and often inappropriate. (For example, if 
2603             you set a page cache size of 100, a 256MB machine would somewhat 
2604             arbitrarily reduce that number to 98. ???)
2605
2606         * WebView/WebView.mm: Added support for two flags to determine whether
2607         to use the page cache. If either -[WebBackForwardList setPageCacheSize:0]
2608         or -[WebPreferences setShouldUsePageCache:NO] is called, we don't use
2609         the page cache.
2610
2611 2007-05-25  Timothy Hatcher  <timothy@apple.com>
2612
2613         Reviewed by Kevin Decker.
2614
2615         <rdar://problem/5219089> Changes for migration of DictionaryServices
2616
2617         * WebView/WebHTMLView.mm:
2618         (-[WebHTMLView _lookUpInDictionaryFromMenu:]): look for the HIDictionaryWindowShow symbol in HIToolbox
2619
2620 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
2621
2622         Reviewed by Oliver Hunt.
2623         
2624         Fixed global initializer (like you fix a dog).
2625         
2626         I'm not sure how our script missed this. I tested, and it generally doesn't 
2627         seem to work very well.
2628
2629         * WebView/WebHTMLView.mm: Allocate lazily to avoid the performance hit of
2630         a global initializer.
2631         (promisedDataClient):
2632         (-[WebHTMLViewPrivate dealloc]):
2633         (-[WebHTMLViewPrivate clear]):
2634         (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
2635
2636 2007-05-25  Brady Eidson  <beidson@apple.com>
2637
2638         Reviewed by Darin
2639
2640         <rdar://problem/5228371> - REGRESSION - Certain mail message bodies display as empty
2641
2642         This is due to http://trac.webkit.org/projects/webkit/changeset/21480 which unintentionally
2643         made applewebdata urls result in check.call(false) instead of check.call(true)
2644
2645         Best place for a fix is to have the FrameLoaderClient::canHandleRequest() call return true, which
2646         really is rooted in WebView
2647
2648         <rdar://problem/5229587> tracks adding a layout test
2649
2650         * WebView/WebView.mm:
2651         (+[WebView _canHandleRequest:]): Return true for applewebdata URLs
2652
2653 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
2654
2655         Reviewed by Darin Adler, Tim Hatcher.
2656         
2657         "unsigned" => "WebNSUInteger" in public API.
2658
2659         * History/WebBackForwardList.h:
2660         * WebView/WebScriptDebugDelegate.h:
2661         * WebView/WebUIDelegate.h:
2662         * WebView/WebViewPrivate.h:
2663
2664 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
2665
2666         Reviewed by Darin Adler.
2667         
2668         Moved JavaScriptCore-related pending public API to public API.
2669
2670         * MigrateHeaders.make: Hack to prevent <JavaScriptCore/JSBase.h> from 
2671         automatically converting to <WebKit/JSBase.h>
2672         
2673         Moved -windowObject and -globalContext
2674
2675         * WebView/WebFramePrivate.h: from here
2676         * WebView/WebFrame.h: to here
2677         * WebView/WebFrame.mm: and out of its temporary category
2678
2679         Moved -didClearWindowObject:forFrame:
2680
2681         * WebView/WebViewPrivate.h: from here
2682         * WebView/WebFrameLoadDelegate.h: to here
2683
2684 2007-05-25  John Sullivan  <sullivan@apple.com>
2685
2686         Reviewed by Anders and Tim
2687         
2688         - fixed <rdar://problem/5226000> REGRESSION: In Gmail and Mail, a hang occurs when attempting 
2689           to grammar/spellcheck a word in a reply
2690
2691         * WebCoreSupport/WebEditorClient.mm:
2692         (WebEditorClient::checkGrammarOfString):
2693         Fixed recently-introduced false assumption that NSNotFound == -1
2694
2695 2007-05-24  dethbakin  <bdakin@apple.com>
2696
2697         Reviewed by Geoff.
2698
2699         Fix for <rdar://problem/5023545> QuickBooks Pro 2007:hang/crash 
2700         after closing QuickBooks Tutorial Center with Leopard9A377
2701
2702         We can hit a race condition where drawRect will be called after the 
2703         WebView has closed. Quickbooks does not properly close the WebView 
2704         and set the UIDelegate to nil, so the UIDelegate is stale and we 
2705         crash. This is a regression because the code that uses the 
2706         UIDelegate in the drawRect code path was only added recently. The 
2707         method that the UIDelegate calls into is new -- it does not exist 
2708         on Tiger -- so there is no harm in not running this code for 
2709         applications linked against older WebKits. Other applications may 
2710         run into this same bug so I am not doing a bundle 
2711         check...particularly because, as I mentioned, the new UIDelegate 
2712         call would not be implemented by older clients anyway.  
2713
2714         * Misc/WebKitVersionChecks.h:
2715         * WebView/WebHTMLView.mm:
2716         (-[WebHTMLView drawSingleRect:]):
2717
2718 2007-05-24  Darin Adler  <darin@apple.com>
2719
2720         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
2721
2722 2007-05-24  Oliver Hunt  <oliver@apple.com>
2723
2724         Reviewed by Adam, Darin, and Geoff.
2725
2726         Fix for <rdar://problem/5000470> REGRESSION: The IM reconvert
2727         function returns incorrect symbol due to inconsistent range
2728         domains in TSM
2729
2730         Text Services Management uses ranges provided by the
2731         NSTextInput API to index into the string return by
2732         -[WebHTMLView string]. As a result some input methods
2733         incorrectly get their candidate text from the beginning
2734         of the document instead of from the input element.
2735
2736         TSM prefers to query -textStorage over -string so as a
2737         workaround we provide an implementation of -textStorage that
2738         returns the content of the current text input.  TSM only ever
2739         queries the result of textStorage as an NSAttributedString so
2740         we do not need to implement a fake NSTextStorage class
2741
2742         This should not cause harm to anything else as textStorage is
2743         actually a method on NSTextView, which we clearly are not. TSM
2744         only queries the method because it uses respondsToSelector to
2745         control behaviour.
2746
2747         * WebView/WebHTMLView.mm:
2748         (-[WebHTMLView textStorage]):
2749
2750
2751 2007-05-24  David Harrison  <harrison@apple.com>
2752
2753         Reviewed by Tim Hatcher.
2754
2755         <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()
2756         
2757         _private->loader->frameLoader() was not being nil checked.
2758         * WebView/WebDataSource.mm:
2759         (-[WebDataSource request]):
2760         Add nil check for _private->loader->frameLoader() 
2761
2762 2007-05-23  Anders Carlsson  <andersca@apple.com>
2763
2764         Reviewed by Geoff.
2765
2766         <rdar://problem/3663808> Resize large images to fit in the browser window
2767         
2768         Add new WebPreferences SPI.
2769         
2770         * WebView/WebPreferenceKeysPrivate.h:
2771         * WebView/WebPreferences.m:
2772         (+[WebPreferences initialize]):
2773         (-[WebPreferences enableAutomaticImageResizing]):
2774         (-[WebPreferences setEnableAutomaticImageResizing:]):
2775         * WebView/WebPreferencesPrivate.h:
2776         * WebView/WebView.mm:
2777         (-[WebView _updateWebCoreSettingsFromPreferences:]):
2778
2779 2007-05-23  Sam Weinig  <sam@webkit.org>
2780
2781         Reviewed by Darin.
2782
2783         Patch for http://bugs.webkit.org/show_bug.cgi?id=13830
2784         Auto-generate JS DOM bindings for HTMLDocument and most of the rest
2785         of HTMLElement
2786
2787         * MigrateHeaders.make: add DOMHTMLDocumentPrivate.h
2788         * WebKit.xcodeproj/project.pbxproj:
2789
2790 2007-05-23  Oliver Hunt  <oliver@apple.com>
2791
2792         Reviewed by Geoff.
2793
2794         Fix for <rdar://problem/5223782> REGRESSION: Can't drag and drop a standalone image
2795
2796         The main resource for a standalone image webarchive has the same mimetype as the
2797         underlying image.
2798
2799         * Misc/WebNSPasteboardExtras.mm:
2800         (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
2801
2802 2007-05-22  Sam Weinig  <sam@webkit.org>
2803
2804         Reviewed by Adam.
2805
2806         Patch for http://bugs.webkit.org/show_bug.cgi?id=13833
2807         Add ObjC DOM binding for HTMLMarqeeElement
2808
2809         - Also adds missing DOMHTMLFramePrivate.
2810
2811         * MigrateHeaders.make:
2812
2813 2007-05-22  Darin Adler  <darin@apple.com>
2814
2815         Reviewed by Geoff.
2816
2817         * WebInspector/webInspector/treeoutline.js: Use ownerDocument instead of non-standard
2818         document property.
2819
2820 2007-05-22  Adele Peterson  <adele@apple.com>
2821
2822         Reviewed by Darin.
2823
2824         Adding some asserts to help detect other cases of <rdar://problem/5171145>
2825
2826         * WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge makeFirstResponder:]):
2827
2828 2007-05-22  Brady Eidson  <beidson@apple.com>
2829
2830         Reviewed by Kevin (Sarge)
2831
2832         <rdar://problem/5219885> - Crash after closing a inline popup ad at http://news.yahoo.com/
2833
2834         This regressed in http://trac.webkit.org/projects/webkit/changeset/21618
2835
2836         * WebView/WebFrame.mm:
2837         (-[WebFrame dataSource]): Null check the frameloader
2838
2839 2007-05-21  Adele Peterson  <adele@apple.com>
2840
2841         Fix by Darin, reviewed by me.
2842
2843         Fix for <rdar://problem/5171145> Safari crashed closing tab in NSInputContext updateInputContexts
2844
2845         * WebView/WebFrameView.mm: (-[WebFrameView _setDocumentView:]): If the old view is the first responder,
2846         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.
2847
2848 2007-05-21  Brady Eidson  <beidson@apple.com>
2849
2850         Making the importance of my last change more clear
2851
2852         * WebView/WebViewPrivate.h: "Leave for Dashboard, people!"
2853
2854 2007-05-21  Brady Eidson  <beidson@apple.com>
2855
2856         Reviewed by Kevin (Sarge)
2857
2858         <rdar://problem/5217124> - Re-add mistakenly removed SPI
2859
2860         * WebView/WebView.mm:
2861         (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
2862         * WebView/WebViewPrivate.h:
2863
2864 2007-05-21  Anders Carlsson  <andersca@apple.com>
2865
2866         Reviewed by Ada.
2867
2868         <rdar://problem/5200816> REGRESSION: With Shiira 1.2.2 , I can't open embedded link in flash object by clicking (http:/www.adobe.com )
2869         
2870         Null check the request.
2871         
2872         * WebView/WebView.mm:
2873         (+[WebView _canHandleRequest:]):
2874
2875 2007-05-19  Maciej Stachowiak  <mjs@apple.com>
2876
2877         Reviewed by Geoff.
2878         
2879         <rdar://problem/5205358> REGRESSION (r21367): All messages appear entirely blank when running Mail off of tip of tree WebKit
2880         
2881         The fix is to return nil from [WebFrame dataSource] when it has not loaded anything but the fake
2882         empty initial document. However, WebKit still needs the real data source internally, so I also
2883         added a [WebFrame _dataSource] method that skips this check, and made WebKit use it throughout.
2884
2885         * Misc/WebNSAttributedStringExtras.mm:
2886         (fileWrapperForElement):
2887         * Plugins/WebBaseNetscapePluginView.mm:
2888         (-[WebBaseNetscapePluginView dataSource]):
2889         * Plugins/WebNullPluginView.mm:
2890         (-[WebNullPluginView viewDidMoveToWindow]):
2891         * Plugins/WebPluginController.mm:
2892         (-[WebPluginController URLPolicyCheckReferrer]):
2893         * WebCoreSupport/WebFrameBridge.mm:
2894         (-[WebFrameBridge dataSource]):
2895         (-[WebFrameBridge redirectDataToPlugin:]):
2896         * WebCoreSupport/WebFrameLoaderClient.mm:
2897         (WebFrameLoaderClient::makeDocumentView):
2898         (WebFrameLoaderClient::forceLayoutForNonHTML):
2899         (WebFrameLoaderClient::prepareForDataSourceReplacement):
2900         (WebFrameLoaderClient::canCachePage):
2901         * WebCoreSupport/WebViewFactory.mm:
2902         (-[WebViewFactory bridgeForView:]):
2903         * WebKit.xcodeproj/project.pbxproj:
2904         * WebView/WebArchiver.mm:
2905         (+[WebArchiver archiveFrame:]):
2906         (+[WebArchiver archiveMainResourceForFrame:]):
2907         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
2908         (+[WebArchiver archiveSelectionInFrame:]):
2909         * WebView/WebFrame.mm:
2910         (-[WebFrame _loadURL:referrer:intoChild:]):
2911         (-[WebFrame _addChild:]):
2912         (-[WebFrame _dataSource]):
2913         (-[WebFrame DOMDocument]):
2914         (-[WebFrame dataSource]):
2915         * WebView/WebFrameInternal.h:
2916         * WebView/WebHTMLView.mm:
2917         (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
2918         * WebView/WebRenderNode.mm:
2919         (-[WebRenderNode initWithWebFrameView:]):
2920         * WebView/WebView.mm:
2921         (-[WebView _mainFrameOverrideEncoding]):
2922         (-[WebView mainFrameURL]):
2923         (-[WebView mainFrameTitle]):
2924         (-[WebView mainFrameIcon]):
2925         (-[WebView validateUserInterfaceItemWithoutDelegate:]):
2926         (-[WebView replaceSelectionWithArchive:]):
2927         (-[WebView _isLoading]):
2928         (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
2929         (-[WebView _notifyTextSizeMultiplierChanged]):
2930
2931 2007-05-18  Oliver Hunt  <oliver@apple.com>
2932
2933         Reviewed by Sam.
2934
2935         Fix for http://bugs.webkit.org/show_bug.cgi?id=13782 
2936         REGRESSION (r21528-r21533): Failing editing/selection/drag-in-iframe in pixel mode
2937         
2938         r21533 made used a DOMElement as the source for promise data, this meant it had to 
2939         clear the dragging pasteboard following the drag.  In DRT a drag is non-blocking
2940         so this resulted in us prematurely clearing the pasteboard.  
2941         
2942         This patch avoids this problem by referencing the source CachedImage rather than the
2943         DOMElement, so we don't need to worry about retaining an entire document forever, so
2944         we don't need to clear the dragging pasteboard following the drag.
2945         
2946         * Misc/WebNSPasteboardExtras.mm:
2947         (imageFromElement):
2948           Extract the underlying CachedImage from a DOMElement
2949         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
2950           Use a CachedImage instead of a DOMElement
2951           
2952         * WebCoreSupport/WebDragClient.mm:
2953         (WebDragClient::startDrag):
2954         
2955         * WebKit.xcodeproj/project.pbxproj:
2956         
2957         * WebView/WebHTMLView.mm:
2958         (-[WebHTMLViewPrivate dealloc]):
2959         (-[WebHTMLViewPrivate clear]):
2960         (-[WebHTMLView pasteboardChangedOwner:]):
2961         (-[WebHTMLView pasteboard:provideDataForType:]):
2962         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
2963         (-[WebHTMLView WebCore::]):
2964         (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
2965           Use CachedImage rather than DOMElement as promised data source
2966           
2967         * WebView/WebHTMLViewInternal.h:
2968         * WebView/WebHTMLViewPrivate.h:
2969
2970 2007-05-18  Tristan O'Tierney  <tristan@apple.com>
2971
2972         Reviewed by Brady E.
2973
2974         * WebCoreSupport/WebFrameLoaderClient.mm:
2975         (WebFrameLoaderClient::download):
2976         asked the webframeloaderclient for its webview's history and 
2977         injected the originated url into the created WebDownload
2978
2979 2007-05-18  John Sullivan  <sullivan@apple.com>
2980
2981         Reviewed by Kevin Decker
2982         
2983         Improvement to WebKit part of fix for 5201499 based on more modern understanding. (That is,
2984         a couple of hours more modern.)
2985
2986         * WebView/WebUIDelegatePrivate.h:
2987         add showPanel: parameter to just-introduced delegate method webView:saveFrameView:
2988
2989         * WebView/WebPDFView.mm:
2990         (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
2991         pass NO for new showPanel: parameter, and update comment
2992
2993 2007-05-18  Maciej Stachowiak  <mjs@apple.com>
2994
2995         Reviewed by John.
2996         
2997         <rdar://problem/5204792> REGRESSION (r21367): System widgets are drawn with vertical/horizontal scroll bars
2998         
2999         No test because the bug requires calling setAllowsScrolling: to reproduce.
3000
3001         * WebView/WebFrameView.mm:
3002         (-[WebFrameView setAllowsScrolling:]): Update the FrameView's scroll state as well as the one
3003         on WebDynamicScrollBarsView, otherwise this setting won't stick if the frame has already loaded
3004         a document.
3005
3006 2007-05-18  Geoffrey Garen  <ggaren@apple.com>
3007
3008         Fixed spelling error.
3009         
3010         * WebView/WebViewPrivate.h:
3011
3012 2007-05-18  John Sullivan  <sullivan@apple.com>
3013
3014         Reviewed by Kevin Decker
3015         
3016         WebKit part of fix for 5201499 (support for PDFKit UI for saving PDFs to disk)
3017         
3018         Also, the PDFKit mechanism for notifying clients about "Open File Externally" was
3019         changed from a notification to a delegate method. The notification was new to 
3020         Leopard, so removing it doesn't affect clients in the field.
3021
3022         * WebView/WebUIDelegatePrivate.h:
3023         Declared new UI delegate method webView:saveFrameView:, analogous to the existing
3024         webView:printFrameView:
3025
3026         * WebView/WebPDFView.mm:
3027         removed declaration of _webkit_PDFKitLaunchNotification
3028         (-[WebPDFView viewDidMoveToWindow]):
3029         don't observe _webkit_PDFKitLaunchNotification
3030         (-[WebPDFView viewWillMoveToWindow:]):
3031         ditto
3032         (-[WebPDFView PDFViewOpenPDFInNativeApplication:]):
3033         new PDFKit delegate method, replaces our use of _webkit_PDFKitLaunchNotification
3034         (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
3035         new PDFKit delegate method, calls through to new WebKit UI delegate method
3036         
3037 2007-05-17  Oliver Hunt  <oliver@apple.com>
3038
3039         Reviewed by Justin.
3040
3041         Fix for <rdar://problem/4244861> Safari fails to create image file
3042         after releasing dragged image that has changed on source page
3043
3044         This patch fixes this bug by manually creating an NSFileWrapper from
3045         the TIFF promise data for a drag if it is available.  This bypasses
3046         the problem of the required resource no longer being held due to page
3047         loads or other constraints.
3048         
3049         We need to leave the old path in place to allow for the case where
3050         the promised data is not available.
3051
3052         * WebCoreSupport/WebDragClient.mm:
3053         (WebDragClient::declareAndWriteDragImage):
3054           Always use the top WebHTMLView as the pasteboard owner, this is
3055           safe as we only use the owner for resolving promised types.
3056         * WebView/WebHTMLView.mm:
3057         (-[WebHTMLView _writeSelectionToPasteboard:]):
3058         (-[WebHTMLView writeSelectionToPasteboard:types:]):
3059           Always use the top WebHTMLView as the pasteboard owner.
3060         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
3061           Add path to create NSFileWrapper from promise data.
3062
3063 2007-05-17  Oliver Hunt  <oliver@apple.com>
3064
3065         Reviewed by Adam.
3066         
3067         Fix for <rdar://problem/4343832> Trying to drag a large 6.2MB jpeg image
3068          out of Safari is unexpectedly slow (4 copies of image plus RTF document on pasteboard)
3069          
3070         This patch causes the construction of the RTF and TIFF data to be delayed until requested.
3071         
3072         We delay TIFF construction from a DOMElement as this may require generating TIFF data
3073         from the CachedImage, which is slow.  To allow the TIFF data to be created later the 
3074         it's necessary to add a reference to the source DOMElement to the view.
3075
3076         * Misc/WebNSPasteboardExtras.h:
3077         * Misc/WebNSPasteboardExtras.mm:
3078         (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
3079           Implements the delayed write of RTF data
3080         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
3081           Set up the pasteboard to allow the data writing to be delayed
3082         (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
3083           Now we need to pass the WebHTMLView on to _web_writeImage:element:URL:title:archive:types:source:
3084         * WebCoreSupport/WebDragClient.mm:
3085         (WebDragClient::startDrag):
3086           Clear the dragging pasteboard once the drag has ended to ensure we don't hold references
3087           to anything longer than we need to.
3088         (WebDragClient::declareAndWriteDragImage):
3089           
3090         * WebView/WebHTMLView.mm:
3091         (-[WebHTMLViewPrivate dealloc]):
3092         (-[WebHTMLViewPrivate clear]):
3093         (-[WebHTMLView pasteboardChangedOwner:]):
3094           Make sure we clear out the DOMElement reference once it is no longer needed
3095         (-[WebHTMLView pasteboard:provideDataForType:]):
3096           Provide delayed data
3097         (-[WebHTMLView _writeSelectionToPasteboard:]):
3098           Make sure we set pasteboard ownership correctly
3099         (-[WebHTMLView promisedDragTIFFDataSource]):
3100         (-[WebHTMLView setPromisedDragTIFFDataSource:]):
3101         (-[WebHTMLView writeSelectionToPasteboard:types:]):
3102         * WebView/WebHTMLViewInternal.h:
3103         * WebView/WebHTMLViewPrivate.h:
3104         
3105         * WebView/WebView.mm:
3106         (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]):
3107
3108 2007-05-16  Anders Carlsson  <andersca@apple.com>
3109
3110         Reviewed by Darin.
3111
3112         <rdar://problem/5207156> Hamachi test tool causes assertion in FormCompletionController in Safari
3113
3114         Update for WebCore changes.
3115         
3116         * WebView/WebFrame.mm:
3117         (-[WebFrame _loadURL:referrer:intoChild:]):
3118
3119 2007-05-15  Oliver Hunt  <oliver@apple.com>
3120
3121         Reviewed by Sam and Geoff.
3122         
3123         Removing dead code left behind from drag and drop refactoring.
3124
3125         * WebCoreSupport/WebFrameBridge.mm:
3126         * WebView/WebHTMLView.mm:
3127         * WebView/WebHTMLViewPrivate.h:
3128
3129 2007-05-15  Bruce Q Hammond  <bruceq@apple.com>
3130
3131         Reviewed by Darin.
3132
3133         Correction of previous patch for http://bugs.webkit.org/show_bug.cgi?id=13578
3134         This corrects the sign of the Y-Axis origin adjustment.
3135
3136         * Plugins/WebBaseNetscapePluginView.mm:
3137         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
3138
3139 2007-05-15  Geoffrey Garen  <ggaren@apple.com>
3140
3141         Reviewed by Maciej Stachowiak.
3142         
3143         Patch: fixed <rdar://problem/5198890> .5% performance regression caused 
3144         by r21307
3145         
3146         The only code r21307 added that runs during the PLT is a frame load delegate
3147         -respondsToSelector: call inside windowObjectCleared(), so it seems like 
3148         our message dispatch overhead for the frame load delegate is significant.
3149         
3150         This patch is a straight port of Maciej's fix for the same problem in the
3151         resource load delegate. The solution is simple enough: don't use Objective-C. 
3152         Instead, use a special structure that caches which methods the delegate 
3153         implements, along with pointers to those methods.
3154         
3155         I verified each frame load delegate callback in the debugger, except for
3156         -webView:didFailLoadWithError:forFrame:, which is not implemented by Safari
3157         or DumpRenderTree.
3158
3159         * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.h: Removed.
3160         * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.m: Removed.
3161
3162         * WebCoreSupport/WebFrameBridge.mm:
3163         (-[WebFrameBridge windowObjectCleared]): I also removed a misleading 
3164         comment here. The JS debugger caches the windowScriptObject, so you do
3165         need to re-create the debugger every time you invalidate the old 
3166         WebScriptObject wrapper for the window object and create a new one, or
3167         the debugger will stop working. We could fix this in a number of ways, 
3168         but <rdar://problem/4608404> is not the key issue.
3169
3170 2007-05-15  Maciej Stachowiak  <mjs@apple.com>
3171
3172         Reviewed by Hyatt and Lars.
3173         
3174         - fixed <rdar://problem/5201758> REGRESSION: Stop button enabled and other problems caused by [WebView currentURL] returning non-nil for empty window
3175         
3176         * WebView/WebDataSource.mm:
3177         (-[WebDataSource request]): Return nil when we are still showing the initial empty doc
3178
3179 2007-05-14  Geoffrey Garen  <ggaren@apple.com>
3180
3181         Reviewed by Darin Adler.
3182         
3183         Updated for WebCore move to PageCache singleton. Also removed some WebCore::
3184         prefixes and replaced them with 'using namespace WebCore'.
3185
3186         * History/WebHistoryItem.mm:
3187         (+[WebHistoryItem _releaseAllPendingPageCaches]):
3188         (-[WebWindowWatcher windowWillClose:]):
3189
3190 2007-05-13  Darin Adler  <darin@apple.com>
3191
3192         - one more retain/release for a tiny bit more robustness
3193
3194         * WebView/WebPDFView.mm:
3195         (-[WebPDFView _updatePreferences:]): [prefs release]
3196         (-[WebPDFView _updatePreferencesSoon]): [prefs retain]
3197
3198 2007-05-13  Darin Adler  <darin@apple.com>
3199
3200         Reviewed by Geoff.
3201
3202         - fix <rdar://problem/5188400> Webkit crashes going back from PDF at perl.org site
3203
3204         * WebView/WebPDFView.h: Replace _updatePreferencesTimer with _willUpdatePreferencesSoon BOOL.
3205         Also remove unneeded @public that gives other classes access to our dataSource member.
3206
3207         * WebView/WebPDFView.mm: Rearrange top of file a bit, remove forward declaration of the
3208         _cancelUpdatePreferencesTimer method.
3209         (-[WebPDFView dealloc]): Removed call to _cancelUpdatePreferencesTimer.
3210         (-[WebPDFView _updatePreferencesNow:]): Added WebPreferences parameter. This sidesteps problems
3211         where the dataSource is no longer present by not looking at the dataSource field at all.
3212         Also removed the call to _cancelUpdatePreferencesTimer, added code to set _willUpdatePreferencesSoon
3213         to NO and added a release to balance a retain I did in _updatePreferencesSoon.
3214         (-[WebPDFView _updatePreferencesSoon]): Changed to use performSelectorAfterDelay instead of
3215         an NSTimer. Pass in the preferences object as a parameter, since we might not be able to get to
3216         the dataSource when the timer fires.
3217
3218 2007-05-10  Geoffrey Garen  <ggaren@apple.com>
3219
3220         Reviewed by Darin Adler.
3221         
3222         "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.
3223
3224 2007-05-10  Adele Peterson  <adele@apple.com>
3225
3226         Reviewed by Hyatt.
3227
3228         WebKit part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result
3229
3230         Updated to use selectionRect instead of visibleSelectionRect.  selectionRect() now returns the visible rect by default.
3231
3232         * WebView/WebHTMLView.mm:
3233         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
3234         (-[WebHTMLView selectionImageRect]):
3235
3236 2007-05-10  dethbakin  <bdakin@apple.com>
3237
3238         Reviewed by Darin.
3239
3240         Fix for <rdar://problem/5191941> Leopard: Adobe Acrobat 8: 
3241         Distiller 8 needs same check fix as 4992521
3242
3243         * WebView/WebView.mm:
3244         (-[WebView _updateWebCoreSettingsFromPreferences:]): Adobe 
3245         Distiller needs the same quirk.
3246
3247 2007-05-10  Maciej Stachowiak  <mjs@apple.com>
3248
3249         Reviewed by Oliver.
3250
3251         - WebKit part of fix for:
3252         <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
3253         <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
3254
3255         The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
3256         so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.
3257         
3258         However, this caused many regressions so I had to fix the fallout.
3259
3260         * WebCoreSupport/WebChromeClient.mm:
3261         (WebChromeClient::takeFocus): Avoid focus cycle problems (can happen in DumpRenderTree
3262         with initial empty document now).
3263         * WebCoreSupport/WebFrameBridge.mm:
3264         (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]): init the frame.
3265         (-[WebFrameBridge determineObjectFromMIMEType:URL:]): return image type when appropriate
3266         * WebView/WebFrame.mm:
3267         (-[WebFrame stopLoading]): use stopForUserCancel().
3268         * WebView/WebFrameView.mm:
3269         (-[WebFrameView _makeDocumentViewForDataSource:]): assume html when no mime type available.
3270         * WebView/WebView.mm:
3271         (-[WebView becomeFirstResponder]): Track whether we are becoming first responder from
3272         outside the view.
3273         (-[WebView _becomingFirstResponderFromOutside]): Return this value.
3274         * WebView/WebViewInternal.h:
3275
3276 2007-05-09  Oliver Hunt  <oliver@apple.com>
3277
3278         rs=Adele.
3279
3280         The previous patch (r21346) broke editing, rolling out
3281
3282         * WebView/WebHTMLView.mm:
3283         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
3284         (-[WebHTMLView doCommandBySelector:]):
3285
3286 2007-05-09  Adele Peterson  <adele@apple.com>
3287
3288         Reviewed by Oliver.
3289         
3290         Re-applying fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
3291         http://bugs.webkit.org/show_bug.cgi?id=13263
3292         
3293         We don't need to call interpretKeyEvents for cmd-key events as
3294         they events will be interpreted by performKeyEquivalent.
3295
3296         * WebView/WebHTMLView.mm:
3297         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
3298         (-[WebHTMLView doCommandBySelector:]):
3299
3300 2007-05-09  Mark Rowe  <mrowe@apple.com>
3301
3302         Build fix to keep the buildbot happy.
3303
3304         * Plugins/WebBaseNetscapePluginView.mm:
3305         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
3306
3307 2007-05-08  Bruce Q Hammond  <bruceq@apple.com>
3308
3309         Reviewed by Darin.
3310
3311         http://bugs.webkit.org/show_bug.cgi?id=13578
3312         Bug 13578: When QD plugins draw to an offscreen bitmap the origin is not correct
3313
3314         Now we have correct handling of the origin when QD plugins draw to
3315         offscreen bitmaps.
3316         Also the clipping code for this path was doing unnecessary work which
3317         caused incorrect results; it has been removed.
3318         
3319         This change should not affect Safari and in general will only affect
3320         plugins (e.g. Flash) drawing to a CGBitmapContext.
3321
3322         * Plugins/WebBaseNetscapePluginView.mm:
3323         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
3324
3325 2007-05-08  Steve Falkenburg  <sfalken@apple.com>
3326
3327         Reviewed by Darin.
3328
3329         Implemented spelling/grammar related WebEditorClient methods.
3330
3331         * WebCoreSupport/WebEditorClient.h:
3332         * WebCoreSupport/WebEditorClient.mm:
3333         (WebEditorClient::ignoreWordInSpellDocument): Added. Call through to NSSpellChecker.
3334         (WebEditorClient::learnWord): Added. Call through to NSSpellChecker.
3335         (WebEditorClient::checkSpellingOfString): Added. Call through to NSSpellChecker.
3336         (WebEditorClient::checkGrammarOfString): Added. Call through to NSSpellChecker.
3337         (WebEditorClient::updateSpellingUIWithGrammarString): Added. Call through to NSSpellChecker.
3338         (WebEditorClient::updateSpellingUIWithMisspelledWord): Added. Call through to NSSpellChecker.
3339         (WebEditorClient::showSpellingUI): Added. Call through to NSSpellChecker.
3340         (WebEditorClient::spellingUIIsShowing): Added. Call through to NSSpellChecker.
3341         (WebEditorClient::getGuessesForWord): Added. Call through to NSSpellChecker.
3342
3343 2007-05-08  Steve Falkenburg  <sfalken@apple.com>
3344
3345         Reviewed by Ada.
3346
3347         Slight modification to last editor method fix.
3348
3349         * WebCoreSupport/WebEditorClient.h:
3350         (WebEditorClient::updateSpellingUIWithGrammarString):
3351
3352 2007-05-07  Geoffrey Garen  <ggaren@apple.com>
3353
3354         Reviewed by Maciej Stachowiak.
3355         
3356         Fixed <rdar://problem/5140447> API for fetching JSGlobalContextRef from 
3357         WebView or WebFrame
3358         
3359         Added -[WebFrame windowObject] and -[WebFrame globalContext], along with
3360         a new frame load delegate method, - (void)webView:(WebView *)webView 
3361         didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame.
3362         This is all to support briding between the WebScriptObject and JavaScriptCore
3363         APIs.
3364
3365         Also fixed more of <rdar://problem/4395622> API: WebScriptObject.h incorrectly 
3366         reports that -isSelectorExcludedFromWebScript returns NO by default, and
3367         generally cleaned up the WebScriptObject headerdoc.
3368
3369         * WebCoreSupport/WebFrameBridge.mm:
3370         (-[WebFrameBridge windowObjectCleared]):
3371         * WebView/WebFrame.mm:
3372         (-[WebFrame windowObject]):
3373         (-[WebFrame globalContext]):
3374         * WebView/WebFramePrivate.h:
3375         * WebView/WebViewPrivate.h:
3376
3377 2007-05-07  Timothy Hatcher  <timothy@apple.com>
3378
3379         Reviewed by Darin.
3380
3381         <rdar://problem/5180384> webView:validateUserInterfaceItem:defaultValidation: does not get called on WebUIDelegates
3382
3383         Call the delegate when the one of our views gets a validateUserInterfaceItem: call.
3384
3385         * WebView/WebHTMLView.mm:
3386         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
3387         (-[WebHTMLView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
3388         * WebView/WebPDFView.mm:
3389         (-[WebPDFView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
3390         (-[WebPDFView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
3391         * WebView/WebView.mm:
3392         (-[WebView _responderValidateUserInterfaceItem:]): Call validateUserInterfaceItemWithoutDelegate: to prevent asking the delegate twice.
3393         (-[WebView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
3394         (-[WebView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
3395
3396 2007-05-07  Brady Eidson  <beidson@apple.com>
3397
3398         Actually finish the code move from my last checkin
3399
3400         * History/WebHistoryItem.mm:
3401         (-[WebHistoryItem _transientPropertyForKey:]):
3402         (-[WebHistoryItem _setTransientProperty:forKey:]):
3403
3404 2007-05-07  Brady Eidson  <beidson@apple.com>
3405
3406         Rubberstamped by Kevin (Sarge)
3407
3408         Make _transientPropertyForKey: and _setTransientProperty:forKey: SPI
3409
3410         * History/WebHistoryItemInternal.h:
3411         * History/WebHistoryItemPrivate.h:
3412
3413 2007-05-04  Geoffrey Garen  <ggaren@apple.com>
3414
3415         Reviewed by Tim Hatcher.
3416
3417         First step in fixing <rdar://problem/5055182> The back cache has no global cap
3418
3419         Stop giving SnapBack infinite cache-ability. Instead, make SnapBack rely
3420         on the underlying back cache.
3421         
3422         I left -setAlwaysAttemptToUsePageCache: as an empty stub because we don't 
3423         want to break Safari 2.0, but I removed its header declaration so nobody 
3424         else starts using it.
3425
3426         * History/WebHistoryItem.mm:
3427         (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
3428         * History/WebHistoryItemPrivate.h:
3429
3430 2007-05-04  Geoffrey Garen  <ggaren@apple.com>
3431
3432         Reviewed by Brady Eidson.
3433         
3434         Some cleanup in preparation for fixing <rdar://problem/5055182> The 
3435         back/forward cache has no global cap
3436         
3437         Unified naming of WebKit/WebCore b/f lists -- instead of the potpourri 
3438         of webBackForwardList, backForwardList, list, kitList, coreList, listWrapper, 
3439         and webCoreBackForwardList, we use webBackForwardList for WebKit and 
3440         backForwardList for WebCore, matching their respective class names.
3441         
3442         Removed "private" versions of kit() and core() -- kit() and core() are
3443         canonically used for converting between WebKit API objects and WebCore
3444         API objects. I think it's clearer to have only one way to do this.
3445
3446         Removed COMPUTE_DEFAULT_PAGE_CACHE_SIZE, since it was unused.
3447         
3448         Removed _clearPageCache, since it was unused and it duplicated -setPageCacheSize:0.
3449
3450         Removed _usesPageCache, since it was unused and it duplicated -pageCacheSize.
3451
3452 2007-05-04  Brady Eidson  <beidson@apple.com>
3453
3454         Reviewed by Mark Rowe
3455
3456         Added main thread assertion to WebHTMLView to help make sure 3rd party clients aren't trying
3457         to draw on secondary threads
3458
3459         * WebView/WebHTMLView.mm:
3460         (-[WebHTMLView drawRect:]): Added ASSERT_MAIN_THREAD()
3461
3462 2007-05-04  Anders Carlsson  <andersca@apple.com>
3463
3464         Reviewed by Antti.
3465
3466         <rdar://problem/5179977> Use the correct URLs when dispatching delegate methods for data loads.
3467
3468         * WebView/WebFrame.mm:
3469         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
3470         If the base URL is nil, set it to "about:blank", and set the response URL to a generated applewebdata URL.
3471         
3472         * WebView/WebView.mm:
3473         (+[WebView _canHandleRequest:]):
3474         No need to special-case applewebdata URLs here anymore, they're only used in responses.
3475
3476 2007-05-03  Steve Falkenburg  <sfalken@apple.com>
3477
3478         Reviewed by Oliver.
3479
3480         Add missing user description parameter to spelling-related editor client method.
3481
3482         * WebCoreSupport/WebEditorClient.h:
3483         (WebEditorClient::updateSpellingUIWithGrammarString):
3484
3485 2007-05-03  TImothy Hatcher  <timothy@apple.com>
3486
3487         Reviewed by Kevin.
3488
3489         <rdar://problem/4975212> REGRESSION: With NetNewsWire 2.1.1, the contextual menu shows extra menu items when focus
3490         is placed in input or textarea field
3491
3492         The NetNewsWire UI delegate isn't expecting calls for form controls, so we need to do a linked-on-or-after check.
3493         If the application was linked against Tiger or earlier and the element is a text form control, just return the
3494         default menu items and bypass the delegate call completely.
3495
3496         * WebCoreSupport/WebContextMenuClient.mm:
3497         (isPreVersion3Client): Cache the result of the WebKitLinkedOnOrAfter call
3498         (fixMenusToSendToOldClients): Call the new isPreVersion3Client()
3499         (fixMenusReceivedFromOldClients): Ditto.
3500         (WebContextMenuClient::getCustomMenuFromDefaultItems): Return the default menu items if the element is a text form control.
3501
3502 2007-05-03  Mark Rowe  <mrowe@apple.com>
3503
3504         Reviewed by Geoff and Kevin.
3505
3506         <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients
3507
3508         Second shot at fixing this error.  Stub out the macros rather than forwarding to JavaScriptCore, which would
3509         leave clients using this header trying to resolve JavaScriptCore symbols against WebKit when linking.  This
3510         should only happen in production builds when assertions should be disabled anyway as anyone building a
3511         development configuration should be in a position to move away from using this header.
3512
3513         * Misc/WebAssertions.h: 
3514
3515 2007-05-03  Timothy Hatcher  <timothy@apple.com>
3516
3517         Reviewed by Kevin.
3518
3519         <rdar://problem/5067707> REGRESSION: "Open Link" contextual menu item appears twice in Mail
3520
3521         Remove the check for Mail in fixMenusToSendToOldClients and fixMenusReceivedFromOldClients
3522         when linked on or after Leopard. The isAppleMail() function is still used for Tiger Mail fixups.
3523
3524         * WebCoreSupport/WebContextMenuClient.mm:
3525         (fixMenusToSendToOldClients):
3526         (fixMenusReceivedFromOldClients):
3527
3528 2007-05-02  Anders Carlsson  <andersca@apple.com>
3529
3530         Reviewed by Brady.
3531
3532         <rdar://problem/5151113> Assertion firing in [FrameProgressEntry addChild:forDataSource:] when navigating cnn.com
3533         
3534         The assertion fired because a plug-in was trying to load a subresource when a new load had started but not yet
3535         committed. The check that would have prevented this was removed in order to fix <rdar://problem/5085897>.
3536         
3537         This puts back the check but changes it to allow loads where the target is the same frame as the plugin's parent frame.
3538         
3539         * Plugins/WebBaseNetscapePluginView.mm:
3540         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
3541
3542 2007-04-27  Timothy Hatcher  <timothy@apple.com>
3543
3544         Reviewed by Darin.
3545
3546         There were only a couple calls to ResourceLoadDelegate forwarder left,
3547         this removes the calls and adds a new cached method for didFailLoad.
3548
3549         * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.h: Removed.
3550         * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.m: Removed.
3551         * WebKit/Plugins/WebNullPluginView.mm: Call the resource load delegate directly.
3552         * WebKit/WebCoreSupport/WebFrameLoaderClient.mm: Call the cached didFailLoad delegate function.
3553         * WebKit/WebKit.xcodeproj/project.pbxproj: Remove WebDefaultResourceLoadDelegate.
3554         * WebKit/WebView/WebDataSource.mm: Remove the #import for WebDefaultResourceLoadDelegate.h
3555         * WebKit/WebView/WebView.mm: Remove the ResourceLoadDelegate forwarder, and remove a method that isn't used.
3556         * WebKit/WebView/WebViewInternal.h: Ditto.
3557         * WebKit/WebView/WebViewPrivate.h: Remove a method that is no longer used.
3558
3559 2007-04-27  David Harrison  <harrison@apple.com>
3560
3561         Reviewed by Darin.
3562
3563         <rdar://problem/5160627> Export JS list creation support as ObjC SPI for Mail
3564
3565         * WebKit.xcodeproj/project.pbxproj:
3566         * WebView/WebHTMLView.mm:
3567         (-[WebHTMLView _selectedRange]):
3568         (-[WebHTMLView _shouldDeleteRange:]):
3569         (-[WebHTMLView _canEdit]):
3570         (-[WebHTMLView _canEditRichly]):
3571         (-[WebHTMLView _hasSelection]):
3572         (-[WebHTMLView _hasSelectionOrInsertionPoint]):
3573         (-[WebHTMLView _hasInsertionPoint]):
3574         (-[WebHTMLView _isEditable]):
3575         Condense the check for nil [self frame].
3576         Remove canEditRichly checks and rely on the editor to do the check instead.
3577         
3578         (-[WebHTMLView _insertOrderedList]):
3579         (-[WebHTMLView _insertUnorderedList]):
3580         New.
3581         
3582         (-[WebHTMLView _canIncreaseSelectionListLevel]):
3583         (-[WebHTMLView _canDecreaseSelectionListLevel]):
3584         (-[WebHTMLView _increaseSelectionListLevel]):
3585         (-[WebHTMLView _increaseSelectionListLevelOrdered]):
3586         (-[WebHTMLView _increaseSelectionListLevelUnordered]):
3587         (-[WebHTMLView _decreaseSelectionListLevel]):
3588         Moved from bridge to frame editor.
3589
3590         * WebView/WebHTMLViewPrivate.h:
3591         Add _insertOrderedList and _insertUnorderedList to WebHTMLView(WebPrivate)
3592
3593 2007-04-27  Brady Eidson  <beidson@apple.com>
3594
3595         Rubberstamped by Mark
3596
3597         Remove default implementation of UIDelegate method that was removed
3598
3599         I have also been instructed to give Tim a hard time about this one - apparently
3600         it was his job to clean it out and he failed...  failed miserably.
3601
3602         :)
3603
3604         * DefaultDelegates/WebDefaultUIDelegate.m: Removed webViewPrint:
3605
3606 2007-04-27  Maciej Stachowiak  <mjs@apple.com>
3607
3608         Reviewed by Mark.
3609         
3610         <rdar://problem/5154113> Repro ASSERT (would be crash) in KJS::GCLock::GCLock (13462)
3611         http://bugs.webkit.org/show_bug.cgi?id=13462
3612
3613         * WebInspector/WebInspector.m:
3614         (-[WebInspectorPrivate dealloc]): Delay release of WebView to avoid GC re-entrancy.
3615
3616 2007-04-27  Anders Carlsson  <andersca@apple.com>
3617
3618         Reviewed by Mitz.
3619
3620         <rdar://problem/5165755>
3621         View Source is broken; empty window is shown
3622         
3623         Return YES for applewebdata URLs.
3624         
3625         * WebView/WebView.mm:
3626         (+[WebView _canHandleRequest:]):
3627
3628 2007-04-26  Oliver Hunt  <oliver@apple.com>
3629
3630         Reviewed by Adam.
3631
3632         Fix <rdar://problem/5061252> REGRESSION: In Gmail, image fails 
3633         to be inserted into message field after dragging
3634
3635         Don't try to create <img> tags for local image files as it results
3636         in the potential to submit forms that look like they have an image,
3637         when in reality they don't.
3638
3639         * WebView/WebHTMLView.mm:
3640         (-[WebHTMLView _documentFragmentWithPaths:]):
3641
3642 2007-04-26  Anders Carlsson  <andersca@apple.com>
3643
3644         Reviewed by Maciej.
3645
3646         <rdar://problem/5049099> documents no longer have a default base URL
3647         
3648         If the base URL is nil, then create a unique applewebdata URL to match what Tiger WebKit does.
3649         
3650         * WebView/WebFrame.mm:
3651         (createUniqueWebDataURL):
3652         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
3653
3654 2007-04-25  Oliver Hunt  <oliver@apple.com>
3655
3656         Rubber stamped by Adele.
3657
3658         Roll out WebKit changes from from r21052 to fix regression noted in
3659         <rdar://problem/5159556> REGRESSION: In Mail, pressing option-command- ' doesn't decrease block quote in selection
3660
3661         * WebView/WebHTMLView.mm:
3662         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
3663         (-[WebHTMLView doCommandBySelector:]):
3664
3665 2007-04-25  Steve Falkenburg  <sfalken@apple.com>
3666
3667         Reviewed by Adam.
3668
3669         Mac callbacks for new spelling methods in WebEditorClient.
3670         Not used yet.
3671
3672         * WebCoreSupport/WebEditorClient.h:
3673         (WebEditorClient::ignoreWordInSpellDocument):
3674         (WebEditorClient::learnWord):
3675         (WebEditorClient::checkSpellingOfString):
3676         (WebEditorClient::checkGrammarOfString):
3677         (WebEditorClient::updateSpellingUIWithGrammarString):
3678         (WebEditorClient::updateSpellingUIWithMisspelledWord):
3679         (WebEditorClient::showSpellingUI):
3680         (WebEditorClient::spellingUIIsShowing):
3681         (WebEditorClient::getGuessesForWord):
3682
3683 2007-04-24  Geoffrey Garen  <ggaren@apple.com>
3684
3685         Reviewed by Darin Adler, Tim Hatcher.
3686
3687         Fixed a few NSAutoreleasePool issues I noticed while reviewing Brady's patch.
3688
3689         * Carbon/CarbonUtils.m:
3690         (PoolCleaner): Call -drain instead of -release, since -release is a 
3691         no-op in a GC world.
3692
3693         * Misc/WebKitErrors.m:
3694         (registerErrors): Condensed onto one line.
3695
3696         * Plugins/WebPluginDatabase.m:
3697         (-[WebPluginDatabase refresh]): Call -drain instead of -release, since
3698         -release is a no-op in a GC world.
3699
3700         * WebCoreSupport/WebChromeClient.mm:
3701         (WebChromeClient::setStatusbarText):
3702
3703         * WebInspector/WebNodeHighlightView.m:
3704         (-[WebNodeHighlightView initWithHighlight:andRects:forView:]): Don't drain
3705         and then release because drain deallocates the receiver, so the release
3706         is an over-release.
3707
3708         * WebView/WebView.mm:
3709         (-[WebView rectsForTextMatches]): Re-allocate the pool after draining it,
3710         because drain deallocates the receiver, so the drain would leave you without
3711         any autorelease pool, causing a leak and then an over-release at the bottom
3712         of the loop.
3713
3714 2007-04-24  Brady Eidson  <beidson@apple.com>
3715
3716         Reviewed by Beth, Hyatt, Ada, and Darin
3717
3718         <rdar://problem/5011477> and <rdar://problem/5011514>
3719         Provide support for the icon.db to be moved to a different directory from the old WebKit-style
3720         icons, and remove the old directory if that is the case
3721
3722         * Misc/WebIconDatabase.mm:
3723         (-[WebIconDatabase init]):
3724         (-[WebIconDatabase _importToWebCoreFormat]): Check "imported()" to determine if a conversion is needed
3725           - Look for WebIconDatabaseImportDirectoryDefaultsKey for the source location for the conversion
3726           - Set "imported" to true in the Icons.db
3727           - If the new Icons.db isn't in the same patch as the old icons, delete the entire directory when finished
3728           - Move old icon.db to Icons.db to reflect rename
3729         * Misc/WebIconDatabasePrivate.h: Add WebIconDatabaseImportDirectoryDefaultsKey so a WebKit client can tell WebKit
3730           where to look for the old icons if their location is different from the icon.db
3731         * WebKit.exp:
3732
3733 2007-04-24  Mitz Pettel  <mitz@webkit.org>
3734
3735         Reviewed by Oliver Hunt.
3736
3737         Changed an apostrophe (') into a right single quotation mark (U+2019).
3738
3739         * WebInspector/webInspector/inspector.js:
3740
3741 2007-04-24  Mitz Pettel  <mitz@webkit.org>
3742
3743         Reviewed by Timothy Hatcher.
3744
3745         - fix http://bugs.webkit.org/show_bug.cgi?id=13459
3746           The "mapped style" link next to an attribute doesn't work
3747
3748         * WebInspector/webInspector/inspector.js: Added a check that the rule is
3749         mapped from an attribute.
3750
3751 2007-04-23  Adele Peterson  <adele@apple.com>
3752
3753         Fixed and reviewed by Darin, Adele, and Oliver.
3754
3755         WebKit part of fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
3756         http://bugs.webkit.org/show_bug.cgi?id=13263
3757
3758         * WebView/WebHTMLView.mm:
3759         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):  If we have no command after calling interpretKeyEvents, we assume the input method handled the key.
3760         (-[WebHTMLView doCommandBySelector:]): Add noop: to the command vector, but then when actually performing actions, ignore it.
3761
3762 2007-04-23  Timothy Hatcher  <timothy@apple.com>
3763
3764         Reviewed by Darin.
3765
3766         <rdar://problem/5124364> IB3 crashes when loading a nib containing a WebView that has a WebHTMLView encoded inside
3767
3768         Since WebView's initWithCoder throws away all the decoded subviews, the WebHTMLView gets dealoced while it has a nil _private pointer.
3769         Checking for a nil _private in WehHTMLView's close fixes this crash. No need to implement a full initWithCoder for WebHTMLView since
3770         it will be thrown away by the WebView anyway.
3771
3772         * WebView/WebHTMLView.mm:
3773         (-[WebHTMLView close]): Return earily if _priviate is nil.
3774         (-[WebHTMLView initWithFrame:]): Unrelated change that removes an AppKit version check that predates Tiger.
3775
3776 2007-04-23  Timothy Hatcher  <timothy@apple.com>
3777
3778         Reviewed by Mark Rowe.
3779
3780         Remove the "No Selection" message after leaving search mode.
3781         This was a regression caused by the inspector refresh.
3782
3783         * WebInspector/webInspector/inspector.js:
3784
3785 2007-04-23  Timothy Hatcher  <timothy@apple.com>
3786
3787         Reviewed by Darin.
3788
3789         Bug 6658: World leak when closing inspected window
3790         http://bugs.webkit.org/show_bug.cgi?id=6658 and <rdar://problem/4411863>
3791
3792         Removes over-retains of the inspector WebView, WebInspector and WebInspectorPanel.
3793
3794         * WebInspector/WebInspector.m:
3795         (+[WebInspector sharedWebInspector]): Return the global sharedWebInspector variable.
3796         (-[WebInspector window]): Release the window after calling setWindow:.
3797         (-[WebInspector windowWillClose:]): Set the JavaScript Inspector variable to null and expire the current highlight.
3798           Also clear the global sharedWebInspector variable and release it if self equals sharedWebInspector.
3799         (-[WebInspector showWindow:]): Set the JavaScript Inspector variable back to self.
3800         * WebInspector/WebInspectorInternal.h: Remove the isSharedInspector member variable.
3801         * WebView/WebView.mm:
3802         (-[WebView windowScriptObject]): Return nil if core([self mainFrame]) is NULL.
3803
3804 2007-04-23  Darin Adler  <darin@apple.com>
3805
3806         Reviewed by Hyatt.
3807
3808         - rename box-sizing to -webkit-box-sizing
3809
3810         * WebInspector/webInspector/inspector.css: Here.
3811         * WebInspector/webInspector/inspector.js: And here, in the expected default CSS values list.
3812
3813 2007-04-22  Timothy Hatcher  <timothy@apple.com>
3814
3815         Reviewed by Darin.
3816
3817         The fix for <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject
3818         was #ifdefed out in Production builds.
3819
3820         * WebView/WebView.mm:
3821         (+[WebView initialize]): Move the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM inside initialize around the specific code
3822         (+[WebView _applicationWillTerminate]): Moved outside the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM block
3823
3824 2007-04-22  Timothy Hatcher  <timothy@apple.com>
3825
3826         Reviewed by Mitz.
3827
3828         Bug 13436: Make Option-clicking a disclosure triangle expand the entire subtree
3829         http://bugs.webkit.org/show_bug.cgi?id=13436
3830
3831         Makes option-click recursively expand and collapse the sub-tree. Pressing option-left
3832         and -right also recursively expands and collapses the sub-tree.
3833
3834         * WebInspector/webInspector/treeoutline.js:
3835
3836 2007-04-22  Timothy Hatcher  <timothy@apple.com>
3837
3838         Reviewed by Mitz.
3839
3840         Bug 13437: Inspector does not update when navigating to a different page
3841         http://bugs.webkit.org/show_bug.cgi?id=13437
3842
3843         * WebInspector/webInspector/inspector.js: Correctly update to a new root node
3844           if the new focus node and the old focus node don't have a common ancestor.
3845
3846 2007-04-22  Darin Adler  <darin@apple.com>
3847
3848         Reviewed by Adele.
3849
3850         - fix for <rdar://problem/5100240> REGRESSION: Control-O broken
3851
3852         * WebView/WebHTMLView.mm:
3853         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Update to handle a vector of
3854         command names instead of a single command.
3855         (-[WebHTMLView doCommandBySelector:]): Change logic so that we add the command to a vector
3856         and also so that the interpretKeyEvents parameters are still intact for a second call to
3857         doCommandBySelector:, since the key bindings mechanism can do more than one.
3858         (-[WebHTMLView insertText:]): Added comment.
3859
3860 2007-04-21  Darin Adler  <darin@apple.com>
3861
3862         Reviewed by Oliver.
3863
3864         - fix some problems I ran into using the inspector
3865
3866         * WebInspector/webInspector/inspector.js: Add some null checks.
3867
3868 2007-04-20  Timothy Hatcher  <timothy@apple.com>
3869
3870         Reviewed by Darin.
3871
3872         Merge over the WebInspectorRefresh branch. This change removes the NSOutlineView and
3873         is replaced with a HTML/JavaScript tree. Most of the inspector logic is now in the JavaScript.
3874
3875         A few bugs are fixed by these changes:
3876
3877         Bug 6615: Parent node drop-down list is upside-down
3878         http://bugs.webkit.org/show_bug.cgi?id=6615
3879
3880         Bug 6643: REGRESSION: Tree view repaints lines without erasing them first
3881         http://bugs.webkit.org/show_bug.cgi?id=6643
3882
3883         Bug 6650: Web Inspector HTML Hierarchy can't be scrolled with scrollwheel
3884         http://bugs.webkit.org/show_bug.cgi?id=6650
3885
3886         Bug 6677: Can't drag inspector when tree view has focus
3887         http://bugs.webkit.org/show_bug.cgi?id=6677
3888
3889         Bug 7326: Web Inspector tree scrollbar always shows up when resizing the top pane down
3890         http://bugs.webkit.org/show_bug.cgi?id=7326
3891
3892         * WebInspector/WebInspector.h: Removed the searchQuery methods.
3893         * WebInspector/WebInspector.m: Removed the DOMNode category and code for the old outline view.
3894         * WebInspector/WebInspectorOutlineView.h: Removed.
3895         * WebInspector/WebInspectorOutlineView.m: Removed.
3896         * WebInspector/WebInspectorInternal.h: Remove some methods and instance variables.
3897         * WebInspector/webInspector/Images/resize.png: Added.
3898         * WebInspector/webInspector/inspector.css: 
3899         * WebInspector/webInspector/inspector.html: Include the new classes and remove the plugin.
3900         * WebInspector/webInspector/inspector.js: Changes to use the new tree outline and other fixes.
3901         * WebInspector/webInspector/scrollarea.js: Copied from the Dashboard widget resources.
3902         * WebInspector/webInspector/scrollbar.js: Ditto.
3903         * WebInspector/webInspector/treeoutline.js: New tree outline class.
3904         * WebInspector/webInspector/utilities.js: DOM and String prototype additions.
3905         * WebKit.xcodeproj/project.pbxproj: Remove WebInspectorOutlineView.
3906
3907 2007-04-20  Brady Eidson  <beidson@apple.com>
3908
3909         Reviewed by Oliver (Black Sheep)
3910
3911         <rdar://problem/3559794>
3912         [WebView setMaintainsBackForwardList:] doesn't actually flush out the current page caches
3913
3914         * WebView/WebView.mm: Remove _private->useBackForwardList
3915         (-[WebView _setInitiatedDrag:]): Use _private->page instead of [self page]
3916         (-[WebView initWithCoder:]): Manipulate the flag that is now in WebCore::BackForwardList
3917         (-[WebView encodeWithCoder:]): Ditto
3918         (-[WebView backForwardList]): Use _private->page instead of [self page]
3919         (-[WebView setMaintainsBackForwardList:]): Manipulate the flag that is now in WebCore::BackForwardList
3920
3921 2007-04-20  Anders Carlsson  <andersca@apple.com>
3922
3923         Reviewed by Maciej.
3924
3925         <rdar://problem/5085897> REGRESSION: Some Flash links at www.jumpskyhigh.com just reload the page
3926         
3927         Get rid of the check that would prevent plugin requests from being loaded if a new page load was underway.
3928         www.jumpskyhigh.com had a flash movie that was embedded inside an <a> tag and clicking on the plug-in would cause the
3929         URL pointed to by the <a> tag to start loading and thus preventing the plug-in from loading the real URL.
3930         
3931         This check was added by Maciej and we should be able to remove it with the loader changes that have happened now,
3932         (mainly the fact that resource loaders are handled by the document loader instead of the frame loader).
3933         
3934         * Plugins/WebBaseNetscapePluginView.mm:
3935         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
3936
3937 2007-04-19  Oliver Hunt  <oliver@apple.com>
3938
3939         Reviewed by Adam.
3940
3941         Fix for <rdar://problem/4960912> -- REGRESSION: Content-Disposition:
3942         filename is ignored for drag-and-drop.
3943
3944         * WebView/WebResource.mm:
3945         (-[WebResource _fileWrapperRepresentation]):
3946           When creating the NSFileWrapper check the response for a preferred 
3947           filename, rather than just blindly hoping for the best.
3948
3949 2007-04-19  Anders Carlsson  <andersca@apple.com>
3950
3951         Reviewed by John.
3952
3953         <rdar://problem/5137002>
3954         REGRESSION (r20812): [WebFrame DOMDocument] is returning non-nil value in bookmarks view, causing trouble in Safari
3955
3956         Put back the MIME type check as a workaround.
3957         * WebView/WebFrame.mm:
3958         (-[WebFrame DOMDocument]):
3959
3960 2007-04-19  Mark Rowe  <mrowe@apple.com>
3961
3962         Reviewed by Oliver and Adam.
3963
3964         <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients.
3965
3966         * Misc/WebAssertions.h: Added.
3967         * WebKit.xcodeproj/project.pbxproj:
3968
3969 2007-04-17  Brady Eidson  <beidson@apple.com>
3970
3971         Reviewed by Tim
3972
3973         <rdar://problem/5008925>
3974         Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate
3975
3976         * WebCoreSupport/WebFrameLoaderClient.h:
3977         * WebCoreSupport/WebFrameLoaderClient.mm:
3978         (WebFrameLoaderClient::willCacheResponse): Call 
3979           [WebResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:];
3980
3981         * WebView/WebView.mm:
3982         (-[WebView _cacheResourceLoadDelegateImplementations]): Pull out the willCacheResponse impl
3983
3984         * WebView/WebViewPrivate.h: Add WebResourceLoadDelegatePrivate category for this new SPI
3985
3986 2007-04-18  John Sullivan  <sullivan@apple.com>
3987
3988         Reviewed by Adam
3989
3990         - fixed <rdar://problem/5103009> REGRESSION: Activity window shows blank name for untitled pages
3991
3992         * WebView/WebHTMLRepresentation.mm:
3993         (-[WebHTMLRepresentation title]):
3994         return nil for empty string, to match old behavior
3995
3996 2007-04-17  John Sullivan  <sullivan@apple.com>
3997
3998         Reviewed by Tim Hatcher
3999
4000         - fixed <rdar://problem/5138492> Safari doesn't remember some changes to the PDF scale and display mode 
4001
4002         Some of the user interactions that could change the PDF scale and display mode were not going through
4003         the proxy mechanism in WebPDFView that updates preferences. Now we also listen to PDFKit notifications
4004         in order to catch the other cases.
4005
4006         * WebView/WebPDFView.h:
4007         new _ignoreScaleAndDisplayModeNotifications and _updatePreferencesTimer ivars
4008
4009         * WebView/WebPDFView.mm:
4010         (-[WebPDFView setPDFDocument:]):
4011         ignore scale and display mode notifications while we're setting up a fresh document
4012         (-[WebPDFView dealloc]):
4013         cancel the new timer (which releases it)
4014         (-[WebPDFView viewDidMoveToWindow]):
4015         listen for two PDFKit notifications
4016         (-[WebPDFView viewWillMoveToWindow:]):
4017         stop listening to the two PDFKit notifications
4018         (-[WebPDFView _applyPDFDefaults]):
4019         white space change
4020         (-[WebPDFView _cancelUpdatePreferencesTimer]):
4021         invalidate, release, and nil out the timer
4022         (-[WebPDFView _scaleOrDisplayModeChanged:]):
4023         update preferences soon, unless deliberately ignoring these notifications
4024         (-[WebPDFView _updatePreferencesNow]):
4025         cancel timer, then save data to preferences (code for saving the data was extracted from
4026         -[PDFPrefUpdatingProxy forwardInvocation:])
4027         (-[WebPDFView _updatePreferencesSoon]):
4028         use timer to consolidate multiple calls into one action; formerly we were setting preferences
4029         multiple times for some atomic user actions
4030         (-[PDFPrefUpdatingProxy forwardInvocation:]):
4031         call _updatePreferencesSoon where we used to immediately set preferences
4032
4033 2007-04-17  John Sullivan  <sullivan@apple.com>
4034
4035         Reviewed by Kevin Decker
4036
4037         - fixed <rdar://problem/4184640> "Look Up in Dictionary" item is always disabled for PDF pages
4038
4039         * WebView/WebPDFView.mm:
4040         (-[WebPDFView validateUserInterfaceItem:]):
4041         enable "Look Up in Dictionary" only if we're using a version of PDFKit that knows how to do so
4042         (-[WebPDFView _canLookUpInDictionary]):
4043         use respondsToSelector to test whether the current version of PDFKit supports this non-API feature
4044         (-[WebPDFView _lookUpInDictionaryFromMenu:]):
4045         implement this method, which WebKit includes in the context menu when there's selected text
4046         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
4047         updated comment for this change
4048
4049 2007-04-16  Darin Adler  <darin@apple.com>
4050
4051         Rubber stamped by Tim Hatcher.
4052
4053         * WebKit.xcodeproj/project.pbxproj: Added Radar bug number to the error message
4054         for the "version number ending in 4" check so folks from Apple can find the
4055         original bug that motivated for this. To summarize what's in that bug, it says that
4056         <http://my.fedex.com> was failing, that it was because of the OpenCube DHTML Menu,
4057         and that some other affected sites were not using OpenCube (so the error is presumably
4058         more widespread).
4059
4060 2007-04-16  Darin Adler  <darin@apple.com>
4061
4062         Reviewed by John Sullivan.
4063
4064         - fix http://bugs.webkit.org/show_bug.cgi?id=13303
4065           <rdar://problem/5126341> REGRESSION: controls in a background Safari window
4066           maintain active appearance if the address bar has focus (13303)
4067
4068         * WebView/WebHTMLView.mm: (-[WebHTMLView _windowChangedKeyState]):
4069         Added. Calls FrameView::updateControlTints.
4070
4071 2007-04-13  Oliver Hunt  <oliver@apple.com>
4072
4073         Reviewed by Adam.
4074
4075         Due to rdar://problem/5133910 -- WebArchives should not be constructed 
4076         using resource from the cache -- We may try to create a potentially 
4077         incorrect WebArchive when dragging an image multiple times.
4078
4079         This patch retains the assertion for invalid behaviour, but adds a
4080         branch to make sure we don't try to do anything with the WebArchive
4081         in release builds.
4082
4083         * Misc/WebNSPasteboardExtras.mm:
4084         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
4085
4086 2007-04-13  Timothy Hatcher  <timothy@apple.com>
4087
4088         Reviewed by Dave Harrison.
4089
4090         <rdar://problem/5132727> Soho Mail build fails because of renamed SPI
4091
4092         * WebView/WebUIDelegatePrivate.h: define WebMenuItemTagSearchInGoogle as OldWebMenuItemTagSearchWeb
4093
4094 2007-04-13  Mark Rowe  <mrowe@apple.com>
4095
4096         Reviewed by Oliver.
4097
4098         <rdar://problem/5130686> Using WebPreferencesPrivate.h requires modifying framework search path
4099
4100         * WebView/WebPreferencesPrivate.h: Remove unneeded #ifdef.
4101
4102 2007-04-12  Deneb Meketa  <dmeketa@adobe.com>
4103
4104         Reviewed by Darin Adler.
4105
4106         http://bugs.webkit.org/show_bug.cgi?id=13029
4107         rdar://problem/4994849
4108         Bug 13029: Permit NPAPI plug-ins to see HTTP response headers.
4109
4110         * Plugins/WebBaseNetscapePluginStream.h: declarations.
4111         * Plugins/WebBaseNetscapePluginStream.mm: main implementation.
4112         (-[WebBaseNetscapePluginStream dealloc]): cleanup.
4113         (-[WebBaseNetscapePluginStream finalize]): cleanup.
4114         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
4115         Pass headers along.
4116         (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
4117         Main work is here.  Extract headers from NSHTTPURLResponse object into a byte sequence.
4118         See comments here about how it would be nice to have low-level access to the HTTP response.
4119         (-[WebBaseNetscapePluginStream _destroyStream]): cleanup.
4120         * Plugins/WebBaseNetscapePluginView.mm:
4121         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
4122         Conform to new startStream params.  Not applicable here, pass nil.
4123
4124 2007-04-12  Brady Eidson  <beidson@apple.com>
4125
4126         Build fix for case sensitive file systems
4127
4128         * Misc/WebNSPasteboardExtras.mm:
4129         * WebCoreSupport/WebPasteboardHelper.mm:
4130
4131 2007-04-11  John Sullivan  <sullivan@apple.com>
4132
4133         Reviewed by Anders
4134
4135         - WebKit part of fix for:
4136         <rdar://problem/5128697> REGRESSION: At least one PDF context menu item isn't appearing on Leopard
4137
4138         * Misc/WebNSArrayExtras.h: Added.
4139         * Misc/WebNSArrayExtras.m: Added.
4140         (-[NSMutableArray _webkit_removeUselessMenuItemSeparators]):