JavaScriptCore:
[WebKit-https.git] / WebKit / ChangeLog
1 2005-11-03  Timothy Hatcher  <timothy@apple.com>
2
3         Reviewed by Darin and Vicki.
4
5         * WebKit.xcodeproj/project.pbxproj:
6           Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
7           $(NEXT_ROOT) in a few spots to make build-root work.
8
9 2005-11-01  Tim Omernick  <timo@apple.com>
10
11         Reviewed by John Sullivan.
12
13         <rdar://problem/4318632>
14
15         I've added a new notification, WebPluginWillPresentNativeUserInterfaceNotification.  Plugins are expected to post this
16         notification before presenting "native UI", such as dialog boxes.  A Dashboard client can observe this notification to
17         hide the Dashboard layer when plugins present external UI.
18         
19         * English.lproj/StringsNotToBeLocalized.txt:
20         Added "WebPluginWillPresentNativeUserInterface".
21
22         * Plugins.subproj/WebPluginsPrivate.h: Added.
23         * Plugins.subproj/WebPluginsPrivate.m: Added.
24         Declare WebPluginWillPresentNativeUserInterfaceNotification.
25
26         * WebKit.xcodeproj/project.pbxproj:
27         Added WebPluginsPrivate.[hm]
28
29         * WebKit.exp:
30         Added _WebPluginWillPresentNativeUserInterfaceNotification.
31
32 2005-11-01  John Sullivan  <sullivan@apple.com>
33
34         Reviewed by Darin Adler.
35         
36         fixed deployment build by hiding local variables used only in ASSERTs on builds for
37         which ASSERT_DISABLED is true.
38
39         * History.subproj/WebHistory.m:
40         (-[WebHistoryPrivate removeItemForURLString:]):
41         (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]):
42
43 2005-11-01  John Sullivan  <sullivan@apple.com>
44
45         Reviewed by Tim Omernick.
46         
47         - fixed <rdar://problem/4324104> Assertion failure (foundDate) in WebHistory
48         
49         WebFrame was updating the last visited date on a WebHistoryItem behind WebHistory's
50         back, causing WebHistory's caches of items by date to get out of sync with reality.
51         Changed to set the date through WebHistory rather than directly.
52
53         * History.subproj/WebHistory.m:
54         (-[WebHistoryPrivate _removeItemFromDateCaches:]):
55         New method, extracted from removeItemForURLString.
56         (-[WebHistoryPrivate removeItemForURLString:]):
57         Now calls extracted method. Cleaned up white space a little.
58         (-[WebHistoryPrivate _addItemToDateCaches:]):
59         New method, extracted from addItem:
60         (-[WebHistoryPrivate addItem:]):
61         Now calls extracted method. Cleaned up white space a little.
62         (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]):
63         New method, removes item from date caches, changes date, then adds item back to
64         date caches and sends notification.
65         (-[WebHistory setLastVisitedTimeInterval:forItem:]):
66         New method, cover for WebHistoryPrivate version.
67         
68         * History.subproj/WebHistoryItem.m:
69         (-[WebHistoryItem _setLastVisitedTimeInterval:]):
70         Don't send notification here; send from new WebHistory method instead.
71         
72         * History.subproj/WebHistoryItemPrivate.h:
73         Added comment about avoiding incorrect use of _setLastVisitedTimeInterval:
74         * History.subproj/WebHistoryPrivate.h:
75         Added declarations for WebHistory and WebHistoryPrivate versions of 
76         setLastVisitedTimeInterval:forItem:
77         
78         * WebView.subproj/WebFrame.m:
79         (-[WebFrame _transitionToCommitted:]):
80         change history item's date via new WebHistory method rather than directly
81
82 2005-10-25  Timothy Hatcher  <timothy@apple.com>
83
84         Reviewed by Darin.
85
86         Remove the use of a stamp file in the Frameworks symlink build phase.
87         This lets us pass the build verification.
88
89         * WebKit.xcodeproj/project.pbxproj:
90
91 2005-10-24  Darin Adler  <darin@apple.com>
92
93         Reviewed by Geoff.
94
95         - change internal methods in WebTextRenderer to be functions in case this
96           has any effect on speed (also makes things a bit clearer, in my opinion)
97
98         * WebCoreSupport.subproj/WebTextRenderer.h: Made all fields public, which is
99         OK since this is really a private class. Made setAlwaysUseATSU: class method
100         public too for the same reason.
101
102         * WebCoreSupport.subproj/WebTextRenderer.m: Change all methods to functions.
103         (destroy): Function name for method free.
104         (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): Removed code to first subtract
105         lineSpacing - descent, then later add it back.
106         (getSmallCapsRenderer): Function name for method smallCapsRenderer.
107         (findSubstituteFont): Function name for method substituteFontForString:families:.
108         (findSubstituteRenderer): Function name for method substituteRendererForCharacters:length:families:.
109         (updateGlyphMapEntry): Function name for method updateGlyphEntryForCharacter:glyphID:substituteRenderer:.
110         (extendGlyphMap): Function name for method extendCharacterToGlyphMapToInclude:.
111         (extendWidthMap): Function name for method extendGlyphToWidthMapToInclude:.
112         (getTextBounds): Function name for method trapezoidForRun:style:atPoint:.
113
114 2005-10-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
115
116         Reviewed by Darin.  Committed by David Harrison.
117
118         http://bugzilla.opendarwin.org/show_bug.cgi?id=5415
119         "Left border of selection highlight leaves behind a trail"
120         
121         * manual-tests/drag_select_highlighting.html: Added.
122         (this test case was added to WebCore)
123    
124         * WebCoreSupport.subproj/WebTextRenderer.m:
125         (overrideLayoutOperation):
126         (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]):
127         (-[WebTextRenderer ATSU_drawHighlightForRun:style:geometry:]):
128         (advanceWidthIterator):
129
130
131 2005-10-23  Tim Omernick  <tomernick@apple.com>
132
133         Reviewed by Dave Hyatt.
134
135         <http://bugzilla.opendarwin.org/show_bug.cgi?id=5365>
136
137         Send -webPlugInStop (or -pluginStop) and -webPluginDestroy (or -pluginDestroy)
138         to complying plugins right when they're removed from the WebHTMLView, and also
139         release them from the plugin controller's arrays.
140         
141         I think this patch makes WebKit behave more like plugins expect it to, which is
142         the way it already behaves with Netscape plugins.
143         
144         I expect complying plugins to stop making noise when receiving the stop
145         message, but QuickTime doesn't. If it's lucky, then it will be deallocated
146         because of the release and will stop then. However, JS, for one, can retain the
147         plugin (e.g. if you execute <javascript:document.getElementById('obj').width;>
148         before clicking Remove OBJECT), in which case it will just keep playing.
149         
150         * Plugins.subproj/WebPluginController.h:
151         * Plugins.subproj/WebPluginController.m:
152         (-[WebPluginController destroyPlugin:]):
153         Stop and destroy the plugin.
154         * WebView.subproj/WebHTMLView.m:
155         (-[NSArray willRemoveSubview:]):
156         Destroy plugins when they are removed from the HTML view.
157         
158 2005-10-23  Geoffrey Garen  <ggaren@apple.com>
159
160         Reviewed by Maciej.
161
162         For better abstraction, made the tokenizer -- instead of the 
163         data source -- responsible for calling [WebFrame _checkLoadComplete]
164         when the tokenizer stops.
165
166         * WebView.subproj/WebDataSource.m:
167         (-[WebDataSource _stopLoadingInternal]):
168
169 2005-10-21  Geoffrey Garen  <ggaren@apple.com>
170
171         Reviewed by darin.
172         
173         WebKit side of the fix for <rdar://problem/4184719> window.print() followed by 
174         window.close() causes world leak
175         
176         No test case added because I have another reviewed patch that will include a test
177         for this bug as well as many others.
178
179         Under some conditions, [WebDataSource stopLoading] did not set [WebDataSource isLoading]
180         to false, so the didFInishLoad delegates never fired.
181         
182         The reason isLoading didn't become false was that the tokenizer was still running.
183         The fix here is to move the call to [WebCoreBridge stopLoading] above the early return
184         inside [WebDataSource stopLoading] -- since the tokenizer may still be running even if the
185         loader is finished loading -- and then to call [WebFrame _checkLoadComplete] to 
186         give the frame a chance to fire its delegates.
187         
188         * WebView.subproj/WebDataSource.m:
189         (-[WebDataSource _stopLoadingInternal]):
190
191 2005-10-21  Beth Dakin  <bdakin@apple.com>
192
193         Reviewed by Darin??
194
195         Fix for <rdar://problem/3853672> Malformed HTML using crashes Safari in NSFireTimer
196
197         The webFrame was being deleted prematurely by a call to stop(), so we changed it
198         so that the calls to _receivedMainResourceError and _mainReceivedError happen 
199         before the stop(), and we retain the bridge.
200
201         * WebView.subproj/WebDataSource.m:
202         (-[WebDataSource _receivedMainResourceError:complete:]):
203
204 2005-10-21  Geoffrey Garen  <ggaren@apple.com>
205
206         Patch by TimO, Reviewed by hyatt, tested and landed by me.
207
208         Found what appears to be a misguided optimization that actually causes a measurable performance problem.
209         A fixed-size buffer was allocated on the stack to pass into CFURLGetBytes(), presumably to avoid malloc()
210         for URLs less than 2048 bytes.  There was also a fallback which malloc()'ed a buffer in case the fixed-size
211         buffer was too small to hold the URL's bytes.  This malloc()'ed buffer was then wrapped in an NSData using
212         +dataWithBytesNoCopy:length:, avoiding a memory copy (yay!)
213
214         The problem with this approach is two-fold:
215     
216         1. Regardless of how the buffer was allocated and filled, it is immediately wrapped in an NSData using
217         +dataWithBytes:length:, which copies the input bytes.  This is pretty much unavoidable; we need to get
218         the data into a malloc()'ed buffer to return it to the caller, unless the caller provides its own storage
219         (which would be super inconvenient).
220     
221         2. The size of the fixed buffer was large enough that it fit most (if not all) URLs involved in our Page
222         Load Test.  This means the unintentionally-inefficient case was by far the most *common* case!
223         
224         My fix is to malloc() the buffer from the start, and then use +[NSData dataWithBytes:length:freeWhenDone:]
225         to wrap the buffer in an NSData.  This avoids a memory copy for the normal case where a URL is less than
226         2048 bytes, and keeps the efficient behavior for the uncommon long URL case.
227
228         * Misc.subproj/WebNSURLExtras.m:
229         (-[NSURL _web_originalData]):
230
231 2005-10-21  Mitz Pettel  <opendarwin.org@mitzpettel.com>
232
233         Reviewed and landed by Darin.
234
235         - fixed a couple regressions caused by my last check-in
236           http://bugzilla.opendarwin.org/show_bug.cgi?id=5437
237           http://bugzilla.opendarwin.org/show_bug.cgi?id=5443
238
239         * WebCoreSupport.subproj/WebTextRenderer.m:
240         (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]): Compute background width
241         correctly, by subtracting position after run from position before run.
242         (addDirectionalOverride): Make the range include only the characters between the
243         directional override characters, not the directional override characters themselves.
244         (initializeWidthIterator): Correctly compute "widthToStart" based on the offset to
245         the beginning of the run, not to the end of the run!
246
247 2005-10-19  Darin Adler  <darin@apple.com>
248
249         Reviewed by Maciej.
250
251         - optimizations for a total of about 1% speed-up on PLT
252
253         * WebCoreSupport.subproj/WebTextRenderer.h: Updated to use bool instead of BOOL,
254         since BOOL is a signed char (which is not so efficient, at least on PPC).
255         * WebCoreSupport.subproj/WebTextRenderer.m:
256         (isSpace): Changed BOOL to bool and UniChar to UChar32. This actually fixes a
257         potential bug when the passed-in character is a non-BMP character (> FFFF).
258         (isRoundingHackCharacter): Ditto.
259         (widthForGlyph): Merged getUncachedWidth, widthFromMap, and widthForGlyph into
260         one function. Marked it inline. Changed to include syntheticBoldOffset in the
261         cached widths to save an add in the cached case. Instead of the special constant
262         UNINITIALIZED_GLYPH_WIDTH, just check for a width >= 0. This allows us to use
263         a negative number or NAN for the uninitialized width value -- I chose NAN.
264         (overrideLayoutOperation): Use bool instead of Boolean in one place.
265         (-[WebTextRenderer initWithFont:]): Use lroundf instead of ROUND_TO_INT.
266         (-[WebTextRenderer floatWidthForRun:style:]): Put the code to choose the ATSU
267         vs. CG code path back in here, because there are no callers inside the class
268         that need to call both.
269         (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
270         Use bool instead of BOOL.
271         (+[WebTextRenderer setAlwaysUseATSU:]): Ditto.
272         (fontContainsString): Ditto.
273         (-[WebTextRenderer computeWidthForSpace]): Ditto. Also use roundf instead of
274         using ROUND_TO_INT.
275         (-[WebTextRenderer setUpFont]): Use bool instead of BOOL.
276         (drawGlyphs): Ditto.
277         (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]): Restructure the
278         code so it can use the new advanceWidthIterator function instead of the old
279         widthForNextCharacter function.
280         (-[WebTextRenderer CG_drawRun:style:geometry:]): Use malloc instead of calloc
281         since we don't need initialization. Call CG_floatWidthForRun instead of
282         floatWidthForRun -- no need to re-check whether to use the CG or ATSU code path.
283         Removed code to handle a renderer of 0 since we no longer generate that in
284         the renderers array in advanceWidthIterator.
285         (CG_floatWidthForRun): Changed to call the new advanceWidthIterator instead of
286         the old widthForNextCharacter.
287         (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Use malloc instead of
288         calloc and explicitly initialize the one field that needs it. Fixed a potential
289         storage leak by adding a call to WKClearGlyphVector. Initialize the renderers
290         to self instead of to 0.
291         (-[WebTextRenderer extendGlyphToWidthMapToInclude:]): Initialize the widths to
292         NAN instead of UNINITIALIZED_GLYPH_WIDTH.
293         (addDirectionalOverride): Fixed bug where the first and last character in the buffer
294         could be uninitialized and where characters before and after the direction override
295         could be incorrect.
296         (-[WebTextRenderer ATSU_drawRun:style:geometry:]): Use bool instead of BOOL.
297         (-[WebTextRenderer ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
298         Ditto.
299         (advanceWidthIteratorOneCharacter): Added new helper function for CG_pointToOffset.
300         (-[WebTextRenderer CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
301         Reimplemented to use advanceWidthIteratorOneCharacter instead of widthForNextCharacter.
302         Also call CG_floatWidthForRun instead of floatWidthForRun since we don't need to
303         reconsider whether to use CG or ATSU.
304         (glyphForCharacter): Removed the map parameter and changed the renderer parameter to
305         be an in-out one. Removed uneeded special case for when map is 0 and always get the
306         renderer from the map. Also call extendCharacterToGlyphMapToInclude in here instead of
307         making that the caller's responsibility.
308         (initializeWidthIterator): Renamed to make the name shorter (removed "Character").
309         Streamlned common cases like "no padding" and removed some unneeded casts. Changed to
310         use advanceWidthIterator to compute width fo the first part of the run.
311         (normalizeVoicingMarks): Factored this out into a separate function, since it's not part
312         of the common case.
313         (advanceWidthIterator): Changed widthForNextCharacter to this, eliminating per-character
314         function overhead for iterating past a few characters. Merged the handling of surrogate
315         pairs and of voicing marks so that we typically only have to do one "if" to rule out both.
316         Merged the mirroring for RTL and uppercasing for small caps into a single boolean so that
317         we only need one "if" to rule out both. Call the new glyphForCharacter. Check for the
318         character '\t' first since that's cheaper than looking at tabWidth. Check tabWidth for 0
319         first so that we don't have to convert it to floating point when not using it. Changed
320         the special case for spaces to first check width, so that we don't bother with the rest
321         of the code for glyphs not the same width as spaces. Fixed substitution code to call
322         CG_floatWidthForRun -- no need to reconsider whether to use CG or ATSU. Also changed to
323         properly get width from the result of that function. Merged the handling of letter spacing,
324         padding, and word spacing into a single boolean so that we typically only have to do one
325         "if" to rule out all three. Check for letterSpacing of 0 first so that we don't have to
326         convert it to floating point when not using it. Same for padding and wordSpacing.
327         Move the work from ceilCurrentWidth in line into this function. Assume that either we have
328         all three pointers (widths, renderers, glyphs), or none of the three, to cut down on branches.
329         (fillStyleWithAttributes): Use bool instead of BOOL.
330         (shouldUseATSU): Ditto.
331
332         * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]): Update since
333         the floatWidthForRun method no longer takes a widths parameter.
334         * Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto.
335
336 2005-10-19  Tim Omernick  <tomernick@apple.com>
337
338         Reviewed by eseidel & darin.
339
340         Changed some of the run measurement methods to C functions
341         to avoid overhead associated with objc_msgSend().
342                 
343         * WebCoreSupport.subproj/WebTextRenderer.m:
344         (-[WebTextRenderer floatWidthForRun:style:widths:]):
345         Updated to call new run measurement functions instead
346         of calling ObjC methods.
347         (-[WebTextRenderer CG_drawRun:style:geometry:]): ditto
348         (floatWidthForRun): ditto
349         (CG_floatWidthForRun): ditto
350         (ATSU_floatWidthForRun): ditto
351         (widthForNextCharacter): ditto
352
353 2005-10-14  Vicki Murley  <vicki@apple.com>
354
355         Changes by Mitz Pettel, reviewed by Maciej.
356
357         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5029 (Assertion failure in -[NSPasteboard(WebExtras) 
358         _web_writeImage:URL:title:archive:types:] when trying to drag an image from a site with no favicon)
359
360         * Misc.subproj/WebNSPasteboardExtras.m:
361         (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): Prefer the main resource if it is an image
362
363 2005-10-12  Vicki Murley  <vicki@apple.com>
364
365         Reviewed by Darin.
366
367         - fix <rdar://problem/4043643> iframe swallows events for overlapping elements (3449)
368
369         * WebView.subproj/WebHTMLView.m:
370         (-[WebHTMLView hitTest:]): 
371         (-[WebHTMLView _updateMouseoverWithEvent:]): eliminate _hitViewForEvent hackery and self
372         dependency from this function
373
374 2005-10-12  Timothy Hatcher  <timothy@apple.com>
375
376         Reviewed by Darin.
377         
378         Define WebNSInt and WebNSUInt to wrap around NSInt on Leopard and still build on Tiger
379         Once building on Tiger isn't needed we will drop WebNSInt and use NSInt
380
381         * WebView.subproj/WebDefaultResourceLoadDelegate.m:
382         (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]):
383         * WebView.subproj/WebFrame.m:
384         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
385         * WebView.subproj/WebLoader.m:
386         (-[NSURLProtocol didReceiveData:lengthReceived:]):
387         * WebView.subproj/WebResourceLoadDelegate.h:
388         * WebView.subproj/WebUIDelegate.h:
389         * WebView.subproj/WebView.h:
390         * WebView.subproj/WebView.m:
391         (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
392         (-[WebView spellCheckerDocumentTag]):
393         * WebView.subproj/WebViewInternal.h:
394         * WebView.subproj/WebViewPrivate.h:
395
396 2005-10-12  Darin Adler  <darin@apple.com>
397
398         * WebView.subproj/WebPolicyDelegate.h: Fix a comment.
399
400 2005-10-11  Timothy Hatcher  <timothy@apple.com>
401
402         Reviewed by Darin.
403         
404         Test for 10.4 because of <rdar://problem/4243463>
405
406         * WebView.subproj/WebHTMLView.m:
407         (-[WebHTMLView conversationIdentifier]):
408
409 2005-10-11  Adele Peterson  <adele@apple.com>
410
411         Rolling out fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5195
412         since it caused:
413
414         REGRESSION text areas draw focus ring around each glyph, no caret in text fields
415         http://bugzilla.opendarwin.org/show_bug.cgi?id=5335
416
417         * WebView.subproj/WebHTMLView.m:
418         (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]):
419         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
420         (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
421
422 2005-10-09  Darin Adler  <darin@apple.com>
423
424         Reviewed by Maciej.
425
426         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=5195
427           Would like API to flush rendering of pending DOM changes
428
429         This was actually a Tiger regression. When AppKit added a new code path for rendering
430         NSView, our special hack for doing layout when we draw didn't work any more. So we
431         were able to fix this without adding any API.
432
433         * WebView.subproj/WebHTMLView.m:
434         (-[WebHTMLView _recursiveDisplayRectIgnoringOpacity:inContext:topView:]): Added.
435         Does the same thing that other _recursiveDisplay methods do.
436
437 2005-10-08  Alexey Proskuryakov  <ap@nypop.com>
438
439         Reviewed by Maciej.
440
441         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=5187
442           UTF-8 in long text files breaks at some point
443
444         * WebView.subproj/WebTextRepresentation.m:
445         (-[WebTextRepresentation finishedLoadingWithDataSource:]):
446         Call flushReceivedData on the WebTextView so it can decode any final bytes.
447
448         * WebView.subproj/WebTextView.h: Added WebCoreTextDecoder field and flushReceivedData method.
449         * WebView.subproj/WebTextView.m:
450         (-[WebTextView dealloc]): Release WebCoreTextDecoder.
451         (-[WebTextView appendReceivedData:fromDataSource:]): Create a WebCoreTextDecoder to decode
452         the text; use the textEncodingName from the data source. Use it to decode instead of the
453         data source's stringWithData.
454         (-[WebTextView flushReceivedData]): Call flush on the decoder and append any last bytes to
455         the text view.
456
457 2005-10-07  John Sullivan  <sullivan@apple.com>
458
459         Reviewed by Tim Omernick.
460         
461         WebKit support for allowing clients to know which frame originated a particular JavaScript alert/dialog.
462
463         * WebView.subproj/WebUIDelegatePrivate.h:
464         New optional delegate methods for the three JavaScript alert/dialogs. These are just like the existing
465         ones in WebUIDelegate.h except that each adds a parameter specifying the frame that the JavaScript was
466         running in. Eventually we'll deprecate the old three methods in favor of these in the public API.
467         
468         * WebCoreSupport.subproj/WebBridge.m:
469         (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
470         Call version of the delegate method that has the frame parameter if the delegate supports it.
471         (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
472         ditto
473         (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
474         ditto
475         
476         * WebView.subproj/WebDefaultUIDelegate.m:
477         (-[WebDefaultUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):
478         Now implements the new version of the delegate method that includes the frame parameter. (Still
479         doesn't do anything though.)
480         (-[WebDefaultUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:]):
481         Now implements the new version of the delegate method that includes the frame parameter. (Still
482         doesn't do anything though.)
483         (-[WebDefaultUIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:]):
484         Now implements the new version of the delegate method that includes the frame parameter. Doesn't
485         actually use the frame parameter here yet though.
486         
487 2005-10-06  Darin Adler  <darin@apple.com>
488
489         - fixed compiling on Deployment
490
491         * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:]):
492         Put initialFont inside !LOG_DISABLED.
493
494 2005-10-06  Darin Adler  <darin@apple.com>
495
496         Reviewed by Eric.
497
498         - tweaked formatting
499
500         * WebCoreSupport.subproj/WebTextRenderer.m: Changed function names to remove underscores;
501         fixed formatting to match our coding guidelines, other related tweaks.
502
503 2005-10-06  Darin Adler  <darin@apple.com>
504
505         Reviewed by Eric.
506
507         - fixed regression in drawing of text in non-flipped contexts from my last check-in
508
509         * WebCoreSupport.subproj/WebTextRenderer.m:
510         (drawGlyphs): Only flip the matrix if the NSGraphicsContext is flipped.
511         (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use -[NSGraphicsContext isFlipped]
512         instead of [[NSView focusView] isFlipped].
513
514 2005-10-06  Darin Adler  <darin@apple.com>
515
516         Reviewed by Hyatt.
517
518         - fixed <rdar://problem/3217793> Monaco bold comes out as Helvetica bold, very bad if you choose Monaco as your fixed-width font
519         - fixed <rdar://problem/3256269> CSS1: bold/italic font styles not programmatically created if font doesn't include them (3231)
520           also <http://bugzilla.opendarwin.org/show_bug.cgi?id=3231>
521
522         * WebCoreSupport.subproj/WebTextRenderer.h: Removed public declarations of private structures that are not
523         used in the header. Removed the separate 16-bit character map; the difference in code size is only a few
524         bytes per page and there's no measurable performance difference by always using the 32-bit character version.
525         Removed substitute font width maps altogether, since we now use the width map in the substitute font's renderer.
526         Also removed a few more now-unused fields and methods. Changed initWithFont to take WebCoreFont. Changed
527         the setAlwaysUseATSU: method to remove the underscore prefix.
528
529         * WebCoreSupport.subproj/WebTextRenderer.m:
530         (getUncachedWidth): Get font from WebCoreFont directly instead of taking a parameter, since we now use only
531         one NSFont per WebTextRenderer.
532         (widthFromMap): Removed NSFont parameter for same reason as above; simplified.
533         (widthForGlyph): Ditto.
534         (overrideLayoutOperation): Updated for change to WebCoreFont.
535         (-[WebTextRenderer initWithFont:]): Changed to use WebCoreFont. Removed code to deal with substitute font maps.
536         Changed lineGap computation to use floats instead of doubles. Added code to compute a synthetic bold offset.
537         Currently this is the font size divided by 24 and then rounded up to an integer.
538         (-[WebTextRenderer dealloc]): Updated for change to WebCoreFont and other related changes.
539         (-[WebTextRenderer finalize]): Ditto.
540         (-[WebTextRenderer xHeight]): Ditto.
541         (-[WebTextRenderer drawRun:style:geometry:]): Remove small caps case here; no longer needed. Also updated as above.
542         (-[WebTextRenderer floatWidthForRun:style:widths:]): Ditto.
543         (-[WebTextRenderer drawHighlightForRun:style:geometry:]): Ditto.
544         (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]): Ditto.
545         (+[WebTextRenderer setAlwaysUseATSU:]): Renamed to remove underscore prefix.
546         (-[WebTextRenderer smallCapsRenderer]): Ditto. Changed to create a renderer for the smaller sized font.
547         (-[WebTextRenderer _substituteFontForString:families:]): Reorganized this to be more readable and to call
548         the new rendererForAlternateFont method.
549         (-[WebTextRenderer rendererForAlternateFont:]): Added. Used to select an alternate font taking into account
550         bold and italic synthesis.
551         (-[WebTextRenderer substituteRendererForCharacters:length:families:]): Renamed to remove underscore prefix.
552         Updated to use rendererForAlternateFont.
553         (-[WebTextRenderer _computeWidthForSpace]): Updated for name changes and to remove unnecessary parameters.
554         (-[WebTextRenderer setUpFont]): Renamed to remove underscore prefix. Added code to get printer or screen
555         font as specified by WebCoreFont so calers don't need to do this.
556         (drawGlyphs): Renamed to remove underscore prefix. Added code for synthetic oblique (14 degree slant), and
557         synthetic bold (add offset and draw text a second time).
558         (-[WebTextRenderer _CG_drawRun:style:geometry:]): Keep an array of substitute renderers instead of fonts.
559         Changed around the loop to reverse the run to be a single loop instead of 3.
560         (-[WebTextRenderer floatWidthForRun:style:widths:substituteRenderers:glyphs:startPosition:numGlyphs:]):
561         Renamed to remove the underscore prefix.
562         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:substituteRenderers:glyphs:startPosition:numGlyphs:]):
563         Changed to use subsitute renderers rather than fonts.
564         (-[WebTextRenderer updateGlyphEntryForCharacter:glyphID:substituteRenderer:]): Renamed to remove underscore
565         prefix and changed to use a substitute renderer rather than a substitute NSFont.
566         (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Updated to work with all characters, both ones
567         that fit into 16-bit and ones that don't.
568         (-[WebTextRenderer _extendGlyphToWidthMapToInclude:]): Removed NSFont parameter and simplified. This fixes
569         a bug where numberOfGlyphs was accidentally used from the main font instead of "subFont".
570         (glyphForCharacter): Changed to use subsitute renderers instead of substitute fonts.
571         (widthForNextCharacter): Ditto. Also removed small caps code no longer needed here and replaced it with
572         simpler small caps code that no longer assumes glyphs match.
573         (shouldUseATSU): Changed the code to check ranges in order to slightly reduce the number of cases and
574         to create earlier exit for lower character codes.
575
576         * WebCoreSupport.subproj/WebTextRendererFactory.h: Added caches for synthesized font and oblique
577         variants so we can still use the NSFont as the dictionary key. Removed coalesceTextDrawing methods.
578         Changed methods to use WebCoreFont as the parameters and results instead of NSFont.
579         * WebCoreSupport.subproj/WebTextRendererFactory.m:
580         (-[WebTextRendererFactory clearCaches]): Clear all 8 caches.
581         (-[WebTextRendererFactory isFontFixedPitch:]): Changed code slightly so there's only one call to
582         the CFDictionarySetValue function.
583         (-[WebTextRendererFactory init]): Create all 8 caches.
584         (-[WebTextRendererFactory dealloc]): Release all 8 caches.
585         (-[WebTextRendererFactory rendererWithFont:]): Select the appropriate cache based on 3 booleans:
586         synthetic bold, synthetic oblique, and printer. Use WebCoreFont instead of NSFont.
587         (-[WebTextRendererFactory fontWithFamilies:traits:size:]): Set the synthetic bold and oblique flags
588         when returning a WebCoreFont based on requested traits that are not present in the NSFont.
589         (acceptableChoice): Ignore the synthesizable traits when deciding if a chosen font is acceptable.
590         (betterChoice): Rather than assuming that every font has all the desired traits, implement a rule
591         that says a font with an unwanted trait loses out over a font that does not have an unwanted trait.
592         This lets us chose a bold font over a non-bold font that could use synthesized bold but treat both
593         as candidates.
594
595         * WebCoreSupport.subproj/WebGlyphBuffer.h: Removed.
596         * WebCoreSupport.subproj/WebGlyphBuffer.m: Removed.
597         * WebKit.xcodeproj/project.pbxproj: Removed WebGlyphBuffer source files.
598
599         * Misc.subproj/WebKitNSStringExtras.m:
600         (-[NSString _web_drawAtPoint:font:textColor:]): Update to use WebCoreFont.
601         (-[NSString _web_widthWithFont:]): Ditto.
602         * Misc.subproj/WebStringTruncator.m:
603         (truncateString): Ditto.
604         (+[WebStringTruncator widthOfString:font:]): Ditto.
605
606         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): Removed text drawing coalesce method calls.
607         * WebView.subproj/WebTextView.m: (-[WebTextView setFixedWidthFont]): Updated to use cachedFontFromFamily
608         method, which we still have, rather than fontWithFamilies method which we don't (since it now uses WebCoreFont).
609         * WebView.subproj/WebView.m: (+[WebView _setAlwaysUseATSU:]): Updated for name change to underlying method.
610
611 2005-10-05  Maciej Stachowiak  <mjs@apple.com>
612
613         Reviewed by Eric.
614
615         <rdar://problem/4158439> Safari appears to hang when sending synchronous XMLHttpRequest that gets no server response
616
617         No testcase - not testable w/o network.
618         
619         * WebCoreSupport.subproj/WebBridge.m:
620         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Set a timeout of 10.
621
622 2005-10-04  Beth Dakin  <bdakin@apple.com>
623
624         Reviewed by Darin
625
626         Fix for <rdar://problem/4285538> TOT fix for Denver Regression: Drawing glitch in the transparent dialog's cancel/ok 
627         button in the widget manager. 
628
629         * WebCoreSupport.subproj/WebImageData.m: Calls WKSetPatternPhaseInUserSpace() which is a new function that lies in 
630                                                 WebKitSystemInterface that and takes care of pattern-setting. Prevents 
631                                                 regression that occurred with image tiling in transparency layers. 
632         (-[WebImageData tileInRect:fromPoint:context:]):
633
634 2005-10-03  Tim Omernick  <tomernick@apple.com>
635
636         Reviewed by John Sullivan.
637
638         <rdar://problem/4281095> Denver regression: Seed: Safari HTML 4.01 <object ...> tag problem
639
640         * WebCoreSupport.subproj/WebBridge.m:
641         (-[WebBridge determineObjectFromMIMEType:URL:]):
642         If no view class is registered to handle the MIME type, check to see if there is a plugin registered which can handle it.
643         This check is required because the Java plugin does not register an NSView class, so that Java files are downloaded when
644         not embedded.
645
646         Prior to this fix, -determineObjectFromMIMEType:URL: would always return ObjectElementNone for Java applets (MIME type
647         "application/x-java-applet"), which would cause Java applets embedded in <OBJECT> elements to not be loaded.
648
649         This broke on 05-03-2005, when we changed how we handle fallback content for <OBJECT> elements so that we could pass the
650         Acid2 test.
651
652 2005-09-28  Justin Garcia  <justin.garcia@apple.com>
653
654         Reviewed by geoff
655         
656         Fixed <rdar://problem/4276596> multipart/x-mixed-replace: saved inline images appear only partially loaded
657         Fixed <rdar://problem/4265439> progress bar should look complete even if there is some more multipart content being loaded
658
659         * WebCoreSupport.subproj/WebSubresourceLoader.h:
660         * WebCoreSupport.subproj/WebSubresourceLoader.m:
661         (-[WebSubresourceLoader didReceiveResponse:]):
662         Now calls signalFinish and saveResource.
663         
664         (-[WebSubresourceLoader signalFinish]): 
665         Added.  Does the part of didFinishLoading that signals to the WebDataSource and load delegates that the load is finished.
666         
667         (-[WebSubresourceLoader didFinishLoading]):
668         * WebView.subproj/WebLoader.h:
669         * WebView.subproj/WebLoader.m:
670         (-[NSURLProtocol signalFinish]):
671         Similar to above
672         
673         (-[NSURLProtocol didFinishLoading]):
674
675 2005-09-28  Adele Peterson  <adele@apple.com>
676
677         Reviewed by John.
678
679         Moved _downloadWithLoadingConnection and _downloadWithRequestfrom WebDownload.h to WebDownloadInternal.h
680
681         * Misc.subproj/WebDownload.h:
682         * Misc.subproj/WebDownloadInternal.h: Added.
683         * WebKit.xcodeproj/project.pbxproj: Added WebDownloadInternal.h
684         * WebView.subproj/WebMainResourceLoader.m: Added import of WebDownloadInternal.h
685         * WebView.subproj/WebView.m: ditto.
686
687 2005-09-27  Adele Peterson  <adele@apple.com>
688
689         Reviewed by Maciej.
690
691         Changed ints to size_t where appropriate.
692
693         * Misc.subproj/WebCoreStatistics.h:
694         * Misc.subproj/WebCoreStatistics.m:
695         (+[WebCoreStatistics javaScriptObjectsCount]):
696         (+[WebCoreStatistics javaScriptInterpretersCount]):
697         (+[WebCoreStatistics javaScriptNoGCAllowedObjectsCount]):
698         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
699         * WebView.subproj/WebPreferences.m:
700         (-[WebPreferences _pageCacheSize]):
701         (-[WebPreferences _objectCacheSize]):
702         * WebView.subproj/WebPreferencesPrivate.h:
703
704 2005-09-26  John Sullivan  <sullivan@apple.com>
705
706         Reviewed by Tim Omernick.
707
708         - fixed <rdar://problem/4118126> Drag-and-drop text with text containing a colon causes a crash
709         
710         There were two problems here. One is that dragging and dropping text within the same WebTextView
711         should have done nothing rather than try to navigate. The other is that navigating while processing
712         the end of the drag would dealloc the drag-initiating WebTextView, leading to a crash. Fixing the
713         former doesn't fix all cases of the latter, since dropping onto (e.g.) Safari's location field
714         could cause a navigation during the drag. So these two issues needed to be fixed separately.
715
716         * WebView.subproj/WebTextView.m:
717         (-[WebTextView dragSelectionWithEvent:offset:slideBack:]):
718         Before drag, retain self, and tell WebView that the drag is self-initiated. After drag, do the
719         opposite. This is the same approach as WebImageView, but it can all be contained in one method
720         here due to NSTextView's dragging API, which wraps up some of the drag-machinery guts.
721
722 2005-09-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
723
724         Reviewed and landed by Darin.
725
726         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=5100
727           -[WebTextRenderer _ATSU_drawRun:...] does not check view flippedness
728
729         * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
730         Set up a the CGContext with a matrix that flips the text if the view is not flipped.
731
732 2005-09-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
733
734         Reviewed, tweaked a tiny bit, and landed by Darin.
735
736         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4940
737           CG and ATSUI give different width to the same text
738
739         * WebCoreSupport.subproj/WebTextRenderer.m:
740         (overrideLayoutOperation): Added. ATSU callback to do the rounding.
741         (-[WebTextRenderer _trapezoidForRun:style:atPoint:]): Use the new createATSULayoutParameters
742         function instead of calling _createATSUTextLayoutForRun.
743         (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Use createATSULayoutParameters,
744         and also compute the width in a way that works for any direction combination.
745         (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use createATSULayoutParameters.
746         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
747         Use createATSULayoutParameters. Also put in code that seems to work around an ATSU bug.
748         (createATSULayoutParameters): Added.
749         (disposeATSULayoutParameters): Added.
750
751 2005-09-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
752
753         Reviewed by Dave.
754         Landed by Darin.
755
756         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4862
757           Incorrect layout of bidi overrides
758
759         * WebCoreSupport.subproj/WebTextRenderer.m:
760         (addDirectionalOverride): Renamed, and made it work in both directions.
761         (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Updated to call addDirectionalOverride.
762         (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): More of the same.
763         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]): Ditto.
764
765 2005-09-24  Alexey Proskuryakov  <ap@nypop.com>
766
767         Tweaked, reviewed, and landed by Darin.
768
769         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4394
770           Mouse clicks ignored in inline input areas
771
772         * WebView.subproj/WebHTMLView.m:
773         (-[NSArray mouseDown:]): Removed misleading comment and added code to send mouse event to input manager.
774         (-[NSArray mouseDragged:]): Added code to send mouse event to input manager.
775         (-[NSArray mouseUp:]): Ditto.
776         (-[WebHTMLView _discardMarkedText]): Umnmark text before calling markedTextAbandoned: to match behavior
777         of NSTextView (not sure why we did things in the opposite order before).
778         (-[WebHTMLView _updateSelectionForInputManager]): Ditto.
779
780         - unrelated tweak
781
782         * WebView.subproj/WebView.m:
783         (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
784         Fix typecast that used ... for no good reason.
785
786 2005-09-23  Duncan Wilcox  <duncan@mclink.it>
787
788         Reviewed and landed by Darin.
789
790         - name changes to prepare for fixing bugzilla bug 4582
791
792         * WebView.subproj/WebHTMLView.m: Changed names to match WebCore changes.
793
794 2005-09-20  John Sullivan  <sullivan@apple.com>
795
796         Reviewed by Tim Omernick.
797
798         - fixed <rdar://problem/3228554> We should enforce one selection per WebView instead of per window
799         
800         Note that this checkin does not mean that we will always maintain a selection in a WebView when
801         the focus is elsewhere. Instead it means that there should never be more than one frame containing
802         a selection in a WebView, and that it's possible to maintain a selection in a WebView when the focus 
803         is elsewhere.
804
805         * WebView.subproj/WebView.m:
806         (-[WebView searchFor:direction:caseSensitive:wrap:]):
807         removed unnecessary and somewhat confusing comment
808         (-[WebView selectedFrame]):
809         now calls the extracted method -_focusedFrame
810         (-[WebView _focusedFrame]):
811         new method, extracted from -selectedFrame; returns frame containing first responder, if any
812         (-[WebView _findSelectedFrameStartingFromFrame:skippingFrame:]):
813         added skippingFrame parameter, which is never returned
814         (-[WebView _findSelectedFrameSkippingFrame:]):
815         new method, starts from main frame and passes a frame to skip
816         (-[WebView _findSelectedFrame]):
817         now calls _findSelectedFrameSkippingFrame:nil
818         (-[WebView _selectedFrameDidChange]):
819         new method, called by WebDocumentText protocol implementors; calls -deselectAll on frame that
820         formerly displayed a selection, if any
821
822         * WebView.subproj/WebViewInternal.h:
823         added category WebDocumentSelectionExtras, with the one method _selectedFrameDidChange
824
825         * WebView.subproj/WebHTMLView.m:
826         (-[WebHTMLView becomeFirstResponder]):
827         call -[WebView _selectedFrameDidChange]
828
829         * WebView.subproj/WebPDFView.m:
830         (-[WebPDFView becomeFirstResponder]):
831         call -[WebView _selectedFrameDidChange]
832         (-[WebPDFView resignFirstResponder]):
833         deselect all unless webview says not to; note that this doesn't work in all cases due to:
834         <rdar://problem/4265966> PDFs continue to show a (secondary) selection when the focus moves elsewhere        
835
836         * WebView.subproj/WebTextView.m:
837         (-[WebTextView becomeFirstResponder]):
838         call -[WebView _selectedFrameDidChange]
839         (-[WebTextView resignFirstResponder]):
840         deselect all unless webview says not to
841
842 2005-09-20  Eric Seidel  <eseidel@apple.com>
843
844         Reviewed by mjs.
845
846         Moved MIME type support from a hard coded list
847         (in two places) to single lists in the corresponding
848         *Representation classes.  Also moved the list of types
849         supported by WebCore (WebHTMLRepresentation) into WebCore.
850         http://bugzilla.opendarwin.org/show_bug.cgi?id=5037
851
852         * WebView.subproj/WebDataSource.m:
853         (addTypesFromClass): new inline function
854         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
855         * WebView.subproj/WebFrameView.m:
856         (addTypesFromClass): new inline function
857         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
858         * WebView.subproj/WebHTMLRepresentation.h:
859         * WebView.subproj/WebHTMLRepresentation.m:
860         (+[WebHTMLRepresentation supportedMIMETypes]):
861         * WebView.subproj/WebHTMLView.m:
862         (+[WebHTMLView supportedMIMETypes]):
863         * WebView.subproj/WebHTMLViewPrivate.h:
864         * WebView.subproj/WebImageRepresentation.h:
865         * WebView.subproj/WebImageRepresentation.m:
866         (+[WebImageRepresentation supportedMIMETypes]):
867         * WebView.subproj/WebImageView.h:
868         * WebView.subproj/WebImageView.m:
869         (+[WebImageView supportedMIMETypes]):
870         * WebView.subproj/WebPDFRepresentation.h:
871         * WebView.subproj/WebPDFRepresentation.m:
872         (+[WebPDFRepresentation supportedMIMETypes]):
873         * WebView.subproj/WebPDFView.h:
874         * WebView.subproj/WebPDFView.m:
875         (+[WebPDFView supportedMIMETypes]):
876         * WebView.subproj/WebTextRepresentation.h:
877         * WebView.subproj/WebTextRepresentation.m:
878         (+[WebTextRepresentation supportedMIMETypes]):
879         * WebView.subproj/WebTextView.h:
880         * WebView.subproj/WebTextView.m:
881         (+[WebTextView supportedMIMETypes]):
882         * WebView.subproj/WebView.m:
883         (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
884         (+[WebView MIMETypesShownAsHTML]): updated to match style
885         (+[WebView setMIMETypesShownAsHTML:]): ditto
886
887 2005-09-16  John Sullivan  <sullivan@apple.com>
888
889         * WebView.subproj/WebImageView.m:
890         (-[WebImageView copy:]):
891         fixed build-breaking silly error in previous checkin
892
893 2005-09-16  John Sullivan  <sullivan@apple.com>
894
895         Reviewed by Tim Omernick
896         
897         - fixed <rdar://problem/4256557> CrashTracer: 238 crashes in Safari at 
898         com.apple.AppKit: -[NSPasteboard setData:forType:] + 188
899
900         * WebView.subproj/WebImageView.m:
901         (-[WebImageView copy:]):
902         declare types to pasteboard before starting to set their data
903         (-[WebImageView writeSelectionToPasteboard:types:]):
904         ditto
905
906 2005-09-16  Adele Peterson  <adele@apple.com>
907
908         Rolling out the fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=4924
909             QPainter should use CGContext as much as possible rather than NSGraphicsContext 
910         since it caused a performance regression.
911
912 2005-09-16  Adele Peterson  <adele@apple.com>
913
914         Change by Darin, reviewed by me and Maciej.
915
916         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=4547
917         use int instead of long for 32-bit (to prepare for LP64 compiling)
918
919         * Plugins.subproj/npapi.m: changed types to match those defined in npapi.h
920         (NPN_MemAlloc):
921         (NPN_MemFlush):
922         (NPN_PostURLNotify):
923         (NPN_PostURL):
924         (NPN_Write):
925
926 2005-09-14  Justin Garcia  <justin.garcia@apple.com>
927
928         Reviewed by john
929
930         Fixes <rdar://problem/4237479> REGRESSION (Cambridge-Denver): old QuickTime movie continues to play sound after reload
931         We were adding the movie to the document twice after the changes were added to handle fallback content.
932         There are some errors for which we should not render fall back content
933
934         * Misc.subproj/WebKitErrorsPrivate.h:
935         Introduced WebKitErrorPlugInWillHandleLoad to represent the cancel we do
936         to prevent loading plugin content twice
937         
938         * Plugins.subproj/WebPluginDocumentView.m:
939         (-[WebPluginDocumentView dataSourceUpdated:]): Ditto
940         
941         * WebView.subproj/WebDataSource.m:
942         (-[WebDataSource _receivedMainResourceError:complete:]):
943         Don't handleFallbackContent on WebKitErrorPlugInWillHandleLoad or on a user cancel
944
945 2005-09-14  Timothy Hatcher  <thatcher@apple.com>
946
947         Reviewed by Eric.
948         
949         * WebKit.xcodeproj/project.pbxproj:
950         made WebDashboardRegion.h a private header
951
952 2005-09-14  Darin Adler  <darin@apple.com>
953
954         Reviewed by Maciej.
955
956         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4924
957           QPainter should use CGContext as much as possible rather than NSGraphicsContext
958
959         * WebCoreSupport.subproj/WebImageRendererFactory.m: Remove setCGCompositeOperationFromString
960         method, no longer needed.
961
962 2005-09-13  Tim Omernick  <tomernick@apple.com>
963
964         Reviewed by Justin Garcia, Darin Adler.
965
966         - <rdar://problem/3163393> Safari does not support Windowless mode in Flash
967
968         * Plugins.subproj/WebBaseNetscapePluginView.h:
969         Added 'isTransparent' instance variable.
970
971         * Plugins.subproj/WebBaseNetscapePluginView.m:  
972         (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
973         When updating a plugin in "windowless" (transparent) mode, clip drawing to the dirty
974         region of the opaque ancestor.  This means that a partially-transparent plugin, which
975         by definition does not clear its port on redraw, will not overdraw the valid parts
976         of its port.
977         (-[WebBaseNetscapePluginView sendEvent:]):
978         Disabled the "green debug background" for transparent plugins -- since they are not
979         expected to cover their entire port every redraw, this debug code makes no sense.
980         (-[WebBaseNetscapePluginView setVariable:value:]):
981         Implemented -setVariable:value:, which is called from NPN_SetValue() (previously
982         unimplemented).
983         Right now we only handle NPPVpluginTransparentBool; if we choose to handle the other
984         plugin variables, then we may do so here.
985         * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
986         Added SPI for -[WebBaseNetscapePluginView setVariable:value].
987         * Plugins.subproj/npapi.m:
988         (NPN_SetValue):
989         Implemented this function so that plugins may set state (such as window mode).
990         
991 2005-09-11  Mark Rowe  <opendarwin.org@bdash.net.nz>
992
993         Reviewed, tweaked, and landed by Darin.
994
995         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4286
996           .Mac prefpane crashes when Safari using CVS WebKit is running
997
998         * WebView.subproj/WebView.m: (-[WebView initWithFrame:frameName:groupName:]):
999         If ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH, and WEBKIT_UNSET_DYLD_FRAMEWORK_PATH
1000         is set in the environment, then unset DYLD_FRAMEWORK_PATH.
1001
1002         * WebKit.xcodeproj/project.pbxproj: Set ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH
1003         in configurations other than Default -- we don't want that code in production
1004         builds, but we want it in builds we do ourselves and nightly builds.
1005
1006 2005-09-10  Ingmar J Stein  <IngmarStein@gmail.com>
1007
1008         Reviewed and landed by Darin.
1009
1010         * WebCoreSupport.subproj/WebImageRenderer.m:
1011         (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
1012         Removed unused local variable.
1013
1014 2005-09-09  Tim Omernick  <tomernick@apple.com>
1015
1016         Reviewed by John Sullivan.
1017
1018         * History.subproj/WebBackForwardList.m:
1019         (-[WebBackForwardList removeItem:]):
1020         SPI to remove a given WebHistoryItem.
1021
1022         * History.subproj/WebBackForwardListPrivate.h: Added.
1023
1024         * WebKit.xcodeproj/project.pbxproj:
1025         Added WebBackForwardListPrivate.h as a private header.
1026
1027 2005-09-09  John Sullivan  <sullivan@apple.com>
1028
1029         Reviewed by Tim Omernick.
1030         
1031         fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4070:
1032         Find in plain text won't find only occurrence if it overlaps selection
1033
1034         * Misc.subproj/WebSearchableTextView.m:
1035         (-[NSString findString:selectedRange:options:wrap:]):
1036         in the wrap case, extend the search range far enough that text overlapping the
1037         selection (including the exact-match case) will be considered.
1038
1039 2005-09-08  Justin Garcia  <justin.garcia@apple.com>
1040
1041         Reviewed by darin
1042         
1043         WebKit portion of multipart/x-mixed-replace support
1044
1045         * WebCoreSupport.subproj/WebSubresourceLoader.m:
1046         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
1047         Subresource case: Check for Foundation level multipart support
1048         (-[WebSubresourceLoader didReceiveResponse:]): 
1049         Send previously received data in a multipart section to the coreLoader
1050         (-[WebSubresourceLoader didReceiveData:lengthReceived:]): 
1051         Don't send data to the coreLoader until it has been completely received
1052         * WebView.subproj/WebDataSource.m:
1053         (-[WebDataSource _startLoading:]): 
1054         Main resource case: check for Foundation level multipart support 
1055         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
1056         Some server apps send data right after declaring content multipart/x-mixed-replace, and expect it to be treated as html
1057         (-[WebDataSource _commitIfReady:]):
1058         Don't ask the WebFrame to close its old WebDataSource when loading a multipart section, because we're going to reuse it
1059         (-[WebDataSource _receivedData:]):
1060         For non text/html multipart sections, we commit the data all at once, at the end
1061         (-[WebDataSource _doesProgressiveLoadWithMIMEType:]):
1062         Added heuristic for when to commit the load incrementally
1063         (-[WebDataSource _commitLoadWithData:]):
1064         Moved from _receivedData into its own function
1065         (-[WebDataSource _revertToProvisionalState]):
1066         (-[WebDataSource _setupForReplaceByMIMEType:]):
1067         Commits the data received for the previous multipart section if it wasn't loaded progresively, clears out the WebFrame and WebDatasource for the next multipart section
1068         * WebView.subproj/WebDataSourcePrivate.h:
1069         * WebView.subproj/WebFrame.m:
1070         (-[WebFrame _transitionToCommitted:]): 
1071         The very first multipart section is treated as a normal load, so that the back/forward list and history are updated.
1072         All later sections have a new load type, WebFrameLoadTypeReplace, and are treated like reloads
1073         (-[WebFrame _checkLoadCompleteForThisFrame]): Ditto
1074         (-[WebFrame _itemForRestoringDocState]): Ditto
1075         (-[WebFrame _setupForReplace]):
1076         Clears out the WebFrame for the next multipart section
1077         * WebView.subproj/WebFrameInternal.h:
1078         * WebView.subproj/WebFramePrivate.h:
1079         * WebView.subproj/WebFrameView.m:
1080         (+[WebFrameView _viewTypesAllowImageTypeOmission:]): See above
1081         * WebView.subproj/WebLoader.h:
1082         * WebView.subproj/WebLoader.m:
1083         (-[NSURLProtocol clearResourceData]):
1084         (-[NSURLProtocol setSupportsMultipartContent:]):
1085         * WebView.subproj/WebMainResourceLoader.m: Straightforward
1086         (-[WebMainResourceLoader didReceiveResponse:]):
1087
1088 2005-09-06  Geoffrey Garen  <ggaren@apple.com>
1089
1090         - fixed build bustage from last checkin.
1091         
1092         Reviewed by haytt.
1093
1094         * History.subproj/WebBackForwardList.m:
1095         (-[WebBackForwardList pageCacheSize]): updated debug printf since we no
1096         longer have a variable called 'multiplier'
1097
1098 2005-09-06  David Hyatt  <hyatt@apple.com>
1099
1100         Reduce the # of cached pages for a back/forward list.  The old cache would cache the
1101         following per tab:
1102         > 1gb memory = 16 pages per tab/window
1103         > 512mb memory = 8 pages per tab/window
1104         <= 512mb memory = 4 pages per tab/window
1105
1106         This consumes far too much memory and is way too aggressive.  The new cache sizes are
1107         as follows:
1108         >= 1gb memory = 3 pages per tab/window
1109         >= 512mb memory = 2 pages per tab/window
1110         < 512mb memory = 1 page per tab/window
1111
1112         Reviewed by john
1113
1114         * History.subproj/WebBackForwardList.m:
1115         (-[WebBackForwardList pageCacheSize]):
1116         * WebView.subproj/WebPreferences.m:
1117         (+[WebPreferences initialize]):
1118
1119 2005-09-05  Darin Adler  <darin@apple.com>
1120
1121         Reviewed by John Sullivan.
1122
1123         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4846
1124           REGRESSION: Carbon WebKit applications don't work at all
1125
1126         * Carbon.subproj/HIWebView.m: Remove lots of unneeded declarations of private stuff.
1127         (Draw): Call WKNSWindowOverrideCGContext and WKNSWindowRestoreCGContext rather
1128         than calling a non-existent setCGContext: method on the context.
1129
1130 2005-09-05  John Sullivan  <sullivan@apple.com>
1131
1132         Reviewed by Dave Hyatt.
1133         
1134         - change related to <rdar://problem/4211999> Safari quits when click-drag-hold an image 
1135         that is set to automatically change.
1136
1137         * WebView.subproj/WebHTMLView.m:
1138         (-[NSArray namesOfPromisedFilesDroppedAtDestination:]):
1139         handle nil wrapper with ERROR and early return rather than ASSERT, since we now know
1140         of a way to reproduce this (written up as 4244861)
1141
1142 2005-09-05  Darin Adler  <darin@apple.com>
1143
1144         Reviewed by John Sullivan.
1145
1146         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4357
1147           crash related to animated GIFs, reproducible in non-Safari WebKit application
1148
1149         * WebCoreSupport.subproj/WebImageData.m:
1150         (removeAnimatingRendererFromView): Added.
1151         (removeFromDictionary): Added.
1152         (-[WebImageData removeAnimatingRenderer:]): Rewrote using CF functions rather than
1153         NS functions so that we never retain the views, since this can be called from
1154         a view's dealloc method.
1155         (setNeedsDisplayInAnimationRect): Added.
1156         (-[WebImageData _nextFrame:]): Rewrote as above, even though in this case it can't
1157         be called from the dealloc method.
1158
1159 2005-08-26  David Hyatt  <hyatt@apple.com>
1160
1161         Add support for a new scaling and tiling function so that border images from CSS3
1162         can be implemented.
1163         
1164         Reviewed by darin
1165
1166         * WebCoreSupport.subproj/WebImageData.h:
1167         * WebCoreSupport.subproj/WebImageData.m:
1168         (-[WebImageData scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
1169         * WebCoreSupport.subproj/WebImageRenderer.m:
1170         (-[WebImageRenderer scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
1171         (-[WebImageRenderer setAnimationRect:]):
1172         * WebView.subproj/WebHTMLView.m:
1173         (-[WebHTMLView updateFocusState]):
1174
1175 2005-08-26  Adele Peterson  <adele@apple.com>
1176
1177         Reviewed by Beth.
1178
1179         * WebKit.xcodeproj/project.pbxproj: Changed WebKit.Framework to WebKit.framework in UMBRELLA_FRAMEWORK.
1180
1181 2005-08-25  David Harrison  <harrison@apple.com>
1182
1183         Reviewed by Maciej.
1184
1185         <rdar://problem/4227734> Denver Regression: WebCore selection bug on lines starting with tab (clownfish)
1186
1187         The text is in a DIV styled with "white-space:pre", and uses newline characters as linebreaks.
1188         WebKit's text renderer is erroneously considering the width of the lines leading up to the tab
1189         character when calculating the width of the tab.
1190         Easily fixed by having widthForNextCharacter ignore the widthToStart when working with tabWidth.
1191         Any prior text that fits in the same line is already factored into the xpos, which is paid attention to.
1192
1193         * WebCoreSupport.subproj/WebTextRenderer.m:
1194         (widthForNextCharacter):
1195         Ignore the widthToStart when working with tabWidth.
1196
1197 2005-08-23  John Sullivan  <sullivan@apple.com>
1198
1199         Reviewed by Beth Dakin.
1200         
1201         - fixed <rdar://problem/4229167> 14 leaks of WebFileButton and associated objects, 
1202         seen after running webkit layout tests
1203
1204         * WebCoreSupport.subproj/WebBridge.m:
1205         (-[WebBridge fileButtonWithDelegate:]):
1206         this method was returning a retained object; I added an autorelease
1207
1208 2005-08-23  Darin Adler  <darin@apple.com>
1209
1210         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
1211
1212 2005-08-23  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1213
1214         Reviewed and landed by Darin.
1215
1216         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4604
1217           LEAK -[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:] leaks an ATSUTextLayout
1218           <rdar://problem/4228787> ATSUTextLayout leak in _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs: (4604)
1219
1220         * WebCoreSupport.subproj/WebTextRenderer.m:
1221         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
1222         Added missing call to ATSUDisposeTextLayout.
1223
1224 2005-08-22  Geoffrey Garen  <ggaren@apple.com>
1225
1226         - fixed <rdar://problem/4227011> Debugger SPI should be removed from WebView.h API
1227         
1228         Reviewed by mjs and adele.
1229
1230         Cut and pasted debugging SPI from WebView to WebView(WebPendingPublic)
1231         
1232         * WebView.subproj/WebView.h:
1233         * WebView.subproj/WebView.m:
1234         (-[WebView setScriptDebugDelegate:]):
1235         (-[WebView scriptDebugDelegate]):
1236         * WebView.subproj/WebViewPrivate.h:
1237
1238 2005-08-20  John Sullivan  <sullivan@apple.com>
1239
1240         Reviewed by Darin Adler.
1241         
1242         - WebKit part of fix for 
1243         <rdar://problem/3977607> ER: Safari should check framework versions at launch
1244
1245         * WebView.subproj/WebViewPrivate.h:
1246         * WebView.subproj/WebView.m:
1247         (+[WebView _minimumRequiredSafariBuildNumber]):
1248         new method, returns the minimum build number of Safari that this WebKit is
1249         willing to work with. (The Safari version has to be new enough to check
1250         for this value in order for this to have any effect.)
1251
1252 2005-08-19  Justin Garcia  <justin.garcia@apple.com>
1253
1254         Reviewed by rjw
1255         
1256         The boolean justOpenedForTargetedLink is never used to determine a course of action.  
1257         It was added long ago for findOrCreateFramedNamed, which has since been removed.
1258
1259         * WebView.subproj/WebDataSource.m:
1260         * WebView.subproj/WebDataSourcePrivate.h:
1261         * WebView.subproj/WebFrame.m:
1262         (-[WebFrame _loadDataSource:withLoadType:formState:]):
1263         * WebView.subproj/WebFramePrivate.h:
1264
1265 2005-08-19  Darin Adler  <darin@apple.com>
1266
1267         Reviewed by John.
1268
1269         * English.lproj/Localizable.strings: Updated to include a new localizable string
1270         that was added a long while back. Apprently no one has run into the code using
1271         this string, because if they had, they'd have seen an assert.
1272         * English.lproj/StringsNotToBeLocalized.txt: Updated for various recent changes.
1273
1274 2005-08-17  Maciej Stachowiak  <mjs@apple.com>
1275
1276         Reviewed by Darin.
1277
1278         - fix mysterious CGImageSource error message and possibly crash on layout tests.
1279
1280         * WebView.subproj/WebMainResourceLoader.m:
1281         (-[WebMainResourceLoader receivedError:]): Retain the data source since it may
1282         prematurely self-destruct otherwise.
1283         (-[WebMainResourceLoader cancelWithError:]): ditto
1284
1285 2005-08-17  Justin Garcia  <justin.garcia@apple.com>
1286
1287         Reviewed by rjw
1288         
1289         Addresses <rdar://problem/4192534> new frame load delegate SPI needed for Dashboard
1290             Added handledOnloadEvents delegate method (private for now)
1291
1292         * WebCoreSupport.subproj/WebBridge.m:
1293         (-[WebBridge handledOnloadEvents]):
1294         * WebView.subproj/WebDefaultFrameLoadDelegate.m:
1295         (-[WebDefaultFrameLoadDelegate webView:didHandleOnloadEventsForFrame:]):
1296         * WebView.subproj/WebFrame.m:
1297         (-[WebFrame _handledOnloadEvents]):
1298         * WebView.subproj/WebFramePrivate.h:
1299         * WebView.subproj/WebViewPrivate.h:
1300
1301 2005-08-17  John Sullivan  <sullivan@apple.com>
1302
1303         Reviewed by Geoff Garen.
1304         
1305         - fixed <rdar://problem/4219817> Particular icon database + bookmarks + history crashes Safari on launch
1306
1307         * Misc.subproj/WebIconDatabase.m:
1308         (-[WebIconDatabase releaseIconForURL:]):
1309         Move line that might remove last reference to iconURL to the end of the block.
1310
1311 2005-08-16  Darin Adler  <darin@apple.com>
1312
1313         Reviewed by Trey.
1314
1315         - improved fix for <rdar://problem/4211631>, tiled images tiled incorrectly when printing or 
1316           drawing offscreen
1317
1318         * WebCoreSupport.subproj/WebImageData.m: (-[WebImageData tileInRect:fromPoint:context:]):
1319         Fix pattern phase origin to use the image tile origin, which is clearly right, rather than
1320         the image rectangle, which isn't right, but often is the same.
1321
1322 2005-08-16  Adele Peterson  <adele@apple.com>
1323
1324         Reviewed by John.
1325
1326         - fixed <rdar://problem/4210320> URL tooltips should display a URL for elements that submit forms
1327
1328         When the setShowsURLsInToolTips preference is set, we will display a tooltip containing 
1329         the form's url when you mouse over a submit button.
1330
1331         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _updateMouseoverWithEvent:]):
1332
1333 2005-08-16  Darin Adler  <darin@apple.com>
1334
1335         Reviewed by Beth Dakin.
1336
1337         - removed Panther-only code that was not being compiled and was
1338           simply "bit-rotting"
1339
1340         * Misc.subproj/WebFileDatabase.m:
1341         (-[WebFileDatabase _createLRUList:]):
1342         (+[WebFileDatabase _syncLoop:]):
1343         * Misc.subproj/WebKitErrors.m:
1344         (registerErrors):
1345         * Misc.subproj/WebNSObjectExtras.h:
1346         (WebCFAutorelease):
1347         * Misc.subproj/WebNSPasteboardExtras.m:
1348         (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
1349         * WebCoreSupport.subproj/WebImageData.h:
1350         * WebCoreSupport.subproj/WebImageDecodeItem.h:
1351         * WebCoreSupport.subproj/WebImageDecodeItem.m:
1352         * WebCoreSupport.subproj/WebImageDecoder.h:
1353         * WebCoreSupport.subproj/WebImageDecoder.m:
1354         (decoderThread):
1355         (startDecoderThread):
1356         * WebCoreSupport.subproj/WebKeyGeneration.cpp: Removed.
1357         * WebCoreSupport.subproj/WebKeyGeneration.h: Removed.
1358         * WebCoreSupport.subproj/WebKeyGenerator.h:
1359         * WebCoreSupport.subproj/WebTextRenderer.m:
1360         (getUncachedWidth):
1361         (_drawGlyphs):
1362         * WebCoreSupport.subproj/WebViewFactory.m:
1363         (-[WebViewFactory getBytes:fromTextMarker:length:]):
1364         * WebKit.xcodeproj/project.pbxproj:
1365         * WebKitPrefix.h:
1366         * WebView.subproj/WebDataSource.m:
1367         (-[WebDataSource _setPrimaryLoadComplete:]):
1368         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
1369         (-[WebDataSource isLoading]):
1370         * WebView.subproj/WebDefaultContextMenuDelegate.m:
1371         (localizedMenuTitleFromAppKit):
1372         (-[WebDefaultUIDelegate menuItemWithTag:]):
1373         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
1374         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
1375         * WebView.subproj/WebFormDataStream.m:
1376         (formCanRead):
1377         (webSetHTTPBody):
1378         * WebView.subproj/WebFrameView.m:
1379         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
1380         * WebView.subproj/WebHTMLView.m:
1381         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]):
1382         (-[WebHTMLView resourceForData:preferredFilename:]):
1383         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
1384         (-[WebHTMLView validateUserInterfaceItem:]):
1385         (-[WebHTMLView _attributeStringFromDOMRange:]):
1386         (-[WebHTMLView toggleBaseWritingDirection:]):
1387         (-[WebHTMLView changeBaseWritingDirection:]):
1388         * WebView.subproj/WebPDFRepresentation.h:
1389         * WebView.subproj/WebPDFRepresentation.m:
1390         * WebView.subproj/WebPDFView.h:
1391         * WebView.subproj/WebPDFView.m:
1392         * WebView.subproj/WebPreferences.m:
1393         (+[WebPreferences _systemCFStringEncoding]):
1394         * WebView.subproj/WebView.m:
1395         (-[WebView _commonInitializationWithFrameName:groupName:]):
1396
1397 2005-08-16  Darin Adler  <darin@apple.com>
1398
1399         Reviewed by Beth Dakin.
1400
1401         - removed some unnecessary code
1402
1403         * WebCoreSupport.subproj/WebGraphicsBridge.h: Removed pattern-phase related field and methods.
1404         * WebCoreSupport.subproj/WebGraphicsBridge.m: Ditto.
1405
1406         * WebCoreSupport.subproj/WebImageData.m: Tweaked formatting and removed some unused code
1407         inside #if and comments.
1408
1409         * WebCoreSupport.subproj/WebImageRenderer.h: Removed USE_CGIMAGEREF (which is always true now).
1410         * WebCoreSupport.subproj/WebImageRenderer.m: Removed old non-CGImageRef code.
1411
1412         * WebCoreSupport.subproj/WebImageRendererFactory.m:
1413         (-[WebImageRendererFactory imageRendererWithMIMEType:]): Removed non-USE_CGIMAGEREF code.
1414         (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): Ditto.
1415         (-[WebImageRendererFactory imageRendererWithSize:]): Ditto.
1416         (-[WebImageRendererFactory imageRendererWithName:]): Ditto.
1417
1418 2005-08-15  Darin Adler  <darin@apple.com>
1419         
1420         Reviewed by Beth.
1421
1422         This is a fix for <rdar://problem/4211631> tiled images tiled incorrectly when printing or 
1423         drawing offscreen.
1424
1425         Cayenne found there was a problem when they were trying to take screen shots of widgets, and
1426         it was ultimately a problem with the way we tile images. Darin was able to fix the problem
1427         by replacing some confusing hacked code with CG calls.
1428
1429         * WebCoreSupport.subproj/WebImageData.m:
1430         (-[WebImageData tileInRect:fromPoint:context:]):
1431         * WebCoreSupport.subproj/WebImageRenderer.m:
1432         (-[WebInternalImage tileInRect:fromPoint:context:]):
1433         * WebCoreSupport.subproj/WebTextRenderer.m:
1434         (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
1435
1436 2005-08-14  Maciej Stachowiak  <mjs@apple.com>
1437
1438         Reviewed by Darin.
1439
1440         - 1% speedup on HTML load speed iBench by avoiding icon database thrash
1441         http://bugzilla.opendarwin.org/show_bug.cgi?id=4423
1442         
1443         * Misc.subproj/WebIconDatabase.m:
1444         (-[WebIconDatabase _setIconURL:forURL:]): Be more aggressive about returning early, because
1445         updating the database does some expensive data structure copies.
1446         
1447
1448 2005-08-14  Duncan Wilcox  <duncan@mclink.it>
1449
1450         Reviewed and landed by Darin.
1451
1452         WebKit part of fix for <http://bugzilla.opendarwin.org/show_bug.cgi?id=4011>:
1453         "Editing delegate selection methods not called when using mouse"
1454
1455         Clicking on editable content would move the cursor or alter the selection without
1456         calling the appropriate editing delegate method
1457         (webView:shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:). The
1458         core of the patch is in the KHTMLPart::handleMousePressEvent* methods, the rest
1459         is glue needed to drill through all the layers.
1460
1461         * WebCoreSupport.subproj/WebBridge.m:
1462         (-[WebBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
1463         Bridge glue.
1464
1465         * WebView.subproj/WebView.m:
1466         (-[WebView(WebViewEditingExtras) _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
1467         Final step in glue, calling editing delegate.
1468
1469         * WebView.subproj/WebViewInternal.h:
1470         Added _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting: private method to WebViewEditingExtras
1471         category.
1472
1473 2005-08-11  Beth Dakin  <bdakin@apple.com>
1474
1475         Reviewed by Vicki
1476
1477         This is a fix for <rdar://problem/4141161> REGRESSION (Tiger): WebKit does not display in composited Carbon windows.
1478         I basically did what Troy suggests in his bug comments, and everything seems to work fine!
1479
1480         * Carbon.subproj/HIViewAdapter.m:
1481         (-[HIViewAdapter setNeedsDisplayInRect:]):
1482
1483 2005-08-10  Adele Peterson  <adele@apple.com>
1484
1485         Bumping version to 420+
1486
1487         * Info.plist:
1488
1489 2005-08-08  Darin Adler  <darin@apple.com>
1490
1491         Reviewed by John Sullivan.
1492
1493         - fixed <rdar://problem/3996324> REGRESSION (1.2-2.0): scroll bars sometimes not updated properly (with >40 duplicate reports!)
1494           also http://bugzilla.opendarwin.org/show_bug.cgi?id=3416
1495
1496         * WebView.subproj/WebHTMLView.m:
1497         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
1498         Propagate dirty rects after doing a layout, since a layout can create new dirty rects.
1499
1500 2005-08-05  Adele Peterson  <adele@apple.com>
1501
1502         Reviewed by Darin.
1503
1504         * WebKit.xcodeproj/project.pbxproj: Unchecked 'statics are thread safe' option.
1505
1506 2005-08-04  Justin Garcia  <justin.garcia@apple.com>
1507
1508         Reviewed by darin
1509         
1510         Fix for:
1511         <rdar://problem/3167884> Shockwave: 3D sprites rendered in OpenGL draw over the browser (3447)
1512         also as <http://bugzilla.opendarwin.org/show_bug.cgi?id=3447>
1513         
1514         The WindowRef created by -[NSWindow windowRef] has a QuickDraw GrafPort that covers 
1515         the entire window frame (or structure region in Carbon parlance) rather then just the window content.
1516         
1517         We filed this as an NSWindow bug <rdar://problem/4201099>
1518
1519         To work around, we modify the CGrafPort to only cover the content area before we let the plug-in draw.
1520
1521         * Plugins.subproj/WebBaseNetscapePluginView.m:
1522         (-[WebBaseNetscapePluginView fixWindowPort]):
1523         (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
1524
1525 2005-08-03  John Sullivan  <sullivan@apple.com>
1526
1527         Reviewed by Geoff Garen.
1528         
1529         - fixed <rdar://problem/3918675> Remove code to replace authentication dialog 
1530         with a subclass when out of localization freeze
1531
1532         * Panels.subproj/WebAuthenticationPanel.h:
1533         moved declaration of NonBlockingPanel here so it can be accessed by the nib
1534         * Panels.subproj/WebAuthenticationPanel.m:
1535         (-[WebAuthenticationPanel replacePanelWithSubclassHack]):
1536         removed this method
1537         (-[WebAuthenticationPanel loadNib]):
1538         stop calling the removed method
1539
1540         * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/classes.nib:
1541         * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/info.nib:
1542         * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/objects.nib:
1543         the panel in the nib now has custom class NonBlockingPanel
1544
1545 2005-08-03  Beth Dakin  <bdakin@apple.com>
1546
1547         Reviewed by cblu
1548
1549         Removing calls to WKCreateUncorrectedRGBColorSpace and
1550         WKCreateUncorrectedGrayColorSpace in WebKit to patch up
1551         TOT...Eric removed them from WebCore last night.
1552
1553         * WebCoreSupport.subproj/WebImageData.m:
1554         * WebCoreSupport.subproj/WebImageRenderer.m:
1555         (WebCGColorSpaceCreateRGB):
1556         (WebCGColorSpaceCreateGray):
1557
1558 2005-08-02  John Sullivan  <sullivan@apple.com>
1559
1560         Reviewed by Darin Adler.
1561         
1562         Preemptively moved some WebMenuItemTag values from SPI to API, in anticipation of
1563         approval from macosx-api-reviewers. Retitled one of them in response to API reviewers feedback:
1564         WebMenuItemSearchInGoogle -> WebMenuItemSearchWeb
1565         
1566         Note that as a side effect of this change, the actual numbers used for these WebMenuItemTags has
1567         changed from what it was in Tiger. This causes "Search in Spotlight", "Search in Google", and
1568         "Look Up in Dictionary" to not appear in Tiger Safari if running on tip of tree WebKit.
1569
1570         * WebView.subproj/WebUIDelegatePrivate.h:
1571         removed WebMenuItemTagSearchInSpotlight, WebMenuItemTagSearchInGoogle, and WebMenuItemTagLookUpInDictionary
1572
1573         * WebView.subproj/WebUIDelegate.h:
1574         added WebMenuItemTagSearchInSpotlight, WebMenuItemTagSearchWeb, and WebMenuItemTagLookUpInDictionary
1575
1576         * WebView.subproj/WebDefaultContextMenuDelegate.m:
1577         (-[WebDefaultUIDelegate menuItemWithTag:]):
1578         updated for rename
1579         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
1580         ditto
1581         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
1582         ditto
1583         
1584 2005-08-01  Geoffrey Garen  <ggaren@apple.com>
1585
1586         -fixed <rdar://problem/3572585> window.open fails if name param = 
1587         the name of a window just closed in same function
1588
1589         Reviewed by darin.
1590
1591         Test cases added:
1592
1593         * manual-tests/open-after-close.html: Added.
1594         * manual-tests/resources/open-after-close-popup.html: Added.
1595
1596         * WebCoreSupport.subproj/WebBridge.m:
1597         (-[WebBridge closeWindowSoon]): We now remove a WebView from 
1598         WebViewSets when the WebView is *scheduled* to close.
1599
1600 2005-08-01  John Sullivan  <sullivan@apple.com>
1601
1602         * PublicHeaderChangesFromTiger.txt:
1603         added a comment about isTextField -> _isTextField
1604
1605 2005-08-01  John Sullivan  <sullivan@apple.com>
1606
1607         Patch by Trey Matteson <trey@usa.net>
1608         Reviewed by me.
1609
1610         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4255
1611           underlines still print too thick
1612
1613         The real problem here is that we have code that scales a 0 width line to always
1614         be width=1.0 in device space.  I'm leaving that in for the screen, but when printing
1615         a width of 0.5 looks good.
1616
1617         * WebCoreSupport.subproj/WebTextRenderer.m:
1618         (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
1619
1620 2005-08-01  Eric Seidel  <eseidel@apple.com>
1621
1622         Reviewed by darin.
1623
1624         * WebCoreSupport.subproj/WebGraphicsBridge.m:
1625         removed create*ColorSpace methods, now using CG API directly.
1626         http://bugzilla.opendarwin.org/show_bug.cgi?id=4211
1627
1628 2005-07-31  John Sullivan  <sullivan@apple.com>
1629
1630         Patch by Trey Matteson <trey@usa.net>
1631         Reviewed by me.
1632
1633         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4014
1634           PDF files by default load with a poor choice of sizing
1635
1636         For now the various PDF viewing settings are sticky, stored in 2 new defaults.  Since
1637         there are a number of ways these settings are changed, I made a proxy for the PDFView
1638         through which all view changing messages are sent.  The proxy adds the behavior of
1639         updating the defaults upon any change.
1640
1641         * Misc.subproj/WebNSDictionaryExtras.h:
1642         * Misc.subproj/WebNSDictionaryExtras.m:
1643         (-[NSMutableDictionary _webkit_setFloat:forKey:]):  New support method.
1644         * WebView.subproj/WebPDFView.h:
1645         * WebView.subproj/WebPDFView.m:
1646         (-[WebPDFView initWithFrame:]):  Create proxy for PDFView.
1647         (-[WebPDFView dealloc]):  Free proxy.
1648         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):  For relevant context menu items, set the
1649             target to the proxy instead of the PDFView.
1650         (-[WebPDFView _readPDFDefaults]):  Init PDFView with settings from defaults.
1651         (-[WebPDFView layout]):  Call _readPDFDefaults, once.  This turned out to be the best hook.
1652         (-[WebPDFView _makeTextSmaller:]):  Change PDFView via proxy
1653         (-[WebPDFView _makeTextLarger:]):  Ditto
1654         (-[WebPDFView _makeTextStandardSize:]):  Ditto
1655         (-[PDFPrefUpdatingProxy initWithView:]):  trivial
1656         (-[PDFPrefUpdatingProxy forwardInvocation:]):  Forward the msg, then update defaults
1657         (-[PDFPrefUpdatingProxy methodSignatureForSelector:]):  Simple forwarding support.
1658         * WebView.subproj/WebPreferenceKeysPrivate.h:
1659         * WebView.subproj/WebPreferences.m:
1660         (+[WebPreferences initialize]):  Set initial values for new PDF viewing defaults.
1661         (-[WebPreferences _integerValueForKey:]):  Nuke stray comment.
1662         (-[WebPreferences _floatValueForKey:]):  New simple support method.
1663         (-[WebPreferences _setFloatValue:forKey:]):  Ditto.
1664         (-[WebPreferences PDFScaleFactor]):  4 accessors for new defaults 
1665         (-[WebPreferences setPDFScaleFactor:]):
1666         (-[WebPreferences PDFDisplayMode]):
1667         (-[WebPreferences setPDFDisplayMode:]):
1668         * WebView.subproj/WebPreferencesPrivate.h:
1669
1670 2005-08-01  Justin Garcia  <justin.garcia@apple.com>
1671
1672         Patch by Trey Matteson <trey@usa.net>
1673
1674         Reviewed by Maciej.
1675
1676         Fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=4226>
1677           link underlines print too thickly
1678
1679         Reinstate the fix made by sullivan on 1/11/05.  There was a merge
1680         error with an mjs fix on 1/13/05.
1681
1682         * WebCoreSupport.subproj/WebTextRenderer.m:
1683         (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
1684
1685 2005-07-30  Maciej Stachowiak  <mjs@apple.com>
1686
1687         Build fixes for previous change (missing includes)
1688
1689         * WebView.subproj/WebFrame.m:
1690         * WebView.subproj/WebScriptDebugDelegate.m:
1691
1692 2005-07-29  Maciej Stachowiak  <mjs@apple.com>
1693
1694         Changes by Michael Kahl, reviewed by me.
1695
1696         - fixed <rdar://problem/4164112> MASTER: JavaScript debugging support
1697         
1698         * WebCoreSupport.subproj/WebBridge.m:
1699         (-[WebBridge windowObjectCleared]):
1700         * WebCoreSupport.subproj/WebSubresourceLoader.m:
1701         * WebKit.xcodeproj/project.pbxproj:
1702         * WebView.subproj/WebDefaultScriptDebugDelegate.h: Added.
1703         * WebView.subproj/WebDefaultScriptDebugDelegate.m: Added.
1704         (+[WebDefaultScriptDebugDelegate sharedScriptDebugDelegate]):
1705         (-[WebDefaultScriptDebugDelegate webView:didParseSource:fromURL:sourceId:forWebFrame:]):
1706         (-[WebDefaultScriptDebugDelegate webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
1707         (-[WebDefaultScriptDebugDelegate webView:willExecuteStatement:sourceId:line:forWebFrame:]):
1708         (-[WebDefaultScriptDebugDelegate webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
1709         * WebView.subproj/WebFrame.m:
1710         (-[WebFramePrivate dealloc]):
1711         (-[WebFrame _attachScriptDebugger]):
1712         * WebView.subproj/WebFramePrivate.h:
1713         * WebView.subproj/WebScriptDebugDelegate.h: Added.
1714         * WebView.subproj/WebScriptDebugDelegate.m: Added.
1715         (-[WebScriptDebugger initWithWebFrame:]):
1716         (-[WebScriptDebugger dealloc]):
1717         (-[WebScriptDebugger globalObject]):
1718         (-[WebScriptDebugger newWrapperForFrame:]):
1719         (-[WebScriptDebugger parsedSource:fromURL:sourceId:]):
1720         (-[WebScriptDebugger enteredFrame:sourceId:line:]):
1721         (-[WebScriptDebugger hitStatement:sourceId:line:]):
1722         (-[WebScriptDebugger leavingFrame:sourceId:line:]):
1723         (-[WebScriptCallFrame _initWithFrame:]):
1724         (-[WebScriptCallFrame dealloc]):
1725         (-[WebScriptCallFrame setUserInfo:]):
1726         (-[WebScriptCallFrame userInfo]):
1727         (-[WebScriptCallFrame caller]):
1728         (-[WebScriptCallFrame scopeChain]):
1729         (-[WebScriptCallFrame functionName]):
1730         (-[WebScriptCallFrame exception]):
1731         (-[WebScriptCallFrame evaluateWebScript:]):
1732         * WebView.subproj/WebScriptDebugDelegatePrivate.h: Added.
1733         * WebView.subproj/WebView.h:
1734         * WebView.subproj/WebView.m:
1735         (-[WebViewPrivate dealloc]):
1736         (-[WebView _scriptDebugDelegateForwarder]):
1737         (-[WebView setScriptDebugDelegate:]):
1738         (-[WebView scriptDebugDelegate]):
1739         * WebView.subproj/WebViewInternal.h:
1740         * WebView.subproj/WebViewPrivate.h:
1741
1742 2005-07-26  Maciej Stachowiak  <mjs@apple.com>
1743
1744         Reviewed by Dave Hyatt.
1745
1746         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4153
1747         
1748         * WebView.subproj/WebFrame.m:
1749         (-[WebFrame _purgePageCache]): Find the oldest candidate for
1750         purging that is not a snapback item.
1751
1752 2005-07-29  David Harrison  <harrison@apple.com>
1753
1754         Reviewed by Dave Hyatt (rendering) and Maciej (editing and performance improvements).
1755
1756         Test cases added: Existing tab-related basic editing tests were updated.  More complex tests are coming soon.
1757
1758         <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
1759         
1760         Basic strategy is to put tabs into spans with white-space:pre style, and
1761         render them with tabs stops every 8th space, where the space width and
1762         the left margin are those of the enclosing block.
1763
1764         * WebCoreSupport.subproj/WebTextRenderer.m:
1765         (isSpace):
1766         (isRoundingHackCharacter):
1767         (getUncachedWidth):
1768         (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
1769         (-[WebTextRenderer _computeWidthForSpace]):
1770         (_drawGlyphs):
1771         (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
1772         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
1773         (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
1774         (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
1775         (glyphForCharacter):
1776         (initializeCharacterWidthIterator):
1777         (ceilCurrentWidth):
1778         (widthForNextCharacter):
1779
1780 2005-07-29  John Sullivan  <sullivan@apple.com>
1781
1782         Reviewed by Dave Hyatt.
1783         
1784         - WebKit part of <rdar://problem/4187404> Redo form SPI so that it doesn't rely on NSViews
1785         
1786         Much of 4187404 was addressed in earlier checkins. This checkin completes the task.
1787
1788         * WebView.subproj/WebHTMLRepresentation.h:
1789         * WebView.subproj/WebHTMLRepresentation.m:
1790         removed viewForElement:, which was the only remaining NSView-related SPI that Safari autofill was
1791         still using. I added viewForElement a week ago as a transitional measure, so removing it won't
1792         affect any other clients.
1793
1794 2005-07-29  John Sullivan  <sullivan@apple.com>
1795
1796         Reviewed by Chris Blumenberg.
1797
1798         * WebView.subproj/WebFrameView.m:
1799         (-[WebFrameView _firstResponderIsFormControl]):
1800         renamed from _firstResponderIsControl for clarity. Explicitly rejects WebHTMLView, since
1801         it's now a control.
1802         (-[WebFrameView keyDown:]):
1803         updated for renamed method.
1804
1805 2005-07-28  John Sullivan  <sullivan@apple.com>
1806
1807         Reviewed by Beth Dakin.
1808         
1809         - removed method -[WebHTMLRepresentation elementForView:], which was SPI used only for
1810         Safari autofill. Tip of tree Safari no longer includes any calls to this method. Also, 
1811         Tiger Safari never gets around to actually calling it due to the other recent form-SPI-related
1812         changes, so removing this method doesn't break Tiger Safari running on tip of tree WebKit
1813         (though autofill continues to not work in that configuration).
1814
1815         * WebView.subproj/WebHTMLRepresentation.h:
1816         * WebView.subproj/WebHTMLRepresentation.m:
1817         (-[WebHTMLRepresentation elementForView:]): removed
1818         
1819 2005-07-27  John Sullivan  <sullivan@apple.com>
1820
1821         Patch by Trey Matteson <trey@usa.net>
1822         Reviewed by me.
1823
1824         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4169
1825           scaling PDF view up leaves later HTML view scaled too
1826
1827         An additional step of separating scaling of HTML and PDF.  If we do a zoom and there
1828         are no docViews that track the common scaling factor, then don't change it.  Thus in
1829         the common PDF case where it is the only doc view, scaling the PDF does not affect
1830         HTML pages loaded in the same window.
1831
1832         * WebView.subproj/WebView.m:
1833         (-[WebView canMakeTextSmaller]):  Pass 0 for new scaling factor, since we just querying.
1834         (-[WebView canMakeTextLarger]):  Ditto.
1835         (-[WebView makeTextSmaller:]):  Pass new scaling factor.
1836         (-[WebView makeTextLarger:]):  Ditto.
1837         (-[WebView canMakeTextStandardSize]):  Pass 0 for new scaling factor.
1838         (-[WebView makeTextStandardSize:]):  Pass new scaling factor.
1839         (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
1840           The meat of the change is that this Swiss Army Knife also takes a new scaling
1841           factor, which it will set as the common scaling factor if it finds any doc views that
1842           are able to be scaled which track the common scaling factor.
1843
1844 2005-07-27  John Sullivan  <sullivan@apple.com>
1845
1846         Patch by Trey Matteson <trey@usa.net>
1847         Reviewed by me.
1848
1849         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4015
1850           PDF views should remember viewing mode, scroll position across back/forward
1851           Note this doesn't work within frames because of a PDFKit bug - see 4164
1852         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4091
1853           PDF views should keep a separate scaling factor from shared text scaling factor
1854
1855         Basic idea #1 is that we now have a general mechanism for a WebDocView to save/restore some UI
1856         state to the WebHistoryItem.
1857         Basic idea #2 is that _WebDocumentTextSizing is expanded to allow for the case of a WebDocView
1858         keeping its own notion of a scaling factor.  WebPDFView's -_tracksCommonSizeFactor has justification.
1859
1860         * History.subproj/WebHistoryItem.m:
1861         (-[WebHistoryItem setViewState:]):  New methods to hold PList of arbitrary WebView state
1862         (-[WebHistoryItem viewState]):
1863         * History.subproj/WebHistoryItemPrivate.h:
1864         * WebKit.xcodeproj/project.pbxproj:  Add Quartz to framework path so we can import PDFKit files
1865         * WebView.subproj/WebDocumentInternal.h:  New methods added to _WebDocumentTextSizing.
1866           Also the _ prefix is sufficient instead of _web_WebDocumentTextSizing.
1867           Added _WebDocumentViewState protocol.
1868         * WebView.subproj/WebFrame.m:
1869         (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):  Rename of save/restore methods.
1870         (-[WebFrame _detachFromParent]):  Ditto
1871         (-[WebFrame _transitionToCommitted:]):  Ditto
1872         (-[WebFrame _checkLoadCompleteForThisFrame]):  Ditto
1873         (-[WebFrame _loadItem:withLoadType:]):  Ditto
1874         (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):  Ditto
1875         (-[WebFrame _saveViewStateToItem:]):  Call doc view to retrieve view state.
1876         (-[WebFrame _restoreViewState]):  Call doc view to set view state.
1877         (-[WebFrame _scrollToTop]):  Nuked dead code.
1878         (-[WebFrame _textSizeMultiplierChanged]):  This work now appears in WebView.
1879         (-[WebFrame _saveDocumentAndScrollState]):  Same rename, one code cleanup.
1880         (-[WebFrame _accumulateDocumentViews:]): Add our docview to the array, call kids.
1881         (-[WebFrame _documentViews]):  New helper to return all docviews.
1882         (-[WebFrame _didFirstLayout]):  Same name change.
1883         * WebView.subproj/WebFrameInternal.h:
1884         * WebView.subproj/WebFramePrivate.h:
1885         * WebView.subproj/WebHTMLView.m:  Removed redundant category decl.
1886         (-[WebHTMLView _makeTextSmaller:]):  Implement new protocol.
1887         (-[WebHTMLView _makeTextLarger:]):
1888         (-[WebHTMLView _makeTextStandardSize:]):
1889         (-[WebHTMLView _tracksCommonSizeFactor]):
1890         * WebView.subproj/WebPDFRepresentation.m:  Tweak #imports.
1891         * WebView.subproj/WebPDFView.h:
1892         * WebView.subproj/WebPDFView.m:
1893         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):  No longer intercept context menu text sizing items.
1894         (-[WebPDFView setDataSource:]):  No longer track the WebView's scaling factor.
1895         (-[WebPDFView scrollPoint]):  Dig through PDFKit view tree to get real scroll position
1896         (-[WebPDFView setScrollPoint:]):  Ditto
1897         (-[WebPDFView viewState]):  Return bundle of viewing params
1898         (-[WebPDFView setViewState:]):  Restore bundle of viewing params
1899         (-[WebPDFView _makeTextSmaller:]):  Implement new text sizing protocol
1900         (-[WebPDFView _makeTextLarger:]):
1901         (-[WebPDFView _makeTextStandardSize:]):
1902         (-[WebPDFView _tracksCommonSizeFactor]):
1903         (-[WebPDFView _canMakeTextSmaller]):
1904         (-[WebPDFView _canMakeTextLarger]):
1905         (-[WebPDFView _canMakeTextStandardSize]):
1906         * WebView.subproj/WebTextView.m:
1907         (-[WebTextView _makeTextSmaller:]):  Implement new text sizing protocol
1908         (-[WebTextView _makeTextLarger:]):
1909         (-[WebTextView _makeTextStandardSize:]):
1910         (-[WebTextView _tracksCommonSizeFactor]):
1911         * WebView.subproj/WebView.m:
1912         (-[WebView setTextSizeMultiplier:]):  Calling docViews is now more complicates than just posting
1913            a notification to the frame.
1914         (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:]):  Workhorse
1915            that sends the text sizing method to the right doc views.
1916         (-[WebView canMakeTextSmaller]):  Call workhorse.
1917         (-[WebView canMakeTextLarger]):  Ditto
1918         (-[WebView makeTextSmaller:]):  Ditto
1919         (-[WebView makeTextLarger:]):  Ditto
1920         (-[WebView canMakeTextStandardSize]):  Ditto
1921         (-[WebView makeTextStandardSize:]):  Ditto
1922
1923 2005-07-26  Justin Garcia  <justin.garcia@apple.com>
1924
1925         Patch by Trey Matteson <trey@usa.net>
1926
1927         Reviewed by John Sullivan.
1928         
1929         Fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=4072>
1930         Pressing back in browser misses out a page
1931         
1932         * WebView.subproj/WebFrame.m:
1933         (-[WebFrame _transitionToCommitted:]):  When reloading the same page or refreshing the
1934         page, update the URL in the b/f item with the URL that we wind up at.  Due to cookies,
1935         it might be different than the result we just got when we loaded the same page.
1936
1937 2005-07-26  David Hyatt  <hyatt@apple.com>
1938
1939         Make WebHTMLView inherit from NSControl instead of NSView.
1940         This change is necessary because the theme renderer for
1941         WebCore that draws controls with the Aqua appearance does so
1942         using NSCells.  NSCells must be hosted within a control view
1943         in order to paint properly.
1944
1945         The method updateCell must be overridden because it wants to
1946         repaint the whole control when the windows resigns/becomes
1947         key, and this would result in behavior that we don't want
1948         (the repainting of the whole view).  We already have hooks
1949         in WebHTMLView for the window resigning/becoming key so
1950         we will do our proper control updating there instead (in a
1951         future patch).
1952
1953         Reviewed by john
1954
1955         * WebView.subproj/WebHTMLView.h:
1956         * WebView.subproj/WebHTMLView.m:
1957         (-[WebHTMLView updateCell:]):
1958         
1959 2005-07-26  John Sullivan  <sullivan@apple.com>
1960
1961         Reviewed by Chris Blumenberg.
1962         
1963         - more work to wean form-related SPI from NSView. All that's left (but this is a big "all")
1964         is viewForElement: and elementForView:        
1965
1966         * WebCoreSupport.subproj/WebBridge.m:
1967         (-[WebBridge textField:doCommandBySelector:]):
1968         changed signature to pass along DOMElement* rather than NSView*
1969         
1970         * WebView.subproj/WebFormDelegate.h:
1971         * WebView.subproj/WebFormDelegate.m:
1972         (-[WebFormDelegate textField:doCommandBySelector:inFrame:]):
1973         ditto
1974
1975 2005-07-25  John Sullivan  <sullivan@apple.com>
1976
1977         Reviewed by Darin Adler.
1978         
1979         - big hunk of weaning form-related SPI from NSView; autofill continues to
1980         work (but only on tip of tree Safari)
1981         
1982         * WebCoreSupport.subproj/WebBridge.m:
1983         (-[WebBridge textFieldDidBeginEditing:]):
1984         changed name from controlTextXXX:, now takes a DOMHTMLInputElement*
1985         (-[WebBridge textFieldDidEndEditing:]):
1986         ditto
1987         (-[WebBridge textDidChangeInTextField:]):
1988         ditto
1989         (-[WebBridge textDidChangeInTextArea:]):
1990         changed name from textDidChange:, now takes a DOMHTMLTextAreaElement*
1991         (-[WebBridge control:textShouldBeginEditing:]):
1992         removed this method as it wasn't being used by autofill, and did nothing in WebKit
1993         (-[WebBridge control:textShouldEndEditing:]):
1994         ditto
1995         (-[WebBridge textField:shouldHandleEvent:]):
1996         changed name from control:textView:shouldHandleEvent:, now takes a DOMHTMLInputElement*.
1997         The textView parameter wasn't being used, so I eliminated it.
1998         
1999         * WebView.subproj/WebFormDelegate.h:
2000         * WebView.subproj/WebFormDelegate.m:
2001         (-[WebFormDelegate textFieldDidBeginEditing:inFrame:]):
2002         (-[WebFormDelegate textFieldDidEndEditing:inFrame:]):
2003         (-[WebFormDelegate control:textShouldBeginEditing:inFrame:]):
2004         (-[WebFormDelegate control:textShouldEndEditing:inFrame:]):
2005         (-[WebFormDelegate textDidChangeInTextField:inFrame:]):
2006         (-[WebFormDelegate textDidChangeInTextArea:inFrame:]):
2007         (-[WebFormDelegate textField:shouldHandleEvent:inFrame:]):
2008         These all changed in the same way as the WebBridge methods
2009         
2010
2011 2005-07-25  Vicki Murley <vicki@apple.com>
2012
2013         Reviewed by Darin.
2014  
2015         - fixed <rdar://problem/3470523> Safari's user agent should be changed to say Intel rather 
2016         than PPC on Intel machines
2017
2018         * WebView.subproj/WebView.m: add conditional #defines for "PPC" and "Intel"
2019         (-[WebView userAgentForURL:]): use this variable when constructing the user agent string
2020
2021 2005-07-24  Justin Garcia  <justin.garcia@apple.com>
2022
2023         Reviewed by mjs
2024         
2025         - Fixes <rdar://problem/4120535> deleteToEndOfLine: does not delete thew newline when at the end of a line
2026             Fix to match NSTextView.  Delete the next character if deleteToEndOfLine fails
2027
2028         * WebView.subproj/WebHTMLView.m:
2029         (-[WebHTMLView deleteToEndOfLine:]):
2030
2031 2005-07-24  Justin Garcia  <justin.garcia@apple.com>
2032
2033         Patch by Trey Matteson <trey@apple.com>
2034
2035         Reviewed by john
2036         
2037         Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3953> back-forward items have wrong titles after sub-frame navigations
2038
2039         This was caused by a mistaken data structure, where WebDataSource tried to keep a list of
2040         b/f items it was responsible for.  The problem arose in the case of frames, where a subframe
2041         was loaded with new content.  When this happens a fresh tree of b/f items is created,
2042         but the reference in the DataSource still pointed to the old item.
2043
2044         Since the WebFrame does a lot of work to track the current b/f item, the easiest thing is to
2045         get rid of the DataSource's reference, and have it ask the WebFrame to set the title on the
2046         right b/f item.
2047
2048         * WebView.subproj/WebDataSource.m:
2049         (-[WebDataSourcePrivate dealloc]):
2050         (-[WebDataSource _setTitle:]):
2051         * WebView.subproj/WebDataSourcePrivate.h:
2052         * WebView.subproj/WebFrame.m:
2053         (-[WebFrame _createItem:]):
2054         (-[WebFrame _transitionToCommitted:]):
2055         (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
2056         (-[WebFrame _setTitle:]):
2057         * WebView.subproj/WebFramePrivate.h:
2058
2059 2005-07-24  Justin Garcia  <justin.garcia@apple.com>
2060
2061         Reviewed by kevin
2062         
2063         Fixed make clean problem
2064
2065         * Makefile.am:
2066
2067 2005-07-23  Justin Garcia  <justin.garcia@apple.com>
2068
2069         Patch by <opendarwin.org@mitzpettel.com>
2070
2071         Reviewed by darin and hyatt
2072         
2073         Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3862>
2074         The fix for <http://bugzilla.opendarwin.org/show_bug.cgi?id=3545> enclosed each run of visually ordered
2075         hebrew with LRO and PDF control characters, but adjusted the run's to and from to include those characters,
2076         so that they would be rendered if the font includes a glyph for bidi control characters.
2077         
2078         Also adding a manual test
2079
2080         * WebCoreSupport.subproj/WebTextRenderer.m:
2081         (reverseCharactersInRun):
2082
2083 2005-07-22  John Sullivan  <sullivan@apple.com>
2084
2085         Reviewed by Justin Garcia.
2086         
2087         Mail (running on tip of tree WebKit) was running into an assertion I recently added.
2088         The assertion is actually correct, catching an old bug in this code.
2089
2090         * WebView.subproj/WebView.m:
2091         (-[WebView selectedFrame]):
2092         if the first responder is a WebFrameView, then we've found the WebFrameView we're 
2093         looking for, and we shouldn't look at its superviews.
2094
2095 2005-07-22  John Sullivan  <sullivan@apple.com>
2096
2097         Reviewed by Chris Blumenberg.
2098
2099         - some changes in the direction of weaning all the form-related SPI from NSView
2100
2101         * PublicHeaderChangesFromTiger.txt:
2102         noted that the WebCore change to add -[DOMHTMLInputElement isTextField] to
2103         DOMExtensions.h is a public header change.
2104
2105         * WebView.subproj/WebHTMLRepresentation.h:
2106         * WebView.subproj/WebHTMLRepresentation.m:
2107         (-[WebHTMLRepresentation viewForElement:]):
2108         added viewForElement: as a stopgap measure. This allowed me to convert controlsInForm:
2109         to return DOMElements rather than NSViews, while keeping autocomplete working in
2110         Safari tip of tree. When I finish the SPI conversion I'll delete this method. Note that
2111         from this point on, autocomplete will not work in Tiger Safari with tip of tree WebKit
2112         (it will always fail to find anything to autocomplete)
2113
2114 2005-07-21  Adele Peterson  <adele@apple.com>
2115
2116         Reviewed by Darin.
2117
2118         Changing temporary #ifndef to #if
2119
2120         * WebCoreSupport.subproj/WebImageData.m:
2121         (-[WebImageData _checkSolidColor:]):
2122
2123 2005-07-21  Adele Peterson  <adele@apple.com>
2124
2125         Reviewed by Chris Blumenberg.
2126
2127         - fixed <rdar://problem/4132797> don't register thin PPC WebKit plug-ins
2128         Merged fix for:
2129         <rdar://problem/4127100> [WebKit] 8B1016: After installing Acrobat Reader, can no longer see pdf's in Safari
2130
2131         * Plugins.subproj/WebBasePluginPackage.h: Added isNativeLibraryData method.
2132         * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage isNativeLibraryData:]): Added isNativeLibraryData method.
2133         * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]):
2134           calls isNativeLibraryData to determine whether or not to register the plug-in.
2135         * Plugins.subproj/WebPluginPackage.m: (-[WebPluginPackage initWithPath:]): ditto.
2136         * WebCoreSupport.subproj/WebImageData.m: (-[WebImageData _checkSolidColor:]): added comment for #ifdef.
2137
2138 2005-07-21  Geoffrey Garen  <ggaren@apple.com>
2139
2140         * WebKit.pbproj/project.pbxproj: Removed.
2141
2142 2005-07-21  Geoffrey Garen  <ggaren@apple.com>
2143
2144         * WebKit.xcodeproj/.cvsignore: Added.
2145
2146 2005-07-21  Geoffrey Garen  <ggaren@apple.com>
2147
2148         * WebKit.xcodeproj/project.pbxproj: Added.
2149
2150 2005-07-21  Geoffrey Garen  <ggaren@apple.com>
2151
2152         * Makefile.am:
2153
2154 2005-07-20  John Sullivan  <sullivan@apple.com>
2155
2156         Reviewed by Vicki Murley.
2157
2158         - removed some form-related methods that weren't being used anywhere, in preparation
2159         for weaning WebKit's WebFormDelegate protocol from NSView.
2160
2161         * WebCoreSupport.subproj/WebBridge.m:
2162         * WebView.subproj/WebFormDelegate.h:
2163         * WebView.subproj/WebFormDelegate.m:
2164         removed these methods:
2165         -control:didFailToFormatString:errorDescription:
2166         -control:didFailToValidatePartialString:errorDescription:
2167         -control:isValidObject:
2168
2169 2005-07-20  Adele Peterson  <adele@apple.com>
2170
2171           Merged fix for:
2172           <rdar://problem/4125127> [WebKit] horizontal rulers don't render on Safari on web.apple.com
2173
2174           * WebCoreSupport.subproj/WebImageData.m:
2175           (-[WebImageData _checkSolidColor:]):
2176
2177 2005-07-20  Adele Peterson  <adele@apple.com>
2178
2179         Merged fix for :
2180         <rdar://problem/4118278> mail divide by zero navigating messages
2181   
2182         * WebCoreSupport.subproj/WebTextRenderer.m:
2183         (-[WebTextRenderer _extendGlyphToWidthMapToInclude:font:]):
2184
2185 2005-07-20  John Sullivan  <sullivan@apple.com>
2186
2187         Reviewed by Adele Peterson.
2188         
2189         - added -[WebView selectedFrame] to SPI (pending public API), needed for 4180958
2190
2191         * WebView.subproj/WebView.m:
2192         (-[WebView selectedFrame]):
2193         new method, extracted from _selectedOrMainFrame
2194         (-[WebView _selectedOrMainFrame]):
2195         now calls extracted method
2196         
2197         * WebView.subproj/WebViewPrivate.h:
2198         add -selectedFrame to PendingPublic category
2199
2200 2005-07-19  John Sullivan  <sullivan@apple.com>
2201
2202         Reviewed by Darin Adler.
2203         
2204         - cleaned up code related to dealing with the "selected frame"; fixes radar bugs 4118830 and 4118820
2205
2206         * WebView.subproj/WebTextView.m:
2207         (-[WebTextView resignFirstResponder]):
2208         call deselectAll here instead of replicating its guts, just for clarity
2209         
2210         * WebView.subproj/WebViewInternal.h:
2211         eliminated category WebInternal; all of these methods were used only inside WebView.m, so I moved
2212         them into the existing category WebFileInternal that was declared and implemented in WebView.m
2213         
2214         * WebView.subproj/WebView.m:
2215         (-[WebView searchFor:direction:caseSensitive:wrap:]):
2216         updated for name changes. Also, uses new _deselectFrame: to clear the selection if the found
2217         text is in a different frame.
2218         (-[WebView pasteboardTypesForSelection]):
2219         (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
2220         (-[WebView setSelectedDOMRange:affinity:]):
2221         (-[WebView selectedDOMRange]):
2222         (-[WebView selectionAffinity]):
2223         (-[WebView setTypingStyle:]):
2224         (-[WebView typingStyle]):
2225         (-[WebView styleDeclarationWithText:]):        
2226         (-[WebView replaceSelectionWithNode:]):
2227         (-[WebView replaceSelectionWithText:]):
2228         (-[WebView replaceSelectionWithMarkupString:]):
2229         (-[WebView replaceSelectionWithArchive:]):
2230         (-[WebView deleteSelection]):
2231         (-[WebView applyStyle:]):
2232         updated for name changes only
2233         
2234         (-[WebView _frameIsSelected:]):
2235         new method, returns YES if given frame has a non-zero-length selection
2236         (-[WebView _deselectFrame:]):
2237         new method, clears selection from given frame
2238         (-[WebView _findSelectedFrameStartingFromFrame:]):
2239         new method, recursive helper used by _findSelectedFrame
2240         (-[WebView _findSelectedFrame]):
2241         new method, finds first frame that returns YES for _frameIsSelected, or nil
2242         (-[WebView _debugCollectSelectedFramesIntoArray:startingFromFrame:]):
2243         new method, recursive helper used by _debugCheckForMultipleSelectedFrames
2244         (-[WebView _debugCheckForMultipleSelectedFrames]):
2245         new method for debugging, fires an assertion if there's more than one selected frame.
2246         (-[WebView _selectedOrMainFrame]):
2247         renamed from _frameForCurrentSelection, which was a misleading name since the returned
2248         frame does not necessarily have a selection (or even focus). Now checks for a selected
2249         but non-focused frame if the first responder is not in any frame. Also, moved in file
2250         from WebInternal category to WebFileInternal category.
2251         (-[WebView _bridgeForSelectedOrMainFrame]):
2252         renamed from _bridgeForCurrentSelection, which was a misleading name for the same
2253         reasons as _frameForCurrentSelection. Also, moved in file from WebInternal category to
2254         WebFileInternal category.
2255         (-[WebView _isLoading]):
2256         (-[WebView _frameViewAtWindowPoint:]):
2257         (-[WebView _bridgeAtPoint:]):
2258         just moved in file from WebInternal category to WebFileInternal category
2259
2260 2005-07-19  Darin Adler  <darin@apple.com>
2261
2262         Reviewed by Geoff Garen.
2263
2264         - improve handling of plug-ins when the WebView or a superview is hidden with -[NSView setHidden]
2265
2266         * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
2267         Add "hidden" to the list of reasons to clip out all plug-in drawing.
2268
2269 2005-07-18  John Sullivan  <sullivan@apple.com>
2270         
2271         Written by Trey Matteson  <trey@usa.net>
2272         Reviewed by John Sullivan.
2273
2274         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4049
2275           scroll position not restored when going back/forward at ebay
2276         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4061
2277           When going back/forward to some pages, they redraw at top before restoring scroll position
2278
2279         The short story is that attempting to restore the scroll position
2280         at the time when the first layout finishes addresses both of these
2281         issues.  An explanation of the underlying race condition is in
2282         a large comment near -_restoreScrollPosition.
2283
2284         * WebCoreSupport.subproj/WebBridge.m:
2285         (-[WebBridge didFirstLayout]):  Pass through to WebFrame.
2286         * WebView.subproj/WebFrame.m:
2287         (-[WebFrame _transitionToCommitted:]):  Get rid of attempt to
2288           restoreScrollPosition that never did anything because the
2289           docView was always 0x0 size at that point.
2290         (-[WebFrame _opened]):  Get rid of redundant call to restoreScrollPosition.
2291           The imminent call to layoutCompleted makes the same call.
2292         (-[WebFrame _didFirstLayout]):  Restore the scroll position on
2293           first layout, if we're doing a b/f nav.
2294         * WebView.subproj/WebFrameInternal.h:
2295
2296 2005-07-18  John Sullivan  <sullivan@apple.com>
2297
2298         Reviewed by Darin Adler.
2299
2300         - fixed these bugs:
2301         <rdar://problem/4158121> context menu in PDF view should contain the selection-based items like Copy
2302         <rdar://problem/4184691> WebPDFView should conform to the WebDocumentElement protocol
2303         <rdar://problem/4184663> "Search in Spotlight" is present but dimmed in context menu for plain-text documents
2304
2305         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2306         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
2307         added ASSERT and comments
2308
2309         * WebView.subproj/WebHTMLView.m:
2310         (-[WebHTMLView _searchWithGoogleFromMenu:]):
2311         removed this method (now handled by WebView)
2312         (-[WebHTMLView _searchWithSpotlightFromMenu:]):
2313         ditto
2314         (-[WebHTMLView validateUserInterfaceItem:]):
2315         removed validation for removed items. The validation wasn't necessary anyway, since we only put these items
2316         in the menu in the case where they should be enabled.
2317
2318         * WebView.subproj/WebPDFView.h:
2319         now conforms to WebDocumentElement protocol (which lets [WebView elementAtPoint:] work better)
2320         * WebView.subproj/WebPDFView.m:
2321         (-[WebPDFView copy:]):
2322         added, hands off to PDFView, needed to enable Copy in context menu
2323         (-[WebPDFView _pointIsInSelection:]):
2324         new method, checks whether given point is in the selected bounds
2325         (-[WebPDFView elementAtPoint:]):
2326         add WebElementIsSelectedKey to returned element
2327         (-[WebPDFView menuForEvent:]):
2328         use actual point instead of dummy placeholder, now that we have code that pays attention to the point
2329
2330         * WebView.subproj/WebView.m:
2331         (-[WebView _searchWithGoogleFromMenu:]):
2332         moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText.
2333         Rewrote slightly to be non-WebHTMLView-specific. (This menu item was always enabled in Safari because
2334         Safari replaces its action, but it would not have been always enabled in other WebKit clients, though
2335         it should have been.)
2336         (-[WebView _searchWithSpotlightFromMenu:]):
2337         moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText.
2338         Rewrote slightly to be non-WebHTMLView-specific.
2339
2340 2005-07-18  John Sullivan  <sullivan@apple.com>
2341
2342         Reviewed by Richard Williamson.
2343         
2344         - fixed <rdar://problem/4184366> WebPDFView should conform to the WebDocumentSelection protocol
2345
2346         * Misc.subproj/WebNSAttributedStringExtras.h: Added.
2347         * Misc.subproj/WebNSAttributedStringExtras.m: Added.
2348         (-[NSAttributedString _web_attributedStringByStrippingAttachmentCharacters]):
2349         New category on NSAttributedString, initially contains this one method that had been in WebHTMLView.
2350         
2351         * WebView.subproj/WebHTMLView.m:
2352         (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
2353         now uses _web_attributedStringByStrippingAttachmentCharacters
2354         
2355         * WebView.subproj/WebPDFView.h:
2356         now conforms to WebDocumentSelection protocol
2357         * WebView.subproj/WebPDFView.m:
2358         (-[WebPDFView selectionRect]):
2359         new, implementation of WebDocumentSelection protocol method
2360         (-[WebPDFView pasteboardTypesForSelection]):
2361         ditto
2362         (-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
2363         ditto
2364
2365         * WebKit.pbproj/project.pbxproj:
2366         updated for new files
2367
2368 2005-07-18  John Sullivan  <sullivan@apple.com>
2369
2370         Reviewed by Chris Blumenberg.
2371         
2372         - some refactoring cleanup in the selection/searching code
2373
2374         * Misc.subproj/WebSearchableTextView.h:
2375         moved WebDocumentSelection protocol conformation to this class, was in subclass WebTextView
2376         * Misc.subproj/WebSearchableTextView.m:
2377         (-[WebSearchableTextView selectionRect]):
2378         new method (moved here from Safari) to return a single rect encompassing all selected text
2379         (-[WebSearchableTextView pasteboardTypesForSelection]):
2380         moved here from WebTextView
2381         (-[WebSearchableTextView writeSelectionWithPasteboardTypes:toPasteboard:]):
2382         ditto
2383         
2384         * WebView.subproj/WebDocumentInternal.h:
2385         moved WebDocumentSelection protocol out of here
2386         
2387         * WebView.subproj/WebDocumentPrivate.h:
2388         moved WebDocumentSelection protocol into here, added selectionRect method
2389         
2390         * WebView.subproj/WebHTMLView.m:
2391         (-[WebHTMLView selectionRect]):
2392         new method, calls existing bridge method formerly called by _selectionRect
2393         (-[WebHTMLView _selectionRect]):
2394         now calls [self selectionRect]. We can't just delete _selectionRect because it's used by Mail.
2395         
2396         * WebView.subproj/WebHTMLViewPrivate.h:
2397         removed _selectionRect since it's in WebDocumentSelection now
2398         
2399         * WebView.subproj/WebTextView.h:
2400         removed WebDocumentSelection from protocol list since it's in superclass now
2401         
2402         * WebView.subproj/WebTextView.m:
2403         removed old WebDocumentSelection methods because they are in superclass now
2404
2405 2005-07-15  Adele Peterson  <adele@apple.com>
2406
2407         Written by Trey Matteson  <trey@usa.net>
2408         Reviewed by John Sullivan.
2409
2410         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3910 - REGRESSION: Replying "Cancel" to the form repost nag leaves wrong b/f cursor
2411
2412         * WebView.subproj/WebFrame.m:
2413         (-[WebFrame _resetBackForwardList]):  new helper method
2414         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
2415           If the delegate bailed on the navigation, tell the main frame
2416           to reset the b/f cursor back to where it was before we started.
2417
2418 2005-07-15  John Sullivan  <sullivan@apple.com>
2419
2420         Written by Trey Matteson
2421         Reviewed by me.
2422
2423         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=4013
2424                 text find doesn't wrap in PDF files
2425
2426         This just works once WebPDFView implements the WebDocumentText protocol, which is
2427         mostly just a matter of forwarding the methods to PDFKit appropriately.
2428
2429         * WebView.subproj/WebPDFView.h:
2430         * WebView.subproj/WebPDFView.m:
2431         (-[WebPDFView supportsTextEncoding]):
2432         (-[WebPDFView string]):
2433         (-[WebPDFView attributedString]):
2434         (-[WebPDFView selectedString]):
2435         (-[WebPDFView selectedAttributedString]):
2436         (-[WebPDFView selectAll]):
2437         (-[WebPDFView deselectAll]):
2438
2439 2005-07-15  John Sullivan  <sullivan@apple.com>
2440
2441         Reviewed by Kevin Decker.
2442         
2443         - fixed <rdar://problem/4181884> Searching for text that overlaps selection works 
2444         differently in PDFView than in HTMLView
2445
2446         * WebView.subproj/WebPDFView.m:
2447         (PDFSelectionsAreEqual):
2448         new function, stand-in for nonexistent -[PDFSelection isEqual:] since calling isEqual:
2449         on two identical PDFSelections returns NO
2450         (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
2451         Make search algorithm match that in WebCore: initially search inside selection, then check for the case
2452         where the found text exactly matches the previous selection, and search from past the selection if so.
2453         The implementation is slightly more complicated than it should be due to PDFKit API limitations (about
2454         which I added FIXMEs and filed bugs)
2455
2456 2005-07-15  John Sullivan  <sullivan@apple.com>
2457
2458         Reviewed by Maciej Stachowiak.
2459         
2460         - fixed these bugs:
2461         <rdar://problem/4181875> Searching for text that overlaps selection works differently in WebTextView than in HTMLView
2462         <rdar://problem/3393678> Find not finding text in plain (non-HTML) if all text is selected
2463
2464         * Misc.subproj/WebSearchableTextView.m:
2465         (-[NSString findString:selectedRange:options:wrap:]):
2466         Make search algorithm match that in WebCore: initially search inside selection, then check for the case
2467         where the found text exactly matches the previous selection, and search from past the selection if so.
2468
2469 2005-07-14  John Sullivan  <sullivan@apple.com>
2470
2471         Reviewed by Dave Hyatt.
2472
2473         - WebKit part of fix for: 
2474         <rdar://problem/4181227> webpages incorrectly use standard instead of secondary highlighting in certain cases
2475
2476         * WebCoreSupport.subproj/WebBridge.m:
2477         (-[WebBridge formControlIsResigningFirstResponder:]):
2478         Implementation of new method defined in WebCore, passes call along to WebHTMLView
2479         
2480         * WebView.subproj/WebHTMLViewInternal.h:
2481         declare _formControlIsResigningFirstResponder: so bridge can call it
2482
2483         * WebView.subproj/WebHTMLView.m:
2484         (-[WebHTMLView updateFocusState]):
2485         just moved in file so it could be called from a different category
2486         (-[WebHTMLView _formControlIsResigningFirstResponder:]):
2487         new method, updates focus state
2488
2489 2005-07-14  John Sullivan  <sullivan@apple.com>
2490
2491         added missing #import to fix build
2492         * WebView.subproj/WebPDFView.m
2493
2494 2005-07-14  Kevin Decker  <kdecker@apple.com>
2495
2496         Reviewed by cblu
2497
2498         Fixed: <rdar://problem/4122282> clicking a link in an PDF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
2499
2500         * WebView.subproj/WebFrame.m:
2501         (-[WebFrame _safeLoadURL:]): added
2502         * WebView.subproj/WebFrameInternal.h:
2503         * WebView.subproj/WebPDFView.m:
2504         (-[WebPDFView initWithFrame:]):
2505         (-[WebPDFView PDFViewWillClickOnLink:withURL:]): prevents evilness with a call to _safeLoadURL
2506         * WebView.subproj/WebTextView.m:
2507         (-[WebTextView clickedOnLink:atIndex:]): factored calling out to the bridge, and instead call _safeLoadURL
2508
2509 2005-07-14  Vicki Murley  <vicki@apple.com>
2510
2511         Reviewed by Kocienda.
2512
2513         - WebKit part of fix for  <rdar://problem/4172380> [GENENTECH] window.opener 
2514         not available when child opened via target="_new"
2515
2516         Add a setOpener function to the WebCore bridge, and call this function when opening
2517         new windows through Web Kit.
2518
2519         * WebView.subproj/WebFrame.m:
2520         (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
2521
2522 2005-07-13  Justin Garcia  <justin.garcia@apple.com>
2523
2524         Reviewed by John
2525         
2526         Rolling in changes necessary to build with newer versions of gcc 4.0
2527
2528         * History.subproj/WebHistoryItem.m:
2529         (-[WebHistoryItem copyWithZone:]):
2530         * Misc.subproj/WebNSPasteboardExtras.m:
2531         (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
2532         * Misc.subproj/WebNSURLExtras.m:
2533         (-[NSURL _web_URLWithLowercasedScheme]):
2534         (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
2535         * WebCoreSupport.subproj/WebBridge.m:
2536         (-[WebBridge MIMETypeForPath:]):
2537         * WebCoreSupport.subproj/WebImageRendererFactory.m:
2538         (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]):
2539         * WebCoreSupport.subproj/WebTextRenderer.m:
2540         (-[WebTextRenderer initWithFont:usingPrinterFont:]):
2541         * WebView.subproj/WebFrame.m:
2542         (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
2543         * WebView.subproj/WebHTMLView.m:
2544         (-[WebHTMLView _styleFromFontAttributes:]):
2545         * WebView.subproj/WebView.m:
2546         (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
2547         (-[WebView mainFrameTitle]):
2548
2549 2005-07-13  John Sullivan  <sullivan@apple.com>
2550
2551         Reviewed by Maciej Stachowiak.
2552
2553         - cleaned up Find-related experimental code that I checked in a while back
2554
2555         * WebView.subproj/WebHTMLView.m:
2556         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
2557         remove variant of this method that had findInSelection flag; this method is now
2558         the same as it was on Tiger.
2559         
2560         * WebView.subproj/WebView.m:
2561         (-[WebView searchFor:direction:caseSensitive:wrap:]):
2562         ditto
2563
2564 2005-07-12  Geoffrey Garen  <ggaren@apple.com>
2565
2566         -rolled in patch by opendarwin.org@mitzpettel.com 
2567         for http://bugzilla.opendarwin.org/show_bug.cgi?id=3435
2568         Parentheses are backwards in Hebrew text (no bidi mirroring?)
2569         
2570         Reviewed by mjs.
2571
2572         Layout test added to WebCore.
2573
2574         * WebCoreSupport.subproj/WebTextRenderer.h:
2575         * WebCoreSupport.subproj/WebTextRenderer.m:
2576         (-[WebTextRenderer _initializeATSUStyle]):
2577         (applyMirroringToRun):
2578         (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
2579         (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
2580         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
2581
2582 2005-07-12  Ken Kocienda  <kocienda@apple.com>
2583
2584         Reviewed by Chris Blumenberg
2585
2586         * WebCoreSupport.subproj/WebBridge.m: Removed some glue that allowed one
2587         of two unicode (TEC or ICU ) to be chosen at runtime. I just added this
2588         dual support yesterday, and while Maciej and I agreed that it was good
2589         to land in the tree in case we run into problems in the near future, we
2590         also agreed that cutting over to using ICU full time right now is
2591         probably the best way to find bugs.
2592
2593 2005-07-11  Ken Kocienda  <kocienda@apple.com>
2594
2595         Reviewed by Richard
2596
2597         * WebCoreSupport.subproj/WebBridge.m:
2598         (+[WebBridge setTextConversionMethod:]): New method to support switching text conversion method.
2599         (+[WebBridge textConversionMethod]): Returns current text conversion method.
2600
2601 2005-07-11  Kevin Decker  <kdecker@apple.com>
2602
2603         Reviewed by cblu and mjs.
2604
2605         Fixed: <rdar://problem/4099552> REGRESSION: Safari 1.3 Netscape API NPN_PostURL[Notify] no longer allows manual headers
2606         
2607         Most plugins (flash) send 2 CRFL's between the header and body of their POST requests, while the adboe plugin sends two LF's. This caused us to send custom headers as part of the actual POST data itself, and correspondently, would skew Content-Length.
2608
2609         * Plugins.subproj/WebBaseNetscapePluginView.m:
2610         (-[NSData _web_locationAfterFirstBlankLine]): Look for two LF's as well
2611
2612 2005-07-09  Maciej Stachowiak  <mjs@apple.com>
2613
2614         - back out my revent page cache changes, turns out they cause a
2615         major performance regression on PLT
2616
2617         * WebView.subproj/WebFrame.m:
2618         (-[WebFrame _purgePageCache]):
2619
2620 2005-07-09  Maciej Stachowiak  <mjs@apple.com>
2621
2622         Reviewed by hyatt.
2623
2624         Replace int with unsigned, to avoid going into a huge loop when
2625         back list count is 0.
2626
2627         * WebView.subproj/WebFrame.m:
2628         (-[WebFrame _purgePageCache]):
2629
2630 2005-07-09  Maciej Stachowiak  <mjs@apple.com>
2631
2632         - fixed broken Development build
2633
2634         * WebView.subproj/WebFrame.m:
2635         (-[WebFrame _purgePageCache]):
2636
2637 2005-07-09  Maciej Stachowiak  <mjs@apple.com>
2638
2639         Reviewed by hyatt.
2640
2641         - fix page cache purging logic; this gets rid of a bug where the
2642         page cache would grow without bound if the oldest page cache item
2643         was the snapback item, and changed the rule a bit so page cache
2644         items farther back than the max size get purged, even if fewer
2645         than the max size are in current use.
2646
2647         * WebView.subproj/WebFrame.m:
2648         (-[WebFrame _purgePageCache]):
2649
2650 2005-07-08  Geoffrey Garen  <ggaren@apple.com>
2651
2652         Rolled in patch by opendarwin.org@mitzpettel.com
2653
2654         -fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=3818
2655         Fallback font doesn't have requested weight in ATSUI-rendered text
2656
2657         (See WebCore Changelog for layout test)
2658
2659         Reviewed by mjs.
2660
2661         * WebCoreSupport.subproj/WebTextRenderer.m:
2662         (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
2663
2664 2005-07-05  Adele Peterson  <adele@apple.com>
2665
2666        Rolling out changes for <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
2667        since it caused a 2% performance regression.
2668
2669         * WebCoreSupport.subproj/WebTextRenderer.m:
2670         (isSpace):
2671         (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
2672         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
2673         (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
2674         (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
2675         (initializeCharacterWidthIterator):
2676         (widthForNextCharacter):
2677
2678 2005-07-05  John Sullivan  <sullivan@apple.com>
2679
2680         Reviewed by Chris Blumenberg.
2681         
2682         - fixed <rdar://problem/4158230> Zoom In/Zoom Out in PDF context menu don't update window's notion of text size
2683
2684         * WebView.subproj/WebPDFView.m:
2685         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
2686         Redirect Actual Size, Zoom In, and Zoom Out context menu items so that they behave exactly like Make Text Standard Size,
2687         Make Text Larger, and Make Text Smaller.
2688
2689 2005-07-01  John Sullivan  <sullivan@apple.com>
2690
2691         Reviewed by Darin Adler.
2692         
2693         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3711: Displayed PDF have limited options in contextual menu
2694         
2695         This was a problem with using Tiger's version of Safari with tip of tree WebKit.
2696
2697         * WebView.subproj/WebPDFView.m:
2698         (-[WebPDFView _anyPDFTagsFoundInMenu:]):
2699         new method, returns YES if the menu contains any items with any of the new PDF-related tags.
2700         (-[WebPDFView menuForEvent:]):
2701         If the executable was linked on Tiger or older (but it will never be older, since this code is
2702         new to Tiger), force all of the PDF-related items into the menu if none of them were there 
2703         after processing by the delegate.
2704
2705 2005-06-30  Darin Adler  <darin@apple.com>
2706
2707         Reviewed by John Sullivan.
2708
2709         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3774>
2710           do renaming so that loaders are called "loader", not "client" or "delegate"
2711
2712         * Misc.subproj/WebIconLoader.h:
2713         * Plugins.subproj/WebNetscapePluginStream.h:
2714         * Plugins.subproj/WebNetscapePluginStream.m:
2715         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
2716         (-[WebNetscapePluginStream start]):
2717         (-[WebNetscapePlugInStreamLoader didFinishLoading]):
2718         (-[WebNetscapePlugInStreamLoader didFailWithError:]):
2719         (-[WebNetscapePlugInStreamLoader cancelWithError:]):
2720         * WebCoreSupport.subproj/WebBridge.m:
2721         (-[WebBridge startLoadingResource:withURL:customHeaders:]):
2722         (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
2723         (-[WebBridge canRunModalNow]):
2724         * WebCoreSupport.subproj/WebSubresourceClient.h: Removed.
2725         * WebCoreSupport.subproj/WebSubresourceClient.m: Removed.
2726         * WebCoreSupport.subproj/WebSubresourceLoader.h:
2727         * WebCoreSupport.subproj/WebSubresourceLoader.m:
2728         (-[WebSubresourceLoader initWithLoader:dataSource:]):
2729         (-[WebSubresourceLoader dealloc]):
2730         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
2731         (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:referrer:forDataSource:]):
2732         (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
2733         (-[WebSubresourceLoader didReceiveResponse:]):
2734         (-[WebSubresourceLoader didReceiveData:lengthReceived:]):
2735         (-[WebSubresourceLoader didFinishLoading]):
2736         (-[WebSubresourceLoader didFailWithError:]):
2737         (-[WebSubresourceLoader cancel]):
2738         * WebKit.pbproj/project.pbxproj:
2739         * WebView.subproj/WebBaseResourceHandleDelegate.h: Removed.
2740         * WebView.subproj/WebBaseResourceHandleDelegate.m: Removed.
2741         * WebView.subproj/WebDataSource.m:
2742         (-[WebDataSourcePrivate dealloc]):
2743         (-[WebDataSource _setLoading:]):
2744         (-[WebDataSource _updateLoading]):
2745         (-[WebDataSource _setPrimaryLoadComplete:]):
2746         (-[WebDataSource _startLoading:]):
2747         (-[WebDataSource _addSubresourceLoader:]):
2748         (-[WebDataSource _removeSubresourceLoader:]):
2749         (-[WebDataSource _addPlugInStreamLoader:]):
2750         (-[WebDataSource _removePlugInStreamLoader:]):
2751         (-[WebDataSource _stopLoadingInternal]):
2752         (-[WebDataSource _defersCallbacksChanged]):
2753         (-[WebDataSource _stopLoadingWithError:]):
2754         (-[WebDataSource data]):
2755         (-[WebDataSource isLoading]):
2756         * WebView.subproj/WebDataSourcePrivate.h:
2757         * WebView.subproj/WebLoader.h:
2758         * WebView.subproj/WebLoader.m:
2759         * WebView.subproj/WebMainResourceClient.h: Removed.
2760         * WebView.subproj/WebMainResourceClient.m: Removed.
2761         * WebView.subproj/WebMainResourceLoader.h:
2762         * WebView.subproj/WebMainResourceLoader.m:
2763         (-[WebMainResourceLoader didReceiveResponse:]):
2764
2765 2005-06-29  David Harrison  <harrison@apple.com>
2766
2767         Reviewed by Dave Hyatt (rendering) and Maciej (editing).
2768
2769         Test cases added:  Coming soon.  Will include with next round of changes for this bug.
2770
2771         This is the first checkin for...
2772         
2773         <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
2774         
2775         Basic strategy is to put tabs into spans with white-space:pre style, and
2776         render them with tabs stops every 8th space, where the space width and
2777         the left margin are those of the enclosing block.
2778         
2779         What's left is to switch to implement white-space:pre-wrap so
2780         that we can coalesce consecutive tabs while maintaining proper
2781         line breaking.  That will keep the markup smaller.
2782
2783         * WebCoreSupport.subproj/WebTextRenderer.m:
2784         (isSpace):
2785         (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
2786         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
2787         (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
2788         (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
2789         (initializeCharacterWidthIterator):
2790         (widthForNextCharacter):
2791
2792 2005-06-29  John Sullivan  <sullivan@apple.com>
2793
2794         Reviewed by Kevin.
2795         
2796         - deleted some never-used stub code
2797
2798         * WebView.subproj/WebView.m:
2799         * WebView.subproj/WebViewInternal.h:
2800         * WebView.subproj/WebViewPrivate.h:
2801
2802 2005-06-27  Justin Garcia  <justin.garcia@apple.com>
2803
2804         Patch by Anders Carlsson <andersca@mac.com>
2805
2806         Reviewed by Darin.
2807
2808         - Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3489>
2809         WebView's setSelectedDOMRange doesn't not implement clearing the selection as described in the WebView documentation:
2810         <http://developer.apple.com/documentation/Cocoa/Reference/WebKit/ObjC_classic/Classes/WebView.html>
2811         
2812         * WebView.subproj/WebView.m:
2813         (-[WebView setSelectedDOMRange:affinity:]):
2814         If range is nil, call deselectText.
2815
2816 2005-06-24  Justin Garcia  <justin.garcia@apple.com>
2817
2818         Patch contributed by Duncan Wilcox <duncan@mclink.it>
2819
2820         Reviewed by Darin
2821
2822         - Fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3535>
2823             Spelling suggestions in the context menu don't call the should* delegate methods
2824
2825         * WebView.subproj/WebHTMLView.m:
2826         (-[WebHTMLView _changeSpellingFromMenu:]):
2827         give delegate's webView:shouldInsertText:replacingDOMRange:givenAction: a chance
2828         to prevent replacing of selected text
2829
2830 2005-06-22  John Sullivan  <sullivan@apple.com>
2831
2832         Reviewed by Chris Blumenberg.
2833         
2834         - fixed <rdar://problem/3764645> please add a way to allow WebKit clients to override the WebPDFView context menu
2835
2836         * PublicHeaderChangesFromTiger.txt: Added.
2837         New file to keep track of changes made to public headers that haven't been through API review yet.
2838         Initially lists the WebMenuItem enum tags added to WebUIDelegate.h as part of this change.
2839         
2840         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2841         (-[WebDefaultUIDelegate appendDefaultItems:toArray:]):
2842         new method, handles initial separator
2843         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
2844         now has defaultMenuItems: parameter. Any menu items in this array are appended at the end of
2845         the standard set.
2846         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
2847         ditto
2848         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
2849         This had a defaultMenuItems parameter before but it was always nil. Now it passes the defaultMenuItems
2850         parameter on to the two methods that construct lists (one for editing, the other for viewing). Also
2851         tweaked variable name and type for clarity.
2852         
2853         * WebView.subproj/WebHTMLView.m:
2854         (-[WebHTMLView menuForEvent:]):
2855         passes nil for new defaultItems parameter of _menuForElement:
2856         
2857         * WebView.subproj/WebImageView.m:
2858         (-[WebImageView menuForEvent:]):
2859         ditto
2860         
2861         * WebView.subproj/WebTextView.m:
2862         (-[WebTextView menuForEvent:]):
2863         ditto
2864
2865         * WebView.subproj/WebPDFView.m:
2866         (-[WebPDFView elementAtPoint:]):
2867         new method to create the element dictionary needed for _menuForElement:defaultItems:. Only supplies the
2868         webFrame at this point.
2869         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
2870         new method to return copies of the menu items that PDFKit would include in the context menu, with
2871         WebKit tags applied
2872         (-[WebPDFView menuForEvent:]):
2873         now calls standard WebKit context menu mechanism, so clients' delegates can modify the context menu as
2874         desired. The initial set of items are the ones WebKit was already displaying for PDF context menus.
2875         
2876         * WebView.subproj/WebUIDelegate.h:
2877         added enum values for the menu items in the PDF context menu
2878         
2879         * WebView.subproj/WebViewPrivate.h:
2880         * WebView.subproj/WebView.m:
2881         (-[WebView _menuForElement:defaultItems:]):
2882         Added the defaultItems: parameter to this method, which is then passed along to WebDefaultUIDelegate.
2883         All callers pass nil except for WebPDFView, at least for now.
2884
2885 2005-06-22  Darin Adler  <darin@apple.com>
2886
2887         Change by Mitz Pettel.
2888         Reviewed by me.
2889
2890         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3618>
2891           RTL runs drawn by CG not reversed properly
2892
2893         * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_drawRun:style:geometry:]):
2894         Fix off-by-one mistake in order-swapping loops.
2895
2896 2005-06-22  Darin Adler  <darin@apple.com>
2897
2898         Change by Michael Gaiman.
2899         Reviewed by me.
2900
2901         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3436>
2902           Missing implementation of -[NSData(WebNSDateExtras) _webkit_parseRFC822HeaderFields]
2903
2904         * Misc.subproj/WebNSDataExtras.h: Fixed name of category say NSData, not NSDate.
2905         * Misc.subproj/WebNSDataExtras.m: (-[NSData _webkit_parseRFC822HeaderFields]): Fixed method name.
2906
2907 2005-06-21  John Sullivan  <sullivan@apple.com>
2908
2909         Reviewed by Vicki Murley
2910         
2911         - fixed assertion failure Vicki ran into
2912
2913         * Misc.subproj/WebIconDatabase.m:
2914         (-[WebIconDatabase _forgetIconForIconURLString:]):
2915         Handle the case where there are no associated page URLs for the icon URL
2916
2917 2005-06-20  John Sullivan  <sullivan@apple.com>
2918
2919         Reviewed by Chris Blumenberg.
2920         
2921         - fixed <rdar://problem/4155182> icon database retain counts can be incorrect after removing all icons
2922         
2923         Replaced the concept of "future retain count per page URL" with a simpler concept of "retain count per
2924         page URL", which is maintained even after the icon is actually loaded (unlike the future retain count).
2925         The total retain count for an icon is now the sum of the retain counts per page URL along with any retain
2926         count not associated with a page URL -- this is still needed for some internal housekeeping purposes.
2927
2928         * Misc.subproj/WebIconDatabasePrivate.h:
2929         renamed iconURLToURLs -> iconURLToPageURLs for clarity
2930         renamed URLToIconURL -> pageURLToIconURL for clarity
2931         renamed futureURLToRetainCount -> pageURLToRetainCount (there's no more "future" aspect)
2932         renamed iconURLToRetainCount -> iconURLToExtraRetainCount (it now maintains only some of the retain count)
2933         
2934         * Misc.subproj/WebIconDatabase.m:
2935         (+[WebIconDatabase sharedIconDatabase]):
2936         updated for name changes only
2937         (-[WebIconDatabase init]):
2938         ditto
2939         (-[WebIconDatabase iconForURL:withSize:cache:]):
2940         ditto
2941         (-[WebIconDatabase iconURLForURL:]):
2942         ditto
2943         (-[WebIconDatabase retainIconForURL:]):
2944         just bump the retain count in pageURLToRetainCount, instead of behaving differently based on whether 
2945         an icon had been loaded for this URL; this let me delete the internal method _retainFutureIconForURL:
2946         (-[WebIconDatabase releaseIconForURL:]):
2947         decrement the retain count in pageURLToRetainCount, then handle the case where the retain count for 
2948         this page has gone to zero. I deleted the internal method _releaseFutureIconForURL: formerly called here.
2949         (-[WebIconDatabase removeAllIcons]):
2950         remove all the code that dealt with retain counts; this operation no longer affects retain counts
2951         (-[WebIconDatabase _setIconURL:forURL:]):
2952         remove the code that consolidated multiple retain counts for different page URLs into a single retain 
2953         count; the multiple retain counts are now maintained even after the icon is loaded
2954         (-[WebIconDatabase _clearDictionaries]):
2955         updated for name changes only
2956         (-[WebIconDatabase _loadIconDictionaries]):
2957         ditto
2958         (-[WebIconDatabase _updateFileDatabase]):
2959         ditto
2960         (-[WebIconDatabase _totalRetainCountForIconURLString:]):
2961         new method, sums the retain counts associated with specific page URLs and the extra retain count
2962         not associated with specific page URLs
2963         (-[WebIconDatabase _retainIconForIconURLString:]):
2964         updated for name changes
2965         (-[WebIconDatabase _forgetIconForIconURLString:]):
2966         no longer affects retain counts at all; this is up to callers
2967         (-[WebIconDatabase _releaseIconForIconURLString:]):
2968         this now distinguishes the case where the retain count not associated with any page URLs hits 
2969         zero from the case where the total retain count hits zero, and handles both
2970
2971 2005-06-20  John Sullivan  <sullivan@apple.com>
2972
2973         Reviewed by Chris Blumenberg.
2974         
2975         - added support for emptying the icon database
2976
2977         * Misc.subproj/WebIconDatabase.h: just fixed a typo
2978         * Misc.subproj/WebIconDatabasePrivate.h:
2979         added WebPendingPublic category with method removeAllIcons, and
2980         declared WebIconDatabaseDidRemoveAllIconsNotification string.
2981         
2982         * Misc.subproj/WebIconDatabase.m:
2983         (-[WebIconDatabase removeAllIcons]):
2984         new method, removes all known icons from memory and disk. There's one loose end,
2985         covered by radar bug 4155182, where it's possible for the icon database's retain
2986         counts to get off after this operation. I plan to fix this next.
2987         (-[WebIconDatabase _setIconURL:forURL:]):
2988         just fixed some extra whitespace
2989         (-[WebIconDatabase _forgetIconForIconURLString:]):
2990         new method, extracted from _releaseIconForIconURLString
2991         (-[WebIconDatabase _releaseIconForIconURLString:]):
2992         now calls extracted method
2993
2994         * WebKit.exp:
2995         added _WebIconDatabaseDidRemoveAllIconsNotification
2996
2997 2005-06-19  Darin Adler  <darin@apple.com>
2998
2999         Changes by Mitz Pettel
3000         Reviewed by me.
3001         
3002         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3466>
3003           ATSUI text doesn't render at coordinates greater than 32K
3004
3005         * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
3006         Translate the matrix of the CGContext instead of passing the appropriate coordinates to ATSU.
3007
3008 2005-06-17  Richard Williamson   <rjw@apple.com>
3009
3010         Changes by Mitz Pettel
3011         Reviewed by Richard Williamson.
3012
3013         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3545
3014
3015         * WebCoreSupport.subproj/WebTextRenderer.m:
3016         (reverseCharactersInRun):
3017         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
3018
3019 2005-06-17  John Sullivan  <sullivan@apple.com>
3020
3021         Reviewed by Chris.
3022
3023         - fixed <rdar://problem/4151001> Reloading javascript-spawned window with no URL erases its contents
3024
3025         * WebView.subproj/WebFrame.m:
3026         (-[WebFrame reload]):
3027         do nothing if URL is zero-length
3028
3029 2005-06-14  John Sullivan  <sullivan@apple.com>
3030
3031         Changes by Devin Lane.
3032         Reviewed by me.
3033
3034         - fixed <rdar://problem/3766909> PDF viewing could use a zoom control other than the one in the context menu
3035
3036         * WebView.subproj/WebPDFView.h:
3037         now implements protocol _web_WebDocumentTextSizing
3038         * WebView.subproj/WebPDFView.m:
3039         (-[WebPDFView _updateScalingToReflectTextSize]):
3040         new method, sets the PDF scaling from the text size multiplier
3041         (-[WebPDFView setDataSource:]):
3042         call _updateScalingToReflectTextSize
3043         (-[WebPDFView _web_textSizeMultiplierChanged]):
3044         implementation of protocol _web_WebDocumentTextSizing, calls _updateScalingToReflectTextSize
3045
3046 2005-06-14  John Sullivan  <sullivan@apple.com>
3047
3048         Reviewed by Dave Harrison.
3049
3050         * WebView.subproj/WebHTMLView.m:
3051         (-[WebHTMLView _delayedEndPrintMode:]):
3052         After discussing this with Dave, I made this method both more debugger-friendly with asserts for
3053         the cases we don't think could ever happen, and more paranoid by handling these cases in deployment
3054         builds.
3055
3056 2005-06-14  Darin Adler  <darin@apple.com>
3057
3058         - fixed build for Xcode 2.1
3059
3060         * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT to search for the
3061         WebKitSystemInterface.h file. We could re-jigger this again later, but for now this is consistent
3062         with both the .a file's location and where build-webkit puts the file.
3063
3064 2005-06-13  John Sullivan  <sullivan@apple.com>
3065
3066         Reviewed by Dave Harrison and Maciej.
3067
3068         * WebView.subproj/WebHTMLView.m:
3069         (-[WebHTMLView _endPrintMode]):
3070         new method, extracted from identical code in beginDocument and endDocument. This method must be called
3071         once to counterbalance the code called from knowsPageRange that turns on "printing mode".
3072         (-[WebHTMLView _delayedEndPrintMode:]):
3073         new method, called from "perform after delay". Checks whether the same print operation is still underway
3074         and, if so, delays further. Otherwise calls _endPrintMode directly.
3075         (-[WebHTMLView knowsPageRange:]):
3076         after turning on "printing mode", queue up a delayed call to _delayedEndPrintMode:. If there's an early
3077         error in the print mechanism such that beginDocument is never called, this will cleanly end "printing
3078         mode" and make the webview usable again.
3079         (-[WebHTMLView beginDocument]):
3080         cancel any delayed call to _delayedEndPrintMode:. If we get this far along in printing, then we don't need
3081         the failsafe call to _delayedEndPrintMode: that was set up in knowsPageRange:. Also, call extracted method.
3082         (-[WebHTMLView endDocument]):
3083         call extracted method
3084
3085 2005-06-13  Maciej Stachowiak  <mjs@apple.com>
3086
3087         Reviewed by Chris Blumenberg and Adele.
3088
3089         - better fix for <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
3090         http://bugzilla.opendarwin.org/show_bug.cgi?id=3445
3091
3092         With this change and the matching WebKit change we'll still stop loading the moment you click
3093         a download link, but the unload event and detaching of event handlers will not happen early any more.
3094         
3095         * WebView.subproj/WebDataSource.m:
3096         (-[WebDataSource _stopLoadingInternal]): call stopLoading on bridge instead of closeURL.
3097         * WebView.subproj/WebFrame.m:
3098         (-[WebFrame _transitionToCommitted:]): Revert previous attempt at fix.
3099         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): ditto
3100         (-[WebFrame stopLoading]): ditto
3101
3102 2005-06-13  Chris Petersen  <cpetersen@apple.com>
3103
3104         Changes by Darin.
3105         Reviewed by me.
3106
3107         - fixed problems building deployment due to recent init change
3108
3109         * WebView.subproj/WebArchive.m: (-[WebArchive initWithCoder:]):
3110         Put the [super init] call and check for nil outside the exception handler.
3111         * WebView.subproj/WebResource.m: (-[WebResource initWithCoder:]): Ditto.
3112
3113 2005-06-12  Darin Adler  <darin@apple.com>
3114
3115         Reviewed by Maciej.
3116
3117         - fixed <rdar://problem/4141569> REGRESSION (412+): printing fails on any page with images, and for standalone images
3118           also <http://bugzilla.opendarwin.org/show_bug.cgi?id=3318>
3119
3120         * WebCoreSupport.subproj/WebImageData.m: Got rid of use of tabs instead of spaces throughout the file.
3121         (-[WebImageData _checkSolidColor:]): Wrap use of NSGraphicsContext with an autorelease pool.
3122         (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]): Ditto.
3123         (-[WebImageData tileInRect:fromPoint:context:]): Ditto.
3124         (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]): Ditto.
3125
3126 2005-06-12  Darin Adler  <darin@apple.com>
3127
3128         Changes by Nick Zitzmann.
3129         Reviewed by me.
3130
3131         - fixed init methods that don't handle return values from the init methods they call
3132
3133         * WebView.subproj/WebArchive.m:
3134         (-[WebArchive init]): Use value returned by init, check it for nil too.
3135         (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Ditto.
3136         (-[WebArchive _initWithPropertyList:]): Ditto.
3137         (-[WebArchive initWithCoder:]): Ditto.
3138         * WebView.subproj/WebClipView.m:
3139         (-[WebClipView initWithFrame:]): Ditto.
3140         * WebView.subproj/WebDebugDOMNode.m:
3141         (-[WebDebugDOMNode initWithName:value:source:children:]): Ditto.
3142         * WebView.subproj/WebFrame.m:
3143         (-[WebFormState initWithForm:values:sourceFrame:]): Ditto.
3144         (-[WebFrame initWithName:webFrameView:webView:]): Ditto.
3145         * WebView.subproj/WebFrameView.m:
3146         (-[WebFrameView initWithFrame:]): Ditto.
3147         * WebView.subproj/WebHTMLRepresentation.m:
3148         (-[WebHTMLRepresentation init]): Ditto.
3149         * WebView.subproj/WebHTMLView.m:
3150         (-[WebHTMLView initWithFrame:]): Ditto.
3151         (-[WebTextCompleteController initWithHTMLView:]): Ditto.
3152         * WebView.subproj/WebImageView.m:
3153         (-[WebImageView initWithFrame:]): Ditto.
3154         * WebView.subproj/WebPreferences.m:
3155         (-[WebPreferences initWithIdentifier:]): Ditto.
3156         * WebView.subproj/WebRenderNode.m:
3157         (-[WebRenderNode initWithName:position:rect:view:children:]): Ditto.
3158         * WebView.subproj/WebResource.m:
3159         (-[WebResource init]): Ditto.
3160         (-[WebResource initWithCoder:]): Ditto.
3161         * WebView.subproj/WebView.m:
3162         (-[WebViewPrivate init]): Call super init.
3163         (-[_WebSafeForwarder initWithTarget:defaultTarget:templateClass:]): Use value returned by init, check it for nil too.
3164         (-[WebView initWithFrame:]): Ditto.
3165
3166 2005-06-12  Maciej Stachowiak  <mjs@apple.com>
3167
3168         Reviewed by Chris Blumenberg.
3169
3170         - fixed <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
3171         http://bugzilla.opendarwin.org/show_bug.cgi?id=3445
3172         
3173         * WebView.subproj/WebFrame.m:
3174         (-[WebFrame _transitionToCommitted:]): Stop loading the non-provisional data
3175         source before swapping in the provisional.
3176         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Stop only
3177         the provisional load here, we would not want to stop loading if this navigation
3178         later turns into a download or is cancelled before being committed.
3179         (-[WebFrame stopLoading]): Factored a bit.
3180         (-[WebFrame _cancelProvisionalLoad]): New method to stop only provisional load,
3181         and cancel any pending policy deicions.
3182         (-[WebFrame _stopNonProvisionalLoadOnly]): New mthod that stops only the main
3183         load.
3184
3185 2005-06-10  John Sullivan  <sullivan@apple.com>
3186
3187         reviewed by Dave Harrison (first & second drafts) and Darin Adler (third draft)
3188
3189         - WebKit part of fix for 
3190         <rdar://problem/4145214> REGRESSION (412+): Can't drag URLs from the location bar
3191
3192         * Misc.subproj/WebNSPasteboardExtras.m:
3193         (+[NSPasteboard initialize]):
3194         Reinstate variation of old code that uses CreatePasteboardFlavorTypeName to set up our new pasteboard types.
3195         The newfangled way didn't work.
3196
3197 2005-06-07  Darin Adler  <darin@apple.com>
3198
3199         Change by Mark Rowe <opendarwin.org@bdash.net.nz>.
3200         Reviewed by me.
3201
3202         - fixed the WebKit half of build failure with spaces in the path
3203           http://bugzilla.opendarwin.org/show_bug.cgi?id=3291
3204
3205         * WebKit.pbproj/project.pbxproj: Quote DERIVED_FILE_DIR when it is substituted
3206         into FRAMEWORK_SEARCH_PATHS, and SYMROOT when into HEADER_SEARCH_PATHS.
3207
3208 2005-06-06  Darin Adler  <darin@apple.com>
3209
3210         * Info.plist: Bumped version to 412+. For some reason it was set to 312.1!
3211
3212 2005-06-05  Darin Adler  <darin@apple.com>
3213
3214         Reviewed by Hyatt.
3215
3216         - fixed build that I broke with the license change (some includes of WebException were still around)
3217
3218         * WebKit.pbproj/project.pbxproj: Removed references to WebException.h/m.
3219         * WebView.subproj/WebDataSource.m: Removed include of WebException.h.
3220         * WebView.subproj/WebHTMLView.m: Ditto.
3221         * WebView.subproj/WebView.m: Ditto.
3222
3223         - fixed build under gcc 4.0 (some code moved here from Foundation had warnings)
3224
3225         * Misc.subproj/WebNSDataExtras.m:
3226         (-[NSString _web_capitalizeRFC822HeaderFieldName]): Use char instead of UInt8.
3227         (-[NSData _webkit_guessedMIMEType]):  Use char instead of UInt8, and take out now-
3228         unneeded type casts.
3229
3230 2005-06-05  Darin Adler  <darin@apple.com>
3231
3232         - added appropriate license headers to most files and updated copyright to reflect publication dates
3233
3234         * LICENSE: Added.
3235         * <lots of files>: Added license header.
3236
3237         * WebKit.pbproj/project.pbxproj: Removed references to NP_objc.h.
3238
3239         * API-Issues.rtf: Removed.
3240         * Misc.subproj/WebException.h: Removed.
3241         * Misc.subproj/WebException.m: Removed.
3242         * Plugins.subproj/NP_objc.h: Removed.
3243
3244 2005-06-01  Darin Adler  <darin@apple.com>
3245
3246         Reviewed by John Sullivan.
3247
3248         - WebKit part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog
3249
3250         * WebCoreSupport.subproj/WebBridge.m:
3251         (-[WebBridge createModalDialogWithURL:]): Added. Calls the UI delegate, falling back to the generic
3252         "create WebView" method.
3253         (-[WebBridge canRunModal]): Added. Checks the UI delegate to see if it implements runModal.
3254         (-[WebBridge canRunModalNow]): Added. Checks the "inConnectionCallback" field so we can prevent
3255         deadlock since we can't do any I/O while inside a connection callback until this aspect of NSURLConnection
3256         is changed.
3257         (-[WebBridge runModal]): Added. Sets "defersCallbacks" on all other web views in the group, then
3258         calls runModal on the UI delegate.
3259
3260         * WebView.subproj/WebBaseResourceHandleDelegate.h: Added inConnectionCallback class method.
3261         * WebView.subproj/WebBaseResourceHandleDelegate.m:
3262         (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Bump count and then
3263         decrement count so we can tell if we are in a callback.
3264         (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): Ditto.
3265         (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): Ditto.
3266         (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): Ditto.
3267         (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): Ditto.
3268         (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): Ditto.
3269         (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Ditto.
3270         (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): Ditto.
3271         (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): Ditto.
3272         (+[WebBaseResourceHandleDelegate inConnectionCallback]): Added. Return YES if count is not 0.
3273
3274         * WebView.subproj/WebMainResourceClient.m:
3275         (-[WebMainResourceClient receivedError:]): Changed to use the method without the connection: parameter
3276         in the base class, since we no longer are overriding the connection: version.
3277         (-[WebMainResourceClient willSendRequest:redirectResponse:]): Change to override the version without
3278         the connection prefix/parameter; now only the base class overrides the actual connection delegate methods.
3279         (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto.
3280         (-[WebMainResourceClient didReceiveResponse:]): Ditto.
3281         (-[WebMainResourceClient didReceiveData:lengthReceived:]): Ditto.
3282         (-[WebMainResourceClient didFinishLoading]): Ditto.
3283         (-[WebMainResourceClient didFailWithError:]): Ditto.
3284         (-[WebMainResourceClient loadWithRequestNow:]): Call the method without the connection parameter.
3285
3286         * WebView.subproj/WebUIDelegatePrivate.h: Added new SPI here that WebBrowser implements.
3287
3288 2005-05-26  Darin Adler  <darin@apple.com>
3289
3290         Reviewed by John.
3291
3292         - fix build failure from when I removed WebCoreUnicode
3293
3294         * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of WebUnicode.h that I missed.
3295         (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Switch from our own macros
3296         to the ICU macros for surrogate pairs.
3297         (widthForNextCharacter): Ditto.
3298
3299 2005-05-26  David Harrison  <harrison@apple.com>
3300
3301         <rdar://problem/4120518> Mail: control-T in an empty message crashes mail
3302
3303         * WebCoreSupport.subproj/WebBridge.m:
3304         (-[WebBridge issueTransposeCommand]):
3305         New, to support transpose in JS.
3306
3307 2005-05-26  Darin Adler  <darin@apple.com>
3308
3309         Reviewed by Richard and Dave Harrison.
3310
3311         - eliminate WebCoreUnicode and use ICU directly instead
3312
3313         * Misc.subproj/WebKitNSStringExtras.m: (canUseFastRenderer): Use u_charDirection directly.
3314         * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of <WebCore/WebCoreUnicode.h>.
3315         * WebView.subproj/WebHTMLView.m: (+[WebHTMLView initialize]): Removed call to WebKitInitializeUnicode.
3316
3317         * Misc.subproj/WebUnicode.h: Removed.
3318         * Misc.subproj/WebUnicode.m: Removed.
3319         * Misc.subproj/WebUnicodeTables.m: Removed.
3320
3321         * WebKit.pbproj/project.pbxproj: Removed files.
3322
3323 2005-05-24  Richard Williamson   <rjw@apple.com>
3324
3325         Fixed <rdar://problem/4097289> -[WebView elementAtPoint:] failing when WebView is nested and offset
3326
3327         Code to determine the correct frame under the window point was
3328         converting the point incorrectly.
3329
3330         Reviewed by Chris.
3331
3332         * WebView.subproj/WebView.m:
3333         (-[WebView _frameViewAtWindowPoint:]):
3334
3335 2005-05-23  John Sullivan  <sullivan@apple.com>
3336
3337         Reviewed by Kevin.
3338         
3339         - WebKit part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable
3340
3341         * WebView.subproj/WebPreferencesPrivate.h:
3342         added private-for-now getter and setter for new preference
3343         * WebView.subproj/WebPreferenceKeysPrivate.h:
3344         added private preference key controlling whether textareas are resizable
3345         * WebView.subproj/WebPreferences.m:
3346         (+[WebPreferences initialize]):
3347         initial value of new preference is NO, so other clients' behavior doesn't change
3348         (-[WebPreferences textAreasAreResizable]):
3349         new getter
3350         (-[WebPreferences setTextAreasAreResizable:]):
3351         new setter
3352         
3353         * WebView.subproj/WebView.m:
3354         (-[WebView _updateWebCoreSettingsFromPreferences:]):
3355         update this new setting in WebCore
3356
3357         * English.lproj/StringsNotToBeLocalized.txt:
3358         updated for these changes
3359
3360 2005-05-23  Chris Blumenberg  <cblu@apple.com>
3361
3362         Changed type for identifier parameter in WebResourceLoadDelegate-related calls to id from NSString.
3363
3364         Reviewed by kevin.
3365
3366         * WebCoreSupport.subproj/WebBridge.m:
3367         (-[WebBridge objectLoadedFromCacheWithURL:response:data:]):
3368         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
3369         * WebView.subproj/WebFrame.m:
3370         (-[WebFrame _opened]):
3371         (-[WebFrame _requestFromDelegateForRequest:identifier:error:]):
3372         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
3373         (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]):
3374         * WebView.subproj/WebFrameInternal.h:
3375
3376 2005-05-20  Chris Blumenberg  <cblu@apple.com>
3377
3378         Fixed: <rdar://problem/4098786> sync. XMLHttpRequest works w/o AllowNetworkAccess key because load delegate is not consulted
3379
3380         Synchronous loads did not cause the willSendRequest method on the resource load delegate to be called. This is the method that Dashboard uses to enforce AllowNetworkAccess and this must be called to avoid exploits.
3381
3382         Reviewed by sullivan.
3383
3384         * WebCoreSupport.subproj/WebBridge.m:
3385         (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then 
3386         [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] so synthetic resource load delegate 
3387         methods are called and the data is saved as a WebResource for resources in the WebCore cache.
3388
3389         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:],
3390         respect its result, do the load and then call [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] 
3391         for synchronous loads
3392
3393         * WebView.subproj/WebFrame.m:
3394         (-[WebFrame _opened]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then 
3395         [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:] so synthetic resource load delegate methods are called 
3396         for subresrources in the page cache
3397         
3398         (-[WebFrame _requestFromDelegateForRequest:identifier:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
3399         This method calls identifierForInitialRequest and willSendRequest.
3400
3401         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
3402         This method calls the remaining resource load delegate messages.
3403
3404         (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]): new, saves the resource and calls
3405         [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]
3406
3407         * WebView.subproj/WebFrameInternal.h:
3408
3409 2005-05-17  Chris Blumenberg  <cblu@apple.com>
3410         
3411         Fixed: <rdar://problem/4119282> clicking a link in an RTF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
3412
3413         Reviewed by mjs.
3414
3415         * WebCoreSupport.subproj/WebBridge.m:
3416         (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): pass the passed referrer to canLoadURL::: not [self referrer]
3417         (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
3418         * WebView.subproj/WebTextView.m:
3419         (-[WebTextView clickedOnLink:atIndex:]): call the loadURL bridge method so that security checks are made, command/option clicks work, policy delegate is consulted etc.
3420
3421 2005-05-17  Chris Blumenberg  <cblu@apple.com>
3422
3423         Fixed: <rdar://problem/4120255> web archives on remote servers can be viewed directly (with major security issues); should download instead
3424
3425         Reviewed by mjs.
3426
3427         * WebView.subproj/WebBaseResourceHandleDelegate.h:
3428         * WebView.subproj/WebMainResourceClient.m:
3429         (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the WebKit client has chosen to "use" a remote web archive, stop the load with an error
3430
3431 2005-05-16  Darin Adler  <darin@apple.com>
3432
3433         - attempt to get things building under "Saffron" development tools
3434
3435         * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.
3436
3437 2005-05-13  John Sullivan  <sullivan@apple.com>
3438
3439         Reviewed by Kevin.