1 2005-03-19 Darin Adler <darin@apple.com>
3 Reviewed by Maciej (a while back).
5 - fixed <rdar://problem/4059323> local-file security check is allowing plug-in streams, but must not
7 * Plugins.subproj/WebNetscapePluginStream.m:
8 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
9 Roll out change I made on 3-13. That change is needed for subresource, but not for plug-in streams.
10 For plug-in streams it's too risky, and leaves a serious security hole open.
12 2005-03-19 Darin Adler <darin@apple.com>
14 Reviewed by Ken and John.
16 - fixed <rdar://problem/4059123> REGRESSION (402-403): deleteWordForward: and deleteWordBackward: start deleting single characters after the first delete
18 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
19 Fixed backwards logic in here and added missing check. Set action to one of the two typing actions only
20 if isTypingAction is YES.
22 2005-03-19 David Harrison <harrison@apple.com>
24 Reviewed by me (written by Patti Yeh).
26 <rdar://problem/4029491> <TCIM> CangJie: the candidate window appears at the top left hand corner during typing in Mail and iChat
28 * WebView.subproj/WebHTMLView.m:
29 (-[WebHTMLView firstRectForCharacterRange:]):
30 Use selected range if there is no marked range.
34 2005-03-18 David Harrison <harrison@apple.com>
38 <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
40 * WebView.subproj/WebFrameView.m:
41 (-[WebFrameView webCoreBridge]):
42 New to conform to WebCoreBridgeHolder protocol.
44 2005-03-18 Richard Williamson <rjw@apple.com>
46 Fixed <rdar://problem/4057004> Data from XMLHTTPRequest is never dealloced
48 WebDataSource keeps an array of all the NSURLResponses associated
49 with the load for a page. This is used to playback delegate messages
50 when loading from the page cache. However, after the document
51 has completed it's initial load, we continue to keep track of responses.
52 So, this has the consequence of keeping all the responses for a page
53 around for the life of the page. NSURLResponses are now very
54 heavy. They indirectly reference the resource data (via the
55 download assessment dictionary). This fix will keep
56 references to responses around for those resources loaded during initial
57 page load, but not after that point.
61 * WebView.subproj/WebDataSource.m:
62 (-[WebDataSource _addResponse:]):
63 (-[WebDataSource _stopRecordingResponses]):
64 * WebView.subproj/WebDataSourcePrivate.h:
65 * WebView.subproj/WebFrame.m:
66 (-[WebFrame _opened]):
68 2005-03-18 Ken Kocienda <kocienda@apple.com>
74 <rdar://problem/4053729> Copy/paste of page with frames into Blot or Mail does nothing and loses insertion point
76 * WebView.subproj/WebHTMLView.m:
77 (-[WebHTMLView _selectedArchive]): Wrap frameset documents in an iframe, so they can be pasted into
78 existing documents which will have a body or frameset of their own.
82 2005-03-17 Richard Williamson <rjw@apple.com>
84 Fixed <rdar://problem/4055562> REGRESSION (Tiger): Safari doesn't draw progressively-loaded JPEGs (www.theregister.co.uk, www.titantalk.com)
86 Anothe side effect of lazy loading of image meta data. We now
87 don't cache image size until size meta data is actually available.
91 * WebCoreSupport.subproj/WebImageData.m:
92 (-[WebImageData size]):
94 2005-03-16 David Harrison <harrison@apple.com>
98 <rdar://problem/4048506> Deleting from beginning of editable div deletes other document elements
100 Also changed WebCore.
102 * WebView.subproj/WebHTMLView.m:
103 (-[WebHTMLView _shouldDeleteRange:]):
104 Added call to new bridge method canDeleteRange.
106 2005-03-16 Ken Kocienda <kocienda@apple.com>
112 <rdar://problem/4042935> undo doesn't work properly during inline input
114 * WebView.subproj/WebHTMLView.m:
115 (-[WebHTMLView setMarkedText:selectedRange:]): Call new -[WebCoreBridge replaceMarkedTextWithText:] instead of
116 -[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]. The former call was just added in
117 order to provide a better mapping of international text input onto the typing command/undo design.
119 2005-03-15 Richard Williamson <rjw@apple.com>
121 Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
123 If client mutates request use new Foundation SPI to address remove applewebdata properties from request.
125 Reviewed by Ken Kocienda.
127 * WebView.subproj/WebBaseResourceHandleDelegate.m:
128 (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
129 * WebView.subproj/WebDataProtocol.h:
130 * WebView.subproj/WebDataProtocol.m:
131 (+[NSURLRequest _webDataRequestPropertyKey]):
133 2005-03-15 Ken Kocienda <kocienda@apple.com>
139 <rdar://problem/4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing
141 Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing
142 keystrokes grouped together in a single undo operation. My change on 27 Jan to route delete keystrokes
143 through _deleteRange:killRing:... made this feature regress. Previous to that change, the backwards delete
144 key went through separate code that is no longer in the tree that did not set the selection in the way
147 The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method:
148 -[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the
149 selection will act to close typing or not. The code changes below all add this new argument with the
150 appropriate value for closeTyping.
152 * WebView.subproj/WebHTMLView.m:
153 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Passes NO for closeTyping when
154 deletionAction is deleteKeyAction or forwardDeleteKeyAction; YES when deleteSelectionAction.
155 (-[WebHTMLView _expandSelectionToGranularity:]): Passes YES for closeTyping.
156 (-[WebHTMLView selectToMark:]): Passes YES for closeTyping.
157 (-[WebHTMLView swapWithMark:]): Passes YES for closeTyping.
158 (-[WebHTMLView transpose:]): Passes YES for closeTyping.
159 (-[WebHTMLView _selectMarkedText]): Passes NO for closeTyping.
160 (-[WebHTMLView _selectRangeInMarkedText:]): Passes NO for closeTyping.
161 * WebView.subproj/WebView.m:
162 (-[WebView setSelectedDOMRange:affinity:]): Passes YES for closeTyping.
164 2005-03-14 Richard Williamson <rjw@apple.com>
166 Fix <rdar://problem/4051389> 8A413: gifs animating too fast
170 Match Mozilla's policy for minimum frame duration, which is somewhat odd:
172 <= 0.01 sec use .1 sec, otherwise use specified duration.
174 * WebCoreSupport.subproj/WebImageData.m:
175 (-[WebImageData _frameDurationAt:]):
177 2005-03-14 Darin Adler <darin@apple.com>
179 Reviewed by Harrison.
181 - fixed <rdar://problem/4049776> Seed: Mail: Disable spellcheck leaves red artifacts
183 * WebView.subproj/WebFrameInternal.h: Added _unmarkAllMisspellings.
184 * WebView.subproj/WebFrame.m: (-[WebFrame _unmarkAllMisspellings]): Added.
185 Calls unmarkAllMisspellings on the bridge and self and all subframes.
187 * WebView.subproj/WebView.m: (-[WebView setContinuousSpellCheckingEnabled:]):
188 Call _unmarkAllMisspellings on the main frame when turning continuous spell checking off.
190 2005-03-14 Richard Williamson <rjw@apple.com>
192 Fixed <rdar://problem/4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane
194 The Acrobat application triggers loads of new documents in it's policy delegate. This
195 ultimately causes the WebHTMLView to be released before their event handlers have
196 returned. To bullet proof against this case we retain/release self before passing
197 the event on for further handling.
201 * WebView.subproj/WebHTMLView.m:
202 (-[WebHTMLView _updateMouseoverWithEvent:]):
203 (-[WebHTMLView scrollWheel:]):
204 (-[WebHTMLView mouseDown:]):
205 (-[WebHTMLView mouseDragged:]):
206 (-[WebHTMLView mouseUp:]):
207 (-[WebHTMLView keyDown:]):
208 (-[WebHTMLView keyUp:]):
209 (-[WebHTMLView performKeyEquivalent:]):
211 2005-03-14 Vicki Murley <vicki@apple.com>
213 - roll out the fix for 4040321, since it is still pending CCC review.
215 2005-03-10 Richard Williamson <rjw@apple.com>
217 Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
221 If a delegate returns a mutated applewebdata: request in it's willSendRequest:
222 method, we don't load using the WebDataRequest. Instead we do a normal load.
223 Unfortunately, if the request they return is mutated *copy* of the applewebdata:
224 request it will hold the applewebdata: special properties. These properties
225 will be encoded into the cache. They should not be. So, to fix, we sanitize the
226 request, by removing the special properties from the request.
228 Note that we had to dig into the private guts of NSURLRequest because there is
229 no public mechanism to remove properties from a request, see 4046775.
231 * WebView.subproj/WebBaseResourceHandleDelegate.m:
232 (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
233 * WebView.subproj/WebDataProtocol.h:
234 * WebView.subproj/WebDataProtocol.m:
235 (-[NSURLRequest _webDataRequestExternalRequest]):
236 (-[NSURLRequest _webDataRequestSanitize]):
240 2005-03-13 Darin Adler <darin@apple.com>
242 Reviewed by Ken and Maciej.
244 - fixed <rdar://problem/4049040> REGRESSION (403-405): security check prevents user stylesheet from loading (Dictionary.app doesn't work at all!)
246 * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
247 Allow plug-in subresource streams to load with any URL, ignoring the "canLoadURL" method's restriction (only
248 file URLs can load other file URLs), which now applies only to main resources, like web pages in frames or
249 object tags and plug-in main resources.
251 * WebCoreSupport.subproj/WebBridge.m:
252 (-[WebBridge startLoadingResource:withURL:customHeaders:]): Allow subresources to load with any URL, as above.
253 This allows things like images, stylesheets, and JavaScript to be loaded without the "canLoadURL" method's
255 (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
256 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.
258 2005-03-10 Richard Williamson <rjw@apple.com>
260 Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
264 If a delegate returns a mutated applewebdata: request in it's willSendRequest:
265 method, we don't load using the WebDataRequest. Instead we do a normal load.
266 Unfortunately, if the request they return is mutated *copy* of the applewebdata:
267 request it will hold the applewebdata: special properties. These properties
268 will be encoded into the cache. They should not be. So, to fix, we sanitize the
269 request, by removing the special properties from the request.
271 Note that we had to dig into the private guts of NSURLRequest because there is
272 no public mechanism to remove properties from a request, see 4046775.
274 * WebView.subproj/WebBaseResourceHandleDelegate.m:
275 (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
276 * WebView.subproj/WebDataProtocol.h:
277 * WebView.subproj/WebDataProtocol.m:
278 (-[NSURLRequest _webDataRequestExternalRequest]):
279 (-[NSURLRequest _webDataRequestSanitize]):
283 2005-03-10 Maciej Stachowiak <mjs@apple.com>
287 <rdar://problem/4046510> REGRESSION (TOT): All Flash and Shockwave plugin-based web content missing
289 * Plugins.subproj/WebNetscapePluginStream.m:
290 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
292 2005-03-10 John Sullivan <sullivan@apple.com>
296 - fixed <rdar://problem/4045843> Going back/forward to error page
297 hits assertion in -[WebDataSource(WebPrivate) _setData:]
299 * WebView.subproj/WebDataSource.m:
300 (-[WebDataSource _setData:]):
301 Removed bogus assertion
303 2005-03-09 Deborah Goldsmith <goldsmit@apple.com>
307 - fixed <rdar://problem/3997044> default encoding for non-Latin incorrect
309 * WebKit/WebView.subproj/WebPreferences.m: (+[WebPreferences _systemCFStringEncoding]):
310 Call __CFStringGetUserDefaultEncoding to get region, and TECGetWebTextEncodings to get
311 the first encoding to determine the default encoding.
313 2005-03-09 Darin Adler <darin@apple.com>
317 - fixed <rdar://problem/4034175> REGRESSION (Mail): Can't use any font with style Light/Condensed/Semibold/Extrabold, etc
319 * WebView.subproj/WebHTMLView.m:
320 (-[WebHTMLView _styleFromFontAttributes:]): Use a constant instead of hard-coded weight for clarity.
321 (-[WebHTMLView _originalFontA]): Ditto.
322 (-[WebHTMLView _originalFontB]): Ditto.
323 (-[WebHTMLView _addToStyle:fontA:fontB:]): Add code to detect the case where the family name is not good enough
324 to specify the font precisely. In that case, use the Postscript font name instead. Also change variable names
325 so it's easier to understand the method.
327 2005-03-06 Maciej Stachowiak <mjs@apple.com>
331 <rdar://problem/4005575> Arbitrary file disclosure vulnerability due to ability to load local html from remote content
333 * Plugins.subproj/WebBaseNetscapePluginView.m:
334 (-[WebBaseNetscapePluginView requestWithURLCString:]):
335 * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
336 (-[WebNetscapePluginEmbeddedView didStart]):
337 * Plugins.subproj/WebNetscapePluginStream.m:
338 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
339 * WebCoreSupport.subproj/WebBridge.m:
340 (-[WebBridge createWindowWithURL:frameName:]):
341 (-[WebBridge startLoadingResource:withURL:customHeaders:]):
342 (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
343 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
344 (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
345 (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
346 (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
347 (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
348 * WebView.subproj/WebFrame.m:
349 (-[WebFrame _loadURL:referrer:intoChild:]):
350 * WebView.subproj/WebFramePrivate.h:
352 2005-03-09 Richard Williamson <rjw@apple.com>
354 Fixed <rdar://problem/4032938> Safari: text layout for MS P Gothic font is corrupted
356 The AppKit and ATS reports that MS P Gothic is fixed pitch. It is
357 not! This is another case of "fixed pitch" being wrong. I've
358 coalesced all the special cases into our isFontFixedPitch:, and
359 used a dictionary to improve speed. No performance regression.
363 * WebCoreSupport.subproj/WebTextRenderer.m:
364 (-[WebTextRenderer _computeWidthForSpace]):
365 * WebCoreSupport.subproj/WebTextRendererFactory.m:
366 (-[WebTextRendererFactory clearCaches]):
367 (-[WebTextRendererFactory isFontFixedPitch:]):
369 2005-03-09 Darin Adler <darin@apple.com>
373 <rdar://problem/4040388> REGRESSION (172-173): nonrepro crash in -[NSString(WebNSURLExtras) _web_isUserVisibleURL]
375 * Misc.subproj/WebNSURLExtras.m:
376 (-[NSString _web_isUserVisibleURL]): Fixed some pointer expressions that didn't include the index in the expression.
377 (readIDNScriptWhiteListFile): Removed NSLog statements in here since we decided they aren't useful and they will
378 write some messages on Tiger.
380 2005-03-09 Darin Adler <darin@apple.com>
382 * DOM.subproj/DOMPrivate.h: Checked in file copied from WebCore.
384 2005-03-08 Richard Williamson <rjw@apple.com>
386 Fixed <rdar://problem/4036949> many JPEG images fail to incremental-load due to change in ImageIO JPEG header parsing (to be fixed in WebKit)
387 Fixed <rdar://problem/4042570> Need to check image properties for presence of width/height properties
389 ImageIO-55 changed how image properties are created. They
390 are now created incrementally. So we need "re-get" the image
391 properties if the properties we care about (width/height) aren't
392 in the property dictionary.
396 * WebCoreSupport.subproj/WebImageData.h:
397 * WebCoreSupport.subproj/WebImageData.m:
398 (-[WebImageData init]):
399 (-[WebImageData fileProperties]):
400 (-[WebImageData propertiesAtIndex:]):
401 (-[WebImageData _isSizeAvailable]):
402 (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
403 (-[WebImageData size]):
405 2005-03-08 John Sullivan <sullivan@apple.com>
407 A couple of tweaks to the previous patch, from Darin's review.
409 * Misc.subproj/WebNSPasteboardExtras.m:
410 (_writableTypesForImageWithoutArchive):
411 remove unnecessary _web prefix
412 (_writableTypesForImageWithArchive):
414 (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
415 use mutableCopy rather than initWithArray:, and adjust for name changes
417 2005-03-08 John Sullivan <sullivan@apple.com>
421 - fixed <rdar://problem/4031826> REGRESSION (Mail): standalone images from
422 Safari can't be pasted into Mail (WebKit part of fix)
424 We were always declaring webarchive-related pasteboard types, even in the standalone
425 image cases where we had no webarchive. Unfortunately, the WebView pasteboard-related
426 API doesn't prevent this kind of thing from happening, because the code that
427 declares the types isn't guaranteed to be anywhere near the code that writes
430 After this fix, I discovered that pasting standalone images into Mail still doesn't
431 work right, but the remaining issues seem to be entirely in Mail. I wrote up 4041671
434 * Misc.subproj/WebNSPasteboardExtras.h:
435 (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
436 Added boolean parameter; clients must specify whether or not there's an
437 archive involved, because the array of types is different if there is.
439 * Misc.subproj/WebNSPasteboardExtras.m:
440 (_web_writableTypesForImageWithoutArchive):
441 new static function, constructs (once) and returns the array of types
442 for images that don't have archives
443 (_web_writableTypesForImageWithArchive):
444 new static function, constructs (once) and returns the array of types
445 for images that do have archives
446 (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
447 added boolean parameter, now calls one of the two new static functions
449 (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
450 added asserts that we aren't declaring the archive types if we don't have archive data
452 (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
453 updated to pass parameter to _web_writableTypesForImageIncludingArchive:
455 * WebView.subproj/WebDefaultContextMenuDelegate.m:
456 (-[WebDefaultUIDelegate copyImageToClipboard:]):
457 updated to pass parameter to _web_writableTypesForImageIncludingArchive:
459 * WebView.subproj/WebImageView.m:
460 (-[WebImageView copy:]):
461 updated to pass parameter to _web_writableTypesForImageIncludingArchive:
463 * WebView.subproj/WebView.m:
464 (-[WebView pasteboardTypesForElement:]):
465 updated to pass parameter to _web_writableTypesForImageIncludingArchive:
467 2005-03-07 Richard Williamson <rjw@apple.com>
469 More bullet proofing for <rdar://problem/4038304> CrashTracer: ....9 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 840
471 Protect against removal of Times and Times New Roman from
472 system. If these fonts are removed attempt to get system font
473 instead of FATAL_ALWAYS.
477 * WebCoreSupport.subproj/WebTextRenderer.m:
478 (-[WebTextRenderer initWithFont:usingPrinterFont:]):
482 2005-03-06 Darin Adler <darin@apple.com>
484 - fixed obvious mistake in IDN script code (luckily it hasn't been in a submission yet!)
486 * Misc.subproj/WebNSURLExtras.m: (readIDNScriptWhiteListFile): Use "index" to index into the array,
487 not "script", which is the script number, not the 32-bit-word index.
489 2005-03-05 Kevin Decker <kdecker@apple.com>
493 Fixed: <rdar://problem/4038529> Infinite progress bar loading webcams and other sites that use multipart/x-mixed-replace
495 The previous patch I landed prevented us from loading multipart/x-mixed-replace but did not always update the progress bar accordingly.
496 This stops websites from having seemingly infinite progress in the browser UI.
498 * WebCoreSupport.subproj/WebSubresourceClient.m:
499 (-[WebSubresourceClient didReceiveResponse:]): If this is "multipart/x-mixed-replace", remove the WebBaseResourceHandleDelegate client from
500 the datasource's subresource array, otherwise -[WebDataSource isLoading] incorrectly returns YES. Also it's possible at this point in
501 time we're done loading now (loaded everything else except for the multipart/x-mixed-replace content) so go ahead and check to see if
502 in fact we're complete.
503 * WebView.subproj/WebMainResourceClient.m:
504 (-[WebMainResourceClient connection:didReceiveResponse:]): ditto
506 2005-03-05 Richard Williamson <rjw@apple.com>
508 Fixed panther build problem. Shouldn't include
509 changes for 3968753 on panther.
513 * WebView.subproj/WebView.m:
514 (-[WebView _commonInitializationWithFrameName:groupName:]):
516 2005-03-05 Darin Adler <darin@apple.com>
520 - fixed <rdar://problem/4034603> REGRESSION (185-188): RadarWeb can't send enclosures anymore
522 * WebView.subproj/WebFormDataStream.m:
523 (closeCurrentStream): Release currentData when closing the stream.
524 (advanceCurrentStream): Set up and retain currentData when the current stream is reading that data, so the
525 data won't be released while in use.
526 (formCreate): Initialize currentData to NULL.
528 - fixed <rdar://problem/4037562> Tiger8A402: Help Viewer crashed when viewing help for iChat (infinite recursion in WebView)
530 * WebView.subproj/WebView.m: (-[WebView _responderValidateUserInterfaceItem:]):
531 Check for the case where we ourselves are the responder. This avoids an infinite loop.
532 The actual code to perform operations avoids this with a global variable, but this lighter weight
533 solution is sufficient here because validate operations don't call through to the next responder.
535 2005-03-04 Richard Williamson <rjw@apple.com>
537 Fixed <rdar://problem/3968753> REGRESSION: Poor performance with differing multiple animated GIFs (was fast in Panther)
539 Disable coalesced updates (in CG). This restores the
542 Reviewed by David Harrison.
544 * WebView.subproj/WebView.m:
545 (-[WebView _commonInitializationWithFrameName:groupName:]):
547 2005-03-04 Adele Amchan <adele@apple.com>
551 * English.lproj/StringsNotToBeLocalized.txt: added new strings "text/x-vcf" and "text/x-csv" to the list
553 2005-03-04 Adele Amchan <adele@apple.com>
557 Fix for <rdar://problem/4032982> Sun iPlanet app: not able to import AddressBook CSV format addresses properly
558 Fix for <rdar://problem/4032985> Sun iPlanet app: not able to import vCard format addresses properly
560 * WebView.subproj/WebTextView.m:
561 (+[WebTextView unsupportedTextMIMETypes]): added "text/x-csv" and "text/x-vcf" to the list of MIME types that our text view doesn't handle
563 2005-03-04 Darin Adler <darin@apple.com>
567 - fixed <rdar://problem/4036817> REGRESSION: ctrl-y broken when a line + carriage return cut
569 * WebView.subproj/WebHTMLView.m:
570 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Merged _handleKillRing behavior
571 into this function, since there's now a more-complicated way the startNewKillRingSequence boolean needs to
572 be handled. Set the startNewKillRingSequence boolean after the entire process so changing the selection before
573 and during the editing dosn't clear it. Also change "isTypingAction" parameter to "deletionAction" so we can
574 handle forward delete with this method.
575 (-[WebHTMLView _deleteSelection]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
576 which is the way to say the same thing using the new parameter.
577 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Refactor to use the _deleteRange
578 method above. Also calls _shouldDeleteRange: for the pre-existing selection case; not doing that before was
580 (-[WebHTMLView deleteToMark:]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
581 which is the way to say the same thing using the new parameter.
583 2005-03-04 Darin Adler <darin@apple.com>
587 - fixed <rdar://problem/4020413> REGRESSION (Mail): can't use fonts with names that start with "#" in Mail (Korean fonts)
589 * WebView.subproj/WebHTMLView.m:
590 (-[WebHTMLView _styleFromFontAttributes:]): Quote font name when calling setFontFamily.
591 (-[WebHTMLView _addToStyle:fontA:fontB:]): Ditto.
593 2005-03-04 Darin Adler <darin@apple.com>
597 - fixed <rdar://problem/3965666> IDN spoofing vulnerability caused by Unicode characters that look like ASCII characters
599 * Misc.subproj/WebNSURLExtras.m:
600 (readIDNScriptWhiteListFile): Added. Reads file and parses script names.
601 (readIDNScriptWhiteList): Added. Calls readIDNScriptWhiteList on each of the white list locations in succession.
602 (allCharactersInIDNScriptWhiteList): Renamed from containsPossibleLatinLookalikes and changed sense.
603 Now calls readIDNScriptWhiteList first time, and then uses the read-in list to check the scripts.
604 (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call allCharactersInIDNScriptWhiteList instead of
605 containsPossibleLatinLookalikes.
606 * Resources/IDNScriptWhiteList.txt: Added.
607 * WebKit.pbproj/project.pbxproj: Added IDNScriptWhiteList.txt file.
609 * Misc.subproj/WebKitLocalizableStrings.m: Removed. This is simply unused.
610 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
612 2005-03-04 Darin Adler <darin@apple.com>
616 - fixed <rdar://problem/3937667> REGRESSION (Mail): Zooming a window from titlebar button doesn't paint newly-exposed portions of window
618 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
619 Re-set-up the visRect if the bounds changes due to layout.
623 2005-03-03 Jens Alfke <jens@apple.com>
627 <rdar://problem/3991818> REGRESSION: Images scale while loading
628 The code could crop an image when not all the scanlines were available yet, and it could crop when only a sub-rect of the image was to be drawn; but if it had to do both at once, it got the coordinates wrong. Fixed that.
630 * WebCoreSupport.subproj/WebImageData.m:
631 (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
633 2005-03-01 David Hyatt <hyatt@apple.com>
635 Fix for 3841186, scrollbar shows up disabled when it should not appear at all. Make sure updateScrollers
636 is never allowed to be re-entrant from any call point by moving the guard inside the function itself.
638 Reviewed by John Sullivan
640 * WebView.subproj/WebDynamicScrollBarsView.m:
641 (-[WebDynamicScrollBarsView updateScrollers]):
642 (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
644 2005-03-02 Chris Blumenberg <cblu@apple.com>
646 Fixed: <rdar://problem/4029010> Expose method to retrieve drag image for WebView's selection
648 Reviewed by sullivan.
650 * WebView.subproj/WebHTMLView.m:
651 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call _selectionDraggingImage
652 (-[WebHTMLView _selectionDraggingImage]): new SPI for Mail, factored from previous method
653 (-[WebHTMLView _selectionDraggingRect]): new SPI for Mail
654 * WebView.subproj/WebHTMLViewPrivate.h:
656 2005-03-02 John Sullivan <sullivan@apple.com>
660 - fixed <rdar://problem/4023337> Safari stops loading any page (-[NSCFDictionary setObject:forKey:]:
661 attempt to insert nil key)
663 It is very likely that the exception being hit is caused by the same problem as WebFoundation
664 bug 4018486. This change makes the code robust against this kind of problem regardless.
666 * WebView.subproj/WebBaseResourceHandleDelegate.m:
667 (-[WebBaseResourceHandleDelegate saveResource]):
668 Don't call addSubresource if newly-created resource is nil (but do assert on debug builds).
669 Also assert that originalURL and MIMEType are not nil.
671 * WebView.subproj/WebDataSource.m:
672 (-[WebDataSource addSubresource:]):
673 Don't add nil subresource to dictionary, but do assert on debug builds.
677 2005-03-01 John Sullivan <sullivan@apple.com>
681 - fixed <rdar://problem/3987482> Format>Style>Italic is not enabled when a
682 compose window is empty (works in Blot)
684 * WebView.subproj/WebHTMLView.m:
685 (-[WebHTMLView becomeFirstResponder]):
686 call _updateFontPanel here so NSFontManager knows the right font for the menu
687 items and the font panel
689 2005-03-01 David Harrison <harrison@apple.com>
693 <rdar://problem/3915560> Mail would like an SPI to enable "smart" text paste/drop
695 * WebView.subproj/WebHTMLView.m:
696 (-[WebHTMLView _smartDeleteRangeForProposedRange:]):
697 (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]):
700 2005-02-28 John Sullivan <sullivan@apple.com>
704 - WebKit part of fix for <rdar://problem/4023490> REGRESSION (125-185): Tabbing through links
705 on frameset page gets stuck at end (tivofaq.com)
707 This tab-to-links stuff has been in shaky condition ever since AppKit futzed with
708 tabbing behavior in Tiger to add support for including the toolbar in the key loop.
709 I made some changes months ago to compensate for that, but some cases, such as this
710 one, still weren't fixed.
712 * WebCoreSupport.subproj/WebBridge.m:
713 (-[WebBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
714 new bottleneck method, extracted from nextKeyViewOutsideWebFrameViews; handles
715 nextKeyView or nextValidKeyView depending on parameter.
716 (-[WebBridge nextKeyViewOutsideWebFrameViews]):
717 now calls extracted method
718 (-[WebBridge nextValidKeyViewOutsideWebFrameViews]):
719 new method, calls new bottleneck method
721 * WebView.subproj/WebHTMLView.m:
722 (-[WebHTMLView nextValidKeyView]):
723 when we're stuck at the end of a nextKeyView chain inside a nexted frame, use
724 nextValidKeyViewOutsideWebFrameViews. Make sure we don't end up looking inside
725 the web frame views while doing this.
727 2005-02-25 Darin Adler <darin@apple.com>
731 - fixed <rdar://problem/4025088> window onblur and onfocus don't fire when text field has focus
733 * WebView.subproj/WebHTMLView.m:
734 (-[WebHTMLView updateFocusState]): Renamed from updateFocusDisplay. Added call to setWindowHasFocus: method.
735 (-[WebHTMLView viewDidMoveToWindow]): Call method by new name.
736 (-[WebHTMLView windowDidBecomeKey:]): Ditto.
737 (-[WebHTMLView windowDidResignKey:]): Ditto.
738 (-[WebHTMLView becomeFirstResponder]): Ditto.
739 (-[WebHTMLView resignFirstResponder]): Ditto.
743 2005-02-25 Richard Williamson <rjw@apple.com>
745 Fixed <rdar://problem/4000962> 8A375: Help Viewer displays voiced sound and semi-voiced characters strangely (characters don't seem to be composed)
747 Added special case for voiced marks.
751 * WebCoreSupport.subproj/WebTextRenderer.m:
752 (widthForNextCharacter):
754 2005-02-25 Darin Adler <darin@apple.com>
758 - fixed <rdar://problem/4019823> Seed: Control-Y doesn't work
760 * WebView.subproj/WebHTMLView.m:
761 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Call _handleKillRing
762 after setting the selection, since it uses the selection to get the text.
763 (-[WebHTMLView _insertText:selectInsertedText:]): Check for empty string to avoid an assertion
764 on the other side of the bridge when you yank the empty string.
766 2005-02-24 Richard Williamson <rjw@apple.com>
768 Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.
770 If directionality is specified use that as initial directionality,
771 rather than neutral directionality.
775 * WebCoreSupport.subproj/WebTextRenderer.m:
776 (widthForNextCharacter):
778 2005-02-24 Adele Amchan <adele@apple.com>
782 Fix for <rdar://problem/4023393> Safari crashed in khtml::RenderObject::repaintAfterLayoutIfNeeded(QRect const&, QRect const&)
784 We were crashing after hitting PageDown when viewing a pdf because
785 WebKit was calling over to WebCore to scroll overflow areas.
786 Since this only needs to be done if we're dealing with a WebHTMLView,
787 I added a wrapper function to check the documentView before calling
790 * WebView.subproj/WebFrameView.m:
791 (-[WebFrameView _scrollOverflowInDirection:granularity:]): added wrapper function that checks if documentView is a WebHTMLView
792 (-[WebFrameView scrollToBeginningOfDocument:]): uses new wrapper function now
793 (-[WebFrameView scrollToEndOfDocument:]): uses new wrapper function now
794 (-[WebFrameView _pageVertically:]): uses new wrapper function now
795 (-[WebFrameView _pageHorizontally:]): uses new wrapper function now
796 (-[WebFrameView _scrollLineVertically:]): uses new wrapper function now
797 (-[WebFrameView _scrollLineHorizontally:]): uses new wrapper function now
799 2005-02-24 Richard Williamson <rjw@apple.com>
801 Fixed <rdar://problem/3985889> REGRESSION (125-180): setting <img> src to GIF that already animated does not animate; just shows final frame
805 * WebCoreSupport.subproj/WebImageData.h:
806 * WebCoreSupport.subproj/WebImageData.m:
807 (-[WebImageData resetAnimation]):
808 * WebCoreSupport.subproj/WebImageRenderer.m:
809 (-[WebImageRenderer resetAnimation]):
810 (-[WebInternalImage resetAnimation]):
811 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
813 2005-02-24 Kevin Decker <kdecker@apple.com>
817 Fixed <rdar://problem/3962401> Don't load multipart/x-mixed-replace content to prevent memory leak
819 Since we're not going to fix <rdar://problem/3087535> for Tiger, we should not load multipart/x-mixed-replace content. Pages with such content contain what is essentially an infinite load and therefore may leak.
821 * WebView.subproj/WebMainResourceClient.m:
822 (-[WebMainResourceClient connection:didReceiveResponse:]): Disabled loading of multipart/x-mixed-replace content until we fully implement server side push.
823 * WebCoreSupport.subproj/WebSubresourceClient.m:
824 (-[WebSubresourceClient didReceiveResponse:]): Ditto. Same exact thing for sub resources.
827 2005-02-23 John Sullivan <sullivan@apple.com>
831 - fixed <rdar://problem/4021370> REGRESSION (Tiger): WebKit part of fix for
832 shift-tab on tivofaq doing the wrong thing
834 * WebView.subproj/WebFrameView.m:
835 (-[WebFrameView becomeFirstResponder]):
836 If our previousValidKeyView is nil or self (same as nil modulo AppKit oddness),
837 look out of the box and get the previousValidKeyView of our webview.
839 2005-02-23 Darin Adler <darin@apple.com>
843 - fixed <rdar://problem/4010196> REGRESSION (125-186+): 8-character timestamps in gmail wrap to 2 lines (width:8ex; font-size:80%)
845 * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer xHeight]): Return the maximum
846 of the "x" height and width. Comment in the code explains why in more detail.
848 2005-02-22 Richard Williamson <rjw@apple.com>
850 Fixed <rdar://problem/3937203> when a div adds a scrollbar (overflow:auto) we do not get regions
852 Compare regions after automatice scroll regions have been
857 * WebCoreSupport.subproj/WebBridge.h:
858 * WebCoreSupport.subproj/WebBridge.m:
859 (-[WebBridge dealloc]):
860 (-[WebBridge _compareDashboardRegions:]):
861 (-[WebBridge dashboardRegionsChanged:]):
863 2005-02-22 Richard Williamson <rjw@apple.com>
865 Fixed <rdar://problem/4012463> Dashboard widgets don't work with authenticating proxies
867 Added new SPI for dashboard that just calls default delegate
872 * WebView.subproj/WebView.m:
873 (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
874 * WebView.subproj/WebViewPrivate.h:
876 2005-02-22 Chris Blumenberg <cblu@apple.com>
880 * WebCoreSupport.subproj/WebBridge.m:
881 (-[WebBridge issuePasteAndMatchStyleCommand]): support for new "PasteAndMatchStyle" exec command
885 2005-02-21 David Harrison <harrison@apple.com>
889 <rdar://problem/3943090> REGRESSION (Mail): Spelling underline incompletely erased following certain steps
891 * WebCoreSupport.subproj/WebTextRenderer.m:
892 (-[WebTextRenderer misspellingLineThickness]):
893 (-[WebTextRenderer misspellingLinePatternWidth]):
894 Replaced #defines with these methods, so others can get the same info.
896 (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
897 Keep underline within originally specified bounds.
900 2005-02-21 Darin Adler <darin@apple.com>
904 - fixed <rdar://problem/4016358> don't ever display IDN URLs with characters from "possible Latin look-alike" scripts
906 * Misc.subproj/WebNSURLExtras.m:
907 (containsPossibleLatinLookalikes): Added.
908 (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call containsPossibleLatinLookalikes, and if true,
909 don't decode the host name.
911 2005-02-19 Kevin Decker <kdecker@apple.com>
915 Fixed <rdar://problem/4010765> Flash player can be used to arbitrarily open popup windows without user permission
917 Our window.open() policy is to refuse the <script>window.open(...)</script> case and allow the inline the <a href="javascript:window.open('foo')> case. Clever advertisers at some point realized that by executing their Javascript through the Flash plugin, Safari would always treat their code as the inline case, and thus, they were able to work around our popup blocker.
919 * Plugins.subproj/WebBaseNetscapePluginView.h: Addded currentEventIsUserGesture boolean ivar.
920 * Plugins.subproj/WebBaseNetscapePluginView.m:
921 (-[WebBaseNetscapePluginView sendEvent:]): If at any point the user clicks or presses a key from within a plugin, set the currentEventIsUserGesture flag to true. This is important to differentiate legitimate window.open() calls originating from plugins; we still want to allow those.
922 (-[WebBaseNetscapePluginView initWithFrame:]): In our asynchronous load, pass along currentEventIsUserGesture to the PluginRequest.
923 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Inform WebCore if this was a user originated gesture when calling executeScript().
924 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
925 (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]):
926 (-[WebPluginRequest isCurrentEventUserGesture]): Added.
928 2005-02-18 Chris Blumenberg <cblu@apple.com>
930 Fixed: <rdar://problem/3945271> REGRESSION (Mail): pasted plain text should pick up typing style instead of being unstyled
932 Reviewed by kocienda.
934 * WebView.subproj/WebDataSource.m:
935 (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for matchStyle to replaceSelection
936 * WebView.subproj/WebHTMLView.m:
937 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]): return new chosePlainText parameter
938 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass chosePlainText for matchStyle to replaceSelection
939 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
941 2005-02-17 Richard Williamson <rjw@apple.com>
943 Removed code that should not have been checked in from
946 * WebCoreSupport.subproj/WebTextRendererFactory.m:
947 (-[WebTextRendererFactory isFontFixedPitch:]):
949 2005-02-17 Richard Williamson <rjw@apple.com>
951 Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
953 Fixed w/o introducing a performance regression.
955 Reviewed by Vicki (and earlier by Dave Harrison).
957 * WebCoreSupport.subproj/WebTextRenderer.m:
958 (-[WebTextRenderer _computeWidthForSpace]):
959 (widthForNextCharacter):
960 * WebCoreSupport.subproj/WebTextRendererFactory.h:
961 * WebCoreSupport.subproj/WebTextRendererFactory.m:
962 (-[NSFont _web_isFakeFixedPitch]):
963 (-[WebTextRendererFactory isFontFixedPitch:]):
964 (-[WebTextRendererFactory fontWithFamily:traits:size:]):
966 2005-02-17 Richard Williamson <rjw@apple.com>
968 Fixed <rdar://problem/3959304> PDF in img tag is not rendered correctly anymore
970 We were incorrectly adding image position when flipping coordinates.
972 Reviewed by David Harrison.
974 * WebCoreSupport.subproj/WebImageData.m:
975 (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
977 2005-02-17 Richard Williamson <rjw@apple.com>
979 Fixed <rdar://problem/4007262> Seed: Flight tracker scrolling moves to the left
981 Added SPI for dashboard to disable wheel scrolling of the WebClipView.
986 * WebView.subproj/WebClipView.m:
987 (-[WebClipView _focusRingVisibleRect]):
988 (-[WebClipView scrollWheel:]):
989 * WebView.subproj/WebView.m:
990 (-[WebViewPrivate init]):
991 (-[WebView drawRect:]):
992 (-[WebView _dashboardBehavior:]):
993 * WebView.subproj/WebViewInternal.h:
994 * WebView.subproj/WebViewPrivate.h:
998 2005-02-17 Vicki Murley <vicki@apple.com>
1000 - roll out this change, since it causes a 1.5% performance regression
1002 2005-02-15 Richard Williamson <rjw@apple.com>
1004 Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
1006 Lie about Osaka-Mono. Treat it as fixed pitch, even though,
1007 strictly speaking it isn't. (Similar to what we do with
1010 Reviewed by David Harrison.
1012 * WebCoreSupport.subproj/WebTextRenderer.m:
1013 (-[WebTextRenderer _computeWidthForSpace]):
1014 * WebCoreSupport.subproj/WebTextRendererFactory.h:
1015 * WebCoreSupport.subproj/WebTextRendererFactory.m:
1016 (-[NSFont _web_isFakeFixedPitch]):
1017 (-[WebTextRendererFactory isFontFixedPitch:]):
1018 (-[WebTextRendererFactory fontWithFamily:traits:size:]):
1020 2005-02-17 John Sullivan <sullivan@apple.com>
1024 - fixed <rdar://problem/3997185> The Web view on .Mac Prefs caused System Prefs
1025 to lockup (resolved by re-boot only)
1027 * WebCoreSupport.subproj/WebBridge.m:
1028 (-[WebBridge nextKeyViewOutsideWebFrameViews]):
1029 Don't allow recursion here; assert on debug build, return nil on deployment. I
1030 couldn't get my machine into a state to repro this problem (and neither could the
1031 originator), but it's obvious from the stack crawl that this method was recursing
1032 when it shouldn't have.
1034 2005-02-16 John Sullivan <sullivan@apple.com>
1036 Written by Darin, reviewed by me.
1038 - WebKit part of fix for <rdar://problem/4007384>
1039 FILTER: Bookmark of RSS with Japanese search word & multiple RSS pages loses filter
1041 * DOM.subproj/DOMPrivate.h:
1042 updated this file, which is a copy of the WebCore version
1044 2005-02-16 Richard Williamson <rjw@apple.com>
1046 Fixed <rdar://problem/3966973> Tiger 8A357: Binary Compatiblity: frequent Webstractor.app crashes [WebImageData _nextFrame]
1048 Webstractor.app was playing tricks to create thumbnails of
1049 pages. This caused the 'focusView' to be incorrect during
1050 animated GIF frame rendering.
1054 * WebCoreSupport.subproj/WebImageRenderer.m:
1055 (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
1057 2005-02-16 Vicki Murley <vicki@apple.com>
1059 Reviewed by me, code change by Darin.
1061 - fixed the build on Panther
1063 * WebView.subproj/WebFormDataStream.m: (webSetHTTPBody):
1064 Added a Panther-specific code path that just loads all the data into one big
1065 NSData object. This means that bug 3686434 won't be fixed on SUPanWheat; we'll
1066 still load the file into memory before sending it to the server on Panther.
1068 2005-02-15 Richard Williamson <rjw@apple.com>
1070 Fixed <rdar://problem/3998368> Tiger8A376: WebTextRenderer assertion failure in Safari while browsing news.bbc.co.uk
1072 Removed use of FATAL_ALWAYS from getUncachedWidth(). It's unclear
1073 why we would trigger the FATAL_ALWAYS. In the past we've seen
1074 the message triggered because of corrupt fonts. Anyway, in this
1075 particular case, we will now return 0 for the character width,
1076 rather than exiting.
1078 Reviewed by David Harrison.
1080 * WebCoreSupport.subproj/WebTextRenderer.m:
1083 2005-02-15 Richard Williamson <rjw@apple.com>
1085 Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
1087 Lie about Osaka-Mono. Treat it as fixed pitch, even though,
1088 strictly speaking it isn't. (Similar to what we do with
1091 Reviewed by David Harrison.
1093 * WebCoreSupport.subproj/WebTextRenderer.m:
1094 (-[WebTextRenderer _computeWidthForSpace]):
1095 * WebCoreSupport.subproj/WebTextRendererFactory.h:
1096 * WebCoreSupport.subproj/WebTextRendererFactory.m:
1097 (-[NSFont _web_isFakeFixedPitch]):
1098 (-[WebTextRendererFactory isFontFixedPitch:]):
1099 (-[WebTextRendererFactory fontWithFamily:traits:size:]):
1101 2005-02-14 Darin Adler <darin@apple.com>
1105 - fixed <rdar://problem/3686434> Safari uses too much RAM on file upload, leading to malloc errors and crashes (HP printers)
1107 * WebView.subproj/WebFormDataStream.h: Added webSetHTTPBody, which creates and connects an appropriate
1108 stream to an NSMutableURLRequest.
1109 * WebView.subproj/WebFormDataStream.m: Added implementation here.
1111 * WebCoreSupport.subproj/WebBridge.m:
1112 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1114 * WebCoreSupport.subproj/WebSubresourceClient.m:
1115 (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
1117 * WebView.subproj/WebFrame.m:
1118 (-[WebFrame _loadItem:withLoadType:]): Use webSetHTTPBody.
1119 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
1121 * English.lproj/StringsNotToBeLocalized.txt: Updated for this change and other recent changes.
1123 2005-02-11 Richard Williamson <rjw@apple.com>
1125 Fixed <rdar://problem/4002505> 8A378: Endlessly animating gif's on http://www.entropy.ch
1127 If animated images had no loop count property we were incorrectly
1128 looping forver. Note, that in the course of fixing this bug
1129 I found that ImageIO is incorrectly NOT reporting the loop count
1130 for a whole class of animated GIFs.
1132 Reviewed by Ken Kocienda.
1134 * WebCoreSupport.subproj/WebImageData.m:
1135 (-[WebImageData _repetitionCount]):
1139 2005-02-11 Vicki Murley <vicki@apple.com>
1143 - fix deployment build on Panther
1145 * WebView.subproj/WebHTMLView.m:
1146 (-[WebHTMLView changeBaseWritingDirection:]): ifdef out NSWritingDirectionNatural
1147 (-[WebHTMLView toggleBaseWritingDirection:]): fix a spacing issue
1149 2005-02-10 David Harrison <harrison@apple.com>
1151 Reviewed by Richard.
1153 <rdar://problem/3991652> REGRESSION (Mail): Deleting entire line in reply deletes extra blank line and moves insertion point
1155 * WebView.subproj/WebHTMLView.m:
1156 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]):
1157 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
1158 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
1159 (-[WebHTMLView selectToMark:]):
1160 (-[WebHTMLView swapWithMark:]):
1161 (-[WebHTMLView transpose:]):
1162 (-[WebHTMLView _selectMarkedText]):
1163 (-[WebHTMLView _selectRangeInMarkedText:]):
1164 Adopt new default affinity of NSSelectionAffinityDownstream as of <rdar://problem/3937447>.
1166 2005-02-10 Darin Adler <darin@apple.com>
1168 Reviewed by Harrison.
1170 - fixed <rdar://problem/4002084> Setting ResourceLoadDelegate to nil can cause a crash
1172 * WebView.subproj/WebView.m: (-[WebView _cacheResourceLoadDelegateImplementations]):
1173 Set booleans to either YES or NO, rather than setting them only in the YES case.
1175 2005-02-10 Darin Adler <darin@apple.com>
1177 Reviewed by Harrison.
1179 - fixed <rdar://problem/3991225> Format->Style->Underline menu item does not get checked when selected text is underlined
1181 * WebView.subproj/WebHTMLView.m:
1182 (-[WebHTMLView validateUserInterfaceItem:]): Added tons of additional cases in here for all the
1183 "action" style methods in this class that don't always want to be valid. For the ones where state
1184 makes sense, added the state-checking code too for the menu item case.
1185 (-[WebHTMLView ignoreSpelling:]): Removed unnecessary "editable text only" check since this command
1186 would work fine on a non-editable selection.
1187 (-[WebHTMLView swapWithMark:]): Ditto.
1188 (-[WebHTMLView changeBaseWritingDirection:]): Added. Like toggle, but based on the sender's tag.
1190 2005-02-08 Darin Adler <darin@apple.com>
1192 "Reviewed" by Richard (he told me the file was obsolete).
1194 - got rid of an obsolete file
1196 * Plugins.subproj/npsap.h: Removed.
1197 * copy-webcore-files-to-webkit: Removed npsap.h.
1199 2005-02-09 Richard Williamson <rjw@apple.com>
1201 Fixed <rdar://problem/4000073> non-screen font error on www.worldofwarcraft.com
1203 Reviewed by John Sullivan.
1205 * WebCoreSupport.subproj/WebTextRenderer.m:
1206 (-[WebTextRenderer _smallCapsFont]):
1210 2005-02-07 Chris Blumenberg <cblu@apple.com>
1212 Fixed: <rdar://problem/3993354> Safari claims to put RTFD on the pasteboard, but doesn't, in some cases
1216 * WebView.subproj/WebHTMLView.m:
1217 (-[WebHTMLView _stripAttachmentCharactersFromAttributedString:]): moved
1218 (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]): take cachedAttributedString parameter in case the attributed string was gotten already
1219 (-[WebHTMLView _writeSelectionToPasteboard:]): omit RTFD from the types list when there are no attachments
1221 2005-02-07 David Harrison <harrison@apple.com>
1225 <rdar://problem/3990693> REGRESSION (8A373): ctrl-k now deletes just one character instead of line
1227 * WebView.subproj/WebHTMLView.m:
1228 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
1229 Set the selection so that deleteKeyPressedWithSmartDelete knows what to delete.
1231 2005-02-06 Darin Adler <darin@apple.com>
1235 - fixed <rdar://problem/3963166> PDFView SPI print method is being deprecated, moving to PDFDocument; please update WebKit
1237 * WebView.subproj/WebPDFView.m: (-[WebPDFView printOperationWithPrintInfo:]): Target the document instead of the view.
1239 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes and also moved one translation to be a file-specific
1240 item rather than a file-independent one.
1242 2005-02-05 Chris Blumenberg <cblu@apple.com>
1244 Fixed: <rdar://problem/3991974> REGRESSION: www.jabra.com world location screen does not work
1248 * WebCoreSupport.subproj/WebBridge.m:
1249 (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): use the baseURL from the bridge rather than from the response
1251 2005-02-04 Chris Blumenberg <cblu@apple.com>
1253 Fixed: <rdar://problem/3802781> rtf->html pasteboard conversion using xhtml
1255 Reviewed by kocienda.
1257 * WebView.subproj/WebHTMLView.m:
1258 (+[WebHTMLView _excludedElementsForAttributedStringConversion]): new
1259 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call _excludedElementsForAttributedStringConversion
1261 2005-02-04 Chris Blumenberg <cblu@apple.com>
1263 Fixed: <rdar://problem/3832973> copy text from PowerPoint, paste into Blot (or presumably Mail) and get a single missing image icon
1267 * WebView.subproj/WebHTMLView.m:
1268 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): prefer RTF and RTFD over images just as NSTextView does
1270 2005-02-03 Chris Blumenberg <cblu@apple.com>
1272 Fixed: <rdar://problem/3555137> REGRESSION (125-173): Flash animation can erase parts of chrome (bookmarks bar & tab bar)
1274 convertRect:toView: returns incorrect results inside of viewWillMoveToWindow: with a nil window. Workaround this by catching this case.
1278 * Plugins.subproj/WebBaseNetscapePluginView.m:
1279 (-[WebBaseNetscapePluginView superviewsHaveSuperviews]): new
1280 (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in view when superviewsHaveSuperviews returns NO
1282 2005-02-03 Chris Blumenberg <cblu@apple.com>
1284 Fixed: <rdar://problem/3893513> Sun iPlanet app: when saving to a file it brings up a window with the thing to be saved instead
1288 * WebView.subproj/WebTextView.m:
1289 (+[WebTextView unsupportedTextMIMETypes]): added "text/ldif" to the list of MIME types that our text view doesn't handle
1293 2005-02-03 Chris Blumenberg <cblu@apple.com>
1295 * English.lproj/StringsNotToBeLocalized.txt: updated
1297 2005-02-03 Chris Blumenberg <cblu@apple.com>
1299 Fixed: <rdar://problem/3989611> Evite style "add vCalendar to calendar" do not work
1303 * WebView.subproj/WebTextView.m:
1304 (+[WebTextView unsupportedTextMIMETypes]): added "text/x-vcalendar" to the list of MIME types our text view doesn't handle
1306 2005-02-03 Vicki Murley <vicki@apple.com>
1310 - fix deployment build breakage on Panther
1312 * WebView.subproj/WebHTMLView.m:
1313 (-[WebHTMLView toggleBaseWritingDirection:]):
1315 2005-02-02 John Sullivan <sullivan@apple.com>
1319 - WebKit part of fix for <rdar://problem/3980651> REGRESSION (125-180): Huge number of pages printed from certain page,
1322 This also fixes the problems with printing from GMail, yay!
1324 * WebView.subproj/WebHTMLView.m:
1325 (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
1326 Don't adjust margins for header/footer here, because this is called for each subframe.
1327 (-[WebHTMLView knowsPageRange:]):
1328 Do adjust margins for header/footer here (analogous to WebTextView and WebImageView).
1329 Also, round the page height to an integer here (noticed in passing).
1331 2005-02-02 Chris Blumenberg <cblu@apple.com>
1333 Fixed: <rdar://problem/3986546> Cut, delete, and paste menu items are active when a image is opened in window
1337 * WebView.subproj/WebView.m:
1338 (-[WebView _responderValidateUserInterfaceItem:]): new, has the responder validate the item
1339 (-[WebView validateUserInterfaceItem:]): call VALIDATE for each repsonder selector using FOR_EACH_RESPONDER_SELECTOR macro
1340 (-[WebView _performResponderOperation:with:]): call factored out method _responderForResponderOperations
1341 (-[WebView _responderForResponderOperations]): new, code from _performResponderOperation:with:
1343 2005-02-02 Chris Blumenberg <cblu@apple.com>
1345 Fixed: <rdar://problem/3983628> control-click on WebView is not selecting the word under the cursor (Mail, non-editable WebView)
1349 * WebCoreSupport.subproj/WebBridge.m:
1350 (-[WebBridge selectWordBeforeMenuEvent]): new
1351 * WebView.subproj/WebView.m:
1352 (-[WebView _selectWordBeforeMenuEvent]): new SPI
1353 (-[WebView _setSelectWordBeforeMenuEvent:]): new SPI
1354 * WebView.subproj/WebViewInternal.h:
1355 * WebView.subproj/WebViewPrivate.h:
1357 2005-02-02 Chris Blumenberg <cblu@apple.com>
1359 Fixed: <rdar://problem/3986013> Assertion failure going back after page load error (no apparent problem in nondebug build)
1363 * WebView.subproj/WebDataSource.m:
1364 (-[WebDataSource _setPrimaryLoadComplete:]): don't set the data source data when the main client is nil
1366 2005-02-02 Ken Kocienda <kocienda@apple.com>
1372 <rdar://problem/3823109> WebKit should support -toggleBaseWritingDirection: (bidi editing support)
1374 * WebView.subproj/WebHTMLView.m:
1375 (-[WebHTMLView _applyParagraphStyleToSelection:withUndoAction:]): New function that calls through to
1376 new feature that allows callers to force all properties in a style to be applied as block styles.
1377 (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]): Removed FIXME comment for something that has been fixed.
1378 (-[WebHTMLView toggleBaseWritingDirection:]): Implemented.
1380 2005-02-01 Richard Williamson <rjw@apple.com>
1382 Fixed <rdar://problem/3977727> WebKit should use new SPI to support faster GIF rendering
1384 Note: This REQUIRES build >= 3A362 when building on Tiger.
1388 * WebCoreSupport.subproj/WebImageData.m:
1389 (-[WebImageData _imageSourceOptions]):
1393 2005-02-01 Richard Williamson <rjw@apple.com>
1395 Added new SPI for <rdar://problem/3967063> need spi on WebView to turn of lcd text for Dashboard
1399 * WebCoreSupport.subproj/WebTextRenderer.m:
1401 * WebView.subproj/WebView.m:
1402 (-[WebView drawRect:]):
1403 (-[WebView _dashboardBehavior:]):
1404 (+[WebView _setShouldUseFontSmoothing:]):
1405 (+[WebView _shouldUseFontSmoothing]):
1406 * WebView.subproj/WebViewInternal.h:
1407 * WebView.subproj/WebViewPrivate.h:
1409 2005-01-31 Chris Blumenberg <cblu@apple.com>
1411 Fixed: <rdar://problem/3949806> REGRESSION: Source window fails to refresh correctly on reload
1413 The data method was being called on WebDataSource before the data was set. This fix makes WebDataSource set the data before releasing the main client instead of waiting for the main client to set it when it is dealloced.
1417 * WebView.subproj/WebDataSource.m:
1418 (-[WebDataSource _setData:]): moved within file
1419 (-[WebDataSource _setPrimaryLoadComplete:]): call _setData: with the data from the main client before letting go of the main client
1420 * WebView.subproj/WebDataSourcePrivate.h:
1421 * WebView.subproj/WebMainResourceClient.m:
1422 (-[WebMainResourceClient releaseResources]): removed call to _setData: since the data source may need the data before releaseResources is called
1424 2005-01-31 Chris Blumenberg <cblu@apple.com>
1426 Fixed: <rdar://problem/3946285> Seed: Safari crashed by selecting all at internet-moebel.com
1430 * WebView.subproj/WebHTMLView.m:
1431 (-[WebHTMLView _hitViewForEvent:]): new, factored hit test hack to this method
1432 (-[WebHTMLView _updateMouseoverWithEvent:): call _hitViewForEvent:
1433 (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent: and _isSelectionEvent: on the hit HTMLView or else when it's asked to drag it will assert
1434 (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
1436 2005-01-31 David Harrison <harrison@apple.com>
1440 <rdar://problem/3961239> AX Setting AXFocused on AXScrollArea of AXWebArea will cause keyboard selection change
1442 * WebView.subproj/WebHTMLView.m:
1443 (-[WebHTMLView maintainsInactiveSelection]):
1444 Keep the selection when the new first respomder is our own scrollview, in both editable and non-editaqble content.
1446 2005-01-31 Jens Alfke <jens@apple.com>
1450 - Fixed <rdar://problem/3903199> REGRESSION: Large background patterns slide around while loading
1452 * WebCoreSupport.subproj/WebImageData.m:
1454 (-[WebImageData tileInRect:fromPoint:context:]):
1456 2005-01-30 Darin Adler <darin@apple.com>
1460 - fixed <rdar://problem/3965265> Safari displays HTML as source when default encoding is Hebrew (due to direction overrides added by encoding converter)
1462 * WebView.subproj/WebPreferencesPrivate.h: Added _systemCFStringEncoding, and changed
1463 _setInitialDefaultTextEncodingToSystemEncoding to be a class method.
1464 * WebView.subproj/WebPreferences.m:
1465 (+[WebPreferences _systemCFStringEncoding]): Added. New SPI to be used by Safari. Broken out of
1466 _setInitialDefaultTextEncodingToSystemEncoding, but also added cases for MacArabic and MacHebrew.
1467 (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Refactor to use _systemCFStringEncoding.
1469 2005-01-28 Jens Alfke <jens@apple.com>
1471 Reviewed by Richard.
1473 <rdar://problem/3727680> printing some page with WebKit generates a PDF with a 1x1 image with soft mask (causes Acrobat to hang during print spooling)
1475 Detect 1x1 images, extract and cache color of single pixel, reduce draw and tile operations to a color fill (or to a no-op if the pixel is clear.)
1477 * WebCoreSupport.subproj/WebImageData.h:
1478 * WebCoreSupport.subproj/WebImageData.m:
1479 (-[WebImageData _invalidateImages]):
1480 (-[WebImageData _checkSolidColor:]):
1481 (-[WebImageData _cacheImages:allImages:]):
1482 (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]):
1483 (-[WebImageData tileInRect:fromPoint:context:]):
1485 2005-01-28 David Harrison <harrison@apple.com>
1489 <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
1491 Use AppKit SPI _accessibilityParentForSubview to return KWQAccObject parent of AppKit AX object.
1493 * WebView.subproj/WebHTMLView.m:
1494 (-[WebHTMLView _accessibilityParentForSubview:]):
1497 2005-01-28 Chris Blumenberg <cblu@apple.com>
1499 WebKit side of: <rdar://problem/3951283> can view pages from the back/forward cache that should be disallowed by Parental Controls
1503 * WebView.subproj/WebDefaultPolicyDelegate.m:
1504 (-[WebDefaultPolicyDelegate webView:shouldGoToHistoryItem:]): new private delegate method
1505 * WebView.subproj/WebFrame.m:
1506 (-[WebFrame _goToItem:withLoadType:]): call new delegate method
1507 * WebView.subproj/WebPolicyDelegatePrivate.h:
1509 2005-01-26 Maciej Stachowiak <mjs@apple.com>
1511 Reviewed by Darin, Hyatt and Ken.
1513 <rdar://problem/3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration
1515 * WebView.subproj/WebHTMLView.m:
1516 (-[WebHTMLView _styleFromFontAttributes:]): Use new -khtml-text-decorations-in-effect
1518 (-[WebHTMLView _styleForAttributeChange:]): likewise
1519 (-[WebHTMLView underline:]): likewise
1521 2005-01-27 Ken Kocienda <kocienda@apple.com>
1525 * WebView.subproj/WebHTMLView.m:
1526 (-[WebHTMLView _handleKillRing:prepend:]): New helper function. Code factored out from
1527 _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:.
1528 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]): No longer takes
1529 unused preflight argument. Now takes new isTypingAction argument. Uses isTypingAction to
1530 determine which flavor of delete command to call.
1531 (-[WebHTMLView _deleteSelection]): No longer passes unused preflight argument. Now passes new isTypingAction argument.
1532 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Rearranged code to call
1533 correct flavor of delete command, based on whether typing should be preserved. Some other cleanups.
1534 (-[WebHTMLView deleteForward:]): Add _isEditable check.
1535 (-[WebHTMLView deleteBackward:]): Now calls _deleteWithDirection instead of having unique behavior different
1536 from forward delete.
1537 (-[WebHTMLView deleteWordForward:]): Add new isTypingAction flag to _deleteWithDirection call.
1538 (-[WebHTMLView deleteWordBackward:]): Ditto.
1539 (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
1540 (-[WebHTMLView deleteToEndOfLine:]): Ditto.
1541 (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
1542 (-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
1543 (-[WebHTMLView deleteToMark:]): Ditto.
1547 2005-01-27 Chris Blumenberg <cblu@apple.com>
1549 Fixed: <rdar://problem/3973272> REGRESSION: Safari uses QT plugin to display PNG images
1553 * Plugins.subproj/WebBasePluginPackage.m: use renamed QT bundle ID
1555 2005-01-26 Darin Adler <darin@apple.com>
1559 - fixed <rdar://problem/3829517> WebView still draws white when setDrawsBackground set to NO and no content loaded yet
1561 * WebView.subproj/WebFrameView.m: (-[WebFrameView drawRect:]): Check drawsBackground, and don't
1562 draw the white "no document" background if it's NO. This fixes things for frames with no document.
1563 * WebView.subproj/WebImageView.m: (-[WebImageView drawRect:]): Same as above. This fixes things
1564 for frames with just an image.
1565 * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the
1566 document view if it implements it. This fixes things for frames with plain text.
1568 2005-01-25 John Sullivan <sullivan@apple.com>
1572 - WebKit part of fix for: <rdar://problem/3970670> Text context menu
1573 in WebKit needs "Look Up in Dictionary" item
1575 * WebView.subproj/WebDefaultContextMenuDelegate.m:
1576 (localizedMenuTitleFromAppKit):
1577 return English string in the case where AppKit bundle is found but doesn't
1578 contain the expected string. This case will be hit by people testing with
1580 (-[WebDefaultUIDelegate menuItemWithTag:]):
1581 create Look Up in Dictionary item
1582 (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
1583 add Look Up in Dictionary item and separator
1584 (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
1587 * WebView.subproj/WebHTMLView.m:
1588 (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
1589 new method, handles bringing up the Dictionary window. Includes FIXMEs
1590 for a couple of the known loose ends.
1591 (-[WebHTMLView validateUserInterfaceItem:]):
1592 handle Look Up in Dictionary item like the other new items
1594 * WebView.subproj/WebUIDelegatePrivate.h:
1595 added SPI constant for Look Up in Dictionary menu item
1597 2005-01-24 Maciej Stachowiak <mjs@apple.com>
1599 Fixed Panther build (missing ifdef)
1601 * WebView.subproj/WebDefaultContextMenuDelegate.m:
1603 2005-01-24 John Sullivan <sullivan@apple.com>
1607 - WebKit part of fix for <rdar://problem/3960231> Text context menu in WebKit needs Spotlight and Google items
1609 * WebView.subproj/WebDefaultContextMenuDelegate.m:
1610 (localizedMenuTitleFromAppKit):
1611 new function, gets localized string from AppKit so we can avoid adding localized
1612 strings to WebKit at this late date in Tiger. Returns the non-localized English
1613 string if we can't find the localized string in AppKit.
1614 (-[WebDefaultUIDelegate menuItemWithTag:]):
1615 handle the two new menu items by tag name
1616 (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
1617 add menu items for Search in Google and Search in Spotlight to selected-text menu item
1618 for the noneditable case
1619 (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
1620 add menu items for Search in Google and Search in Spotlight to selected-text menu item
1621 for the editable case
1623 * WebView.subproj/WebHTMLView.m:
1624 (-[WebHTMLView _searchWithGoogleFromMenu:]):
1625 implement this menu item action method, using same method name and implementation as NSTextView
1626 (-[WebHTMLView _searchWithSpotlightFromMenu:]):
1627 implement this menu item action method, using same basic implementation as NSTextView
1628 (-[WebHTMLView validateUserInterfaceItem:]):
1629 validate new menu items
1631 * WebView.subproj/WebUIDelegatePrivate.h:
1632 define new tags for new menu items
1634 * English.lproj/StringsNotToBeLocalized.txt:
1635 updated for these changes
1637 2005-01-24 Darin Adler <darin@apple.com>
1639 * WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]):
1640 Do the same check as for view types, so the representation types are consistent.
1642 2005-01-24 Darin Adler <darin@apple.com>
1646 - fixed <rdar://problem/3791158> REGRESSION (Mail): copyFont: and pasteFont: copy and paste only the NSFont, not other attributes
1648 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): Added the last
1649 few loose ends here: strikethrough and underline.
1651 - fixed <rdar://problem/3967393> add a user default that lets you turn off WebKit PDF support
1653 * WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
1654 Leave the PDF-handling classes out of the dictionary if the secret default is set.
1656 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
1658 2005-01-20 Darin Adler <darin@apple.com>
1660 Reviewed by Kristin Forster.
1662 - fixed <rdar://problem/3964972> update _initWithCGSEvent:eventRef: call in mouse moved workaround (breaks cursors in Carbon WebKit applications)
1664 * Carbon.subproj/HIWebView.m: (MouseMoved): Instead of munging the event record's window number directly
1665 before calling _initWithCGSEvent, on Tiger we call _eventRelativeToWindow on the event after creating it.
1666 Also added a check so that with Macromedia Contribute's workaround in place we don't do anything at all
1667 to the event. Tested with both Contribute and CarbonWeb.
1669 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
1671 2005-01-20 Richard Williamson <rjw@apple.com>
1673 Fixed <rdar://problem/3815672> REGRESSION (Mail): Japanese text cannot be made bold
1675 The AppKit's font substitution API doesn't match font traits!
1676 It only find fonts that contain the appropriate glyphs. This
1677 patch attempts to find the best variation within a family.
1681 * WebCoreSupport.subproj/WebTextRenderer.m:
1682 (-[WebTextRenderer _substituteFontForString:families:]):
1686 2005-01-20 Ken Kocienda <kocienda@apple.com>
1692 <rdar://problem/3786659> REGRESSION (Mail): editable WebViews don't work with "size up" and "size down" NSFontManager changes
1694 * WebView.subproj/WebHTMLView.m:
1695 (-[WebHTMLView _addToStyle:fontA:fontB:]): This is the WebKit side of the fix. Replaced unimplemented code blocks
1696 with FIXME's in them for make bigger and make smaller with real working code.
1698 2005-01-19 David Hyatt <hyatt@apple.com>
1700 Fix for 3513067, spaces being lost when RTL text is rendered. Make sure not to allow hangers or spaces
1705 * WebCoreSupport.subproj/WebTextRenderer.m:
1706 (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
1708 2005-01-19 Darin Adler <darin@apple.com>
1712 - fixed <rdar://problem/3962559> stopAnimationsInView leaks after cvs-base
1714 * WebCoreSupport.subproj/WebImageData.m: (+[WebImageData stopAnimationsInView:]): add a release
1716 2005-01-19 Chris Blumenberg <cblu@apple.com>
1718 Fixed: <rdar://problem/3961809> plug-in code attempts to load empty URL
1722 * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
1723 (-[WebNetscapePluginEmbeddedView didStart]): don't start load if URL is empty
1725 2005-01-17 Darin Adler <darin@apple.com>
1727 * DOM.subproj/DOMPrivate.h: Check in generated file.
1729 2005-01-17 Darin Adler <darin@apple.com>
1731 Reviewed by John and Richard.
1733 - fixed <rdar://problem/3907453> printing a multi-page PDF document from Safari doesn't produce correct output
1735 * WebView.subproj/WebFrameViewPrivate.h: Added.
1736 * WebView.subproj/WebFrameView.m:
1737 (-[WebFrameView canPrintHeadersAndFooters]): Added. Returnes NO for documents that can't print headers or footers,
1738 and delegates to the document view to answer the question. Defaults to NO, since only a view that actively does
1739 the work is compatible with our header and footer code.
1740 (-[WebFrameView printOperationWithPrintInfo:]): Added. Returns an NSPrintOperation set up for printing. The reason
1741 we return this rather than an NSView is that in the PDFView case, the print info is changed around before creating
1742 the NSPrintOperation, and also the PDFKit SPI works this way.
1744 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView canPrintHeadersAndFooters]): Added. Returns YES.
1745 * WebView.subproj/WebImageView.m: (-[WebImageView canPrintHeadersAndFooters]): Ditto.
1746 * WebView.subproj/WebTextView.m: (-[WebTextView canPrintHeadersAndFooters]): Ditto.
1748 * WebView.subproj/WebPDFView.m:
1749 (-[WebPDFView canPrintHeadersAndFooters]): Added. Returns NO.
1750 (-[WebPDFView printOperationWithPrintInfo:]): Added. Calls getPrintOperationForPrintInfo: autoRotate:YES on the PDFView.
1752 * WebKit.pbproj/project.pbxproj: Added WebFrameViewPrivate.h as a new private header.
1754 2005-01-13 Chris Blumenberg <cblu@apple.com>
1756 Fixed: <rdar://problem/3932107> Safari does not load QT Cocoa plug-in if the WebPluginMIMETypes key is not in the info.plist
1758 Fixing this bug required that we allow WebKit plug-ins (as well as Netscape plug-ins) support BP_CreatePluginMIMETypesPreferences
1759 which allows plug-ins create an auxiliary MIME types file.
1763 * Plugins.subproj/WebBasePluginPackage.h:
1764 * Plugins.subproj/WebBasePluginPackage.m:
1765 (+[WebBasePluginPackage preferredLocalizationName]): moved from WebNetscapePluginPackage
1766 (-[WebBasePluginPackage pListForPath:createFile:]): ditto
1767 (-[WebBasePluginPackage getPluginInfoFromPLists]): ditto
1768 (-[WebBasePluginPackage isLoaded]): return isLoaded ivar
1769 (-[WebBasePluginPackage load]): if loaded, get BP_CreatePluginMIMETypesPreferences symbol
1770 * Plugins.subproj/WebNetscapePluginPackage.h:
1771 * Plugins.subproj/WebNetscapePluginPackage.m:
1772 (-[WebNetscapePluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized
1773 * Plugins.subproj/WebPluginPackage.m:
1774 (-[WebPluginPackage initWithPath:]): call getPluginInfoFromPLists
1775 (-[WebPluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized
1777 2005-01-13 Richard Williamson <rjw@apple.com>
1779 Fixed <rdar://problem/3952809> WebJavaPlugIn.h comments need method name corrected (webPlugInCallJava)
1783 * Plugins.subproj/WebJavaPlugIn.h:
1787 2005-01-13 Vicki Murley <vicki@apple.com>
1791 - fix <rdar://problem/3946836> Safari about box lists 2004 instead of 2005
1793 * WebKit.pbproj/project.pbxproj: bump "2004" to "2005"
1795 2005-01-13 Richard Williamson <rjw@apple.com>
1797 Fixed <rdar://problem/3951911> REGRESSION: Animated GIF images with loop counts no longer update
1799 Draw last image after animation loop terminates. (We
1800 were drawing the image at index+1, which doesn't exist!)
1804 * WebCoreSupport.subproj/WebImageData.m:
1805 (-[WebImageData _nextFrame:]):
1807 2005-01-13 Richard Williamson <rjw@apple.com>
1809 Fixed <rdar://problem/3952084> REGRESSION: Links at projectseven.com now draw and update incorrectly during hover
1811 Turn off use of new CGContextStrokeLineSegments API. We should
1812 turn back on when 3952944 is fixed.
1816 * WebCoreSupport.subproj/WebTextRenderer.m:
1817 (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
1819 2005-01-13 Chris Blumenberg <cblu@apple.com>
1821 Fixed: <rdar://problem/3937663> repro assertion failure and crash dragging image that has PDF source
1825 * Misc.subproj/WebNSViewExtras.m:
1826 (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): if [WebImageRenderer image] returns nil, fallback to code that uses a file icon as the drag image
1827 * WebCoreSupport.subproj/WebImageRendererFactory.m:
1828 (-[WebImageRendererFactory supportedMIMETypes]): removed code that omits PDF and PostScript from the list since this omission is only needed in WebImageView
1829 * WebView.subproj/WebImageView.m:
1830 (+[WebImageView supportedImageMIMETypes]): added code that omits PDF and PostScript since we don't want WebImageView to render these types
1832 2005-01-10 Maciej Stachowiak <mjs@apple.com>
1836 <rdar://problem/3758033> REGRESSION (Mail): Support attributes in marked text (International input)
1838 * WebCoreSupport.subproj/WebTextRenderer.m:
1839 (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): Changed to support
1840 underline thickness. Also added a bit of a hack here to move thickness 2 underlines down by
1841 .5 pixels, since the rendering engine can't give a fractional pixel offset.
1842 * WebView.subproj/WebHTMLView.m:
1843 (-[WebHTMLView validAttributesForMarkedText]): Support underline, underline color and marked
1844 clause attributes. Others that NSText supports are unimplemented for now.
1845 (-[WebHTMLView firstRectForCharacterRange:]): Remove needless logging.
1846 (-[WebHTMLView unmarkText]): Updated for new WebCore SPI.
1847 (-[WebHTMLView _extractAttributes:ranges:fromAttributedString:]): New method to pull the attributes
1848 and ranges out of an attributed string.
1849 (-[WebHTMLView setMarkedText:selectedRange:]): Extract attributes and pass to WebCore.
1850 (-[WebHTMLView insertText:]): Add comment noting that we don't really handle attributed strings
1853 2005-01-12 Darin Adler <darin@apple.com>
1857 - fixed <rdar://problem/3848257> WebView will draw more than AppKit asks it to, so views behind won't redraw enough (transparent WebView)
1859 * WebView.subproj/WebHTMLView.m:
1860 (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): As recommended by Troy Stephens, do the
1861 layouts here in this call, since it's before propagating the dirty rects to our ancestors.
1862 This fixes the bug, but we only do it if the WebView is not opaque, because otherwise we can
1863 optimize by only doing layouts you really need, and doing them later on is safe because we
1864 know we don't need to draw any of the views behind us.
1865 (-[WebHTMLView _layoutIfNeeded]): Added. Factored out from the method below.
1866 (-[WebHTMLView _web_layoutIfNeededRecursive]): Added. Like the other "layout if needed" call,
1868 (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]): Factored out the guts into the
1869 _layoutIfNeeded method above. Otherwise unchanged.
1870 (-[NSView _web_layoutIfNeededRecursive]): Added.
1872 * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground:NO
1873 on the scroll view when changing the frame to no longer be in "draws background" mode. This
1874 is needed because the frame manages the "draws background" mode of the scroll view. It won't
1875 have any effect if you call setDrawsBackground:NO before starting to use a WebView, but without
1876 it calling setDrawsBackground:NO later won't have an immediate effect (easily visible in Safari).
1877 This was hidden before because the HTML view was filling with transparent color, which blew away
1878 the fill that was done by NSScrollView.
1880 - fixed <rdar://problem/3921129> reproducible crash at www.funnychristmas.com in CFSet manipulation in WebImageData
1882 * WebCoreSupport.subproj/WebImageData.m:
1883 (-[WebImageData _imageSourceOptions]): Changed types so we don't need a cast.
1884 (+[WebImageData stopAnimationsInView:]): Instead of building a set of sets, by putting in the sets with addObject,
1885 build a single set using unionSet, and then iterate the objects instead of having to iterate the sets and then the
1886 objects in each set. The old code ended up sharing the sets with the live code, when the whole idea was to gather
1887 all the renderers because the process of stopping modifies the active sets.
1889 2005-01-12 Richard Williamson <rjw@apple.com>
1891 Fixed <rdar://problem/3926825> Safari ignores GIF loop count
1893 Get loop count from file properties, not image properties.
1895 Reviewed by Ken Kocienda.
1897 * WebCoreSupport.subproj/WebImageData.h:
1898 * WebCoreSupport.subproj/WebImageData.m:
1899 (-[WebImageData _commonTermination]):
1900 (-[WebImageData fileProperties]):
1901 (-[WebImageData _floatProperty:type:at:]):
1902 (-[WebImageData _floatFileProperty:type:]):
1903 (-[WebImageData _repetitionCount]):
1905 2005-01-11 Chris Blumenberg <cblu@apple.com>
1907 Fixed: <rdar://problem/3934749> assertion failure in WebBaseNetscapePluginView loading movie
1911 * Plugins.subproj/WebBaseNetscapePluginView.m:
1912 (-[WebBaseNetscapePluginView start]): call canStart before asserting about the webView
1914 2005-01-11 John Sullivan <sullivan@apple.com>
1918 - fixed <rdar://problem/3446838> REGRESSION (Mail): text decorations don't print
1919 (e.g. <strike>, underline)
1921 * WebCoreSupport.subproj/WebTextRenderer.m:
1922 (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
1923 This bottleneck routine for drawing a line was setting the linewidth to 0 when
1924 the graphics context was not drawing to the screen. Thus, no lines. Now links
1925 are underlined when printing from Safari (as well as Mail).
1927 2005-01-11 Richard Williamson <rjw@apple.com>
1929 Fixed 3949145. CG has a much faster API for drawing lines.
1930 Switched over to that new API (CGContextStrokeLineSegments).
1932 Reviewed by John Sullivan.
1934 * WebCoreSupport.subproj/WebTextRenderer.m:
1935 (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
1937 2005-01-10 Chris Blumenberg <cblu@apple.com>
1939 Fixed: <rdar://problem/3948862> REGRESSION: missing images when RTFD is pasted into editable WebView
1941 This problem occurred because we were creating image elements before creating corresponding image resources. The fix is to have AppKit call us back to create the resources before it creates the elements.
1945 * WebView.subproj/WebHTMLView.m:
1946 (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): don't deal with subresources since that's now done by the following method
1947 (-[WebHTMLView resourceForData:preferredFilename:]): new handler method called by AppKit
1951 2005-01-06 David Harrison <harrison@apple.com>
1953 Reviewed by Dave Hyatt
1955 <rdar://problem/3588548> AX: tabbing does not work correctly with the screen reader and a focused link; need AXFocusedUIElement to work.
1957 * WebView.subproj/WebHTMLView.m:
1958 (-[WebHTMLView accessibilityFocusedUIElement]):
1959 Implement this so that AppKit can use it from NSAccessibilityHandleFocusChanged.
1961 2005-01-05 Chris Blumenberg <cblu@apple.com>
1963 Fixed: <rdar://problem/3936865> REGRESSION: canvas.drawImage no longer scales properly
1967 * WebCoreSupport.subproj/WebImageData.m: use the height of the inRect instead of the fromRect when setting the origin of the context
1969 2005-01-04 Chris Blumenberg <cblu@apple.com>
1971 Fixed: <rdar://problem/3928329> WebKit should pass nil for "language" to checkSpellingOfString:
1973 Reviewed by kocienda.
1975 * WebView.subproj/WebHTMLView.m:
1976 (-[WebHTMLView _isSelectionMisspelled]): pass nil not @"" for language
1978 2004-12-21 Maciej Stachowiak <mjs@apple.com>
1982 <rdar://problem/3888931> frame naming allows malicious site to bring up a window when you click on a link in another
1984 Implement a security check on name frame visbility. This is the
1985 same rule as mozilla. You can only target frames by name if you
1986 are in the same window, have the same domain as the frame or an
1987 ancestor, or if it's a top level window have the same domain as
1990 * WebView.subproj/WebFrame.m:
1991 (-[WebFrame _shouldAllowAccessFrom:]):
1992 (-[WebFrame _descendantFrameNamed:sourceFrame:]):
1993 (-[WebFrame findFrameNamed:]):
1994 * WebView.subproj/WebFramePrivate.h:
1995 * WebView.subproj/WebView.m:
1996 (-[WebView _findFrameInThisWindowNamed:sourceFrame:]):
1997 (-[WebView _findFrameNamed:sourceFrame:]):
1998 * WebView.subproj/WebViewPrivate.h:
2004 2004-12-20 Richard Williamson <rjw@apple.com>
2006 Add call to new API. ImageIO deprecated some older (although
2007 quite new!) API. This caused us to fail to build on 337 or later.
2009 Developers wanting to build on older versions of Tiger must define
2010 USE_DEPRECATED_IMAGESOURCE_API in WebImageData.m.
2014 * WebCoreSupport.subproj/WebImageData.m:
2015 (-[WebImageData propertiesAtIndex:]):
2017 2004-12-20 Richard Williamson <rjw@apple.com>
2019 Don't call Tiger SPI on Panther.
2023 * WebCoreSupport.subproj/WebTextRendererFactory.m:
2024 (+[WebTextRendererFactory createSharedFactory]):
2026 2004-12-20 Richard Williamson <rjw@apple.com>
2028 Fixed <rdar://problem/3884448> WebKit should turn on CG local font cache
2030 Enable mutli-tier font caching. We should see a performance boost with this
2035 * WebCoreSupport.subproj/WebTextRendererFactory.m:
2036 (+[WebTextRendererFactory createSharedFactory]):
2038 2004-12-20 Richard Williamson <rjw@apple.com>
2040 Fix image decoding to separately decode image meta data from actual image bits. I
2041 incorrectly consolidated decode of meta data and image bits resulting in a huge
2042 performance regression.
2044 Double size of WebCore cache on lower end machines. On the PLT run on machines with
2045 256MB of memory, too many images were being evicted, causing a re-decode on the PLT.
2046 Upping the lower limit of the cache size ensure that no images are evicted (this
2047 goes hand-in-hand with the change to the minimum object size from 32K to 40K).
2051 * WebCoreSupport.subproj/WebImageData.h:
2052 * WebCoreSupport.subproj/WebImageData.m:
2053 (+[WebImageData initialize]):
2054 (-[WebImageData _commonTermination]):
2055 (-[WebImageData _invalidateImages]):
2056 (-[WebImageData _invalidateImageProperties]):
2057 (-[WebImageData imageAtIndex:]):
2058 (-[WebImageData propertiesAtIndex:]):
2059 (-[WebImageData _cacheImages:allImages:]):
2060 (-[WebImageData decodeData:isComplete:callback:]):
2061 (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
2062 * WebView.subproj/WebPreferences.m:
2063 (+[WebPreferences initialize]):
2065 2004-12-20 Richard Williamson <rjw@apple.com>
2067 Fixed build problem caused by change to ImageIO API.
2071 * WebCoreSupport.subproj/WebImageData.m:
2073 2004-12-19 Darin Adler <darin@apple.com>
2077 - some garbage collection fixes
2079 * Misc.subproj/WebNSObjectExtras.h: (WebCFAutorelease): Replaced the old WebNSRetainCFRelease with this
2080 much-easier-to-understand function cribbed from what David Harrison did in WebCore.
2082 * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use CFRelease here to
2083 get rid of an unnecessary use of WebNSRetainCFRelease.
2084 * Misc.subproj/WebNSURLExtras.m:
2085 (+[NSURL _web_URLWithData:relativeToURL:]): Use WebCFAutorelease instead of WebNSRetainCFRelease and autorelease.
2086 (-[NSURL _web_URLWithLowercasedScheme]): Ditto.
2087 (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Use WebCFAutorelease here; the old code would not
2088 work correctly under GC.
2089 * Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage preferredLocalizationName]):
2090 Use WebCFAutorelease here; the old code would not work correctly under GC.
2092 2004-12-18 Chris Blumenberg <cblu@apple.com>
2094 Fixed: <rdar://problem/3766915> PDF content needs search to work
2096 Reviewed by kevin, john.
2098 * WebView.subproj/WebPDFView.m:
2099 (-[WebPDFView searchFor:direction:caseSensitive:wrap:]): implemented
2100 (-[WebPDFView takeFindStringFromSelection:]): new
2101 (-[WebPDFView jumpToSelection:]): new
2102 (-[WebPDFView validateUserInterfaceItem:]): new
2104 2004-12-17 Richard Williamson <rjw@apple.com>
2106 Make image decoding as lazy as possible for non threaded case; in some cases
2107 can avoid unnecessary decoding work.
2111 * WebCoreSupport.subproj/WebImageData.h:
2112 * WebCoreSupport.subproj/WebImageData.m:
2113 (-[WebImageData imageAtIndex:]):
2114 (-[WebImageData propertiesAtIndex:]):
2115 (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
2117 2004-12-16 John Sullivan <sullivan@apple.com>
2121 One of the assertions from my previous checkin fired, so
2122 I made this code more robust.
2124 * WebCoreSupport.subproj/WebBridge.m:
2125 (-[WebBridge _preferences]):
2126 new helper method, returns global preferences if webView is nil,
2127 otherwise returns webView's preferences
2128 (-[WebBridge getObjectCacheSize]):
2129 use new helper method, remove now-unnecessary assert
2130 (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
2133 2004-12-16 John Sullivan <sullivan@apple.com>
2137 - fixed <rdar://problem/3913523> Mail needs SPI for adding tooltips to links
2138 - cleaned up some calls to +[WebPreferences standardPreferences] that should
2139 have been using -[WebView preferences]
2141 This adds a (currently SPI-only) new feature that shows the URL of the link
2142 under the mouse in a toolTip. I tested this in Safari, but we're adding this
2143 feature for Mail, and Safari won't use it (unless of course you know the
2144 magic defaults command)
2146 * Plugins.subproj/WebBaseNetscapePluginView.m:
2147 (-[WebBaseNetscapePluginView start]):
2148 use -[WebView preferences] instead of +[WebPreferences standardPreferences]
2150 * WebCoreSupport.subproj/WebBridge.m:
2151 (-[WebBridge getObjectCacheSize]):
2153 (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
2156 * WebView.subproj/WebBaseResourceHandleDelegate.m:
2157 (-[WebBaseResourceHandleDelegate willCacheResponse:]):
2160 * WebView.subproj/WebFrame.m:
2161 (-[WebFrame _transitionToCommitted:]):
2163 (-[WebFrame _loadItem:withLoadType:]):
2166 * WebView.subproj/WebHTMLViewInternal.h:
2167 private struct now keeps ivar for cached value of showsURLsInToolTips
2168 so it doesn't have look it up in preferences a zillion times
2170 * WebView.subproj/WebHTMLView.m:
2171 (-[WebHTMLView _updateMouseoverWithEvent:]):
2172 if private->showsURLsInToolTips is true, set the toolTip from the URL.
2173 Fall back to showing the title attribute in case some element has a title
2174 attribute but no URL.
2175 (-[WebHTMLView _mayStartDragAtEventLocation:]):
2176 use -[WebView preferences] instead of +[WebPreferences standardPreferences]
2177 (-[WebHTMLView _resetCachedWebPreferences:]):
2178 get a fresh value for private->showsURLsInToolTips
2179 (-[WebHTMLView initWithFrame:]):
2180 call _resetCachedWebPreferences the first time, and listen for WebPreferencesChanged notifications
2181 (-[WebHTMLView _handleStyleKeyEquivalent:]):
2182 use -[WebView preferences] instead of +[WebPreferences standardPreferences]
2184 * WebView.subproj/WebPreferenceKeysPrivate.h:
2185 added WebKitShowsURLsInToolTipsPreferenceKey
2187 * WebView.subproj/WebPreferences.m:
2188 (+[WebPreferences initialize]):
2189 initialize WebKitShowsURLsInToolTipsPreferenceKey to 0
2190 (-[WebPreferences showsURLsInToolTips]):
2191 return WebKitShowsURLsInToolTipsPreferenceKey value
2192 (-[WebPreferences setShowsURLsInToolTips:]):
2193 set WebKitShowsURLsInToolTipsPreferenceKey value
2195 * WebView.subproj/WebPreferencesPrivate.h:
2196 add declarations for showsURLsInToolTips and setter
2198 * WebView.subproj/WebTextView.m:
2199 (-[WebTextView _preferences]):
2200 new helper method that gets preferences from webView if there is a webView,
2201 otherwise gets global preferences
2202 (-[WebTextView setFixedWidthFont]):
2203 use new helper method rather than always using global preferences
2204 (-[WebTextView initWithFrame:]):
2205 observe WebPreferencesChangedNotification instead of unnecessarily general
2206 NSUserDefaultsChangedNotification
2208 2004-12-14 John Sullivan <sullivan@apple.com>
2212 - rest of WebKit fix for <rdar://problem/3790011> undoable operations all say "Undo"
2213 in the menu, no specific action names
2215 I only know of one loose end currently, which I wrote up as <rdar://problem/3920971> Edit menu
2216 says "Undo Change Attributes" when it should say "Undo Set Color", from font panel
2218 * WebView.subproj/WebHTMLView.m:
2219 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
2220 use WebUndoActionSetColor when dragging color swatch
2221 (-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
2222 new WebUndoAction parameter, passed across bridge
2223 (-[WebHTMLView _toggleBold]):
2224 use WebUndoActionSetFont
2225 (-[WebHTMLView _toggleItalic]):
2226 use WebUndoActionSetFont
2227 (-[WebHTMLView pasteFont:]):
2228 use WebUndoActionPasteFont
2229 (-[WebHTMLView changeFont:]):
2230 use WebUndoActionSetFont
2231 (-[WebHTMLView changeAttributes:]):
2232 use WebUndoActionChangeAttributes
2233 (-[WebHTMLView _undoActionFromColorPanelWithSelector:]):
2234 new method, returns WebUndoActionSetBackgroundColor or WebUndoActionSetColor
2235 (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
2236 now calls _undoActionFromColorPanelWithSelector
2237 (-[WebHTMLView changeColor:]):
2238 use WebUndoActionSetColor
2239 (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]):
2240 new WebUndoAction parameter, passed through
2241 (-[WebHTMLView alignCenter:]):
2242 use WebUndoActionCenter
2243 (-[WebHTMLView alignJustified:]):
2244 use WebUndoActionJustify
2245 (-[WebHTMLView alignLeft:]):
2246 use WebUndoActionAlignLeft
2247 (-[WebHTMLView alignRight:]):
2248 use WebUndoActionAlignRight
2249 (-[WebHTMLView subscript:]):
2250 use WebUndoActionAlignSubscript
2251 (-[WebHTMLView superscript:]):
2252 use WebUndoActionAlignSuperscript
2253 (-[WebHTMLView unscript:]):
2254 use WebUndoActionAlignUnscript
2255 (-[WebHTMLView underline:]):
2256 use WebUndoActionAlignUnderline
2258 * WebView.subproj/WebView.m:
2259 (-[WebView setTypingStyle:]):
2260 pass WebUndoActionUnspecified through as new parameter since we don't have any more specific info
2261 (-[WebView applyStyle:]):
2264 2004-12-14 Richard Williamson <rjw@apple.com>
2266 Helper method to get URL of plugin view.
2270 * Misc.subproj/WebNSViewExtras.m:
2271 (-[NSView _webViewURL]):
2273 2004-12-14 Vicki Murley <vicki@apple.com>
2277 <rdar://problem/3855573> Remove reference to "WebScriptMethods" from WebScriptObject.h comments
2279 * Plugins.subproj/WebPlugin.h: changed instances of "WebScriptMethods" to "WebScripting" in this
2280 file as well, as requested in the bug report
2282 2004-12-13 Maciej Stachowiak <mjs@apple.com>
2286 <rdar://problem/3912488> Mail throws an exception after backspacing "away" inline input
2288 * WebView.subproj/WebHTMLView.m:
2289 (-[WebHTMLView setMarkedText:selectedRange:]): Don't try to set a selection if
2290 we end up with no marked text, since that case fails and is unnecessary.
2292 2004-12-14 John Sullivan <sullivan@apple.com>
2296 - WebKit part of plumbing of fix for <rdar://problem/3790011> undoable operations all say "Undo" in the menu,
2297 no specific action names
2299 * WebCoreSupport.subproj/WebBridge.m:
2300 (-[WebBridge nameForUndoAction:]):
2301 renamed from setUndoActionNamePlaceholder, replaced arbitrary integers with enum values, and
2302 handled new "unspecified" case as a fallback
2304 2004-12-13 Richard Williamson <rjw@apple.com>
2306 Fixed <rdar://problem/3887767> LiveConnect doesn't propagate Java exceptions back to JavaScript (prevents security suite from running)
2310 * Plugins.subproj/WebJavaPlugIn.h:
2312 2004-12-13 John Sullivan <sullivan@apple.com>
2316 - fixed <rdar://problem/3744583> Safari can not quit when a webpage has a login sheet
2317 that can't be cancelled.
2319 The proper fix for this would be to change the class of the NSPanel in the nib file.
2320 But since this would require a localization change, I did a run-time hack instead.
2321 I'll file a bug about fixing this when we're out of localization freeze.
2323 * Panels.subproj/WebAuthenticationPanel.m:
2324 (-[WebAuthenticationPanel replacePanelWithSubclassHack]):
2325 new method, creates a new panel that is identical to the original one except that
2326 it's our subclass, and moves all the subviews of the original panel into the new one.
2327 (-[WebAuthenticationPanel loadNib]):
2328 call replacePanelWithSubclassHack
2329 (-[NonBlockingPanel _blocksActionWhenModal:]):
2330 only method of new NSPanel subclass; overrides this SPI to allow the user to quit
2331 when one of these panels/sheets is on-screen
2333 2004-12-10 Richard Williamson <rjw@apple.com>
2335 Fixed <rdar://problem/3898708> REGRESSION (8A314-8A317): World Clock's short hand not displayed (ImageIO problem with PDF?)
2336 Fixed <rdar://problem/3914012> use CG directly for pdf images not ImageIO
2338 Create a PDF document and draw that instead of using ImageIO to create a rasterized image.
2342 * WebCoreSupport.subproj/WebImageData.h:
2343 * WebCoreSupport.subproj/WebImageData.m:
2344 (-[WebImageData setIsPDF:]):
2345 (-[WebImageData isPDF]):
2346 (-[WebImageData dealloc]):
2347 (-[WebImageData decodeData:isComplete:callback:]):
2348 (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
2349 (-[WebImageData size]):
2350 (-[WebImageData animate]):
2351 (-[WebImageData _createPDFWithData:]):
2352 (-[WebImageData _PDFDocumentRef]):
2353 (-[WebImageData _PDFDrawInContext:]):
2354 (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
2355 * WebCoreSupport.subproj/WebImageRenderer.h:
2356 * WebCoreSupport.subproj/WebImageRenderer.m:
2357 (-[WebImageRenderer size]):
2358 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:callback:]):
2359 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
2362 2004-12-10 John Sullivan <sullivan@apple.com>
2366 - fixed <rdar://problem/3855127> Error while printing w/o sheet, then window is left in a bad state,
2367 if there's no default printer set
2369 * WebView.subproj/WebHTMLView.m:
2370 (-[WebHTMLView beginDocument]):
2371 Our implementation of knowsPageRange puts the WebHTMLView into a special "printing mode". We must
2372 exit the "printing mode" to return to normal behavior. This is normally done in endDocument.
2373 However, it turns out that if there's an exception in [super beginDocument], then endDocument
2374 will not be called (lame-o AppKit API). So, we handle that case by catching the exception and
2375 exiting the "printing mode" in beginDocument when it occurs.
2377 2004-12-09 Richard Williamson <rjw@apple.com>
2379 Fixed <rdar://problem/3905789> Burn Disc image vibrates rapidly
2381 Restrict our support for animated images to GIF. We used to
2382 use presence of more than one image in a resource to determine
2383 if an image should be animated. This caused us to animate icns!
2384 If we ever support any other animated image formats we'll have
2389 * WebCoreSupport.subproj/WebImageData.h:
2390 * WebCoreSupport.subproj/WebImageData.m:
2391 (-[WebImageData shouldAnimate]):
2392 * WebCoreSupport.subproj/WebImageRenderer.m:
2393 (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
2395 2004-12-09 Richard Williamson <rjw@apple.com>
2397 Make WebPluginDatabase.h private (Dashboard needs SPI).
2399 * WebKit.pbproj/project.pbxproj:
2403 2004-12-09 Chris Blumenberg <cblu@apple.com>
2405 Workaround for this exception being raised during download:
2406 [WebDownload connection:willStopBufferingData:]: selector not recognized
2410 * Misc.subproj/WebDownload.m:
2411 (-[WebDownload connection:willStopBufferingData:]): implement this method so no exception is raised. It is a bug in Foundation that this method is being called, but it's too late to fix Foundation since it has already been submitted this week. This workaround will prevent any problems from affecting users.
2413 2004-12-08 Richard Williamson <rjw@apple.com>
2415 Fixed <rdar://problem/3911719> REGRESSION: Images no longer scale vertically
2416 Account for scaling correctly when taking into account progressively
2419 Also added implementation of repetition count for animated GIF images.
2420 Also replaced strings with new constants from CFImageProperties.h
2422 Also fixed possible problem with -(NSSize)size implementation,
2423 relevant to Panther only.
2427 * WebCoreSupport.subproj/WebImageData.m:
2428 (-[WebImageData _floatProperty:type:at:]):
2429 (-[WebImageData _frameDurationAt:]):
2430 (-[WebImageData _repetitionCount]):
2431 * WebCoreSupport.subproj/WebImageRenderer.m:
2432 (-[WebImageRenderer size]):
2434 2004-12-08 Chris Blumenberg <cblu@apple.com>
2436 Removed NPN wrappers since these no longer need to be defined to make the QT plug-in work
2437 since 3828925 has been fixed.
2441 * Plugins.subproj/WebNetscapePluginPackage.m:
2442 (-[WebNetscapePluginPackage load]): use under-bar symbols since non-under-bar wrappers have been removed
2443 * Plugins.subproj/npapi.m: removed NPN wrappers
2444 * WebKit.exp: removed symbols
2446 2004-12-08 Ken Kocienda <kocienda@apple.com>
2450 * WebView.subproj/WebHTMLView.m:
2451 (-[WebHTMLView drawRect:]): Work around for this bug:
2452 <rdar://problem/3908282> REGRESSION (Mail): No drag image dragging selected text in Blot and Mail
2453 The reason for the workaround is that this method is called explicitly from the code
2454 to generate a drag image, and at that time, getRectsBeingDrawn:count: will return a zero count.
2455 This code change uses the passed-in rect when the count is zero.
2457 2004-12-07 Administrator <cblu@apple.com>
2459 Support for fix for:
2460 <rdar://problem/3734309> Safari doesn't open folders in title bar menu with non-Roman names using Cmd+click
2464 * Misc.subproj/WebNSURLExtras.h:
2465 * Misc.subproj/WebNSURLExtras.m:
2466 (+[NSURL _web_URLWithUserTypedString:relativeToURL:]): renamed to take relativeToURL parameter
2467 (+[NSURL _web_URLWithUserTypedString:]): call _web_URLWithUserTypedString:relativeToURL: with nil for URL
2469 2004-12-07 Richard Williamson <rjw@apple.com>
2471 Fixed <rdar://problem/3905564> REGRESSION (Tiger); in History menu, pixel size appears but is wrong for standalone images in Safari.
2475 * WebCoreSupport.subproj/WebImageRenderer.m:
2476 (-[WebImageRenderer size]):
2478 2004-12-07 Richard Williamson <rjw@apple.com>
2480 Support threaded image decoding on machines w/ >= 2 CPUs.
2482 Reviewed by Maciej and Chris.
2484 * Misc.subproj/WebKitSystemBits.h:
2485 * Misc.subproj/WebKitSystemBits.m:
2486 (WebSystemMainMemory):
2488 * WebCoreSupport.subproj/WebImageData.h:
2489 * WebCoreSupport.subproj/WebImageData.m:
2490 (+[WebImageData initialize]):
2491 (-[WebImageData init]):
2492 (-[WebImageData _commonTermination]):
2493 (-[WebImageData dealloc]):
2494 (-[WebImageData _invalidateImages]):
2495 (-[WebImageData _imageSourceOptions]):
2496 (-[WebImageData imageAtIndex:]):
2497 (-[WebImageData propertiesAtIndex:]):
2498 (-[WebImageData _createImages]):
2499 (-[WebImageData decodeData:isComplete:callback:]):
2500 (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
2502 (-[WebImageData tileInRect:fromPoint:context:]):
2503 (-[WebImageData isNull]):
2504 (-[WebImageData size]):
2505 (-[WebImageData _frameDurationAt:]):
2506 (-[WebImageData _frameDuration]):
2507 (+[WebImageData stopAnimationsInView:]):
2508 (-[WebImageData addAnimatingRenderer:inView:]):
2509 (-[WebImageData removeAnimatingRenderer:]):
2510 * WebCoreSupport.subproj/WebImageDecodeItem.h: Added.
2511 * WebCoreSupport.subproj/WebImageDecodeItem.m: Added.
2512 (+[WebImageDecodeItem decodeItemWithImage:data:isComplete:callback:]):
2513 (-[WebImageDecodeItem initWithImage:data:isComplete:callback:]):
2514 (-[WebImageDecodeItem finalize]):
2515 (-[WebImageDecodeItem dealloc]):
2516 * WebCoreSupport.subproj/WebImageDecoder.h: Added.
2517 * WebCoreSupport.subproj/WebImageDecoder.m: Added.
2518 (decoderNotifications):
2519 (+[WebImageDecoder initialize]):
2520 (+[WebImageDecoder notifyMainThread]):
2521 (+[WebImageDecoder sharedDecoder]):
2522 (+[WebImageDecoder performDecodeWithImage:data:isComplete:callback:]):
2523 (+[WebImageDecoder imageDecodesPending]):
2524 (+[WebImageDecoder decodeComplete:status:]):
2525 (-[WebImageDecoder init]):
2526 (-[WebImageDecoder dealloc]):
2527 (-[WebImageDecoder finalize]):
2528 (-[WebImageDecoder removeItem]):
2529 (-[WebImageDecoder addItem:]):
2530 (-[WebImageDecoder decodeItem:]):
2532 (startDecoderThread):
2533 * WebCoreSupport.subproj/WebImageRenderer.m:
2534 (-[WebImageRenderer initWithData:MIMEType:]):
2535 (-[WebImageRenderer initWithContentsOfFile:]):
2536 (-[WebImageRenderer incrementalLoadWithBytes:length:complete:callback:]):
2537 (-[WebInternalImage incrementalLoadWithBytes:length:complete:callback:]):
2538 * WebKit.pbproj/project.pbxproj:
2539 * WebView.subproj/WebImageRepresentation.m:
2540 (-[WebImageRepresentation receivedData:withDataSource:]):
2541 (-[WebImageRepresentation receivedError:withDataSource:]):
2542 (-[WebImageRepresentation finishedLoadingWithDataSource:]):
2544 2004-12-07 Chris Blumenberg <cblu@apple.com>
2546 Fix for performance regression.
2550 * WebCoreSupport.subproj/WebBridge.m:
2551 (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): construct the WebResource without copying the data
2553 2004-12-07 Chris Blumenberg <cblu@apple.com>
2555 Fixed: <rdar://problem/3909243> REGRESSION: large standalone images stop loading part way through
2559 * WebView.subproj/WebBaseResourceHandleDelegate.h:
2560 * WebView.subproj/WebMainResourceClient.m:
2561 (-[WebMainResourceClient addData:]): call super so it buffers the data
2563 2004-12-06 Richard Williamson <rjw@apple.com>
2565 Use the AppKit's font rendering mode. This fixes 3905347, but we still need to track down
2566 and resolve why metrics have changed for Courier. This may be caused by changes in
2571 * WebCoreSupport.subproj/WebTextRenderer.m:
2572 (_AppkitGetCGRenderingMode):
2576 2004-12-06 Chris Blumenberg <cblu@apple.com>
2578 Forgot to commit copied header.
2580 * DOM.subproj/DOMPrivate.h:
2582 2004-12-06 Chris Blumenberg <cblu@apple.com>
2584 Fixed: <rdar://problem/3907381> NSURLConnection and WebKit buffer 2 copies of incoming data
2588 * WebView.subproj/WebBaseResourceHandleDelegate.h:
2589 * WebView.subproj/WebBaseResourceHandleDelegate.m:
2590 (+[WebBaseResourceHandleDelegate initialize]): cache check to see if Foundation supports access to its buffered data
2591 (-[WebBaseResourceHandleDelegate addData:]): don't buffer data if Foundation is buffering it for us
2592 (-[WebBaseResourceHandleDelegate saveResource]): when creating a WebResource, pass NO for copyData since we know it won't be mutated
2593 (-[WebBaseResourceHandleDelegate resourceData]): return the buffered data from the connection if it supports it
2594 (-[WebBaseResourceHandleDelegate willStopBufferingData:]): make a mutable copy of the data from NSURLConnection so we can continue buffering
2595 (-[WebBaseResourceHandleDelegate willCacheResponse:]): removed optimization that used the cached response data to save the resource since that is obsolete by this change
2596 (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): new callback from NSURLConnection, informs us that NSURLConnection has given up buffering
2597 * WebView.subproj/WebDataSource.m:
2598 (-[WebDataSource _receivedData:]): removed buffering code since that's done by NSURLConnection and the main client
2599 (-[WebDataSource _setData:]): removed unnecessary cast since the resourceData ivar is now an NSData instead of NSMutableData
2600 (-[WebDataSource data]): return resourceData ivar, else return the resourceData from the main client
2601 * WebView.subproj/WebDataSourcePrivate.h:
2602 * WebView.subproj/WebMainResourceClient.m:
2603 (-[WebMainResourceClient releaseResources]): store resourceData on the data source so it can continue to have data after the main client has gone away
2604 (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):don't call [dataSource data] just to get the length of data received since [dataSource data] can now cause data to be copied
2605 (-[WebMainResourceClient connectionDidFinishLoading:]): ditto
2606 * WebView.subproj/WebResource.m:
2607 (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call following method with YES for copyData
2608 (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:copyData:]): new initializer, allows caller to choose whether or not the data is copied
2609 * WebView.subproj/WebResourcePrivate.h:
2611 2004-12-06 Richard Williamson <rjw@apple.com>
2613 Fixed <rdar://problem/3903749> REGRESSION (8A321): WebKit gets incorrect glyph metrics due to change in how AppKit uses CGFont
2615 Use CGFontRef direction when both getting font metrics and drawing
2616 glyphs, instead on depending on [NSFont set].
2620 * WebCoreSupport.subproj/WebTextRenderer.m:
2624 2004-12-06 Ken Kocienda <kocienda@apple.com>
2626 Reviewed by Harrison
2630 <rdar://problem/3906930> Hitting return key in editable content inserts br elements instead of blocks
2632 * WebView.subproj/WebHTMLView.m:
2633 (-[WebHTMLView insertNewline:]): One-line change to call insert-block rather than insert-br method
2636 2004-12-04 Darin Adler <darin@apple.com>
2640 - fixed <rdar://problem/3846079> assertion failure in WebHTMLView(WebPrivate) removeTrackingRect at boots.com
2641 - fixed <rdar://problem/3857737> REGRESSION (165-166): clicking in a text field that's scrolled to the right causes it to scroll all the way left
2642 - fixed <rdar://problem/3861952> REGRESSION (165-166): selection is cleared when you start to scroll a frame
2644 * WebView.subproj/WebHTMLViewInternal.h: Added handlingMouseDown flag.
2645 * WebView.subproj/WebHTMLView.m:
2646 (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Allow passing in a
2647 tracking number of 0, which means no existing tracking number.
2648 (-[WebHTMLView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Ditto.
2649 (-[WebHTMLView removeTrackingRect:]): Allow removing a tracking number of 0, which is a no-op.
2650 (-[WebHTMLView _removeTrackingRects:count:]): Ditto.
2651 (-[WebHTMLView acceptsFirstResponder]): Changed check to use handlingMouseDown flag instead of mouseDownEvent
2652 field since that field is set up too early in the mouse down event handling process.
2653 (-[WebHTMLView mouseDown:]): Added code to set handlingMouseDown flag.
2655 - fixed part of <rdar://problem/3829808> Safari crashes when adding a DOM node that was removed from an XMLHTTP request result
2657 * WebCoreSupport.subproj/WebBridge.m:
2658 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2659 Changed code around so that it won't try to create a WebResource when the load fails.
2661 - moved next/previous links into private structure with the rest of WebFrame fields
2662 (We have a rule against putting new fields into obejcts that are part of our public API.)
2664 * WebView.subproj/WebFrame.h: Remove _nextSibling and _previousSibling.
2665 * WebView.subproj/WebFramePrivate.h: Added nextSibling and previousSibling fields to private class.
2666 * WebView.subproj/WebFrame.m: Got rid of some tabs in this file.
2667 (-[WebFrame _addChild:]): Changed code to use fields inside _private.
2668 (-[WebFrame _removeChild:]): Ditto.
2669 (-[WebFrame _nextFrameWithWrap:]): Ditto.
2670 (-[WebFrame _previousFrameWithWrap:]): Ditto.
2672 2004-12-04 Chris Blumenberg <cblu@apple.com>
2675 <rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data
2676 <rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br)
2677 <rdar://problem/3903173> REGRESSION (172-TOT): assertion failure and crash in slotAllData logging into hotmail account
2678 <rdar://problem/3902749> REGRESSION (Tiger): missing image symbol does not appear
2680 Reviewed by darin, rjw, kocienda.
2682 * WebCoreSupport.subproj/WebBridge.m:
2683 (-[WebBridge objectLoadedFromCacheWithURL:response:data:]):
2684 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2685 * WebCoreSupport.subproj/WebSubresourceClient.m:
2686 (-[WebSubresourceClient didFinishLoading]):
2687 * WebView.subproj/WebFrame.m:
2688 (-[WebFrame _opened]):
2689 (-[WebFrame _internalLoadDelegate]):
2690 (-[WebFrame _sendResourceLoadDelegateMessagesForURL:response:length:]):
2691 * WebView.subproj/WebFrameInternal.h:
2693 2004-12-04 Darin Adler <darin@apple.com>
2697 - fixed remaining bit of <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
2699 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): When translating from
2700 an attribute dictionary to a CSS declaration, treat missing values according to the defaults defined
2701 in <AppKit/NSAttributedString.h>. Before the code was treating them as "no change", which is incorrect.
2703 * English.lproj/StringsNotToBeLocalized.txt: Add a string from the above change.
2707 2004-12-03 Ken Kocienda <kocienda@apple.com>
2711 Roll out some recent changes by Chris that caused a performance regression.
2712 Fix is in hand, but it is a little risky this close to a submission. So,
2713 we have decided to roll back the change with the regression and roll in
2714 the new code after we submit.
2716 * WebCoreSupport.subproj/WebBridge.m:
2717 (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
2718 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2719 * WebCoreSupport.subproj/WebSubresourceClient.m:
2720 (-[WebSubresourceClient didFinishLoading]):
2721 * WebView.subproj/WebFrame.m:
2722 (-[WebFrame _opened]):
2723 (-[WebFrame _internalLoadDelegate]):
2724 * WebView.subproj/WebFrameInternal.h:
2726 2004-12-02 Richard Williamson <rjw@apple.com>
2728 Fixed <rdar://problem/3841332> REGRESSION (125.9-167u): repro crash in -[KWQPageState invalidate] involving .Mac images
2730 Ensure that the document is cleared when leaving a non-HTML page. This ensures that
2731 the b/f cache won't incorrectly trash the previous state when restoring.
2735 * WebView.subproj/WebFrame.m:
2736 (-[WebFrame _setState:]):
2738 2004-12-02 Ken Kocienda <kocienda@apple.com>
2742 <rdar://problem/3748323> Problem with -[WebView editableDOMRangeForPoint:] (-isFlipped not taken into account?)
2743 <rdar://problem/3852590> REGRESSION (Mail): Dropped content appears in wrong place if Mail message is scrolled down
2745 When implementing drag and drop, moveDragCaretToPoint: and editableDOMRangeForPoint: are used in
2746 concert to track the mouse and determine a drop location, respectively. However, moveDragCaretToPoint:
2747 did a conversion of the passed-in point to the document view's coordinate space, whereas
2748 editableDOMRangeForPoint: did not. Now it does.
2750 Note that I will need to coordinate with Grant to have him roll out some code in Mail that
2751 attempts to work around this problem (unsuccessfully), and actually manages to block the
2752 real fix (which needs to be in WebKit).
2754 * WebView.subproj/WebView.m:
2755 (-[WebView editableDOMRangeForPoint:]): Convert the passed-in point to the document view's coordinate space.
2757 2004-12-02 Richard Williamson <rjw@apple.com>
2759 Fixed <rdar://problem/3895810> FATAL ERROR: <WebTextRenderer: 0x9328a20> unable to initialize with font "Times-Roman 16.00 pt. S ....
2761 We have a hack to replace Times with Times New Roman if we fail
2762 to setup Times. If we then fail to setup Times New Roman we
2763 don't attempt to further fallback to the system font. Added
2764 that additional fallback.
2768 * WebCoreSupport.subproj/WebTextRenderer.m:
2769 (+[WebTextRenderer webFallbackFontFamily]):
2770 (-[WebTextRenderer initWithFont:usingPrinterFont:]):
2772 2004-12-02 Richard Williamson <rjw@apple.com>
2774 Fixed build problem on Tiger8A821. Private macro and function
2775 we were using have been deprecated,
2779 * WebCoreSupport.subproj/WebTextRenderer.m:
2780 (-[WebTextRenderer initWithFont:usingPrinterFont:]):
2782 2004-12-01 Chris Blumenberg <cblu@apple.com>
2784 Fixed: <rdar://problem/3879870> Flash Player unable to stop data stream from continuing to download by returning -1 from NPP_Write
2785 Also improved and cleaned-up the plug-in stream termination code.
2789 * Plugins.subproj/WebBaseNetscapePluginStream.h:
2790 * Plugins.subproj/WebBaseNetscapePluginStream.m:
2791 (+[WebBaseNetscapePluginStream reasonForError:]): return NPRES_DONE for a nil error
2792 (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]): new, factored out from other methods
2793 (-[WebBaseNetscapePluginStream errorForReason:]): new
2794 (-[WebBaseNetscapePluginStream dealloc]): release MIME type
2795 (-[WebBaseNetscapePluginStream setMIMEType:]): new
2796 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): call setMIMEType so we can use it in _pluginCancelledConnectionError, call renamed methods
2797 (-[WebBaseNetscapePluginStream _destroyStream]): prepended underscore, replaced some early returns with asserts as the callers are now smarter
2798 (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): prepended underscore, only call _destroyStream if there is an error or if the load is complete and there is no more data to be streamed
2799 (-[WebBaseNetscapePluginStream cancelLoadWithError:]): new, overridden by subclasses to cancel the actual NSURLConnection
2800 (-[WebBaseNetscapePluginStream destroyStreamWithError:]): new, calls _destroyStreamWithReason
2801 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): call renamed methods
2802 (-[WebBaseNetscapePluginStream _deliverData]): prepended underscore, call cancelLoadAndDestroyStreamWithError if NPP_Write returns a negative number
2803 * Plugins.subproj/WebBaseNetscapePluginView.m:
2804 (-[WebBaseNetscapePluginView destroyStream:reason:]): call cancelLoadAndDestroyStreamWithError
2805 * Plugins.subproj/WebNetscapePluginRepresentation.m:
2806 (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call destroyStreamWithError
2807 (-[WebNetscapePluginRepresentation cancelLoadWithError:]): new, override method, tell the data source to stop loading
2808 * Plugins.subproj/WebNetscapePluginStream.m:
2809 (-[WebNetscapePluginStream cancelLoadWithError:]): new, override method, tell the loader to stop
2810 (-[WebNetscapePluginStream stop]): call cancelLoadAndDestroyStreamWithError
2811 (-[WebNetscapePluginConnectionDelegate isDone]): new
2812 (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): call cancelLoadAndDestroyStreamWithError
2813 (-[WebNetscapePluginConnectionDelegate didFailWithError:]): call destroyStreamWithError
2815 2004-12-01 Kevin Decker <kdecker@apple.com>
2817 Reviewed by Harrison.
2819 Fixed: <rdar://problem/3228878> potential performance problem in finding in large framesets
2821 Got rid of O(N^2) conditions in _nextSibling and _previousSibling of where we were looking up self in the parent array of frames.
2823 * WebView.subproj/WebFrame.h: Added two new pointers, one for the previous kid and one for the next kid
2824 * WebView.subproj/WebFrame.m:
2825 (-[WebFrame _addChild:]): Updates the previous frame and the next frame after this child
2826 (-[WebFrame _removeChild:]): ditto
2827 (-[WebFrame _nextSibling]): just return the pointer now
2828 (-[WebFrame _previousSibling]): ditto
2830 2004-11-30 Chris Blumenberg <cblu@apple.com>
2833 <rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data
2834 <rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br)
2838 * WebCoreSupport.subproj/WebBridge.m:
2839 (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): renamed to pass all data for the resource, moved delegate code to new method
2840 (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call renamed method
2841 * WebCoreSupport.subproj/WebSubresourceClient.m:
2842 (-[WebSubresourceClient didFinishLoading]): call renamed method
2843 * WebView.subproj/WebFrame.m:
2844 (-[WebFrame _opened]): call _sendResourceLoadDelegateMessagesForURL:response:length:, not objectLoadedFromCacheWithURL:response:data:
2845 (-[WebFrame _internalLoadDelegate]):
2846 (-[WebFrame _sendResourceLoadDelegateMessagesForURL:response:length:]): moved from objectLoadedFromCacheWithURL:response:data:
2847 * WebView.subproj/WebFrameInternal.h:
2849 2004-11-29 Darin Adler <darin@apple.com>
2853 - worked around bug in Panther where NSScroller calls _destinationFloatValueForScroller: on superview
2854 without first checking if it's implemented
2856 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _destinationFloatValueForScroller:]):
2857 Implemented. Calls floatValue on the scroller.
2859 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
2861 2004-11-23 Chris Blumenberg <cblu@apple.com>
2863 Fixed: <rdar://problem/3890944> disable icon database for Dashboard
2867 * Misc.subproj/WebIconDatabase.h:
2868 * Misc.subproj/WebIconDatabase.m:
2869 (-[WebIconDatabase init]): don't create dictionaries if disabled
2870 (-[WebIconDatabase iconForURL:withSize:cache:]): return default icon if disabled
2871 (-[WebIconDatabase iconURLForURL:]): return nil if disabled
2872 (-[WebIconDatabase retainIconForURL:]): return if disabled
2873 (-[WebIconDatabase releaseIconForURL:]): ditto
2874 (-[WebIconDatabase delayDatabaseCleanup]): ditto
2875 (-[WebIconDatabase allowDatabaseCleanup]): ditto
2876 (-[WebIconDatabase _isEnabled]): new
2877 (-[WebIconDatabase _setIcon:forIconURL:]): assert if called when disabled, moved to own category implementation
2878 (-[WebIconDatabase _setHaveNoIconForIconURL:]): ditto
2879 (-[WebIconDatabase _setIconURL:forURL:]): ditto
2880 (-[WebIconDatabase _createFileDatabase]): tweak
2881 (-[WebIconDatabase _applicationWillTerminate:]): moved out of public code
2882 * Misc.subproj/WebIconDatabasePrivate.h:
2883 * Misc.subproj/WebIconLoader.m:
2884 * WebView.subproj/WebDataSource.m:
2885 (-[WebDataSource _updateIconDatabaseWithURL:]): assert if called when icon DB is disabled
2886 (-[WebDataSource _loadIcon]): don't load icon if icon DB is disabled
2888 2004-11-22 David Hyatt <hyatt@apple.com>
2890 Make sure the WebCore cache grows at 512mb and at 1024mb exactly.
2894 * WebCoreSupport.subproj/WebBridge.m:
2895 (-[WebBridge getObjectCacheSize]):
2897 2004-11-22 Richard Williamson <rjw@apple.com>
2899 Fixed <rdar://problem/3891737> WebPreferences do not work if they are set before set on the WebView
2901 John found this problem and suggested the fix.
2903 Reviewed by John Louch.
2905 * WebView.subproj/WebView.m:
2906 (-[WebView setPreferences:]):
2908 2004-11-22 Ken Kocienda <kocienda@apple.com>
2910 Reviewed by Harrison
2912 * WebCoreSupport.subproj/WebBridge.m:
2913 (-[WebBridge canPaste]): Call WebView _canPaste.
2914 * WebView.subproj/WebView.m:
2915 (-[WebView _canPaste]): Try to forward to document view's implementation. Only WebHTMLView
2916 answers right now. Returns NO otherwise.
2917 * WebView.subproj/WebViewInternal.h: Add _canPaste method to WebView.
2919 2004-11-22 Maciej Stachowiak <mjs@apple.com>
2921 Back out the window closing fix, it seems to be causing crashes.
2923 * WebView.subproj/WebFrame.m:
2924 (-[WebFrame _detachFromParent]):
2926 2004-11-20 Maciej Stachowiak <mjs@apple.com>
2930 <rdar://problem/3710101> _web_userVisibleString makes URL autocomplete roughly 2x slower
2932 * Misc.subproj/WebNSURLExtras.h:
2933 * Misc.subproj/WebNSURLExtras.m:
2934 (-[NSString _web_isUserVisibleURL]): New SPI to check if a URL
2935 string is already in user-visible form (i.e. converting it to an
2936 NSURL and then back via _web_userVisibleString would not change
2939 2004-11-19 Maciej Stachowiak <mjs@apple.com>
2943 <rdar://problem/3190977> closing window with many tabs in it can be quite slow
2945 * WebView.subproj/WebFrame.m:
2946 (-[WebFrame _detachFromParent]): autorelease bridge instead of releasing it,
2947 to make window and tab closing more responsive - this way the deallocation happens
2948 after the windoow or tab appears to close.
2952 2004-11-19 Chris Blumenberg <cblu@apple.com>
2954 Fixed: <rdar://problem/3880387> REGRESSION: www.shockplay.com site gives "Unexpected server response"
2958 * Plugins.subproj/WebBaseNetscapePluginView.m:
2959 (-[NSData _web_locationAfterFirstBlankLine]): support both formats ("\r\n\n" and "\r\n\r\n") for separating header data from body data because Shockwave still sends the prior format
2961 2004-11-19 Ken Kocienda <kocienda@apple.com>
2963 Reviewed by Harrison
2967 <rdar://problem/3655241> setTypingStyle: does not set the real typing style, and typingStyle does not return it
2969 * WebCoreSupport.subproj/WebBridge.m:
2970 (-[WebBridge respondToChangedContents]): No longer call through to WebKit to set the typing style. The call
2971 was part of the misguided use of the setTypingStyle: and typingStyle as a cache of what was stored on
2973 (-[WebBridge respondToChangedSelection]): Ditto.
2974 * WebView.subproj/WebView.m:
2975 (-[WebViewPrivate dealloc]): Object no longer has typingStyle ivar.
2976 (-[WebView setTypingStyle:]): Call over the bridge to set typing style.
2977 (-[WebView typingStyle]): Call over the bridge to retrieve typing style.
2978 * WebView.subproj/WebViewInternal.h: Object no longer has typingStyle ivar.
2980 2004-11-18 John Sullivan <sullivan@apple.com>
2984 - fixed <rdar://problem/3886042> should save history file as binary XML so serialization,
2985 parsing, reading and writing is faster
2987 * History.subproj/WebHistory.m:
2988 (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
2989 convert dictionary to binary data before saving
2991 2004-11-18 Chris Blumenberg <cblu@apple.com>
2993 * WebView.subproj/WebHTMLRepresentation.m:
2994 (-[WebHTMLRepresentation currentForm]): removed stray ";"
2996 2004-11-18 Chris Blumenberg <cblu@apple.com>
2998 Fixed development build failure.
3000 * Misc.subproj/WebIconDatabase.m:
3001 (+[WebIconDatabase sharedIconDatabase]): call LOG not Log
3003 2004-11-18 Chris Blumenberg <cblu@apple.com>
3005 <rdar://problem/3885708> save memory in icon DB by not using NSSets when holding 1 object
3007 Reviewed by sullivan.
3009 * Misc.subproj/WebIconDatabase.m:
3010 (+[WebIconDatabase sharedIconDatabase]): added timing code
3011 (-[WebIconDatabase _clearDictionaries]): new
3012 (-[WebIconDatabase _loadIconDictionaries]): call _clearDictionaries in 2 places before we bail, use _web_setObjectUsingSetIfNecessary:forKey: when adding site URLs to the iconURLToURLs dictionary
3013 (-[WebIconDatabase _updateFileDatabase]): fixed comment
3014 (-[WebIconDatabase _setIconURL:forURL:]): use _web_setObjectUsingSetIfNecessary:forKey: when adding site URLs to the iconURLToURLs dictionary
3015 (-[WebIconDatabase _releaseIconForIconURLString:]): handle NSString objects retured from iconURLToURLs
3016 (-[NSMutableDictionary _web_setObjectUsingSetIfNecessary:forKey:]): new, puts a set on the dictionary when there are 2 or more object for s key
3018 2004-11-17 Richard Williamson <rjw@apple.com>
3020 Fixed <rdar://problem/3885073> REGRESSION: Tab images at top of news.com.com replicated and squished
3022 Correctly account for scaled image size and clipping.
3026 * WebCoreSupport.subproj/WebImageData.h:
3027 * WebCoreSupport.subproj/WebImageData.m:
3028 * WebCoreSupport.subproj/WebImageRenderer.m:
3029 (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
3031 2004-11-17 Maciej Stachowiak <mjs@apple.com>
3033 Reviewed by Richard.
3035 <rdar://problem/3885076> Don't make IDN calls for all-ascii URLs to save about 3 pages
3038 * Misc.subproj/WebNSURLExtras.m:
3039 (mapHostNames): If encoding and not decoding, then bail early if the URL is all ascii.
3040 (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Remove earlier special-case
3041 check for localhost, no longer needed.
3043 2004-11-17 Richard Williamson <rjw@apple.com>
3045 Fixed <rdar://problem/3863601> Legacy font cache code in [WebTextRendererFactory createSharedFactory] may be unnecesary
3047 and added call to SPI for
3049 <rdar://problem/3884448> WebKit should turn on CG local font cache
3051 currently disabled until a Tiger build shows up with the SPI.
3053 Reviewed by David Harrison.
3055 * WebCoreSupport.subproj/WebTextRendererFactory.m:
3056 (+[WebTextRendererFactory createSharedFactory]):
3058 2004-11-17 Richard Williamson <rjw@apple.com>
3060 Fixed <rdar://problem/3882212> REGRESSION: Images clipped instead of scaled
3061 Fixed <rdar://problem/3884088> Crash terminating image load
3063 Also added code to turn off color correction for images created
3064 via CGImageSources. This code is currently disabled because CG
3065 can't change the color space of images loaded progressively.
3066 Further, according to Dave Hayward, CG will no longer attempt
3067 to color correct images that don't have embedded profiles as of
3072 * WebCoreSupport.subproj/WebImageData.m:
3073 (-[WebImageData _commonTermination]):
3074 (-[WebImageData dealloc]):
3075 (-[WebImageData _invalidateImageProperties]):
3076 (-[WebImageData imageAtIndex:]):
3077 (-[WebImageData incrementalLoadWithBytes:length:complete:]):
3078 (-[WebImageData propertiesAtIndex:]):
3080 2004-11-16 Chris Blumenberg <cblu@apple.com>
3082 Fixed: <rdar://problem/3882034> REGRESSION: Context menu incorrect for PDF content
3086 * WebView.subproj/WebPDFView.m:
3087 (-[WebPDFView hitTest:]): return self if the current event is a context menu event
3088 (-[WebPDFView menuForEvent:]): use the PDFView subview
3090 2004-11-15 Chris Blumenberg <cblu@apple.com>
3092 Fixed: <rdar://problem/3880410> save 5 dirty pages by soft-linking against PDFKit framework
3096 * WebKit.pbproj/project.pbxproj:
3097 * WebView.subproj/WebPDFRepresentation.m:
3098 (+[WebPDFRepresentation PDFDocumentClass]): new
3099 (-[WebPDFRepresentation finishedLoadingWithDataSource:]): use PDFDocumentClass
3100 * WebView.subproj/WebPDFView.h:
3101 * WebView.subproj/WebPDFView.m:
3102 (+[WebPDFView PDFKitBundle]): new
3103 (+[WebPDFView PDFViewClass]): new
3104 (-[WebPDFView initWithFrame:]): create a PDFView subview
3105 (-[WebPDFView dealloc]): release the PDFView subview
3106 (-[WebPDFView PDFSubview]): new
3108 2004-11-15 Chris Blumenberg <cblu@apple.com>
3110 Fixed: <rdar://problem/3879891> WebKit should link against PDFKit instead of Quartz
3114 * WebKit.pbproj/project.pbxproj: link against PDFKit if it is present instead of Quartz.framework
3116 2004-11-15 Richard Williamson <rjw@apple.com>
3118 Fixed missing retain of image property data.
3122 * WebCoreSupport.subproj/WebImageData.h:
3123 * WebCoreSupport.subproj/WebImageData.m:
3124 (-[WebImageData dealloc]):
3125 (-[WebImageData _invalidateImages]):
3126 (-[WebImageData imageAtIndex:]):
3127 (-[WebImageData propertiesAtIndex:]):
3128 (-[WebImageData _frameDuration]):
3130 2004-11-15 Richard Williamson <rjw@apple.com>
3132 Cache image properties and frame durations.
3133 Create NSImage and TIFF representations from CGImage, lazily, as needed for
3134 dragging and element info dictionary.
3138 * WebCoreSupport.subproj/WebImageData.h:
3139 * WebCoreSupport.subproj/WebImageData.m:
3140 (-[WebImageData dealloc]):
3141 (-[WebImageData size]):
3142 (-[WebImageData propertiesAtIndex:]):
3143 (-[WebImageData _frameDurationAt:]):
3144 (-[WebImageData _frameDuration]):
3145 * WebCoreSupport.subproj/WebImageRenderer.h:
3146 * WebCoreSupport.subproj/WebImageRenderer.m:
3147 (-[WebImageRenderer dealloc]):
3148 (-[WebImageRenderer TIFFRepresentation]):
3149 (-[WebImageRenderer image]):
3151 2004-11-14 Maciej Stachowiak <mjs@apple.com>
3155 <rdar://problem/3879226> WebKit needlessly uses extra memory to store icon refcounts as NSNumbers
3157 * Misc.subproj/WebIconDatabase.m:
3158 (-[WebIconDatabase init]):
3159 (-[WebIconDatabase _setIconURL:forURL:]):
3160 (-[WebIconDatabase _retainIconForIconURLString:]):
3161 (-[WebIconDatabase _releaseIconForIconURLString:]):
3162 (-[WebIconDatabase _retainFutureIconForURL:]):
3163 (-[WebIconDatabase _releaseFutureIconForURL:]):
3164 * Misc.subproj/WebIconDatabasePrivate.h:
3166 2004-11-15 John Sullivan <sullivan@apple.com>
3170 - fixed <rdar://problem/3879513> leak in [WebArchive _propertyListRepresentation] copying HTML to pasteboard
3172 * WebView.subproj/WebArchive.m:
3173 (-[WebArchive _propertyListRepresentation]):
3174 the array holding the subresources was not released after use, oops!
3176 2004-11-12 Chris Blumenberg <cblu@apple.com>
3178 Fixed: <rdar://problem/3874577> Opening restricted (parental) content in new window/tab reveals Safari's "Resources" folder
3182 * WebView.subproj/WebDefaultContextMenuDelegate.m:
3183 (-[WebDefaultUIDelegate openFrameInNewWindow:]): use the unreachable URL if there is one
3187 2004-11-11 Richard Williamson <rjw@apple.com>
3189 Report actual size (not partial size) but use partial size
3194 * WebCoreSupport.subproj/WebImageData.h:
3195 * WebCoreSupport.subproj/WebImageData.m:
3196 (-[WebImageData size]):
3198 2004-11-11 Darin Adler <darin@apple.com>
3202 - added _wasFirstResponderAtMouseDownTime method to bridge so we can fix
3203 <rdar://problem/3846152> REGRESSION (125-166): can't drag text out of <input type=text> fields
3204 with a subsequent change to WebCore.
3206 * WebCoreSupport.subproj/WebBridge.m:
3207 (wasFirstResponderAtMouseDownTime:): Added. Calls _wasFirstResponderAtMouseDownTime
3209 (_getPreSmartSet): Move global inside the function, add (void) for cleanliness.
3210 (_getPostSmartSet): Ditto.
3212 * WebView.subproj/WebHTMLView.m:
3213 (-[WebHTMLViewPrivate dealloc]): Release firstResponderAtMouseDownTime.
3214 (-[WebHTMLView _setMouseDownEvent:]): Early exit if event is not changing.
3215 Set firstResponderAtMouseDownTime to the first responder.
3216 (-[WebHTMLView mouseDown:]): Release firstResponderAtMouseDownTime after handling
3217 the mouseDown event.
3218 (-[WebHTMLView _wasFirstResponderAtMouseDownTime:]): Added. Uses the
3219 firstResponderAtMouseDownTime field.
3220 * WebView.subproj/WebHTMLViewInternal.h: Added firstResponderAtMouseDownTime field
3221 and _wasFirstResponderAtMouseDownTime method.
3223 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
3225 2004-11-11 Richard Williamson <rjw@apple.com>
3229 Work-around to minimize impact of 3876764. Cache frame durations
3230 after first call. So we'll still leak 1K for each animated
3231 image, but that's better than 1K each time the frame is drawn!
3232 * WebCoreSupport.subproj/WebImageData.h:
3233 * WebCoreSupport.subproj/WebImageData.m:
3234 (-[WebImageData _frameDuration]):
3236 Simplified animation cleanup code. Fixed leak due to
3237 incorrect key passed to CFDictionaryRemoveValue.
3239 (+[WebImageData stopAnimationsInView:]):
3240 (-[WebImageData addAnimatingRenderer:inView:]):
3241 (-[WebImageData removeAnimatingRenderer:]):
3242 (-[WebImageData _stopAnimation]):
3244 2004-11-11 Darin Adler <darin@apple.com>
3248 - fixed <rdar://problem/3605906> Flash scrolled off the top and bottom cause CPU spin when combined with something dirty on the visible part of the page
3250 * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
3251 Work around AppKit bug by using rectangles from getRectsBeingDrawn:count: instead of
3252 using the passed-in rectangle.
3254 2004-11-11 Richard Williamson <rjw@apple.com>
3256 Work-arounds to make new ImageIO code work correctly. Still
3257 disabled for now. Requires at least Tiger 300. Testing does
3258 show a 3% improvement in PLT tests! That's huge!
3262 * WebCoreSupport.subproj/WebImageData.m:
3263 (-[WebImageData imageAtIndex:]):
3264 (-[WebImageData incrementalLoadWithBytes:length:complete:]):
3265 (-[WebImageData isNull]):
3267 2004-11-10 Chris Blumenberg <cblu@apple.com>
3269 Fixed: <rdar://problem/3396872> ICONS: icon DB inconsistencies can cause slowness during startup, idle and quit
3273 * Misc.subproj/WebFileDatabase.m:
3274 (-[WebFileDatabase objectForKey:]): added logging code
3275 * Misc.subproj/WebIconDatabase.m:
3276 (-[WebIconDatabase init]): use alloc, init rather than autorelease, retain
3277 (-[WebIconDatabase _loadIconDictionaries]): use 1 object for mapping icon URLs to site URLs and vice versa rather than 3. This avoids inconsistencies and is faster.
3278 (-[WebIconDatabase _updateFileDatabase]): write 1 object out
3280 2004-11-09 David Hyatt <hyatt@apple.com>
3282 Fix for 3873234, Safari UI is unresponsive when parsing multiple HTML docs and 3873233, Safari hangs when
3283 loading large local files.
3287 * WebCoreSupport.subproj/WebBridge.m:
3288 (-[WebBridge tokenizerProcessedData]):
3289 * WebView.subproj/WebDataSource.m:
3290 (-[WebDataSource _receivedMainResourceError:complete:]):
3291 (-[WebDataSource isLoading]):
3293 2004-11-09 Richard Williamson <rjw@apple.com>
3295 Fixed <rdar://problem/3870964> 8A300: Safari not recognizing a PDF link (it displays raw data)
3297 Add "text/pdf" as an acceptable PDF MIME type.
3301 * WebView.subproj/WebDataSource.m:
3302 (+[WebDataSource _repTypesAllowImageTypeOmission:]):
3303 * WebView.subproj/WebFrameView.m:
3304 (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
3306 2004-11-08 Chris Blumenberg <cblu@apple.com>
3308 Fixed: <rdar://problem/3783904> Return key behavior is confusingly different between popup menus and autofill menus
3312 * WebCoreSupport.subproj/WebBridge.m:
3313 (-[WebBridge control:textView:shouldHandleEvent:]): new
3314 * WebView.subproj/WebFormDelegate.h:
3315 * WebView.subproj/WebFormDelegate.m:
3316 (-[WebFormDelegate control:textView:shouldHandleEvent:inFrame:]): new
3318 2004-11-05 Chris Blumenberg <cblu@apple.com>
3320 Fixed: <rdar://problem/3854218> Safari is sometimes really slow because of increased null events to plug-ins
3322 * Plugins.subproj/WebBaseNetscapePluginView.m: reverted null event interval to 0.02
3324 2004-11-05 Chris Blumenberg <cblu@apple.com>
3326 Fixed: <rdar://problem/3838413> REGRESSION (Mail): "Smart" word paste adds spaces before/after special characters
3330 * WebCoreSupport.subproj/WebBridge.m:
3331 (_getPreSmartSet): copied from AppKit
3332 (_getPostSmartSet): ditto
3333 (-[WebBridge isCharacterSmartReplaceExempt:isPreviousCharacter:]): new
3335 2004-11-05 Richard Williamson <rjw@apple.com>
3337 Fixed <rdar://problem/3810702> _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector: ASSERTS when reentered from Xcode's man page viewer
3339 Reviewed by Maciej (a long time ago).
3341 * WebView.subproj/WebFrame.m:
3342 (-[WebFrame _loadDataSource:withLoadType:formState:]):
3344 Fixed <rdar://problem/3845307> WebKit needs to export _HIWebViewRegisterClass so HIWebViews can work in Carbon nib files
3346 As suggested in the bug, the fix is to actually call
3347 HIWebViewRegisterClass in WebKitInitForCarbon, rather than
3348 exporting the symbol.
3352 * Carbon.subproj/CarbonUtils.m:
3354 * Carbon.subproj/HIWebView.m:
3355 * WebKit.pbproj/project.pbxproj:
3359 2004-11-05 Darin Adler <darin@apple.com>
3363 - fixed <rdar://problem/3857151> Assertion failure in "trackingRectOwner" while moving mouse over Slashdot.org page
3365 * WebView.subproj/WebHTMLView.m:
3366 (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Changed to no longer call
3367 addTrackingRect to do the work for consistency with the new method below. Not too much copied and pasted code.
3368 (-[WebHTMLView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Added an override
3369 for this new method in Tiger. No harm in implementing it on Panther, although it won't be called.
3370 (-[WebHTMLView _removeTrackingRects:count:]): Ditto.
3372 2004-11-04 David Hyatt <hyatt@apple.com>
3374 Make sure the dominant line direction is properly set for RTL runs so that spaces will reverse.
3376 Change xHeight to measure the ascent of the x glyph, since the xHeight metrics appear to be
3377 totally bogus in both CG and AppKit.
3381 * WebCoreSupport.subproj/WebTextRenderer.m:
3382 (-[WebTextRenderer xHeight]):
3383 (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
3384 (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
3385 (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
3386 (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
3387 (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
3389 2004-11-02 Maciej Stachowiak <mjs@apple.com>
3391 Reviewed by Dave Hyatt (when I originally coded it).
3393 Redid WebKit part of fix for:
3395 <rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange:
3397 * WebView.subproj/WebHTMLView.m:
3398 (-[WebHTMLView firstRectForCharacterRange:]): Call the appropriate new bridge method,
3399 and translate to screen coordinates.
3401 2004-11-02 John Sullivan <sullivan@apple.com>
3405 - [NSFont menuFontOfSize:], called from WebStringTruncator, was taking > 9% of the time creating a
3406 very large bookmarks menu, so I cached this one NSFont object.
3408 * Misc.subproj/WebStringTruncator.m:
3410 new function, caches the font used when no font is specified
3411 (+[WebStringTruncator centerTruncateString:toWidth:]):
3414 2004-11-02 Ken Kocienda <kocienda@apple.com>
3418 WebCore now implements a command to insert a block in response to typing a return key, and
3419 some names were improved in the course of this work.
3421 * WebView.subproj/WebHTMLView.m:
3422 (-[WebHTMLView insertNewline:]): Now calls insertLineBreak on bridge object.
3423 (-[WebHTMLView insertLineBreak:]): New method.
3424 (-[WebHTMLView insertParagraphSeparator:]): Now implemented.
3425 * WebView.subproj/WebView.m:
3429 2004-10-29 Chris Blumenberg <cblu@apple.com>
3431 * WebKit.exp: added _WebPlugInModeKey, forgot to add it earlier
3433 2004-10-29 Darin Adler <darin@apple.com>
3435 - fixed <rdar://problem/3855573> Remove reference to "WebScriptMethods" from WebScriptObject.h comments
3437 * Plugins.subproj/WebScriptObject.h: Removed unneeded #ifdef protection for multiple includes (since
3438 this is an Objective-C header and we use #import for those). Fixed comments as requested in the bug
3439 report to match the contents of the file.
3441 2004-10-27 Ken Kocienda <kocienda@apple.com>
3445 Added new SPI for Mail so it can get the behavior it needs when the user hits
3446 the return key with the selection in quoted content.
3448 * WebView.subproj/WebView.m
3449 * WebView.subproj/WebViewPrivate.h
3451 2004-10-26 Chris Blumenberg <cblu@apple.com>
3453 Fixed exception that Darin encountered in Mail.
3457 * Plugins.subproj/WebPluginController.m:
3458 (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): if the plug-in returns a nil view, return nil
3460 2004-10-25 Chris Blumenberg <cblu@apple.com>
3462 Darin made an internal notification have the Web prefix.
3466 * Plugins.subproj/WebBaseNetscapePluginView.m:
3467 (-[WebBaseNetscapePluginView addWindowObservers]):
3468 (-[WebBaseNetscapePluginView removeWindowObservers]):
3469 (ConsoleConnectionChangeNotifyProc):
3471 2004-10-25 John Sullivan <sullivan@apple.com>
3475 - Cleanup from fix for <rdar://problem/3851676> bookmarks should not hold onto a WebHistoryItem object;
3476 eliminated notificationsSuppressed mechanism, which was used only by WebBookmark
3478 * History.subproj/WebHistoryItem.m:
3479 removed notificationsSuppressed ivar from private data object
3480 (-[WebHistoryItem setAlternateTitle:]):
3481 remove notificationsSuppressed guard
3482 (-[WebHistoryItem setURLString:]):
3484 (-[WebHistoryItem setOriginalURLString:]):
3486 (-[WebHistoryItem setTitle:]):
3488 (-[WebHistoryItem _setLastVisitedTimeInterval:]):
3490 (-[WebHistoryItem setNotificationsSuppressed:]):
3492 (-[WebHistoryItem notificationsSuppressed]):
3495 * History.subproj/WebHistoryItemPrivate.h:
3496 removed notificationsSuppressed and setNotificationsSuppressed
3498 2004-10-22 Chris Blumenberg <cblu@apple.com>
3500 Fixed: <rdar://problem/3851491> installedPlugins being called for a page without plugins
3504 * WebView.subproj/WebFrameView.m:
3505 (+[WebFrameView _canShowMIMETypeAsHTML:]): call _viewTypesAllowImageTypeOmission instead of using ivar since the ivar is nil until _viewTypesAllowImageTypeOmission is called, this was causing [WebView canShowMIMEType:] to check plug-ins
3509 2004-10-22 Ken Kocienda <kocienda@apple.com>
3513 * WebKit.pbproj/project.pbxproj: Add GCC_ENABLE_OBJC_GC and GCC_FAST_OBJC_DISPATCH flags.
3515 2004-10-21 Darin Adler <darin@apple.com>