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