2004-09-12 Chris Blumenberg Support for: drop rate or time remaining from download status when window is too small to fit it Reviewed by john. * Misc.subproj/WebStringTruncator.h: * Misc.subproj/WebStringTruncator.m: (+[WebStringTruncator widthOfString:font:]): new 2004-09-10 Richard Williamson Fixed CrashTracer: .1459 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 0x138 We were explicitly failing when we encountered deprecated fonts. (Those with unsupported glyph packings). Deprecated fonts should only appear on a system that have stuff migrated from OS 9. Ugh, thats probably why we've never seen the problem here. Reviewed by John. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:usingPrinterFont:]): 2004-09-10 John Sullivan Reviewed by Chris. - added _isFrameSet as a private method, so it can be used in WebBrowser. This is needed to merge the fix for 3123987 to SUPanNavy. * WebView.subproj/WebFrame.m: (-[WebFrame _isFrameSet]): new method * WebView.subproj/WebFramePrivate.h: declare new method 2004-09-10 Chris Blumenberg Fixed previous "Reviewed by" line. * ChangeLog: 2004-09-09 Chris Blumenberg Support for: debug menu item to enable RSS animation on first layout Reviewed by rjw. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge didFirstLayout]): new * WebView.subproj/WebDefaultFrameLoadDelegate.m: (-[WebDefaultFrameLoadDelegate webView:didFirstLayoutInFrame:]): new * WebView.subproj/WebViewPrivate.h: 2004-09-09 Richard Williamson Alternate implementation of image rendering. Use CGImageRefs instead of NSImages. Mostly works, but currently disabled because of issues w/ CG. Reviewed by Chris. * ChangeLog: * WebCoreSupport.subproj/WebImageData.h: Added. * WebCoreSupport.subproj/WebImageData.m: Added. (-[WebImageData _commonTermination]): (-[WebImageData dealloc]): (-[WebImageData finalize]): (-[WebImageData copyWithZone:]): (-[WebImageData numberOfImages]): (-[WebImageData currentFrame]): (-[WebImageData _invalidateImages]): (-[WebImageData imageAtIndex:]): (-[WebImageData incrementalLoadWithBytes:length:complete:]): (drawPattern): (-[WebImageData tileInRect:fromPoint:context:]): (-[WebImageData isNull]): (-[WebImageData size]): (-[WebImageData _frameDuration]): (-[WebImageData _repetitionCount]): (-[WebImageData isAnimationFinished]): (+[WebImageData stopAnimationsInView:]): (-[WebImageData addAnimatingRenderer:inView:]): (-[WebImageData removeAnimatingRenderer:]): (-[WebImageData _stopAnimation]): (-[WebImageData _nextFrame:]): (-[WebImageData animate]): * WebCoreSupport.subproj/WebImageRenderer.h: * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer initWithMIMEType:]): (-[WebImageRenderer initWithData:MIMEType:]): (-[WebImageRenderer initWithContentsOfFile:]): (-[WebImageRenderer dealloc]): (-[WebImageRenderer copyWithZone:]): (-[WebImageRenderer retainOrCopyIfNeeded]): (-[WebImageRenderer resize:]): (-[WebImageRenderer size]): (-[WebImageRenderer MIMEType]): (-[WebImageRenderer frameCount]): (-[WebImageRenderer isNull]): (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): (-[WebImageRenderer drawImageInRect:fromRect:]): (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): (-[WebImageRenderer tileInRect:fromPoint:context:]): (-[WebImageRenderer _startOrContinueAnimationIfNecessary]): (+[WebImageRenderer stopAnimationsInView:]): (-[WebImageRenderer stopAnimation]): (-[WebImageRenderer targetAnimationRect]): (-[WebImageRenderer increaseUseCount]): (-[WebImageRenderer decreaseUseCount]): (-[WebImageRenderer flushRasterCache]): (-[WebImageRenderer imageRef]): (-[WebImageRenderer TIFFRepresentation]): (-[WebImageRenderer image]): * WebCoreSupport.subproj/WebImageRendererFactory.m: (-[WebImageRendererFactory imageRendererWithMIMEType:]): (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): (-[WebImageRendererFactory imageRendererWithSize:]): (-[WebImageRendererFactory imageRendererWithName:]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebImageView.m: (-[WebImageView image]): === Safari-163 === 2004-09-09 Maciej Stachowiak - rolled out last two changes, they seem to cause a performance regression * WebView.subproj/WebHTMLView.m: (-[WebHTMLView firstRectForCharacterRange:]): 2004-09-09 Maciej Stachowiak - fixed build * WebView.subproj/WebHTMLView.m: (-[WebHTMLView firstRectForCharacterRange:]): 2004-09-08 Maciej Stachowiak Reviewed by Dave. WebKit part of fix for: REGRESSION (Mail): implement firstRectForCharacterRange: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView firstRectForCharacterRange:]): Call the appropriate new bridge method, and translate to screen coordinates. 2004-09-09 Darin Adler Reviewed by Ken. - fixed mark-related methods not implemented (needed for people with them in their key bindings files) * WebKit.pbproj/project.pbxproj: Update MACOSX_DEPLOYMENT_TARGET to 10.3 and add -fobjc-exceptions so we can use new exceptions. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView setMark:]): Added. (unionDOMRanges): Added. (-[WebHTMLView deleteToMark:]): Added. (-[WebHTMLView selectToMark:]): Added. (-[WebHTMLView swapWithMark:]): Added. (-[WebHTMLView markedRange]): Updated for change to bridge method names. (-[WebHTMLView hasMarkedText]): Ditto. (-[WebHTMLView unmarkText]): Ditto. (-[WebHTMLView _selectMarkedText]): Ditto. (-[WebHTMLView _selectRangeInMarkedText:]): Ditto. (-[WebHTMLView setMarkedText:selectedRange:]): Ditto. (-[WebHTMLView _insertText:selectInsertedText:]): Removed check for empty string. An empty string should not be filtered out here. We need to allow inserting an empty string. (-[WebHTMLView _selectionIsInsideMarkedText]): Updated for change to bridge method names. (-[WebHTMLView _updateSelectionForInputManager]): Ditto. * WebView.subproj/WebView.m: (-[WebView searchFor:direction:caseSensitive:wrap:]): Changed to use selectionDOMRange instead of selectionStart. * WebView.subproj/WebHTMLRepresentation.h: Removed unused setSelectionFrom method. * WebView.subproj/WebHTMLRepresentation.m: Ditto. 2004-09-08 John Sullivan Reviewed by Darin. - fixed the localization aspect of: undoable operations all say "Undo" in the menu, no specific action names We now have all the strings ready for localization; we just don't actually use them yet. * English.lproj/Localizable.strings: updated for this change * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setUndoActionNamePlaceholder]): added this placeholder method whose purpose is to hold localizable strings for all the Undo action names that NSTextView uses. Later we will use some or all of these, but we can do that part after the localization freeze. 2004-09-08 Chris Blumenberg Fixed previous "Reviewed by" line. * ChangeLog: 2004-09-08 Chris Blumenberg Fixed: REGRESSION (Mail): copying from MS word and pasting into editable region leaves internal clipboard data Reviewed by kocienda. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ignore Microsoft's header meta data 2004-09-08 Chris Blumenberg Fixed: WebBaseResourceHandleDelegate always returns cached data for subresource loads Reviewed by rjw. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate _canUseResourceForRequest:]): new (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceForRequest: 2004-09-08 Chris Blumenberg Forgot to add this in previous check-in. * English.lproj/WebViewEditingContextMenu.nib: Added. 2004-09-08 Chris Blumenberg Fixed: WebKit uses the NSTextViewContextMenu nib from inside AppKit Reviewed by john. * English.lproj/StringsNotToBeLocalized.txt: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): use our copy of the nib 2004-09-07 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 2004-09-07 Chris Blumenberg Fixed: exception raised when dragging a URL with 2-byte characters (checked in with last check-in) 2004-09-07 Chris Blumenberg Fixed: Need to pass cmd-modified keys to plug-ins can't use safari edit menu to copy and paste with Vantage Learning's My Access Reviewed by john. * Plugins.subproj/WebBaseNetscapePluginView.m: fake up command-key events for cut, copy, paste and select all so these menu items work for plug-ins (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]): (-[WebBaseNetscapePluginView cut:]): (-[WebBaseNetscapePluginView copy:]): (-[WebBaseNetscapePluginView paste:]): (-[WebBaseNetscapePluginView selectAll:]): 2004-09-07 Darin Adler - fixed deployment build * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Initialize prepend variable. 2004-09-06 Darin Adler Reviewed by John. - fixed REGRESSION (Mail): Editable WebKit doesn't support underline yet (in the iChat profile window, at least) - fixed REGRESSION (Mail): copy style/paste style doesn't work in HTML editing in Mail - fixed REGRESSION (Mail): Home and End keys don't work in message composer - fixed REGRESSION (Mail): ctrl-d emacs key binding does not work (delete forward) - fixed REGRESSION (Mail): ctrl-k emacs key binding does not work (delete to end of paragraph) - fixed REGRESSION (Mail): ctrl-y emacs key binding does not work (yank) - fixed REGRESSION (Mail): ctrl-o emacs key binding does not work (insert newline in front of insertion point) - fixed REGRESSION (Mail): ctrl-left-arrow emacs key binding does not work (move to beginning of line) - fixed REGRESSION (Mail): ctrl-right-arrow emacs key binding does not work (move to end of line) - implemented a first cut at other attribute changes from Text Panel besides underline (bugs?) - dealt with a couple of FIXMEs in WebHTMLView.m - updated list of not-yet-implemented methods in WebHTMLView.m - fixed many deletion operations to call the correct editing delegate methods * WebView.subproj/WebFrameViewPrivate.h: Remove _scrollToTopLeft and _scrollToBottomLeft. No one was calling them anyway, so they should really have been marked internal and not private. * WebView.subproj/WebFrameView.m: (-[WebFrameView scrollToBeginningOfDocument:]): Renamed _scrollToTopLeft to this, so the home key would start working with the key bindings machinery. (-[WebFrameView scrollToEndOfDocument:]): Same thing, for end key. (-[WebFrameView keyDown:]): Update for name changes, and also make sure we don't try to grab control-arrow keys here (probably not necessary, but good anyway). * WebView.subproj/WebHTMLViewInternal.h: Added keyDownEvent field, and startNewKillRingSequence and nextResponderDisabledOnce flags. * WebView.subproj/WebHTMLView.m: Rearrange declarations at the top of the file so that external things are up with the #import directives and things inside this file are declared below. (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): Ditto. (-[WebHTMLView _calculatePrintHeight]): Moved up into the "internal to file" category. (-[WebHTMLView _updateTextSizeMultiplier]): Ditto. (-[WebHTMLView _selectedRange]): Added. (-[WebHTMLView _openLinkFromMenu:]): Left this method lying around even though I deleted the other APPKIT_CODE_FOR_REFERENCE in case this shows up in the context menu we are now sharing with the AppKit. Chris will look at this later, and he can delete it then. (+[WebHTMLView initialize]): Call _NSInitializeKillRing. (-[WebHTMLView _documentRange]): Added. (-[WebHTMLView string]): Call the bridge to get the plain text rather than making an attributed string and then getting the text from there. (-[WebHTMLView becomeFirstResponder]): Set startNewKillRingSequence flag, so that new deletions will create a new kill ring entry. (-[WebHTMLView moveToBeginningOfDocument:]): Use backward direction instead of left direction. (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto. (-[WebHTMLView moveToBeginningOfLine:]): Ditto. (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]): Ditto. (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary. (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto. (-[WebHTMLView moveToEndOfDocument:]): Use forward direction instead of right direction. (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto. (-[WebHTMLView moveToEndOfLine:]): Ditto. (-[WebHTMLView moveToEndOfLineAndModifySelection:]): Ditto. (-[WebHTMLView moveToEndOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary. (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto. (-[WebHTMLView _shouldDeleteRange:]): Added. (-[WebHTMLView _deleteRange:preflight:killRing:prepend:]): Added. (-[WebHTMLView delete:]): Changed to call new _deleteRange method. (-[WebHTMLView cut:]): Changed to preflight property and call new _deleteRange method. (-[WebHTMLView _selectionFontAttributes]): Added. (-[WebHTMLView _selectionFontAttributesAsRTF]): Added. (-[WebHTMLView _fontAttributesFromFontPasteboard]): Added. (-[WebHTMLView _emptyStyle]): Added. (-[WebHTMLView _styleFromFontAttributes:]): Added. (-[WebHTMLView _applyStyleToSelection:]): Added. (-[WebHTMLView copyFont:]): Implemented. (-[WebHTMLView pasteFont:]): Implemented. (-[WebHTMLView _originalFontA]): Added. (-[WebHTMLView _originalFontB]): Added. (-[WebHTMLView _addToStyle:fontA:fontB:]): Added. Has code from the method that figures out what the font manager is doing for changeFont:, now needed for changeAttribute: too. (-[WebHTMLView _styleFromFontManagerOperation]): Renamed and now calls shared methods. (-[WebHTMLView changeFont:]): Call shared method, still does the same thing. (-[WebHTMLView _colorAsString:]): Added. Has code from the method we were using with the color panel before. (-[WebHTMLView _shadowAsString:]): Added. (-[WebHTMLView _styleForAttributeChange:]): Added. (-[WebHTMLView changeAttributes:]): Implemented. (-[WebHTMLView _styleFromColorPanelWithSelector:]): Renamed and now calls shared methods. (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): Call method by new name. (-[WebHTMLView changeDocumentBackgroundColor:]): Call method by new name. (-[WebHTMLView changeColor:]): Changed around a bit; still doesn't work yet. (-[WebHTMLView _alignSelectionUsingCSSValue:]): Call shared methods. (-[WebHTMLView indent:]): Removed, since NSTextView doesn't implement this method. Added to list of methods to possibly implement later in the file. (-[WebHTMLView insertTab:]): Call insertText: to save code and so we get WebViewInsertActionTyped instead of WebViewInsertActionPasted. (-[WebHTMLView changeCaseOfLetter:]): Removed, since NSTextView doesn't implement this method. Added to list of methods to possibly implement later in the file. (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Added. (-[WebHTMLView deleteForward:]): Implemented. This makes Control-D work. (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Implemented by just calling deleteBackward for now; probably better than doing nothing. (-[WebHTMLView deleteWordForward:]): Changed to call new _delete method above. Fixes things so that we delete the selection if there is one, get the appropriate delegate calls, handle the kill ring properly, and don't do any selection if we can't delete. (-[WebHTMLView deleteWordBackward:]): Ditto. (-[WebHTMLView deleteToBeginningOfLine:]): Ditto. (-[WebHTMLView deleteToEndOfLine:]): Ditto. (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto. (-[WebHTMLView deleteToEndOfParagraph:]): Ditto. Added additional behavior needed since this is bound to Control-K, so it's not really just delete to end of paragraph. (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): Added. Calls insertNewline:. (-[WebHTMLView insertTabIgnoringFieldEditor:]): Added. Calls insertTab:. (-[WebHTMLView subscript:]): Added. (-[WebHTMLView superscript:]): Added. (-[WebHTMLView unscript:]): Added. (-[WebHTMLView underline:]): Added. (-[WebHTMLView yank:]): Added. (-[WebHTMLView yankAndSelect:]): Added. Calls _insertText. (-[WebHTMLView _arrowKeyDownEventSelectorIfPreprocessing:]): Added. Part of workaround for control-arrow key trouble. (-[WebHTMLView respondsToSelector:]): Added. More of workaround. (-[WebHTMLView nextResponder:]): Added. More of workaround. (-[WebHTMLView _selectionChanged]): Set startNewKillRingSequence flag, so that new deletions will create a new kill ring entry. (-[WebHTMLView _updateFontPanel]): Remove a bunch of code here that wasn't working very well because it walked a DOM range incorrectly, and instead use the new method that does all the right stuff on the other side of the bridge. (-[WebHTMLView _insertText:selectInsertedText:]): Added new helper method for use by both insertText and yankAndSelect, with most of the guts of insertText and one additional parameter. (-[WebHTMLView insertText:]): Call the new _insertText. * WebView.subproj/WebView.m: Use macros to make the forwarding from WebView more terse. Updated the list to include a few methods it didn't before. 2004-09-06 John Sullivan Reviewed by Darin. - put preference keys in a private header file so Safari can use them for Managed Preferences * WebView.subproj/WebPreferenceKeysPrivate.h: new Private header file, includes the #defines for NSUserDefaults preference keys * WebView.subproj/WebPreferences.m: moved the preference key #defines out of here; now imports WebPreferenceKeysPrivate.h * WebKit.pbproj/project.pbxproj: updated for new file 2004-09-03 Chris Blumenberg Fixed: CrashTracer: ...87 crashes at com.apple.WebKit: -[WebNetscapePluginPackage initWithPath:] + 0x18c Reviewed by john. * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]): make sure the file is at least 8 bytes long before calling memcmp 2004-09-03 Chris Blumenberg Fixed: assertion failure when moving an image REGRESSION (Mail): when I try to reorder an image, the image is duplicated Reviewed by NOBODY (OOPS!). * DOM.subproj/WebDOMOperations.m: (-[DOMDocument _createRangeWithNode:]): new, convenience (-[DOMDocument _documentRange]): use _ createRangeWithNode: * DOM.subproj/WebDOMOperationsPrivate.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): set the selection to the image when starting the drag. This allows "move selection" to work and this matches NSText's behavior === Safari-162 === 2004-09-02 Richard Williamson Support for patterns in . (These changes attempt to create a CGImageRef from a WebImageRenderer that is used by the pattern drawing function.) Reviewed by Hyatt. * WebCoreSupport.subproj/WebImageRenderer.h: * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer dealloc]): (-[WebImageRenderer finalize]): (-[WebImageRenderer imageRef]): (_createImageRef): * WebView.subproj/WebPDFView.h: * WebView.subproj/WebPDFView.m: 2004-09-01 Chris Blumenberg Fixed deployment build failure. * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate menuItemWithTag:]): 2004-08-31 Chris Blumenberg Fixed: Context menu for editable WebViews should provide items like Cut and Paste REGRESSION (Mail): no context menu after ctrl-clicking a misspelled word Reviewed by kocienda. * English.lproj/Localizable.strings: * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate menuItemWithTag:]): updated to handle new menu items (-[WebDefaultUIDelegate contextMenuItemsForElement:]): renamed from webView:contextMenuItemsForElement:defaultMenuItems: (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): new (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): moved, now call contextMenuItemsForElement: or editingContextMenuItemsForElement: * WebView.subproj/WebDefaultUIDelegate.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _isSelectionMisspelled]): new (-[WebHTMLView _guessesForMisspelledSelection]): new (-[WebHTMLView _changeSpellingFromMenu:]): new (-[WebHTMLView _ignoreSpellingFromMenu:]): new (-[WebHTMLView _learnSpellingFromMenu:]): new * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebUIDelegate.h: 2004-08-31 Darin Adler - fixed B&I build failure * WebView.subproj/WebHTMLView.m: (-[WebTextCompleteController _buildUI]): Work around unwanted warning by adding a cast. 2004-08-27 Maciej Stachowiak Reviewed by John. REGRESSION: Can't proceed to survey questions on Lominger's Apple website Because we will stop parsing when there is a pending redirection, avoid setting one if no navigation would actually take place because the number of steps is out of range. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge canGoBackOrForward:]): 2004-08-30 Darin Adler Reviewed by John. - part of fix for REGRESSION (125-128): unrepro crash in QListBox::sizeForNumberOfLines at istweb.apple.com * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory clearCaches]): Call [super clearCaches]. 2004-08-30 Darin Adler Reviewed by Chris. - did work to prepare for uploading files incrementally when submitting forms * History.subproj/WebHistoryItem.m: (-[WebHistoryItem _setFormInfoFromRequest:]): Use NSArray instead of NSData for form data. (-[WebHistoryItem formData]): Ditto. * History.subproj/WebHistoryItemPrivate.h: Ditto. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto. (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto. * WebCoreSupport.subproj/WebSubresourceClient.h: Ditto. * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Ditto. * WebView.subproj/WebFrame.m: (-[WebFrame _loadItem:withLoadType:]): Ditto. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto. * WebView.subproj/WebFramePrivate.h: Ditto. * WebView.subproj/WebFormDataStream.h: Added. * WebView.subproj/WebFormDataStream.m: (-[WebFormDataStream initWithFormDataArray:]): Placeholder; not done yet. (-[WebFormDataStream formDataArray]): Ditto. * WebKit.pbproj/project.pbxproj: Added WebFormDataStream files. 2004-08-30 John Sullivan Reviewed by Ken. - WebKit part of fix for myFrame.print() prints the window but should only print the frame * WebView.subproj/WebUIDelegatePrivate.h: declare new delegate method that includes which frame to print * WebView.subproj/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate webView:printFrameView:]): implement default (no-op) version of new delegate method * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge print]): call new delegate method if available, otherwise call old delegate method, for backward compatibility. 2004-08-27 Maciej Stachowiak Reviewed by John. Checked in by Ken Ken comments: It looks like Maciej forgot to land this when he checked in the WebCore portion of this change. REGRESSION: Can't proceed to survey questions on Lominger's Apple website Because we will stop parsing when there is a pending redirection, avoid setting one if no navigation would actually take place because the number of steps is out of range. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge canGoBackOrForward:]): 2004-08-27 Ken Kocienda Reviewed by Chris Fix for this bug: WebKit aggressive in making pasted text into a URL, even when it's not much like a URL * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Don't try so hard to coerce data on the pasteboard into a URL, and do not make an anchor with an href for any URLs that are explicitly present on the pasteboard. Also, move URL pasteboard type check beneath the RTF checks. === Safari-161 === 2004-08-26 Chris Blumenberg Fixed build failure on Panther. Reviewed by john. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ifdef'd out call to AppKit SPI (-[WebHTMLView _attributeStringFromDOMRange:]): ditto 2004-08-26 Chris Blumenberg Tweak to last check-in. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): 2004-08-26 Chris Blumenberg Fixed: support for pasting and drag and dropping of RTF and RTFD to editable WebViews use AppKit for converting from DOM to RTF Reviewed by rjw. * DOM.subproj/WebDOMOperations.m: (-[DOMDocument _documentRange]): new * DOM.subproj/WebDOMOperationsPrivate.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call AppKit SPI to get a document fragment from an attributed string (-[WebHTMLView string]): added a FIXME (-[WebHTMLView _attributeStringFromDOMRange:]): new, calls AppKit SPI that creates an attributed string from a DOM Range (-[WebHTMLView attributedString]): call _attributeStringFromDOMRange:, fallback to old code if it returns nil (-[WebHTMLView selectedAttributedString]): ditto 2004-08-26 Chris Blumenberg Fixed: Plugin hooks for selected state aren't being called Reviewed by darin. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setIsSelected:forView:]): don't forget colons in method names 2004-08-26 Chris Blumenberg Fixed: can't click in WebView in Carbon WebKit apps (GetEventPlatformEventRecord returns false) Reviewed by rjw. * Carbon.subproj/HIWebView.m: (Click): use WebGetEventPlatformEventRecord not GetEventPlatformEventRecord (MouseUp): ditto (MouseMoved): ditto (MouseDragged): ditto (MouseWheelMoved): ditto (WindowHandler): ditto (HIWebViewEventHandler): ditto (UpdateObserver): ditto (WebGetEventPlatformEventRecord): Call GetEventPlatformEventRecord, if that fails fallback to the current event. This is code Eric Schlegel to me to use. 2004-08-24 Chris Blumenberg Fixed with help from Trey: REGRESSION !25-154): Safari accepts mouse clicks (follows links) when not key Reviewed by rjw. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _isSelectionEvent:]): brought back from CVS (-[WebHTMLView acceptsFirstMouse:]): only call eventMayStartDrag if _isSelectionEvent returns YES since we only want to allow selection dragging on the first mouse down (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto 2004-08-24 Ken Kocienda Reviewed by Hyatt Improved the checks used to see if certain operations can be done based on the state of the selection and whether the selection is editable. I added some helpers and improved some others to assist in making these determinations. This helps to fix this bug: Crash after adding newline to quoted text Since some editing methods expect the the selection to be in a certain state in order to work, these checks help obviate crashes like 3764987. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _writeSelectionToPasteboard:]): _haveSelection name changed to _hasSelection. (-[WebHTMLView _canCopy]): Checks to see if state is appropriate to perform this operation. (-[WebHTMLView _canCut]): Ditto. Function added. (-[WebHTMLView _canDelete]): Ditto. Function refined. (-[WebHTMLView _canPaste]): Ditto. Function refined. (-[WebHTMLView _canType]): Ditto. Function added. (-[WebHTMLView _hasSelection]): Name changed from _haveSelection. (-[WebHTMLView _hasSelectionOrInsertionPoint]): Added. (-[WebHTMLView _isEditable]): Added. (-[WebHTMLView takeFindStringFromSelection:]): _haveSelection name changed to _hasSelection. (-[WebHTMLView validateUserInterfaceItem:]): Ditto (-[WebHTMLView validRequestorForSendType:returnType:]): Ditto (-[WebHTMLView keyDown:]): (-[WebHTMLView copy:]): Uses new _canCopy check. (-[WebHTMLView cut:]): Uses new _canCut check. (-[WebHTMLView delete:]): Now uses _canDelete check. (-[WebHTMLView paste:]): Now uses _canPaste check. (-[WebHTMLView _updateFontPanel]): _haveSelection name changed to _hasSelection. * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebView.m: (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): Use selectionState check to determine whether or not operation can be done. 2004-08-24 Richard Williamson Fixed Some PDFs open with line of previous page above PDF view Set height resize flags on WebPDFView. Reviewed by Chris. * WebView.subproj/WebPDFView.m: (-[WebPDFView initWithFrame:]): 2004-08-24 David Hyatt Add Atom and RSS MIME types to set of supported XML types. Reviewed by rjw * WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]): * WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]): 2004-08-23 Maciej Stachowiak Reviewed by Kevin. - remove annoying ERROR spew and replace with comment * WebView.subproj/WebHTMLView.m: (-[WebHTMLView validAttributesForMarkedText]): 2004-08-23 Maciej Stachowiak Reviewed by Richard. - a bit of code cleanup * WebView.subproj/WebDataSource.m: (-[WebDataSource _stringWithData:]): Call textEncodingName instead of copying it's code. (-[WebDataSource textEncodingName]): Tweak formatting. 2004-08-23 Chris Blumenberg Fixed build. * WebKit.pbproj/project.pbxproj: make sure we're doing -f on a file, not a directory 2004-08-23 Chris Blumenberg Fixed: use new Security framework SPI's to reenable cert acquisition Reviewed by john. * WebCoreSupport.subproj/WebKeyGeneration.cpp: * WebCoreSupport.subproj/WebKeyGeneration.h: * WebCoreSupport.subproj/WebKeyGenerator.h: * WebCoreSupport.subproj/WebKeyGenerator.m: (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): re-enabled cert code, call Panther version on Panther, Tiger version on Tiger (-[WebKeyGenerator addCertificatesToKeychainFromData:]): ditto * WebCoreSupport.subproj/WebNewKeyGeneration.c: Added. (gnrAddContextAttribute): (gnrGetSubjPubKey): (gnrNullAlgParams): (gnrSign): (gnrFreeCssmData): (nssArraySize): (signedPublicKeyAndChallengeString): (addCertificateToKeychainFromData): (addCertificatesToKeychainFromData): * WebCoreSupport.subproj/WebNewKeyGeneration.h: Added. * WebKit.pbproj/project.pbxproj: 2004-08-20 David Hyatt Fix the directionality of the unicode hyphen so that on Panther it now matches Tiger. Reviewed by darin * Misc.subproj/WebUnicode.m: (_unicodeDirection): 2004-08-20 Richard Williamson Implemented new JNI abstraction. We no longer invoke Java methods directly with JNI, rather we call into the plugin. This allows the plugin to dispatch the call to the appropriate VM thread. This change should (will?) fix a whole class of threading related problems with the Java VM. Reviewed by Hyatt. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge getAppletInView:]): 2004-08-20 Trey Matteson 3655407 - Editing: -complete: method unimplemented (WebKit editing API) This feature is mostly implemented. The only loose ends I know of are: 3769654 - text insertions done via complete: should preserve case of full replacement string 3769652 - positioning of complete: popup window wrong for right-to-left languages Reviewed by John * WebView.subproj/WebHTMLView.m: (-[WebHTMLViewPrivate dealloc]): Free new object. (-[WebHTMLView menuForEvent:]): Bail on completion session. (-[WebHTMLView windowDidResignKey:]): Ditto. (-[WebHTMLView windowWillClose:]): Ditto. (-[WebHTMLView mouseDown:]): Ditto. (-[WebHTMLView resignFirstResponder]): Ditto. (-[WebHTMLView keyDown:]): Bail on completion session if WebCore takes the event. Give the CompleteController a crack at the key event. (-[WebHTMLView _expandSelectionToGranularity:]): Adopt method rename (-[WebHTMLView complete:]): Make CompleteController, tell it to do its thing. (-[WebHTMLView checkSpelling:]): Add ERROR(). (-[WebHTMLView showGuessPanel:]): Add ERROR(). (-[WebHTMLView _changeSpellingToWord:]): Add ERROR(). (-[WebHTMLView ignoreSpelling:]): Add ERROR(). (-[WebTextCompleteController initWithHTMLView:]): (-[WebTextCompleteController dealloc]): (-[WebTextCompleteController _insertMatch:]): Stick the new string into the doc. (-[WebTextCompleteController _buildUI]): Make popup window. (-[WebTextCompleteController _placePopupWindow:]): Position popup window. (-[WebTextCompleteController doCompletion]): Lookup matches, display window. (-[WebTextCompleteController endRevertingChange:moveLeft:]): Bail on complete: session. (-[WebTextCompleteController filterKeyDown:]): Process keys while popup is up. (-[WebTextCompleteController _reflectSelection]): Handle choice in popup. (-[WebTextCompleteController tableAction:]): Handle double click in popup (-[WebTextCompleteController numberOfRowsInTableView:]): Fill table with matches. (-[WebTextCompleteController tableView:objectValueForTableColumn:row:]): Ditto. (-[WebTextCompleteController tableViewSelectionDidChange:]): Handle selection change. * WebView.subproj/WebHTMLViewInternal.h: 2004-08-20 John Sullivan * English.lproj/StringsNotToBeLocalized.txt: checked this in; the only difference is that the strings were out of order. 2004-08-19 Richard Williamson Continue to call old pollForAppletInView: in Tiger until we get an plugin that supports the new API. Reviewed by Chris. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge getAppletInView:]): * WebKit.pbproj/project.pbxproj: === Safari-158 === 2004-08-19 Chris Blumenberg Fixed typo in comment. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _updateFileDatabase]): 2004-08-19 Chris Blumenberg Fixed: CrashTracer: .2403 crashes at com.apple.WebKit: -[WebFileDatabase performSetObject:forKey:] + 0x94 Reviewed by trey. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _updateFileDatabase]): pass WebFileDatabase copies of the mutable dictionaries or else they may be accessed on a separate thread as the main thread is modifying them 2004-08-18 Richard Williamson Replace horrible pollForAppletInView: with new webPlugInGetApplet. The details of how the applet instance is provided now belong to the Java team. Yeh. Reviewed by Chris. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge getAppletInView:]): 2004-08-17 Richard Williamson Fixed Need PDF context menu: "Open in Preview" or other external app Added support for "Open with ..." in PDF view. Reviewed by Chris and Trey. * ChangeLog: * English.lproj/Localizable.strings: * English.lproj/StringsNotToBeLocalized.txt: * WebView.subproj/WebPDFView.h: * WebView.subproj/WebPDFView.m: (-[WebPDFView initWithFrame:]): (-[WebPDFView dealloc]): (applicationInfoForMIMEType): (-[WebPDFView path]): (-[WebPDFView menuForEvent:]): (-[WebPDFView setDataSource:]): (-[WebPDFView layout]): (-[WebPDFView viewDidMoveToHostWindow]): (-[WebPDFView openWithFinder:]): 2004-08-17 Richard Williamson JNI needs both the jmethodID and return type. Changed API to pass both. Reviewed by Chris. * Plugins.subproj/WebJavaPlugIn.h: 2004-08-17 Trey Matteson 3764147 - failure of subframe to load leaves links in parent doc broken Reviewed by Maciej. * WebView.subproj/WebDataSource.m: (-[WebDataSource _receivedMainResourceError:complete:]): Need to call [bridge end] in the case of an error, so WC can clean up. === Safari-157 === 2004-08-15 Richard Williamson More changes to np headers. Reviewed by Darin. * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]): * Plugins.subproj/npapi.h: * Plugins.subproj/npfunctions.h: * Plugins.subproj/npruntime.h: 2004-08-13 Darin Adler Reviewed by Chris. - fixed Carbon path passed in NPP_StreamAsFile must be in local character set, not UTF-8 * Plugins.subproj/WebBaseNetscapePluginStream.m: (CarbonPathFromPOSIXPath): Added. New function that uses the path pieces from an FSSpec. This has many advantages; the big one that fixes the bug is that it gives the mangled names that work even for files that have names that can't otherwise be encoded in Carbon-style path names. I didn't write this from scratch: I started with the method in Foundation and just changed it to use FSSpec. (-[WebBaseNetscapePluginStream destroyStream]): Remove code that used NSString and just call CarbonPathFromPOSIXPath instead. * Plugins.subproj/npapi.h: The Revision tag wanted to touch this file. I think we are going to have some trouble with this; I'd like to take that out. * English.lproj/StringsNotToBeLocalized.txt: Updated. 2004-08-12 Trey Matteson 3761329 - query result links all dead in ingrammicro.com (sometimes) 3761328 - links in some docs dead when doc is loaded from WebArchive Nasty problem. It turns out that these result pages are a parent frame with two child frames. One of the child frames is a 1 or 2 byte text document. When the text child is the last doc to complete, because we use a Text rep instead of an HTMLRep, it turns out we never send [bridge end] from WebKit. That mistake results in checkCompleted not being called enough in the part, and we never realize the load is done. WebCore does not allow redirects to happen until the entire load is complete, and the links on this results page are actually little pieces of JS that set location to a generated URL. Since redirects are not allowed these links all silently fail to do anything, and the doc never achieves a completed state where they will work. Solution is to make sure we always call [bridge end] from the DataSource instead of only the HTML rep doing it. Reviewed by Richard and Darin. * WebView.subproj/WebDataSource.m: (-[WebDataSource _finishedLoading]): Call [bridge end] here for all kinds of docs. * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Don't call is just for HTMLReps. 2004-08-12 Richard Williamson Bring npruntime.h and friends closer to compliance with latest spec. Reviewed by Maciej. * Plugins.subproj/npapi.h: * Plugins.subproj/npfunctions.h: * Plugins.subproj/npruntime.h: (_NPString::): (_NPString::_NPVariant::): * copy-webcore-files-to-webkit: 2004-08-12 Chris Blumenberg Fixed: should be able to option-drag selection so HTML can be copied within a page Reviewed by rjw. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _isMoveDrag]): new, take into account the option key (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call _isMoveDrag (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): call _isMoveDrag 2004-08-12 Richard Williamson Quick fix for 3760903. The real fix is described in 3760920. Needed by Java plugin guys so they can be unblocked for feature freeze. Reviewed by Chris. * WebView.subproj/WebFrame.m: (-[WebFrame _reloadForPluginChanges]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSubview:]): 2004-08-12 Chris Blumenberg Fixed: error pages in subframes attempt to load appledata URLs when reloaded Reviewed by darin. * WebView.subproj/WebFrame.m: (-[WebFrame _createItem:]): when setting the original URL of the history item, use the unreachable URL === Safari-156 === 2004-08-11 Adele Amchan Reviewed by me, bug fix by Darin. - fixed Pages don't load if hard drive is named with non-ASCII Symbol * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): Use UTF8String instead of cString to convert the MIME type to a C string. Safer, since it can't ever fail due to encoding problems even though this string should always be ASCII. (-[WebBaseNetscapePluginStream destroyStream]): Use stringWithUTF8String to convert the path name to an NSString, since stringWithCString is deprecated (doesn't really matter since the path is always all ASCII). Fix the bug by calling fileSystemRepresentation on the NSString to turn it into a C string form. Even though the POSIX path can't have any non-ASCII characters in it, the Carbon path can, so we need to use this instead of cString which can fail depending on characters and encoding. 2004-08-09 Maciej Stachowiak Reviewed by Trey. WebKit part of: - made basic marked text highlighting work to complete basic level of input method support not yet implemented for HTML editing * WebView.subproj/WebHTMLView.m: (-[WebHTMLView markedRange]): Use new bridge calls instead of internal marked range storage. (-[WebHTMLView hasMarkedText]): Likewise. (-[WebHTMLView unmarkText]): Likewise. (-[WebHTMLView _selectMarkedText]): Likewise. (-[WebHTMLView _selectRangeInMarkedText:]): Likewise. (-[WebHTMLView _selectionIsInsideMarkedText]): Likewise. (-[WebHTMLView _updateSelectionForInputManager]): Likewise. (-[WebHTMLView setMarkedText:selectedRange:]): Use direct bridge call instead of private _selectMarkedDOMRange: method, which would now be trivial. * WebView.subproj/WebHTMLViewInternal.h: Remove unneeded 2004-08-10 Darin Adler Reviewed by Ken. - change name of WebMakeCollectable to WebNSRetainCFRelease so it fits into the "NS and CF retain counts are separate" mental model, rather than the "think about how garbage collection works" one * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Rename. * Misc.subproj/WebNSObjectExtras.h: (WebNSRetainCFRelease): Ditto. * Misc.subproj/WebNSURLExtras.m: (+[NSURL _web_URLWithData:relativeToURL:]): Ditto. (-[NSURL _web_URLWithLowercasedScheme]): Ditto. 2004-08-09 Trey Matteson 3756599 - REGRESSION: hit assertion in KWQPageState invalidate By inspection I found a flaw in the recently added logic, although I have no steps to repro. My theoretical explanation is that we would get two errors and go through _receivedMainResourceError: twice, which would cause the pageState to be invalidated twice, which is the only way I can see to hit the assert. Reviewed by Darin * WebView.subproj/WebFrame.m: (-[WebFrame _receivedMainResourceError:]): Clear the pageState out of the history item after it's been invalidated by WebCore. 2004-08-09 Richard Williamson Inspired by Trey we have a much better approach for conditionally linking Quart.framework. Instead of multiple targets we use `` to invoke some inline script to extend COMMON_LDFLAGS as necessary. Thanks Trey! Reviewed by Trey. * WebKit.pbproj/project.pbxproj: 2004-08-09 Trey Matteson Hookup UI for "Continuous Spelling" menu item. Reviewed by Richard. * WebView.subproj/WebView.m: (-[WebView validateUserInterfaceItem:]): Enable and check the menu item to reflect our state. (-[WebView toggleContinuousSpellChecking:]): Change type to IBAction, just cosmetic. * WebView.subproj/WebViewPrivate.h: 2004-08-08 Trey Matteson 3745023 - Safari crashes trying to access anchor while downloading I bet this is behind a few other crashers as well. In this bug the start of the download leaves a KWQPageState hanging around, and when that is freed it damages the part and view. If you're still using that page, you're dead. The fix is to properly invalidate the PageState when we receive an error before reaching WebFrameCommitted state. Normally this happens when a page is reheated from the PageState, but in this case we never manage to leave the page to begin with, although we've already created the PageState. Other errors besides the synthetic one download generates would have caused similar crashing. Another example would be clicking on a second link before the load caused by clicking on the first link reached committed state. Reviewed by Richard * WebView.subproj/WebDataSource.m: (-[WebDataSource _receivedMainResourceError:complete:]): Let the frame do the main work (since it has access to the pageCache state). Also renamed to make it clear that this is about an error for the main resource. * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebFrame.m: (-[WebFrame _receivedMainResourceError:]): Let WC know about the failure, as the DataSource used to, but now pass the pageCache state along too. * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:]): Call renamed method. (-[WebMainResourceClient cancelWithError:]): Ditto. 2004-08-08 Vicki Murley Reviewed by vicki (changes by rjw) - make "weak" linking with Quartz work with buildit * WebKit.pbproj/project.pbxproj: 2004-08-06 Ken Kocienda Reviewed by Maciej Finish off spellchecking support to HTML editing. Includes work to enable continuous spellchecking. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge isContinuousSpellCheckingEnabled]): Simple bridge method. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer drawLineForMisspelling:withWidth:]): New method to add AppKit-style misspelling underline. === Safari-155 === 2004-08-05 Darin Adler * WebView.subproj/WebHTMLView.m: Added a list of methods that NSTextView implements that we don't. All inside #if 0. 2004-08-05 Chris Blumenberg Fixed unnecessary import of NSURLFileTypeMappings. * WebView.subproj/WebMainResourceClient.m: 2004-08-05 Richard Williamson Make builds conditionally include -framework Quartz. Reviewed by Chris. * WebKit.pbproj/project.pbxproj: 2004-08-04 Darin Adler - fixed broken Deployment build * Carbon.subproj/HIWebView.m: (Click): Remove code that checks err variable before setting it. 2004-08-03 Richard Williamson First cut at dirt simple PDF support. This feature depends on Quartz.framework (parent of PDFKit), which only exists on Tiger. So, we "weak" link against Quartz. We do very basic PDF rendering. Coming up are support for "Find..." and linearized PDF (incremental). Linearized PDF support will require API changes in PDFKit. No UI is added to Safari, yet. Reviewed by John. * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]): * WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]): * WebView.subproj/WebPDFRepresentation.h: Added. * WebView.subproj/WebPDFRepresentation.m: Added. (-[WebPDFRepresentation finishedLoadingWithDataSource:]): (-[WebPDFRepresentation canProvideDocumentSource]): (-[WebPDFRepresentation documentSource]): (-[WebPDFRepresentation title]): * WebView.subproj/WebPDFView.h: Added. * WebView.subproj/WebPDFView.m: Added. (-[WebPDFView initWithFrame:]): (-[WebPDFView setDataSource:]): (-[WebPDFView dataSourceUpdated:]): (-[WebPDFView setNeedsLayout:]): (-[WebPDFView layout]): (-[WebPDFView viewWillMoveToHostWindow:]): (-[WebPDFView viewDidMoveToHostWindow]): Copied fix from Jaguar carbon/cocoa work. Reviewed by Darin (Jaguar version) * Carbon.subproj/CarbonWindowAdapter.h: * Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter relinquishFocus]): * Carbon.subproj/HIWebView.m: (Click): (OwningWindowChanged): (WindowHandler): 2004-08-03 David Hyatt Add the text/xsl MIME type as one that can be displayed. Reviewed by john * WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]): * WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]): 2004-08-03 Maciej Stachowiak Reviewed by Ken. - implemented enough of the NSTextInput protocol and added the proper calls to NSInputManager to allow input methods to work. However, the text is not marked yet. * WebView.subproj/WebHTMLViewInternal.h: Added new fields to track marked range. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView markedRange]): Implemented (-[WebHTMLView conversationIdentifier]): Implemented (-[WebHTMLView hasMarkedText]): Implemented (-[WebHTMLView unmarkText]): Implemented (-[WebHTMLView setMarkedText:selectedRange:]): Implemented - does not yet handle attributes in attributed strings (-[WebHTMLView insertText:]): Modified to handle replacing or abandoning the marked text when set. (-[WebHTMLView _selectMarkedText]): new helper method, self-explanatory (-[WebHTMLView _setMarkedDOMRange:]): hitto. (-[WebHTMLView _selectRangeInMarkedText:]): ditto (-[WebHTMLView _discardMarkedText]): ditto (-[WebHTMLView _selectionIsInsideMarkedText]): ditto (-[WebHTMLView _updateSelectionForInputManager]): ditto - did a bit of refactoring while I was in here. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): added this new helper method to simplify the common case of calling the shouldInsertText: delegate (-[WebHTMLView pasteAsPlainText:]): use it (-[WebHTMLView insertTab:]): ditto (-[WebHTMLView insertNewline:]): ditto (-[WebHTMLView _changeWordCaseWithSelector:]): ditto (-[WebHTMLView _changeSpellingToWord:]): ditto (-[WebHTMLView _selectionChanged]): ditto 2004-08-03 Chris Blumenberg Fixed: Images not resizing at www.bmx-test.com (spoof nofix) Reviewed by darin. * WebCoreSupport.subproj/WebImageRendererFactory.m: (-[WebImageRendererFactory supportedMIMETypes]): hard code image/pjpeg to the list of image mime types that we can handle 2004-08-03 Darin Adler Reviewed by Ken. - fixed ER: A way to turn a DOMRange into text (equivalent of -innerText) * DOM.subproj/DOMPrivate.h: Added. * WebKit.pbproj/project.pbxproj: Added DOMPrivate.h. * copy-webcore-files-to-webkit: Added DOMPrivate.h. 2004-08-02 John Sullivan Reviewed by Darin. WebKit part of fix for NSToolbar adoption: Tab key should cycle around toolbar and page content * WebView.subproj/WebHTMLView.m: removed overrides of nextKeyView and previousKeyView (-[WebHTMLView nextValidKeyView]): call super only if we can't move the focus within the frame hierarchy (-[WebHTMLView previousValidKeyView]): ditto * WebView.subproj/WebHTMLViewInternal.h: removed nextKeyViewAccessShouldMoveFocus ivar 2004-08-02 Ken Kocienda Reviewed by John Update name of firstResponderIsSelfOrDescendantView, adding _web_ prefix to this SPI call. Do some work to make caret blinking in newly-created editable WebView's that are similar in structure to Blot more "automatic". * Misc.subproj/WebNSViewExtras.h: Change name of firstResponderIsSelfOrDescendantView. Add _web_ prefix. * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_firstResponderIsSelfOrDescendantView]): Name change. (-[NSView _web_firstResponderCausesFocusDisplay]): Adds an additional check for whether the view's is first responder. This helps to make the focus setting in viewDidMoveToWindow work right. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView updateFocusDisplay]): Use _web_firstResponderCausesFocusDisplay now instead of firstResponderIsSelfOrDescendantView. (-[WebHTMLView viewDidMoveToWindow]): Schedule call to updateFocusDisplay for the next crank of the run loop. The reason is that placing the caret in the just-installed view requires the HTML/XML document to be available on the WebCore side, but it is not at the time this code is running. However, it will be there on the next crank of the run loop. Doing this helps to make a blinking caret appear in a new, empty window "automatic". (-[WebHTMLView performKeyEquivalent:]): _web_firstResponderIsSelfOrDescendantView name change. * WebView.subproj/WebView.m: (-[WebView _performResponderOperation:with:]): _web_firstResponderIsSelfOrDescendantView name change. 2004-07-29 Maciej Stachowiak Reviewed by John. Added stubbed-out versions of all the NSTextInput protocol methods, and put comments in places where we will need to call the input manager to make input methods work 100%. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge respondToChangedSelection]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDown:]): (-[WebHTMLView mouseDragged:]): (-[WebHTMLView mouseUp:]): (-[WebHTMLView _interceptEditingKeyEvent:]): (-[WebHTMLView keyDown:]): (-[WebHTMLView _selectionChanged]): (-[WebHTMLView _delegateDragSourceActionMask]): (-[WebHTMLView validAttributesForMarkedText]): (-[WebHTMLView characterIndexForPoint:]): (-[WebHTMLView firstRectForCharacterRange:]): (-[WebHTMLView selectedRange]): (-[WebHTMLView markedRange]): (-[WebHTMLView attributedSubstringFromRange:]): (-[WebHTMLView conversationIdentifier]): (-[WebHTMLView hasMarkedText]): (-[WebHTMLView unmarkText]): (-[WebHTMLView setMarkedText:selectedRange:]): (-[WebHTMLView doCommandBySelector:]): (-[WebHTMLView insertText:]): * WebView.subproj/WebHTMLViewInternal.h: * WebView.subproj/WebView.m: === Safari-154 === 2004-07-29 Darin Adler Reviewed by Ken. - fill in some unimplemented methods * WebView.subproj/WebHTMLView.m: (-[WebHTMLView moveToBeginningOfDocument:]): Implement, using new document granularity. (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto. (-[WebHTMLView moveToBeginningOfParagraph:]): Implement, even though the underlying WebCore code is not yet implemented. (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto. (-[WebHTMLView moveToEndOfDocument:]): More of the same. (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto. (-[WebHTMLView moveToEndOfParagraph:]): More of the same. (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto. (-[WebHTMLView pageDown:]): Added comment describing desired behavior. (-[WebHTMLView pageUp:]): Ditto. (-[WebHTMLView copyFont:]): Ditto. (-[WebHTMLView pasteFont:]): Ditto. (-[WebHTMLView changeAttributes:]): Ditto. (-[WebHTMLView indent:]): Ditto. 2004-07-28 Chris Blumenberg Fixed: Can not download image from web by using drag and drop Reviewed by john. * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): On Tiger, to use NSFilesPromisePboardType with other pasteboard types, set the file types of the promise on the pasteboard as a property list instead of mucking with the NSFilePromiseDragSource class 2004-07-28 Maciej Stachowiak Reviewed by John. - avoid triggering an assertion when using dead keys (like option-e) * WebView.subproj/WebHTMLView.m: (-[WebHTMLView insertText:]): Don't pass zero-length strings to WebCore. Dead-key input seems to insert empty strings as a side effect. 2004-07-28 Trey Matteson Spellchecking, Part I. Basic spellcheck is working. Spelling panel is hooked up. At this point, no special marking of misspellings, no grammar check, no context menu integration, no "check continually" mode. Reviewed by Ken. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge spellCheckerDocumentTag]): Typical bridge glue. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView validateUserInterfaceItem:]): Validate various spelling actions. (-[WebHTMLView checkSpelling:]): Call WC for real work, update panel. (-[WebHTMLView showGuessPanel:]): Show panel, call WC for real work. (-[WebHTMLView _changeSpellingToWord:]): Apply correction to our doc. (-[WebHTMLView changeSpelling:]): Simple pass through to above method. (-[WebHTMLView ignoreSpelling:]): Tell checker to ignore the word. * WebView.subproj/WebView.m: (-[WebView _close]): Call AK's closeSpellDocumentWithTag: for proper cleanup. 2004-07-27 John Sullivan Reviewed by Trey. WebKit part of fix for Reload failed pages when a network problem is corrected, inc. using Network Diagnostics * WebView.subproj/WebFrame.m: (-[WebFrame reload]): This method did not handle unreachableURLs at all. The reason Safari's Reload did work with unreachableURLs was that Safari does "reloadObeyingLocationField" which never actually calls -[WebFrame reload]. Fixed by creating a fresh request for the previously-unreachable URL. 2004-07-26 Richard Williamson Fixed 3739737. When setting the focus to a NSView, set the focus carbon focus to kControlIndicatorPart. kControlIndicatorPart is a placeholder value for use to indicate that Cocoa has the focus. Reviewed by Ken. * Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter makeFirstResponder:]): * Carbon.subproj/HIWebView.m: (Click): (SetFocusPart): 2004-07-26 Chris Blumenberg Fixed: dragging to an editable WebView does not scroll document Reviewed by rjw. * WebView.subproj/WebView.m: (-[WebView documentViewAtWindowPoint:]): new, factored from draggingDocumentViewAtWindowPoint: (-[WebView _draggingDocumentViewAtWindowPoint:]): call documentViewAtWindowPoint: (-[WebView _autoscrollForDraggingInfo:timeDelta:]): forward call to the document view (-[WebView _shouldAutoscrollForDraggingInfo:]): ditto === Safari-153 === 2004-07-23 Ken Kocienda Reviewed by Trey Fix for this bug: Caret blinks in inactive window As part of the fix, I cleaned up the way we handle special drawing that needs to be done in the HTML view that is first responder in the key window (e.g the drawing of text selection highlight and caret blinking). * WebView.subproj/WebHTMLView.m: (-[WebHTMLView updateFocusDisplay]): New method that centralizes the changes we need to make when the first responder-ness of the view or key-ness of the window changes. (-[WebHTMLView viewDidMoveToWindow]): Call new updateFocusDisplay helper. (-[WebHTMLView windowDidBecomeKey:]): Ditto. (-[WebHTMLView windowDidResignKey:]): Ditto. (-[WebHTMLView becomeFirstResponder]): Ditto. (-[WebHTMLView resignFirstResponder]): Ditto. 2004-07-22 Darin Adler * Plugins.subproj/npruntime.h: Update with new version from newer JavaScriptCore. 2004-07-21 Ken Kocienda Reviewed by Trey * WebCoreSupport.subproj/WebBridge.m: Remove interceptEditingKeyEvent bridge call over. This method of handling editing key events is now obsolete. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView performKeyEquivalent:]): Send key event over to the DOM if this view is or contains the first responder. This now happens unconditionally. (-[WebHTMLView keyDown:]): Send key event to the DOM, then see if the web view wants to interpret it an an editing key event. This is the new place to intercept key events for editing. 2004-07-21 Ken Kocienda Reviewed by John Add implementations for these methods. Formerly, they logged an error. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView moveToBeginningOfLine:]): (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]): (-[WebHTMLView moveToEndOfLine:]): (-[WebHTMLView moveToEndOfLineAndModifySelection:]): 2004-07-21 Ken Kocienda Reviewed by John Added some more handlers for standard Cocoa key bindings. These are "secrets" of NSText, meaning they are not public API, but we choose to mimic. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]): (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): (-[WebHTMLView moveToEndOfLineAndModifySelection:]): (-[WebHTMLView moveToEndOfParagraph:]): (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): * WebView.subproj/WebView.h: Add these declarations to the comment in the header listing the responder-like methods we support. * WebView.subproj/WebView.m: (-[WebView moveToBeginningOfParagraphAndModifySelection:]): (-[WebView moveToEndOfParagraphAndModifySelection:]): (-[WebView moveToBeginningOfLineAndModifySelection:]): (-[WebView moveToEndOfLineAndModifySelection:]): (-[WebView moveToBeginningOfDocumentAndModifySelection:]): (-[WebView moveToEndOfDocumentAndModifySelection:]): 2004-07-20 Ken Kocienda Reviewed by Richard * Misc.subproj/WebNSEventExtras.h: Added helper that returns whether a key event has a binding in the key binding manager. * Misc.subproj/WebNSEventExtras.m: (-[NSEvent _web_keyBindingManagerHasBinding]): New helper mentioned above. * Plugins.subproj/npruntime.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView performKeyEquivalent:]): Add a check of whether the key event has a binding in the key binding manager. This works around the fact that NSResponder's interpretKeyEvents does not return a value telling whether or not the key was handled. This now makes it possible for us to trap modified key events we know we can handle (like those command-key + arrow events used for text navigation), while letting all others pass. 2004-07-20 Chris Blumenberg Fixed: REGRESSION (1.1-1.2): can't open a new window for an image that has not loaded Missing image icons (blue ?) lack context menu Reviewed by john. * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): if there is no image, but there is an image URL, provide image context menu items besides "Copy Image" * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): don't drag an image with an actual image (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto 2004-07-20 Maciej Stachowiak Reviewed by Chris. REGRESSION (125.7-148u) clicking on links at macosx.apple.com/Builds does not load new page in frame * Plugins.subproj/npruntime.h: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge canTargetLoadInFrame:]): Don't apply the restrictions to frames that are in the same window (Mozilla does this too). 2004-07-20 Richard Williamson Fix for 3728558. Fixed the key event handling in the carbon/cocoa integration code. This does not fix the arrow keys not working on initial focus problem also mentioned in the bug. Bumped the version of the NP function structures. Reviewed by John. * Carbon.subproj/CarbonUtils.m: (WebInitForCarbon): (PoolCleaner): * Carbon.subproj/HIWebView.m: (OwningWindowChanged): (WindowHandler): * Plugins.subproj/npapi.h: 2004-07-20 Trey Matteson 3733698 REGRESSION: sometimes dragging photos on homepage.mac.com leads to an assertion Relax an assertion, as we ran into a valid case where it's not true. Reviewed by Chris. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Removing this assert allows for the oddball case of a drag gesture that starts on one element, but then the element is no longer there when the drag is about to start. 2004-07-20 Ken Kocienda Reviewed by Hyatt Fix for this bug: HTMLCompose: blinking cursor in both an address text field and the message body * WebView.subproj/WebHTMLView.m: (-[WebHTMLView setCaretVisible:]): New helper. Calls over bridge to do the work. (-[WebHTMLView windowDidBecomeKey:]): This function cannot just assume that self is first responder (and do things like adjusting text background color and restoring focus rings). First-responder-ness needs to be checked first. Now it is. (-[WebHTMLView windowDidResignKey:]): Ditto. (-[WebHTMLView becomeFirstResponder]): Call new helper to make caret visible. (-[WebHTMLView resignFirstResponder]): Call new helper to make caret invisible. 2004-07-12 Richard Williamson Fixed 3721917. The RealPlayer plugin doesn't support the new NPPVpluginScriptableNPObject variable passed to NPP_GetValue and incorrectly returns NPERR_NO_ERROR. We interpret this to the mean the variable has been set. The variable has not been set and will consequently be uninitialized. Reviewed by NOBODY (OOPS!). * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView pluginScriptableObject]): 2004-07-19 Ken Kocienda Reviewed by Richard Fix for this bug: HTMLCompose: key events are stolen by Web(HTML)View * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView firstResponderIsSelfOrDescendantView]): New helper to (-[WebHTMLView performKeyEquivalent:]): Do not pass key events through to the editing key handler unless the WebHTMLView is first responder or contains the first responder. This prevents the "stealing" of key events mentioned in the bug. * WebView.subproj/WebView.m: (-[WebView _performResponderOperation:with:]): Uses the new firstResponderIsSelfOrDescendantView helper. The code I replaced used the same logic as the new helper. === Safari-152 === 2004-07-12 Maciej Stachowiak Reviewed by Kevin. : (REGRESSION(141-144): connection assertion failure at http://traffic.511.org/sfgate) * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Don't check connection consistency if this load got cancelled while finishing, because in this case we have cleared the connection field already. This can happen when a redirect fires from an onload handler. 2004-07-12 Maciej Stachowiak Reviewed by John. : (REGRESSION: SocialText.net wiki keeps asking for auth, even though pages load) * Misc.subproj/WebIconLoader.m: (-[WebIconLoader didReceiveAuthenticationChallenge:]): Ignore the challenge - we don't want an auth panel for favicons. (-[WebIconLoader didCancelAuthenticationChallenge:]): Ignore cancel, since we are ignoring the challenge. 2004-07-09 Chris Blumenberg Allowed my change for 3715785 to compile on Jaguar. Reviewed by kocienda. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge canTargetLoadInFrame:]): don't use the DOM API since it doesn't exist on Jaguar, instead call the new domain method on the bridge 2004-07-09 Ken Kocienda Reviewed by John * Plugins.subproj/npruntime.h: Updated license to lawyer-approved joint Apple-Mozilla BSD-style license. 2004-07-08 Chris Blumenberg Fixed: REGRESSION (125.8-146): Crash moving mouse over plugin at manray-photo.com Reviewed by john. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView pluginScriptableObject]): don't call NPP_GetValue unless the plug-in implements it 2004-07-08 Chris Blumenberg Fixed: VIP: ifilm.com crashing reproducibly with Safari Reviewed by kocienda. * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage launchRealPlayer]): don't release a NULL appURL 2004-07-08 Chris Blumenberg Fixed: reproducible assertion failure going to plugin page with JavaScript disabled Reviewed by john. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): don't call NPP_NewStream and other stream methods if there is no JS result to deliver. This is what Mozilla does. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Return NPERR_GENERIC_ERROR if JS is disabled. This is what Mozilla does. === Safari-151 === 2004-07-07 Trey Matteson 3719051 - Safari doesn't update form inputs when a page was refreshed by javascript window.location ... and at least 5 other cases in Radar Very similar problem to the Harvard PIN bug. We need to be sure to not carry any state over when we are processing a client redirect, which reuses the same WebHistoryItem. Reviewed by John. * WebView.subproj/WebFrame.m: (-[WebFrame _transitionToCommitted:]): Comment (-[WebFrame _opened]): Clear form and scroll state on client redirect. 2004-07-06 Chris Blumenberg Fixed: multiple frame injection vulnerability reported by Secunia, affects almost all browsers Reviewed by john, trey, kocienda. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge canTargetLoadInFrame:]): new method, return YES if the requesting frame is local, the target frame is an entire window or if the domain of the parent of the targeted frame equals this domain (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): call canTargetLoadInFrame: to make sure we can load the request (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto 2004-07-06 John Sullivan Reviewed by Trey. - fixed folder icon used for error page in back/forward menu when iTunes is not installed * WebView.subproj/WebFrame.m: (-[WebFrame _transitionToCommitted:]): When displaying the error page for an unreachable URL, leave the requested URL in the WebHistoryItem; don't clobber it with a bogus one that represents the error page. This not only avoids the wrong-icon problem, but should also help in cases where an unreachable URL becomes reachable later on. 2004-07-06 Trey Matteson 3716053 - www.theage.com.au has extra back/forward items due to ads The real change was in WebKit. Here was are just renaming a method and folding all the WebFrameLoadTypeOnLoadEvent uses to be WebFrameLoadTypeInternal, since there was never any difference anyway. Reviewed by Richard * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): rename part of the method. * WebView.subproj/WebFrame.m: Nuke WebFrameLoadTypeOnLoadEvent. (-[WebFrame _transitionToCommitted:]): (-[WebFrame _checkLoadCompleteForThisFrame]): (-[WebFrame _loadItem:withLoadType:]): (-[WebFrame _itemForRestoringDocState]): * WebView.subproj/WebFramePrivate.h: 2004-07-06 Ken Kocienda Reviewed by Trey Only register the editing delegate for those notifications for which it implements the callbacks. * WebView.subproj/WebView.m: (-[WebView registerForEditingDelegateNotification:selector:]): (-[WebView setEditingDelegate:]): 2004-07-06 Trey Matteson 3294652 - Failed drag of links doesn't slide back The only reason for this is that because of some hacks, we lie to AK about the drag image offset, which means we slide back to slightly the wrong place. But it's very minor, so we should just fix it. Reviewed by Ken. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Ask for slideback. 2004-07-02 Darin Adler Reviewed by Dave. - fixed problem where tabsToLinks and privateBrowsingEnabled did not work with non- standard WebPreferences objects * WebView.subproj/WebPreferences.m: (-[WebPreferences _valueForKey:]): New helper. (-[WebPreferences _stringValueForKey:]): Use _valueForKey. (-[WebPreferences _integerValueForKey:]): Use _valueForKey. (-[WebPreferences _boolValueForKey:]): Use _valueForKey. (-[WebPreferences tabsToLinks]): Use _boolValueForKey; this is the bug fix. (-[WebPreferences privateBrowsingEnabled]): Ditto. (+[WebPreferences _setIBCreatorID:]): Use copy instead of retain for keeping an NSString. 2004-07-01 Trey Matteson 3556159 - Crashes in -[WebFrame(WebPrivate) _transitionToCommitted:] at www.mastercardbusiness.com We know from the line number of the crash that it is due to [self parentFrame]==nil. Looking at the HTML and that of the related bugs, they do special stuff with onload handlers. It is no longer repro, presumably because the includes JS files changed, as the bugs only included the top level HTML. I suspect that the problem is that the WebFrameLoadTypeOnLoadEvent case was added, and in some weird sequence specific to MasterCard, they hit a case where we would be in WebFrameLoadTypeOnLoadEvent mode but not have a parent frame. So we guard in the code against hitting a nil parentFrame, and log an error just in case this ever crops up again and we can learn more about it. Reviewed by Richard. * WebView.subproj/WebFrame.m: (-[WebFrame _transitionToCommitted:]): Guard against nil parentFrame. 2004-07-01 John Sullivan Reviewed by Trey. - fixed these bugs: REGRESSION (Tiger): Pressing Tab key to move focus onto links skips every other link focus ring is in odd place after clicking RSS button with "Tab to links" enabled WebHTMLView has some trickery by which we advance the focused link when nextKeyView or previousKeyView is called within nextValidKeyView or previousValidKeyView. This broke in Tiger because AppKit now (sometimes at least) calls nextKeyView more than once within nextValidKeyView. Fixed 3709110 by making sure we only advance the focus once within a call to nextValidKeyView or previousValidKeyView. Also, this same trickery didn't work right with hidden views. Fixed 3692576 by checking whether the view is hidden and bypassing the focus-moving trickery in that case. * WebView.subproj/WebHTMLViewInternal.h: renamed inNextValidKeyView -> nextKeyViewAccessShouldMoveFocus * WebView.subproj/WebHTMLView.m: (-[WebHTMLView nextKeyView]): now clears nextKeyViewAccessShouldMoveFocus (-[WebHTMLView previousKeyView]): ditto (-[WebHTMLView nextValidKeyView]): now doesn't set focus-moving trigger ivar if view is hidden or has hidden ancestor (-[WebHTMLView previousValidKeyView]): ditto 2004-06-30 Trey Matteson Dragging within a web view should be allowed to start when the window isn't key. A few months ago, Chris made this work, but it relied on the fact that all dragging was done in WebKit. When WebCore got involved in dragging, it was broken. Now we have a new scheme that gets it working again that properly involves WebCore. The general idea is that when AK asks us whether to accept the first mouse and do "delayed window ordering", we must consult WC to see if we might start a drag. In addition, instead of these drags in non-active windows being started as a special case in WK, they go through the normal WK-WC drag machinery. Finally to work in frames we have to drill to the deepest hit view in acceptsFirstMouse, because previous hacks to hitTest make the top-most WebHTMLView field all events for its view tree (which leads to it fielding all acceptFirstMouse messages too). Reviewed by John. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge mayStartDragAtEventLocation:]): Glue change for new arg type. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): firstMouseDownEvent ivar is no longer needed. (-[WebHTMLView _mayStartDragAtEventLocation:]): Receives a location instead of a drag event, since we need to do this work when we have no drag event. This means the check of the delay for text dragging is moved down to WebCore. (-[WebHTMLView acceptsFirstMouse:]): Respond based on whether we might do a drag. This includes drilling to the deepest view the event hits, whereas we used to only respond considering the topmost WebHTMLView. (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Ditto. (-[WebHTMLView mouseDown:]): Get rid of special case where some activating mouseDown events weren't sent to WC. We need to go through the whole pipeline now to get a drag started properly. (-[WebHTMLView mouseDragged:]): Ditto, let WC start the drag. (-[WebHTMLView mouseUp:]): firstMouseDownEvent ivar is no longer needed. * WebView.subproj/WebHTMLViewInternal.h: * WebView.subproj/WebHTMLViewPrivate.h: 2004-06-25 Trey Matteson Added new utility method. Reviewed by John. * WebView.subproj/WebFrame.m: (-[WebFrame _isDescendantOfFrame:]): New code. * WebView.subproj/WebFramePrivate.h: 2004-06-24 Richard Williamson Fixed : CGContext not zeroed when WebImageRenderer is copied The context ivar of WebImageRenderer wasn't being nil when the object was copied. Reviewed by Darin. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer copyWithZone:]): (-[WebImageRenderer dealloc]): (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): 2004-06-24 Trey Matteson 3672725 - Assertion failure in URLCompletion code with particular set of bookmarks Problem was caused by a URL with unescaped unicodes getting into the Bookmarks file, presumably from import from IE. We now test for this case and convert the data on the way in as if it were user-entered. Reviewed by John and Darin. * History.subproj/WebHistoryItem.m: (-[WebHistoryItem initFromDictionaryRepresentation:]): 2004-06-24 Trey Matteson 3704950 drag image in DB ConfigBar has horizontal graphics turd WebCore JavaScript When we generate a drag image (or a selection image too, for that matter) we translate the CTM using a CG call. Later, WebImageRenderer adjusts the pattern phase based on the CTM of the focused view, which doesn't include our translate. So we must inform WebKit about the additional phase adjustment. Reviewed by Richard * WebCoreSupport.subproj/WebGraphicsBridge.h: * WebCoreSupport.subproj/WebGraphicsBridge.m: (-[WebGraphicsBridge setAdditionalPatternPhase:]): New trivial setter. (-[WebGraphicsBridge additionalPatternPhase]): ...and getter. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer tileInRect:fromPoint:context:]): Take any additional phase adjustment into account when setting phase. 2004-06-24 Trey Matteson 3693420 - onbeforecut and onbeforepaste need real implementaion Reviewed by Chris. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView validateUserInterfaceItem:]): Check with WebCore to see if cut, copy, paste should be enabled. 2004-06-24 John Sullivan Reviewed by Darin. - fixed 8A161: Choosing text encoding for error page opens finder window!? * WebView.subproj/WebFrame.m: (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): take unreachableURL into account 2004-06-23 Richard Williamson Implemented changes for latest npruntime.h. Made npruntime.h public. Reviewed by Chris. * Plugins.subproj/WebBaseNetscapePluginView.h: * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView pluginScriptableObject]): (-[WebBaseNetscapePluginView forceRedraw]): (-[WebBaseNetscapePluginView getVariable:value:]): * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h: * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]): * Plugins.subproj/npapi.h: * Plugins.subproj/npapi.m: (NPN_GetValue): * Plugins.subproj/npfunctions.h: * Plugins.subproj/npruntime.h: * WebKit.pbproj/project.pbxproj: 2004-06-21 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 2004-06-21 Chris Blumenberg Made WebKitErrorDescriptionPlugInCancelledConnection have its own description string (Not for software update branch) Reviewed by john. * English.lproj/Localizable.strings: * Misc.subproj/WebKitErrors.m: 2004-06-21 Chris Blumenberg Made WebKitErrorDescriptionPlugInCancelledConnection properly reuse an already localized string to avoid loc changes. Reviewed by john. * ChangeLog: * Misc.subproj/WebKitErrors.m: 2004-06-21 Chris Blumenberg Fixed: change in error handling behavior from 10.3.3 to 10.3.4 breaks unreleased Adobe PDF plug-in Reviewed by john. * Misc.subproj/WebKitErrors.m: (registerErrors): register string for WebKitErrorPlugInCancelledConnection * Misc.subproj/WebKitErrorsPrivate.h: * Plugins.subproj/WebBaseNetscapePluginStream.h: * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): use renamed WEB_REASON_PLUGIN_CANCELLED constant (-[WebBaseNetscapePluginStream destroyStream]): ditto * Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation cancelWithReason:]): if the reason is WEB_REASON_PLUGIN_CANCELLED, cancel the load with WebKitErrorPlugInCancelledConnection * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream cancelWithReason:]): ditto === Safari-146 === 2004-06-17 Richard Williamson Changed private headers to be pubic for npapi.h and npfunctions.h. That API was approved but never marked as public in the project file. This change does not make npruntime.h public, which contains the not yet approved changes for script-ability of netscape plugins. Unfortunately, that API will not be public for WWDC. Reviewed by Chris. * WebKit.pbproj/project.pbxproj: 2004-06-17 Trey Matteson 3698514 - coordinates in ondragstart and ondrag events are wrong This part fixes the ondrag coords. I thought Cocoa passed us the mouse location in draggedImage:movedTo:, but no, it's the position of the dragged image. WebCore needs the mouse location, so to calc that we must save away the offset of the mouse relative to the image when we kick off the drag. Reviewed by Maciej. * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): Add the ability to return the offset of the cursor wrt to the drag image, since this routine generates its own drag image and positions it. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Calc the offset of the cursor wrt to the drag image in the myriad of ways that we kick off the drag. (-[WebHTMLView draggedImage:movedTo:]): Adjust the location by the offset we save when we kicked off the drag. (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto. * WebView.subproj/WebHTMLViewInternal.h: * WebView.subproj/WebImageView.m: (-[WebImageView mouseDragged:]): Pass nil for new arg, we don't care. 2004-06-16 David Hyatt In order to support truncation in Emerson, enhance pointToOffset so that it needn't include partial character glyphs (the left half of a glyph). Reviewed by mjs * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]): (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]): (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]): === Safari-145 === 2004-06-16 Darin Adler - fixed REGRESSION: doesn't build any more Reviewed by Trey. * Carbon.subproj/CarbonUtils.h: Fixed include. Need to include to get CGImageRef; can't include an individual header. 2004-06-15 Richard Williamson Fixed : Objective-C instances that are exported to JavaScript are too promiscuous Flip the policy for exposing Objective-C methods and properties. Reviewed by Trey. * Plugins.subproj/WebPluginPackage.m: (+[NSObject isSelectorExcludedFromWebScript:]): Just return YES. (+[NSObject isKeyExcludedFromWebScript:]): Just return YES. 2004-06-15 Trey Matteson 3639321 - Harvard PIN authentication ends up sending PIN as clear text with POST action When going back/forward to an item, if we went there originally via a POST, we ask the user about rePOSTing, and if they say yes, we resend the POST. This rePOST case is triggered by the form data that we saved on the b/f item. In the case of this bug, the overall navigation was accomplished by a POST, then a redirect, causing a GET. When a load of type redirect achieves the Committed stage, we replace the current URL in the b/f item with the new URL (instead of adding a new item to the b/f list). The bug is that at the same time we should also update the form data in the b/f item to match that of the new request. I think this will normally mean nil'ing it out, unless there's some way for the result of the redirect to be another POST. The security leak occurred because we did not clear the form data on the item, so when going back or forward to the page, we would go into the rePOSTing code, even though we eventually reached that page via a GET (caused by the redirect). So we would do a POST to the redirect URL containing the private data sent in the original POST. Reviewed by mjs and rjw. * History.subproj/WebHistoryItem.m: (-[WebHistoryItem _setFormInfoFromRequest:]): New method, just wraps 3 old set methods. (-[WebHistoryItem formData]): Diff being dumb, no change. (-[WebHistoryItem formContentType]): Ditto (-[WebHistoryItem formReferrer]): Ditto * History.subproj/WebHistoryItemPrivate.h: * WebView.subproj/WebFrame.m: (-[WebFrame _createItem:]): Call new WebHistoryItem method - no change in real behavior (-[WebFrame _transitionToCommitted:]): Clear out the form data at the key time, to fix the bug. 2004-06-15 Chris Blumenberg Fixed: WebKit plug-ins should only have to implement plugInViewWithArguments: Reviewed by rjw. * ChangeLog: * Plugins.subproj/WebPluginViewFactory.h: mention that plugInViewWithArguments is required * WebView.subproj/WebFrame.m: (-[WebFrame _reloadForPluginChanges]): check for plugInViewWithArguments: not webPlugInInitialize * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSubview:]): ditto 2004-06-15 Chris Blumenberg Reviewed by NOBODY (OOPS!). * WebView.subproj/WebFrame.m: (-[WebFrame _reloadForPluginChanges]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSubview:]): 2004-06-15 Trey Matteson 3695240 - pasting plain text with newlines in it turns them into spaces Easy fix, we just need to consume the incoming data as text instead of markup. Reviewed by John and Darin. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): 2004-06-15 Darin Adler - fixed crash introduced by my earlier change * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageContext dealloc]): Set _cgsContext to 0 before calling super as before. (-[WebImageContext finalize]): Ditto. 2004-06-14 Darin Adler Reviewed by Maciej. - fixed some things for GC that Patrick missed, or that happened after the branch * Carbon.subproj/HIWebView.m: (HIWebViewConstructor): Use CFRetain instead of retain. (HIWebViewDestructor): Use CFRelease instead of release. * Misc.subproj/WebFileDatabase.m: (-[WebFileDatabase initWithPath:]): Use release instead of dealloc. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageContext finalize]): Had [super dealloc] here by mistake; change to [super finalize]. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer finalize]): Added. * WebView.subproj/WebDebugDOMNode.m: (-[WebDebugDOMNode initWithWebFrameView:]): Use release instead of dealloc. * WebView.subproj/WebRenderNode.m: (-[WebRenderNode initWithWebFrameView:]): Use release instead of dealloc. 2004-06-15 Trey Matteson Fix ASSERT/crash we get sometimes when dragging link images. Turns out there was an uninitialized variable for the image size, so at random we would try to create huge images that could not be focused. Reviewed by Maciej and Darin. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _dragImageForLinkElement:]): Trivial fix to not use += with uninited variable. 2004-06-14 Darin Adler Reviewed by me, code changes by Patrick Beard. - fixed : (WebKit should adopt GC changes and compile with GC enabled) * WebKit.pbproj/project.pbxproj: Added WebNSObjectExtras.h. * Misc.subproj/WebNSObjectExtras.h: Added. Includes WebMakeCollectable, a cover for CFMakeCollectable that returns type id, for less casting, and works on Panther as well as Tiger. Also declares finalize in NSObject so we can call super without warnings on Panther. * Carbon.subproj/CarbonWindowAdapter.m: Fixed header and includes a bit. (-[CarbonWindowAdapter finalize]): Added. * History.subproj/WebBackForwardList.m: (-[WebBackForwardList dealloc]): Got count outside loop. (-[WebBackForwardList finalize]): Added. * History.subproj/WebHistoryItem.m: (-[WebHistoryItem finalize]): Added. * Misc.subproj/WebFileDatabase.m: (-[WebFileDatabase _createLRUList:]): Use release on Panther, drain on Tiger. (+[WebFileDatabase _syncLoop:]): Ditto. (-[WebFileDatabase dealloc]): Removed, since we never deallocate objects of this class, and the method was untested. * Misc.subproj/WebKitErrors.m: (registerErrors): Use release on Panther, drain on Tiger. * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use WebMakeCollectable. Also fixed indenting. * Misc.subproj/WebNSURLExtras.m: (+[NSURL _web_URLWithData:relativeToURL:]): Use WebMakeCollectable. (-[NSURL _web_URLWithLowercasedScheme]): Use WebMakeCollectable. (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Change code to use CFRelease to balance CFURLCreateStringByReplacingPercentEscapes CFString creation, not release. * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream finalize]): Added. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView freeAttributeKeysAndValues]): Added. Shared code for dealloc and finalize. (-[WebBaseNetscapePluginView dealloc]): Call freeAttributeKeysAndValues. (-[WebBaseNetscapePluginView finalize]): Added. (-[WebBaseNetscapePluginView requestWithURLCString:]): Changed so that CFString objects are released with CFRelease, not release. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Fixed storage leak in error case. Made sure CFString object is released with CFRelease, not release. (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): Another CFString that needed to a CFRelease, not a release. (-[WebBaseNetscapePluginView status:]): Ditto. * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Changed code to CFRelease a CFURLRef, instead of release. (-[WebBasePluginPackage finalize]): Added. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge fini]): Added. Shared code for dealloc and finalize. (-[WebBridge dealloc]): Call fini. (-[WebBridge finalize]): Added. * WebCoreSupport.subproj/WebGlyphBuffer.m: (-[WebGlyphBuffer finalize]): Added. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageContext initWithBounds:context:]): Use CGContextRetain to avoid cast. (-[WebImageContext dealloc]): Tweaked. (-[WebImageContext finalize]): Added. (-[WebImageRenderer finalize]): Added. (-[WebPDFDocument finalize]): Added. * WebView.subproj/WebDataProtocol.m: (+[NSURL _web_uniqueWebDataURL]): Changed so that CFString object is released with CFRelease, not release. * WebView.subproj/WebDataSource.m: (-[WebDataSourcePrivate dealloc]): Took non-release work out of here. (-[WebDataSource dealloc]): Moved it here. (-[WebDataSource finalize]): Added. (-[WebDataSource isLoading]): Use release on Panther, drain on Tiger. * WebView.subproj/WebFrame.m: (-[WebFramePrivate dealloc]): Took non-release work out of here. (-[WebFrame dealloc]): Moved it here. (-[WebFrame finalize]): Added. * WebView.subproj/WebFrameView.m: (-[WebFrameView finalize]): Added. * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation finalize]): Added. * WebView.subproj/WebHTMLView.m: (-[WebHTMLViewPrivate dealloc]): Moved non-release work out of here. (-[WebHTMLView dealloc]): Moved it here. (-[WebHTMLView finalize]): Added. * WebView.subproj/WebImageView.m: (-[WebImageView finalize]): Added. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient finalize]): Added. * WebView.subproj/WebTextView.m: (-[WebTextView finalize]): Added. * WebView.subproj/WebView.m: (-[WebView finalize]): Added. 2004-06-14 Ken Kocienda Reviewed by Darin Fix for this bug: WebView.h header unnecessarily lists NSResponder methods it overrides * WebView.subproj/WebView.h: NSResponder overrides now gathered in a comment section. 2004-06-13 Trey Matteson Support for DHTML cut/copy/paste. Reviewed by Chris * WebView.subproj/WebHTMLView.m: (-[WebHTMLView copy:]): Give DHTML first crack at executing the command. (-[WebHTMLView cut:]): Ditto (-[WebHTMLView paste:]): Ditto 2004-06-14 Chris Blumenberg Fixed: make new drag & drop API compatible with DHTML dragging Reviewed by trey. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): tweak * WebView.subproj/WebUIDelegate.h: removed old, added new methods * WebView.subproj/WebUIDelegatePrivate.h: moved new methods to public header * WebView.subproj/WebView.h: removed old, added new methods * WebView.subproj/WebView.m: moved methods around (-[WebView moveDragCaretToPoint:]): moved (-[WebView removeDragCaret]): moved (-[WebView _bridgeAtPoint:]): moved (-[WebView editableDOMRangeForPoint:]): moved * WebView.subproj/WebViewInternal.h: add new internal method * WebView.subproj/WebViewPrivate.h: moved new methods to public header 2004-06-14 Trey Matteson Use a different hack, as recommended by Kristin, to force the drag manager to exit a modal event wait it is in. The hack is required to update the drag image on the fly. Instead of posting a CG event we post at the AppKit level. Reviewed by Louch * WebCoreSupport.subproj/WebGraphicsBridge.m: (-[WebGraphicsBridge setDraggingImage:at:]): 2004-06-14 Chris Blumenberg Fixed: REGRESSION: delay when images and links links should drag when dragging images that are links when drag source action is WebDragSourceActionLink Reviewed by trey. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _mayStartDragWithMouseDragged:]): cleaned up, only use selection delay for selections, allow links to be dragged when image dragging is disabled 2004-06-12 Trey Matteson Small rearrangement to support dynamic changing of the drag image during DHTML dragging. Reviewed by John * WebCoreSupport.subproj/WebBridge.m: Bridge glue moved to WebGraphicsBridge. * WebCoreSupport.subproj/WebGraphicsBridge.m: (FlipImageSpec): Code moved from WebHTMLView.m. (-[WebGraphicsBridge setDraggingImage:at:]): Ditto. Plus, we've added a gross event posting hack to force CG drag manager to update the display when we set the drag image. * WebView.subproj/WebHTMLView.m: Code moved to WebGraphicsBridge. * WebView.subproj/WebHTMLViewPrivate.h: 2004-06-11 Chris Blumenberg Implemented the remainder of the drag & drop API. Reviewed by trey. * Misc.subproj/WebNSPasteboardExtras.h: * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): new * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:rect:event:pasteboard:source:]): simplified, this method now just creates a drag image and starts the drag * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge allowDHTMLDrag:UADrag:]): now calls _delegateDragSourceActionMask on WebHTMLView to interact with the delegate * WebView.subproj/WebDefaultUIDelegate.m: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call new delegate method, cleaned-up a little (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call drag caret methods on WebView instead of WebBridge so WebView can make sure only 1 HTML view has a drag cursor (-[WebHTMLView draggingCancelledWithDraggingInfo:]): ditto (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto (-[WebHTMLView _delegateDragSourceActionMask]): new, gets drag source action mask from delegate * WebView.subproj/WebHTMLViewInternal.h: * WebView.subproj/WebImageView.h: * WebView.subproj/WebImageView.m: (-[WebImageView mouseDown:]): get the drag source action mask from the delegate (-[WebImageView mouseDragged:]): inform the delegate of the drag * WebView.subproj/WebView.m: (-[WebViewPrivate dealloc]): assert that dragCursorBridge is nil (-[WebView _close]): release dragCursorBridge (-[WebView _bridgeAtPoint:]): new (-[WebView editableDOMRangeForPoint:]): new API (-[WebView moveDragCaretToPoint:]): new API (-[WebView removeDragCaret]): new API (-[WebView _frameViewAtWindowPoint:]): moved so this can be called internally * WebView.subproj/WebViewInternal.h: * WebView.subproj/WebViewPrivate.h: 2004-07-10 Trey Matteson Prep work for latest delegate API for dragging. In addition, I also straightened out all the cases of DHTML setting a drag image or setting pasteboard data, and how that would override WebKit's default behavior (which follows how WinIE does things). Reviewed by Chris. * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:archive:rect:URL:title:event:dragImage:dragLocation:writePasteboard:]): New args to allow WebCore override of dragImage and pasteboard data. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge allowDHTMLDrag:UADrag:]): New method to return the drag action info to WC. (-[WebBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Pass along new args. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Allow WebCore to override drag image and pasteboard data for any type of drag. (-[WebHTMLView mouseDragged:]): Pass NO for new args. * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebImageView.m: (-[WebImageView mouseDragged:]): Pass NO/nil for new args. === Safari-144 === 2004-06-10 Kevin Decker Reviewed by John. * WebView.subproj/WebResource.m: (-[WebResource description]): -added per request of cblu (-[WebResource _response]): -added this method to the header (-[WebResource _stringValue]): - gives the string value of the NSData representation * WebView.subproj/WebResourcePrivate.h: 2004-06-10 Darin Adler Reviewed by Ken. * WebCoreSupport.subproj/WebBridge.m: Removed undo-related methods. (-[WebBridge undoManager]): Added. * WebKit.pbproj/.cvsignore: Updated for new Xcode files. 2004-06-09 Ken Kocienda Reviewed by Darin Fix for this bug: : "Editable WebViews should maintain a selection even when they're not firstResponder" Add some code to determine whether a WebHTMLView should maintain an inactive selection when the view is not first responder. Traditionally, these views have not maintained such selections, clearing them when the view was not first responder. However, for appls embedding this view as an editing widget, it is desirable to act more like an NSTextView. For now, however, the view only acts in this way when the web view is set to be editable with -[WebView setEditable:YES]. This will maintain traditional behavior for WebKit clients dating back to before this change, and will likely be a decent switch for the long term, since clients to ste the web view to be editable probably want it to act like a "regular" Cocoa view in terms of its selection behavior. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView updateTextBackgroundColor]): Add code to tell whether the view is resigning first responder, and if it is, use the inactive text background color. (-[WebHTMLView maintainsInactiveSelection]): New helper which does checks to see if the new selection behavior should be used, or whether we should continue with traditional WebKit behavior. (-[WebHTMLView resignFirstResponder]): Call new maintainsInactiveSelection helper. If true, do not clear the selection. * WebView.subproj/WebHTMLViewInternal.h: Add resigningFirstResponder flag. 2004-06-09 Chris Blumenberg Implemented drag destination portion of the new drag & drop API. Reviewed by trey. * WebView.subproj/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]): new delegate implementation (-[WebDefaultUIDelegate webView:willPerformDragDestinationAction:forDraggingInfo:]): ditto * WebView.subproj/WebDocumentInternal.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): handle the action mask (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto * WebView.subproj/WebUIDelegate.h: * WebView.subproj/WebUIDelegatePrivate.h: * WebView.subproj/WebView.m: (-[WebView _dragOperationForDraggingInfo:]): call new delegate methods (-[WebView performDragOperation:]): ditto * WebView.subproj/WebViewInternal.h: * WebView.subproj/WebViewPrivate.h: 2004-06-09 Richard Williamson Implemented PDF rendering for the drawImage() function in Context2D. This allows PDF files to be drawn in scaled or rotated context without rasterization artifacts. The PDF image is currently NOT cached. Caching can/will be added as an optimization. The hooks are already in place to flush the cache as necessary. Reviewed by John. * WebCoreSupport.subproj/WebImageRenderer.h: * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer dealloc]): (-[WebImageRenderer _needsRasterFlush]): (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): (-[WebImageRenderer _PDFDocumentRef]): (-[WebImageRenderer _PDFDraw]): (-[WebImageRenderer _PDFDrawFromRect:toRect:operation:alpha:flipped:]): (-[WebImageRenderer MIMEType]): (ReleasePDFDocumentData): (-[WebPDFDocument initWithData:]): (-[WebPDFDocument dealloc]): (-[WebPDFDocument documentRef]): (-[WebPDFDocument mediaBox]): (-[WebPDFDocument bounds]): (-[WebPDFDocument adjustCTM:]): (-[WebPDFDocument setCurrentPage:]): (-[WebPDFDocument currentPage]): (-[WebPDFDocument pageCount]): Added back check for old plugin API. * WebView.subproj/WebFrame.m: (-[WebFrame _reloadForPluginChanges]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSubview:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameRequiredForMIMEType:URL:]): 2004-06-08 Trey Matteson In DHTML dragging there is no notion of registering for types, so we'd like to just pass all types down to WebCore. It turns out that the per-type registration doesn't matter as far as the underlying drag service is concerned, so Cocoa is already getting called for any type. We just hack and override a private method to ensure we accept any type. Reviewed by Chris. * WebView.subproj/WebView.m: (-[WebView _hitTest:dragTypes:]): We accept any drag type if it is within our view, without overriding a subview's decision. 2004-06-08 Trey Matteson A DHTML drag source can now change the dragging image during the drag. Currently it may only be set to a static image. Reviewed by John * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setDraggingImage:at:]): Typical bridge glue. * WebView.subproj/WebHTMLView.m: (FlipImageSpec): New utility, copied from AppKit. (-[WebHTMLView _setDraggingImage:at:]): Mostly copied from AppKit. Sets the drag image using CG API. * WebView.subproj/WebHTMLViewPrivate.h: 2004-06-08 Chris Blumenberg Fixed: : (REGRESSION: can't paste text copied from web page into Excel (due to HTML on the pasteboard?)) Reviewed by darin. * WebView.subproj/WebHTMLView.m: (+[WebHTMLView _selectionPasteboardTypes]): don't include NSHTMLPboardType (-[WebHTMLView _selectedArchive]): removed markup string parameter (_selectionPasteboardTypes::if): don't put NSHTMLPboardType on the pasteboard * WebView.subproj/WebHTMLViewPrivate.h: 2004-06-07 Darin Adler Reviewed by Chris. - fixed : (REGRESSION: Text Bigger/Smaller commands are always disabled in TOT) * WebView.subproj/WebHTMLView.m: Add @interface declaration for WebTextSizing category on WebHTMLView. This must have gotten lost somewhere along the way. 2004-06-05 Trey Matteson WebKit no longer causes an endless stream of dragexit events to occur at the DHTML level when hovering over an element that is not accepting the drag. Reviewed by Chris * WebView.subproj/WebView.m: (-[WebView _dragOperationForDraggingInfo:]): If the potential target refuses the item, don't turn around and immediately tell it to cancel the drag, which is what leads to the exit event happening at the DOM level. If the target just refused the drag, it should not have anything it needs to cancel. 2004-06-03 Trey Matteson DHTML dragging uses the Cocoa NSDragOperation on both the source and dest ends. Most of the real work is in WebCore. Reviewed by rjw * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge startDraggingImage:at:operation:event:]): Pass the drag op along. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:]): Remember drag op from WC. (-[WebHTMLView mouseDragged:]): Pass None for the op (alternate code path that will be going away). (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Use the WC drag op. * WebView.subproj/WebHTMLViewInternal.h: * WebView.subproj/WebHTMLViewPrivate.h: === Safari-143 === 2004-06-04 Chris Blumenberg Fixed: : (can't drag an image from Desktop to Blot document) Reviewed by mjs. * WebView.subproj/WebDataSource.m: (-[WebDataSource _imageElementWithImageResource:]): factored out from _documentFragmentWithImageResource: (-[WebDataSource _documentFragmentWithImageResource:]): call _imageElementWithImageResource: * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _imageExistsAtPaths:]): new (-[WebHTMLView _documentFragmentWithPaths:]): new (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): handle NSFilenamesPboardType (+[WebHTMLView _insertablePasteboardTypes]): include NSFilenamesPboardType (-[WebHTMLView _canProcessDragWithDraggingInfo:]): check for NSFilenamesPboardType and check that the files are images 2004-06-04 Richard Williamson Fixed crasher from last checkin. Reviewed by Ken. * Plugins.subproj/WebPluginDatabase.m: (+[WebPluginDatabase setAdditionalWebPlugInPaths:]): (pluginLocations): 2004-06-03 Richard Williamson Add SPI to allow setting of plugin load path. Reviewed by Hyatt. * Plugins.subproj/WebPluginDatabase.h: * Plugins.subproj/WebPluginDatabase.m: (+[WebPluginDatabase setAdditionalWebPlugInPaths:]): (pluginLocations): 2004-06-03 Darin Adler Reviewed by Chris. - fixed : (Need SPI to get URL of favicon for a site) * Misc.subproj/WebIconDatabase.h: Add iconURLForURL: method. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase iconURLForURL:]): Added. 2004-06-02 Ken Kocienda Reviewed by John Fix for these bugs: : "Make API name change for -webViewShouldBeginEditing:inDOMRange:" : "Make API name change for -webViewShouldEndEditing:inDOMRange:" New names are -webView:shouldBeginEditingInDOMRange: and -webView:shouldEndEditingInDOMRange:, respectively. * WebView.subproj/WebDefaultEditingDelegate.m: (-[WebDefaultEditingDelegate webView:shouldBeginEditingInDOMRange:]): (-[WebDefaultEditingDelegate webView:shouldEndEditingInDOMRange:]): * WebView.subproj/WebEditingDelegate.h: * WebView.subproj/WebView.m: (-[WebView _shouldBeginEditingInDOMRange:]): (-[WebView _shouldEndEditingInDOMRange:]): 2004-06-02 Richard Williamson conformsToProtocol:@protocol(WebPlugin) becomes respondsToSelector:@selector(webPlugInInitialize) because protocol was changed to an informal protocol. Reviewed by Kevin. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameRequiredForMIMEType:URL:]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSubview:]): 2004-06-01 Trey Matteson First cut at source side of DHTML dragging. Most of the work is in WebCore. Reviewed by hyatt. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge startDraggingImage:at:event:]): Added image and loc args for when WC tells WK to start a drag. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:event:]): New image and loc args coming from WebCore. Hysteresis is moved to WC. (-[WebHTMLView mouseDragged:]): Call new _startDragging method. (-[WebHTMLView draggedImage:movedTo:]): Pass event to WC. (-[WebHTMLView draggedImage:endedAt:operation:]): Pass event to WC. (-[WebHTMLView mouseUp:]): Reset firstMouseDownEvent. Fixes bug where we would occasionally short-circuit WC event handling due to aliasing problem with this event. * WebView.subproj/WebHTMLViewPrivate.h: 2004-06-02 Darin Adler Reviewed by John. - fixed problem with timing of delegate callbacks in the back/forward cache case * WebView.subproj/WebFrame.m: (-[WebFrame _transitionToCommitted:]): Move code to indicate page is done loading in the back/forward cache case from here ... (-[WebFrame _opened]): ... to here. 2004-06-01 Richard Williamson Fixed deployment build warning. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): 2004-06-01 Richard Williamson Added support for drawImage and drawImageFromRect to Added support for composite attribute to Reviewed by Trey. * WebCoreSupport.subproj/WebImageRenderer.h: * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageContext initWithBounds:context:]): (-[WebImageContext dealloc]): (-[WebImageContext saveGraphicsState]): (-[WebImageContext restoreGraphicsState]): (-[WebImageContext isDrawingToScreen]): (-[WebImageContext focusStack]): (-[WebImageContext setFocusStack:]): (-[WebImageContext bounds]): (-[WebImageContext isFlipped]): (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): (-[WebImageRenderer dealloc]): (-[WebImageRenderer _beginRedirectContext:]): (-[WebImageRenderer _endRedirectContext:]): (-[WebImageRenderer _needsRasterFlush]): (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): (-[WebImageRenderer drawImageInRect:fromRect:]): (-[WebImageRenderer flushRasterCache]): (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): (-[WebImageRenderer tileInRect:fromPoint:context:]): * WebCoreSupport.subproj/WebImageRendererFactory.m: (-[WebImageRendererFactory imageRendererWithMIMEType:]): (-[WebImageRendererFactory imageRendererWithName:]): (-[WebImageRendererFactory CGCompositeOperationInContext:]): (-[WebImageRendererFactory setCGCompositeOperation:inContext:]): (-[WebImageRendererFactory setCGCompositeOperationFromString:inContext:]): 2004-06-01 John Sullivan Reviewed by Trey. Work on text-align API. Marked these bugs fixed: : (Editing:Ê-alignCenter:ÊmethodÊunimplementedÊ(WebKitÊeditingÊAPI)) : (Editing:Ê-alignJustified:ÊmethodÊunimplementedÊ(WebKitÊeditingÊAPI)) : (Editing:Ê-alignLeft:ÊmethodÊunimplementedÊ(WebKitÊeditingÊAPI)) : (Editing:Ê-alignRight:ÊmethodÊunimplementedÊ(WebKitÊeditingÊAPI)) in favor of opening this bug: : (Editing: -alignLeft: and friends mostly implemented but not yet working (WebKit editing API)) * English.lproj/StringsNotToBeLocalized.txt: updated for these changes * WebView.subproj/WebHTMLView.m: (-[WebHTMLView changeDocumentBackgroundColor:]): added a FIXME about why this is still not quite right (-[WebHTMLView _alignSelectionUsingCSSValue:]): new method, bottleneck for the various values (-[WebHTMLView alignCenter:]): call _alignSelectionUsingCSSValue:@"center" (-[WebHTMLView alignJustified:]): call _alignSelectionUsingCSSValue:@"justify" (-[WebHTMLView alignLeft:]): call _alignSelectionUsingCSSValue:@"left" (-[WebHTMLView alignRight:]): call _alignSelectionUsingCSSValue:@"right" 2004-06-01 John Sullivan Reviewed by Ken. - fixed : (Editing:Ê-changeDocumentBackgroundColor:Ê methodÊunimplementedÊ(WebKitÊeditingÊAPI)) - made startSpeaking: actually work; previous implementation raised a DOMException * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): added range parameter (-[WebHTMLView _entireDOMRange]): new convenience method (-[WebHTMLView changeDocumentBackgroundColor:]): now affects entire document, not just selected range, a la NSTextView (-[WebHTMLView changeColor:]): now passes in a range to _changeCSSColorUsingSelector:inRange: (-[WebHTMLView startSpeaking:]): now uses _entireDOMRange 2004-06-01 Chris Blumenberg Fixed: : (REGRESSION (Safari-140) can't drag standalone images more than once) Reviewed by john. * WebView.subproj/WebImageView.m: (-[WebImageView mouseDown:]): set ignoringMouseDraggedEvents to NO. This line of code was deleted somehow. 2004-06-01 John Sullivan Reviewed by Darin. - fixed : (HTML Editing: Color panel doesn't work) * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _colorPanelColorAsStyleUsingSelector:]): new method, returns a DOMCSSStyleDeclaration * (-[WebHTMLView _changeCSSColorUsingSelector:]): new method, sets a color-related style attribute on the selection (-[WebHTMLView changeDocumentBackgroundColor:]): call _changeCSSColorUsingSelector: with @selector(setBackgroundColor:) (-[WebHTMLView changeColor:]): call _changeCSSColorUsingSelector: with @selector(setColor:); also added comments explaining why changeDocumentBackgroundColor: will never actually be called until an AppKit code-incest mess is straighted out. 2004-06-01 Ken Kocienda Reviewed by Darin * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _fontManagerOperationAsStyle]): Fixed typo in family-name code that caused family names to match when they should not. 2004-06-01 Chris Blumenberg Made paste and drop ask the delegate before making any replacements. Reviewed by kocienda. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): renamed, now calls _shouldInsertFragment:replacingDOMRange:givenAction: (-[WebHTMLView _shouldInsertFragment:replacingDOMRange:givenAction:]): new, asks delegate (-[WebHTMLView concludeDragForDraggingInfo:]): now calls _shouldInsertFragment:replacingDOMRange:givenAction: (-[WebHTMLView paste:]): call renamed _pasteWithPasteboard:allowPlainText: (-[WebHTMLView pasteAsRichText:]): ditto 2004-05-28 Darin Adler Reviewed by Maciej. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _fontManagerOperationAsStyle]): First cut at figuring out what operation the font manager is doing without digging into its private data structures. 2004-05-28 Darin Adler Reviewed by Ken. - various editing-related improvements - fixed : (Editing: -selectParagraph: method unimplemented (WebKit editing API)) - fixed : (Editing: -selectLine: method unimplemented (WebKit editing API)) - fixed : (Editing: -selectWord: method unimplemented (WebKit editing API)) - fixed : (Editing: -uppercaseWord: method unimplemented (WebKit editing API)) - fixed : (Editing: -lowercaseWord: method unimplemented (WebKit editing API)) - fixed : (Editing: -capitalizeWord: method unimplemented (WebKit editing API)) * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Removed the call to ensureCaretVisible. This is now handled on the other side of the bridge. (-[WebHTMLView moveDown:]): Changed to use WebSelectByLine granularity instead of WebSelectDown direction. (-[WebHTMLView moveDownAndModifySelection:]): Ditto. (-[WebHTMLView moveUp:]): Ditto. (-[WebHTMLView moveUpAndModifySelection:]): Ditto. (-[WebHTMLView _expandSelectionToGranularity:]): Added. (-[WebHTMLView selectParagraph:]): Implemented by calling _expandSelectionToGranularity. (-[WebHTMLView selectLine:]): Ditto. (-[WebHTMLView selectWord:]): Ditto. (-[WebHTMLView _fontManagerOperationAsStyle]): Added. Placeholder for the job of figuring out what style change to make based on NSFontManager. (-[WebHTMLView changeFont:]): Implemented, but not really tested because guts are still missing due to lack of above method. (-[WebHTMLView insertTab:]): Removed the call to ensureCaretVisible. (-[WebHTMLView insertNewline:]): Removed the call to ensureCaretVisible. (-[WebHTMLView insertParagraphSeparator:]): Made this insert a newline for now. (-[WebHTMLView _changeWordCaseWithSelector:]): Added. (-[WebHTMLView uppercaseWord:]): Implemented by calling _changeWordCaseWithSelector. (-[WebHTMLView lowercaseWord:]): Ditto. (-[WebHTMLView capitalizeWord:]): Ditto. (-[WebHTMLView deleteBackward:]): Removed the call to ensureCaretVisible. (-[WebHTMLView checkSpelling:]): Put a pile of AppKit code in here as a placeholder. (-[WebHTMLView startSpeaking:]): Use the new stringForRange: method instead of outerText. That way we can handle cases where the entire document is selected. (-[WebHTMLView insertText:]): Removed the call to ensureCaretVisible. 2004-05-28 Chris Blumenberg Fixed: : (selection deselects when clicking editable WebView in background window) Fixed this problem by using NSTextView's approach of only allowing dragging on first mouse down. Reviewed by john. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView acceptsFirstMouse:]): store the first mouse down (-[WebHTMLView mouseDown:]): Don't tell WebCore about the first mouse down event since only dragging can occur on the first mouse down. (-[WebHTMLView mouseDragged:]): Don't tell WebCore about the drags that occur after the first mouse down since only dragging can occur after the first mouse down. * WebView.subproj/WebHTMLViewInternal.h: 2004-05-28 Darin Adler * WebView.subproj/WebView.m: At Ken's suggestion, for better efficiency and safety, use _cmd rather than explicit selector names in the forwarding methods. 2004-05-28 Darin Adler Reviewed by Ken. - implemented a few more editing operations, moved code from WebView to WebHTMLView * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge respondToChangedContents]): Call _updateFontPanel on the WebHTMLView, not the WebView. (-[WebBridge respondToChangedSelection]): Ditto. * WebView.subproj/WebHTMLView.m: Moved WebElementOrTextFilter class here from WebView and gave it a prefix so it won't conflict with developers' class names. (-[WebHTMLView _updateFontPanel]): Moved here from WebView. * WebView.subproj/WebView.m: (-[WebView toggleSmartInsertDelete:]): Added. (-[WebView toggleContinuousSpellChecking:]): Added. (-[WebView isContinuousGrammarCheckingEnabled]): Added. (-[WebView setContinuousGrammarCheckingEnabled:]): Added. (-[WebView toggleContinuousGrammarChecking:]): Added. (-[WebView setSmartInsertDeleteEnabled:]): Implemented. We have the flag now, although we still don't actually have smart insert and delete implemented. (-[WebView smartInsertDeleteEnabled]): Ditto. (-[WebView setContinuousSpellCheckingEnabled:]): Implemented. (-[WebView isContinuousSpellCheckingEnabled]): Implemented. (-[WebView spellCheckerDocumentTag]): Implemented. (-[WebView _preflightSpellCheckerNow:]): Added. (-[WebView _preflightSpellChecker]): Added. (-[WebView _continuousCheckingAllowed]): Added. * WebView.subproj/WebHTMLViewInternal.h: Added. We'll things here from WebHTMLViewPrivate so they are internal to the framework, rather than SPI. * WebKit.pbproj/project.pbxproj: Added WebHTMLViewInternal.h. * WebView.subproj/WebHTMLViewPrivate.h: Moved WebHTMLViewPrivate into the internal header. Despite its name, it's internal, not SPI. * WebView.subproj/WebViewPrivate.h: Moved WebViewPrivate into the internal header. Despite its name, it's internal, not SPI. Added a number of new operations which should be public API. We'll have to figure out what to do about API review and the WWDC deadline. * WebView.subproj/WebViewInternal.h: Removed _updateFontPanel method. * English.lproj/StringsNotToBeLocalized.txt: Update. 2004-05-27 Ken Kocienda Reviewed by John The font panel now updates correctly, reflecting the current selection. There may still be some bugs and corner cases to handle, but this will work for a general implementation of the feature. * WebView.subproj/WebView.m: (+[ElementOrTextFilter filter]): Added. This filter will accept DOM elements and text nodes and skip everything else. This filter is used when walking a selection to determine the fonts in use. (-[ElementOrTextFilter acceptNode:]): DOM node filter implementation method. (-[WebView _fontFromStyle]): Removed, in lieu of new fontForCurrentPosition call on the bridge. (-[WebView _updateFontPanel]): Reworked to use a TreeWalker instead of a NodeIterator. This was done since the iterator must be rooted at the document root, but start iterating at the start of the selection. TreeWalker's setCurrentNode allows this to be done. 2004-05-27 Kevin Decker Reviewed by NOBODY (OOPS!). * Plugins.subproj/WebScriptObject.h: 2004-05-27 Kevin Decker Reviewed by Ken. - error messages (eg. from JavaScriptCore) sent to the bridge now get delievered to a new delegate method. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge addMessageToConsole:]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebUIDelegatePrivate.h: === Safari-142 === 2004-05-27 Trey Matteson First cut at DHTML dragging, destination side. Dragging text, files and URLs onto elements works. Type conversion from NSPasteboard to MIME types is hardwired. No JS access yet to modifier keys, or operations mask. Reviewed by Chris. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): Call DHTML dragging via bridge. (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto. (-[WebHTMLView concludeDragForDraggingInfo:]): Ditto. * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebView.m: (-[WebView _setWebKitDragRespondsToDragging:]): New SPI for finer grained control than the delegate currently has. (-[WebView _webKitDragRespondsToDragging]): Ditto. (-[WebView _commonInitializationWithFrameName:groupName:]): Init new flag. (-[WebView _dragOperationForDraggingInfo:]): Comment. * WebView.subproj/WebViewPrivate.h: 2004-05-27 Darin Adler * WebView.subproj/WebFrameView.m: (-[WebFrameView _scrollVerticallyBy:]): Added comment. 2004-05-27 Darin Adler Reviewed by Maciej. - fixed : (REGRESSION: Page Down key goes down two pages when smooth scrolling is on) * WebView.subproj/WebFrameView.m: (-[WebFrameView _scrollVerticallyBy:]): Added return value to indicate if any scrolling was done. This requires using secret AppKit methods; the public methods don't have a return value. (-[WebFrameView _pageVertically:]): Added return value to indicate if any scrolling was done. (-[WebFrameView scrollPageUp:]): Base call through to next responder on whether any scrolling was done, using return value, rather than looking at new scroll position. This was the cause of the bug, since with smooth scrolling no scrolling has happened yet when the function returns. (-[WebFrameView scrollPageDown:]): Ditto. - removed temporary DOMDocument method from WebView * WebView.subproj/WebView.m: (-[WebView computedStyleForElement:pseudoElement:]): Call getComputedStyle on the document that owns the element rather than on the document that currently contains the selection. (-[WebView _updateFontPanel]): Get the document from the DOM range rather than using the DOMDocument method. (-[WebView styleDeclarationWithText:]): Change this method to not use the DOMDocument method, but do the same job with inline code. * WebView.subproj/WebViewPrivate.h: Moved a recently-added category that is not SPI out of here. * WebView.subproj/WebViewInternal.h: Moved the category in here. And removed the DOMDocument method from it. - other changes * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. * copy-webcore-files-to-webkit: Change tabs to spaces. Quiet the script down by making it no longer echo each command or print messages about what it's doing by default. 2004-05-27 Darin Adler Reviewed by Maciej. - moved to new symlink technique for embedding frameworks * WebKit.pbproj/project.pbxproj: Get rid of embed-frameworks build step because we don't need it any more. 2004-05-27 Darin Adler - fixed Deployment build * WebView.subproj/WebView.m: (-[WebView concludeDragOperation:]): Got rid of ASSERT-only local variable. 2004-05-26 Maciej Stachowiak Reviewed by Dave. - fix further problems with Emerson feed: redirection for RSS feeds This is done by removing removing the calls to defer callbacks while waiting for [... Maciej stopped typing here ...] * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]): (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient checkContentPolicyForResponse:]): 2004-05-26 Chris Blumenberg Added and implemented proposed dragging API changes. These changes are necessary to make JS dragging work properly. Reviewed by trey. * WebView.subproj/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate webView:shouldDetermineDragOperationForDraggingInfo:dragOperation:]): instead of calling back to the WebView to get the default drag operation, return YES. Return NO in order to return a custom drag operation. Removed element parameter since another new API provides a way to get that. (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:]): Removed element parameter since another new API provides a way to get that. * WebView.subproj/WebDocumentInternal.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): now returns a drag operation (-[WebHTMLView draggingCancelledWithDraggingInfo:]): moved * WebView.subproj/WebUIDelegatePrivate.h: * WebView.subproj/WebView.m: (-[WebView elementAtPoint:]): new proposed API (-[WebView dragOperationForDraggingInfo:]): removed code from this API that should be removed (-[WebView _dragOperationForDraggingInfo:]): call new API (-[WebView concludeDragOperation:]): call new API 2004-05-26 Darin Adler Reviewed by John. - moved HTML editing operations from WebView to WebHTMLView, leaving only forwarding machinery at the WebView level - fixed : (Editing: -startSpeaking: method unimplemented (WebKit editing API)) - fixed : (Editing: -stopSpeaking: method unimplemented (WebKit editing API)) - fixed : (Editing: -pasteAsRichText: method unimplemented (WebKit editing API)) * WebView.subproj/WebView.h: Added missing declaration of selectionAffinity. I think this omission was an editorial mistake. * WebView.subproj/WebView.m: (-[WebView searchFor:direction:caseSensitive:wrap:]): Use _frameForCurrentSelection directly, since it no longer returns nil. (-[WebView pasteboardTypesForSelection]): Use _frameForCurrentSelection instead of going through the bridge. (-[WebView _frameForCurrentSelection]): Renamed from _currentFrame and changed to return main frame rather than nil when called on WebView that has no current selection. (-[WebView _bridgeForCurrentSelection]): Moved in file. (-[WebView _updateFontPanel]): Removed the one call to _currentSelectionIsEditable here, since it was the only one left in this file. Eventually this code will move to WebHTMLView. (-[WebView _performResponderOperation:with:]): Name change. * WebView.subproj/WebDataSource.m: (-[WebDataSource _documentFragmentWithImageResource:]): Build document fragment using DOM instead of composing HTML text. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Added allowPlainText boolean, moved method into new location in file so it can be in the right category, changed link pasting to use DOM instead of composing HTML text. (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:allowPlainText:]): Added allowPlainText boolean, moved method into new location in file so it can be in the right category. (-[WebHTMLView concludeDragForDraggingInfo:]): Pass YES for allowPlainText. (-[WebHTMLView keyDown:]): Set keyDownEvent field for use by workaround below. (-[WebHTMLView centerSelectionInVisibleArea:]): Moved here from WebView. (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Ditto. (-[WebHTMLView moveBackward:]): Ditto. (-[WebHTMLView moveBackwardAndModifySelection:]): Ditto. (-[WebHTMLView moveDown:]): Ditto. (-[WebHTMLView moveDownAndModifySelection:]): Ditto. (-[WebHTMLView moveForward:]): Ditto. (-[WebHTMLView moveForwardAndModifySelection:]): Ditto. (-[WebHTMLView moveLeft:]): Ditto. (-[WebHTMLView moveLeftAndModifySelection:]): Ditto. (-[WebHTMLView moveRight:]): Ditto. (-[WebHTMLView moveRightAndModifySelection:]): Ditto. (-[WebHTMLView moveToBeginningOfDocument:]): Ditto. (-[WebHTMLView moveToBeginningOfLine:]): Ditto. (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto. (-[WebHTMLView moveToEndOfDocument:]): Ditto. (-[WebHTMLView moveToEndOfLine:]): Ditto. (-[WebHTMLView moveToEndOfParagraph:]): Ditto. (-[WebHTMLView moveUp:]): Ditto. (-[WebHTMLView moveUpAndModifySelection:]): Ditto. (-[WebHTMLView moveWordBackward:]): Ditto. (-[WebHTMLView moveWordBackwardAndModifySelection:]): Ditto. (-[WebHTMLView moveWordForward:]): Ditto. (-[WebHTMLView moveWordForwardAndModifySelection:]): Ditto. (-[WebHTMLView moveWordLeft:]): Ditto. (-[WebHTMLView moveWordLeftAndModifySelection:]): Ditto. (-[WebHTMLView moveWordRight:]): Ditto. (-[WebHTMLView moveWordRightAndModifySelection:]): Ditto. (-[WebHTMLView pageDown:]): Ditto. (-[WebHTMLView pageUp:]): Ditto. (-[WebHTMLView selectParagraph:]): Ditto. (-[WebHTMLView selectLine:]): Ditto. (-[WebHTMLView selectWord:]): Ditto. (-[WebHTMLView copy:]): Moved down in file so it's in the right category. (-[WebHTMLView cut:]): Ditto. (-[WebHTMLView delete:]): Ditto. (-[WebHTMLView paste:]): Ditto. (-[WebHTMLView copyFont:]): Moved here from WebView. (-[WebHTMLView pasteFont:]): Ditto. (-[WebHTMLView pasteAsPlainText:]): Ditto. (-[WebHTMLView pasteAsRichText:]): Implemented this by calling the paste code with allowPlainText:NO; believe it or not, that's what this means in NSTextView. (-[WebHTMLView changeFont:]): Moved here from WebView. (-[WebHTMLView changeAttributes:]): Ditto. (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto. (-[WebHTMLView changeColor:]): Ditto. (-[WebHTMLView alignCenter:]): Ditto. (-[WebHTMLView alignJustified:]): Ditto. (-[WebHTMLView alignLeft:]): Ditto. (-[WebHTMLView alignRight:]): Ditto. (-[WebHTMLView indent:]): Ditto. (-[WebHTMLView insertTab:]): Moved here from WebView, also call insertText rather than replaceSelectionWithText so it's undoable like a typed character. (-[WebHTMLView insertBacktab:]): Moved here from WebView. (-[WebHTMLView insertNewline:]): Moved here from WebView, also call insertText rather than replaceSelectionWithText so it's undoable like a typed character. (-[WebHTMLView insertParagraphSeparator:]): Moved here from WebView. (-[WebHTMLView changeCaseOfLetter:]): Ditto. (-[WebHTMLView uppercaseWord:]): Ditto. (-[WebHTMLView lowercaseWord:]): Ditto. (-[WebHTMLView capitalizeWord:]): Ditto. (-[WebHTMLView deleteForward:]): Ditto. (-[WebHTMLView deleteBackward:]): Ditto. (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Ditto. (-[WebHTMLView deleteWordForward:]): Ditto. (-[WebHTMLView deleteWordBackward:]): Ditto. (-[WebHTMLView deleteToBeginningOfLine:]): Ditto. (-[WebHTMLView deleteToEndOfLine:]): Ditto. (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto. (-[WebHTMLView deleteToEndOfParagraph:]): Ditto. (-[WebHTMLView complete:]): Ditto. (-[WebHTMLView checkSpelling:]): Ditto. (-[WebHTMLView showGuessPanel:]): Ditto. (-[WebHTMLView performFindPanelAction:]): Ditto. (-[WebHTMLView startSpeaking:]): Implemented this. (-[WebHTMLView stopSpeaking:]): Implemented this. (-[WebHTMLView insertText:]): Moved here from WebView. * WebView.subproj/WebHTMLViewPrivate.h: Removed declarations of methods that are neither SPI nor needed outside WebHTMLView.m. * WebView.subproj/WebViewInternal.h: Removed _currentFrame, and added _frameForCurrentSelection and _bridgeForCurrentSelection. 2004-05-25 Maciej Stachowiak Reviewed by Richard. : new sniffing support is crashing * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient checkContentPolicyForResponse:]): Retain listener around call, in case delegate does something that ends up invalidating it, like navigating to a new URL. 2004-05-25 Chris Blumenberg Fixed regression where undoing typing would undo character-by-character. Reviewed by kocienda. * WebView.subproj/WebView.m: (-[WebView insertText:]): call insertText: rather than replaceSelectionWithText:: since text insertion via insertText: is coalesced and this is the behavior we want here 2004-05-25 Ken Kocienda Reviewed by John Change postDidChangeSelectionNotification and postDidChangeNotification tp respondToChangedSelection and respondToChangedContents, respectively, to account for the fact that we do work in these calls other than post a notification. The need to clear the typing style on both kinds of changes inspired the name change. Add in support to set and access typing style. We don't do anything with it yet except store and return it. Using the typing style is still to come. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge respondToChangedContents]): Change name of functions as described. (-[WebBridge respondToChangedSelection]): Change name of functions as described. * WebView.subproj/WebView.m: (-[WebView dealloc:]): Dealloc typing style ivar. (-[WebView setTypingStyle:]): Change to set typing style ivar. (-[WebView typingStyle]): Return new typing style ivar. * WebView.subproj/WebViewPrivate.h: Add ivar for typing style. 2004-05-25 Ken Kocienda Reviewed by John Improve _bridgeForCurrentSelection so that it is frame-savvy. Fixup setSelectedDOMRange:affinity: so that it uses the right bridge. * WebView.subproj/WebView.m: (-[WebView _bridgeForCurrentSelection]): Use _currentFrame not mainFrame. (-[WebView _currentFrame]): Moved to WebView (WebInternal) category so _bridgeForCurrentSelection can use it. (-[WebView setSelectedDOMRange:affinity:]): Derive the bridge to use from the range passed in; _bridgeForCurrentSelection is not the right way to get at the document for the range. * WebView.subproj/WebViewInternal.h: Add _currentFrame declaration. 2004-05-24 Darin Adler Reviewed by Ken. - fixed : (REGRESSION: crash from infinite regress in -[WebFrameView(WebPrivate) scrollPageDown:]) * WebView.subproj/WebView.m: (-[WebView _performResponderOperation:sender:]): Helper method that knows how to pass on operations to the responder chain, allowing us to implement operations that will get passed to views inside us as necessary. Moved a few methods to this, and soon will move even more. (-[WebView scrollLineDown:]): Use the above method. (-[WebView scrollLineUp:]): Ditto. (-[WebView scrollPageDown:]): Ditto. (-[WebView scrollPageUp:]): Ditto. (-[WebView copy:]): Ditto. (-[WebView cut:]): Ditto. (-[WebView paste:]): Ditto. (-[WebView delete:]): Ditto. (-[WebView insertBacktab:]): Ditto. 2004-05-24 Chris Blumenberg Improved editing via drag Reviewed by kocienda. * WebView.subproj/WebDataSource.m: (-[WebDataSource _documentFragmentWithImageResource:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment (-[WebDataSource _documentFragmentWithArchive:]): ditto (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): call renamed methods * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDocumentInternal.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _documentFragmentFromPasteboard:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:]): new (-[WebHTMLView paste:]): call _replaceSelectionWithPasteboard:selectReplacement: (-[WebHTMLView dragOperationForDraggingInfo:]): handle the case where the destination is editable, but the source is not (-[WebHTMLView draggingCancelledWithDraggingInfo:]): new, removes drag caret (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): remove drag caret when we can't handle the drag (-[WebHTMLView concludeDragForDraggingInfo:]): instead of calling paste, move the selection when doing a move and replace the drag caret when doing a copy * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebView.m: (-[WebViewPrivate dealloc]): (-[WebView _setDraggingDocumentView:]): new (-[WebView _dragOperationForDraggingInfo:]): if the current dragging document view changes, tell the previous dragging document view that dragging cancelled (-[WebView draggingExited:]): new, tell the previous dragging document view that dragging cancelled (-[WebView concludeDragOperation:]): release the dragging document view (-[WebView replaceSelectionWithNode:]): pass the selectReplacement BOOL to the bridge (-[WebView replaceSelectionWithText:]): ditto (-[WebView replaceSelectionWithMarkupString:]): ditto (-[WebView replaceSelectionWithArchive:]): ditto (-[WebView pasteAsPlainText:]): ditto (-[WebView insertTab:]): ditto (-[WebView insertText:]): ditto * WebView.subproj/WebViewPrivate.h: 2004-05-24 John Sullivan Reviewed by Dave. - added private RSSFeedReferrer field to WebHistoryItem so RSS feeds in the back/forward list can remember what page (if any) they were initiated from. * History.subproj/WebHistoryItem.m: new RSSFeedReferrer ivar in private structure (-[WebHistoryItemPrivate dealloc]): release RSSFeedReferrer (-[WebHistoryItem copyWithZone:]): copy RSSFeedReferrer (-[WebHistoryItem RSSFeedReferrer]): return RSSFeedReferrer (-[WebHistoryItem setRSSFeedReferrer:]): set RSSFeedReferrer * History.subproj/WebHistoryItemPrivate.h: declare -RSSFeedReferrer and -setRSSFeedReferrer: 2004-05-22 Darin Adler Reviewed by Ken. - implemented some of the trivial WebView editing operations; some had bug reports, to wit: - fixed : (Editing: -centerSelectionInVisibleArea: method unimplemented (WebKit editing API)) - fixed : (Editing: -deleteWordBackward: method unimplemented (WebKit editing API)) - fixed : (Editing: -deleteWordForward: method unimplemented (WebKit editing API)) - fixed : (Editing: -insertBacktab: method unimplemented (WebKit editing API)) - fixed : (Editing: -insertTab: method unimplemented (WebKit editing API)) - fixed : (Editing: -moveWordBackward: method unimplemented (WebKit editing API)) - fixed : (Editing: -moveWordBackwardAndModifySelection: method unimplemented (WebKit editing API)) - fixed : (Editing: -moveWordForward: method unimplemented (WebKit editing API)) - fixed : (Editing: -moveWordForwardAndModifySelection: method unimplemented (WebKit editing API)) - fixed : (Editing: -pasteAsPlainText: method unimplemented (WebKit editing API)) - fixed : (Editing: -scrollLineDown: method unimplemented (WebKit editing API)) - fixed : (Editing: -scrollLineUp: method unimplemented (WebKit editing API)) * WebView.subproj/WebView.m: (-[WebView centerSelectionInVisibleArea:]): Implemented. The implementation isn't perfect, but it's hooked up. It simply calls ensureCaretVisible for now. (-[WebView moveBackward:]): Implemented. The WebCore API already has a way to specify backward as opposed to left. A separate issue is the fact that these operations don't have bi-di-savvy implementations, but now this method is hooked up and will work at least for left-to-right text. (-[WebView moveBackwardAndModifySelection:]): Ditto. (-[WebView moveForward:]): Ditto. (-[WebView moveForwardAndModifySelection:]): Ditto. (-[WebView moveWordBackward:]): Ditto. (-[WebView moveWordBackwardAndModifySelection:]): Ditto. (-[WebView moveWordForward:]): Ditto. (-[WebView moveWordForwardAndModifySelection:]): Ditto. (-[WebView scrollLineDown:]): Forward to WebFrameView. (-[WebView scrollLineUp:]): Ditto. (-[WebView scrollPageDown:]): Ditto. (-[WebView scrollPageUp:]): Ditto. (-[WebView delete:]): Implemented. Follows pattern used in cut, copy, and paste. (-[WebView pasteAsPlainText:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge. (-[WebView insertTab:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge. (-[WebView insertBacktab:]): Implemented. Does nothing. If we ever change so that you can use a WebView as a field editor, then we might have to add code here. (-[WebView deleteWordForward:]): Implement by calling moveForwardAndModifySelection: and then delete:. Might not be a perfect implementation in the presence of delegates who refuse to delete because it will change the selection even if the delete is disallowed. (-[WebView deleteWordBackward:]): Implement by calling moveBackwardAndModifySelection: and then delete:. Same issue about about delegates as deleteWordForward:. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Added a FIXME. * DOM.subproj/DOMViews.h: Updated from recent change to WebCore. 2004-05-21 Richard Williamson Removed _bindObject:forFrame: SPI. Reviewed by Chris. * WebView.subproj/WebView.m: * WebView.subproj/WebViewPrivate.h: === Safari-141 === 2004-05-21 Darin Adler Reviewed by Ken and Chris. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Call replaceSelectionWithText: instead of replaceSelectionWithMarkupString: when pasting plain text. * WebView.subproj/WebDataSource.m: (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]): Remove bogus check for empty markup. There's nothing wrong with an empty string, and no reason that replacing with empty string should be a no-op instead of a delete. 2004-05-20 Darin Adler Reviewed by Chris. - fixed : (REGRESSION: drag slide-back sometimes causes link to load) * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge handleMouseDragged:]): Added BOOL result to handleMouseDragged:. * WebView.subproj/WebHTMLViewPrivate.h: Added BOOL result to _handleMouseDragged:. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): Added BOOL result, returning YES when the drag started, and no when the hysteresis has not yet been overcome. 2004-05-20 Ken Kocienda Reviewed by Hyatt Provide the methods to glue the WebView's editing delegate so that these methods work: : "Editing: -webViewShouldBeginEditing:inDOMRange: method unimplemented (WebKit editing API)" : "Editing: -webViewShouldEndEditing:inDOMRange: method unimplemented (WebKit editing API)" * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge shouldBeginEditing:]): New method used to glue delegate to focus shifts. (-[WebBridge shouldEndEditing:]): Ditto. * WebView.subproj/WebView.m: (-[WebView _shouldBeginEditingInDOMRange:]): Ditto. (-[WebView _shouldEndEditingInDOMRange:]): Ditto. * WebView.subproj/WebViewPrivate.h: Ditto. 2004-05-20 Richard Williamson Fixed typo in header comment. Reviewed by Ken. * Plugins.subproj/WebScriptObject.h: 2004-05-19 Chris Blumenberg Fixed: : (API: Need a way to disable/customize dragging) Reviewed by john. * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): fixed bug that caused exception * WebView.subproj/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate webView:shouldBeginDragForElement:dragImage:mouseDownEvent:mouseDraggedEvent:]): new, returns YES (-[WebDefaultUIDelegate webView:dragOperationForDraggingInfo:overElement:]): new, returns [WebView dragOperationForDraggingInfo:] (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:overElement:]): new, returns YES * WebView.subproj/WebDocumentInternal.h: added WebDocumentDragging and WebDocumentElement for document dragging * WebView.subproj/WebDocumentPrivate.h: moved WebDocumentSelection to WebDocumentInternal.h * WebView.subproj/WebFrame.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): * WebView.subproj/WebHTMLView.h: * WebView.subproj/WebHTMLView.m: (+[WebHTMLView _insertablePasteboardTypes]): new (-[WebHTMLView _handleMouseDragged:]): call shouldBeginDragForElement:::: delegate API (-[WebHTMLView _mayStartDragWithMouseDragged:]): call renamed elementAtPoint SPI (-[WebHTMLView initWithFrame:]): don't register for drag types since this is handled at the WebView (-[WebHTMLView menuForEvent:]): call renamed elementAtPoint SPI (-[WebHTMLView _isSelectionEvent:]): call renamed elementAtPoint SPI (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): rather than unregistering drag types on the WebView, just tell it that we're dragging (-[WebHTMLView draggedImage:endedAt:operation:]): ditto (-[WebHTMLView _canProcessDragWithDraggingInfo:]): new (-[WebHTMLView dragOperationForDraggingInfo:]): new WebDocumentDragging SPI (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): ditto (-[WebHTMLView concludeDragForDraggingInfo:]): ditto (-[WebHTMLView elementAtPoint:]): renamed from _elementAtPoint since this is part of the WebDocumentElement SPI * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebImageView.h: * WebView.subproj/WebImageView.m: (-[WebImageView elementAtPoint:]): new (-[WebImageView menuForEvent:]): call elementAtPoint (-[WebImageView mouseDragged:]): rather than unregistering drag types on the WebView, just tell it that we're dragging (-[WebImageView draggedImage:endedAt:operation:]): ditto * WebView.subproj/WebTextView.h: * WebView.subproj/WebTextView.m: (-[WebTextView _elementAtWindowPoint:]): new (-[WebTextView elementAtPoint:]): new (-[WebTextView menuForEvent:]): call _elementAtWindowPoint * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (-[WebViewPrivate dealloc]): removed draggedTypes ivar (+[WebView URLFromPasteboard:]): implemented (+[WebView URLTitleFromPasteboard:]): implemented (-[WebView _registerDraggedTypes]): moved (-[WebView _frameViewAtWindowPoint:]): new (-[WebView _draggingDocumentViewAtWindowPoint:]): new (-[WebView _elementAtWindowPoint:]): new (-[WebView dragOperationForDraggingInfo:]): updated this API to handle subviews that may want to handle drags (-[WebView _dragOperationForDraggingInfo:]): new, handles UI delegate for drag control (-[WebView draggingEntered:]): call _dragOperationForDraggingInfo: (-[WebView draggingUpdated:]): ditto (-[WebView concludeDragOperation:]): work with the UI delegate and the subview to handle what happens * WebView.subproj/WebViewPrivate.h: 2004-05-19 Richard Williamson Removed extraneous tabs that were added (by XCode?). * DOM.subproj/DOM-compat.h: * Plugins.subproj/WebScriptObject.h: 2004-05-19 Richard Williamson Updated header copy script to only copy if modified headers are different. * copy-webcore-files-to-webkit: 2004-05-19 Ken Kocienda Reviewed by Hyatt and Darin Fix for this bug: : "can't tab out of contentEditable Elements" * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge interceptEditingKeyEvent:]): Renamed from _editingKeyDown. Also now returns a BOOL to report whether the event was handled or not. * WebView.subproj/WebView.m: (-[WebView _interceptEditingKeyEvent:]): Also renamed from _editingKeyDown. Now includes a check if the web view is editable and whether the event is a tab key event. If the former is not true and the latter is, the key is not intercepted. This causes the tab to shift once the key is processed by other non-editing key-handling mechanisms. * WebView.subproj/WebViewPrivate.h: Changed declaration due to name change. 2004-05-19 Ken Kocienda Reviewed by Hyatt * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge isEditable]): Return the isEditable value for the WebView which contains this bridge's frame. 2004-05-19 Darin Adler - fixed headers with licenses mangled by Xcode auto-indenting * DOM.subproj/DOMExtensions.h: * WebCoreSupport.subproj/WebGraphicsBridge.h: * WebCoreSupport.subproj/WebGraphicsBridge.m: 2004-05-18 David Hyatt Improve layout scheduling. Reviewed by kocienda * WebView.subproj/WebFrame.m: (-[WebFrame _transitionToLayoutAcceptable]): (-[WebFrame _checkLoadCompleteForThisFrame]): * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): 2004-05-18 Richard Williamson Finished implementation of windowScriptObject. Reviewed by Maciej. * WebView.subproj/WebView.m: (-[WebView windowScriptObject]): 2004-05-18 Richard Williamson Added WebKit portion of webView:windowScriptObjectAvailable: implementation. Still need to implement creating the WebScriptObject wrapper on the WebCore side. Reviewed by Maciej. Removed "_" from _setPageWidthForPrinting:. This method facilitates a work-around for carbon printing. At some point we may make this method public API. Reviewed by Chris. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge overrideMediaType]): (-[WebBridge windowObjectCleared]): * WebView.subproj/WebDefaultFrameLoadDelegate.m: (-[WebDefaultFrameLoadDelegate webView:windowScriptObjectAvailable:]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView setPageWidthForPrinting:]): 2004-05-18 Darin Adler Reviewed by John. - fixed : "can't use or from non-Objective C" * Carbon.subproj/CarbonUtils.h: Added ifdefs so file compiles when included from non-Objective-C. Changed style to match other Carbon headers a bit more closely. Also remove unnecessary includes. * Carbon.subproj/HIWebView.h: Ditto. - fixed : "this text file scrolls to the second line instead of first when pressing home" * WebView.subproj/WebFrameView.m: (-[WebFrameView _scrollToTopLeft]): Scroll to origin.y instead of assuming that top is 0; can be non-0 for text view. (-[WebFrameView _scrollToBottomLeft]): Use NSMaxY instead of height for the same reason. 2004-05-17 David Hyatt Fix for performance regression in PLT caused by not setting _timeOfLastCompletedLoad, causing page cache to release during the benchmark. * WebView.subproj/WebFrame.m: (-[WebFrame _setState:]): 2004-05-17 Chris Blumenberg Implemented new WebView pasteboard methods. Made a lot of factoring changes related to pasteboard management. Reviewed by john. * Misc.subproj/WebNSPasteboardExtras.h: * Misc.subproj/WebNSPasteboardExtras.m: (+[NSPasteboard _web_writableTypesForURL]): renamed to not include "drag" these types are also used for copying (+[NSPasteboard _web_writableTypesForImage]): new (-[NSPasteboard _web_bestURL]): tweak (-[NSPasteboard _web_writeURL:andTitle:types:]): take an array of types that this method should write, don't declare the types since this complicates things for the caller (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): ditto * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:archive:rect:URL:title:event:]): call renamed methods * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyLinkToClipboard:]): call code factored out to WebView (-[WebDefaultUIDelegate copyImageToClipboard:]): ditto * WebView.subproj/WebDocumentPrivate.h: * WebView.subproj/WebHTMLView.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _selectedRTFData]): new factored out method (-[WebHTMLView _writeSelectionToPasteboard:]): factored code out to writeSelectionWithPasteboardTypes:toPasteboard: (-[WebHTMLView _dragImageForLinkElement:]): tweak (-[WebHTMLView _handleMouseDragged:]): call renamed methods (-[WebHTMLView pasteboardTypesForSelection]): new (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new, code moved from _writeSelectionToPasteboard: * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebImageView.h: * WebView.subproj/WebImageView.m: (-[WebImageView writeImageToPasteboard:types:]): call renamed methods (-[WebImageView copy:]): (-[WebImageView writeSelectionToPasteboard:types:]): call renamed methods * WebView.subproj/WebTextView.h: * WebView.subproj/WebTextView.m: (-[WebTextView pasteboardTypesForSelection]): new (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new * WebView.subproj/WebView.m: (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]): new (-[WebView _writeLinkElement:withPasteboardTypes:toPasteboard:]): mew (-[WebView dragOperationForDraggingInfo:]): implemented API (-[WebView draggingEntered:]): call API (-[WebView draggingUpdated:]): ditto (-[WebView concludeDragOperation:]): ditto (-[WebView pasteboardTypesForSelection]): implemented API (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto (-[WebView pasteboardTypesForElement:]): ditto (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): ditto * WebView.subproj/WebViewPrivate.h: 2004-05-17 Ken Kocienda Reviewed by John Remove overrides in WebView for scrollPageDown and scrollPageUp. NSView behavior gives us just what we want, and there is no special behavior required for editing. : "Editing: -scrollPageDown: method unimplemented (WebKit editing API)" : "Editing: -scrollPageUp: method unimplemented (WebKit editing API)" * WebView.subproj/WebView.h: Comment methods out and add a note about why. * WebView.subproj/WebView.m: Remove stubbed out implementation. 2004-05-14 Vicki Murley Reviewed by mjs. : framework marketing number should be 2.0 for DoubleBarrel release * WebKit.pbproj/project.pbxproj: change CFBundleShortVersionString to 2.0 2004-05-14 David Hyatt Eliminate timedLayout. Reviewed by darin * WebView.subproj/WebFrame.m: (-[WebFramePrivate dealloc]): (-[WebFrame _detachFromParent]): (-[WebFrame _transitionToLayoutAcceptable]): (-[WebFrame _setState:]): (-[WebFrame _checkLoadCompleteForThisFrame]): (-[WebFrame stopLoading]): * WebView.subproj/WebFramePrivate.h: === Safari-140 === 2004-05-14 Chris Blumenberg Fixed: : (exception loading applets) Reviewed by kocienda. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): when calling old cocoa plug-ins, use old keys 2004-05-14 Chris Blumenberg Fixed: : (repro assertion failure and crash loading java applets) Reviewed by kocienda. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): call pluginViewWithArguments: for old Cocoa plug-ins 2004-05-14 Chris Blumenberg Copied headers from WebCore. * DOM.subproj/DOMCore.h: * DOM.subproj/DOMEvents.h: 2004-05-14 Ken Kocienda Reviewed by me * Plugins.subproj/WebPluginController.m: (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Fixed a compile error: undeclared identifier. Looked like a typo. 2004-05-13 Richard Williamson Backed out mistaken change that I didn't mean to checkin. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): 2004-05-13 Richard Williamson Updated to reflect new API. Reviewed by Chris. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setIsSelected:forView:]): * WebView.subproj/WebFrame.m: (-[WebFrame _reloadForPluginChanges]): 2004-05-13 Chris Blumenberg Fixed some indenting issues in public headers. * Plugins.subproj/WebJavaPlugIn.h: * Plugins.subproj/WebPlugin.h: * Plugins.subproj/WebScriptObject.h: * WebView.subproj/WebEditingDelegate.h: * WebView.subproj/WebFrameView.h: * WebView.subproj/WebPolicyDelegate.h: * WebView.subproj/WebResourceLoadDelegate.h: * WebView.subproj/WebView.h: 2004-05-13 Ken Kocienda Reviewed by Chris Moved -DOMDocument convenience back to private header. I mistakenly moved it to the public header earlier today. * WebView.subproj/WebView.h: Removed * WebView.subproj/WebViewPrivate.h: Re-added 2004-05-13 Richard Williamson Updated to implementation to reflect new API. Left old SPI in place for compatibility. Can remove when the Java plug-in updates. Reviewed by Chris. * Plugins.subproj/WebPlugin.h: * Plugins.subproj/WebPluginContainer.h: * Plugins.subproj/WebPluginController.h: * Plugins.subproj/WebPluginController.m: (-[WebPluginController startAllPlugins]): (-[WebPluginController stopAllPlugins]): (-[WebPluginController addPlugin:]): (-[WebPluginController destroyAllPlugins]): (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): (-[WebPluginController showURL:inFrame:]): (-[WebPluginController webPlugInContainerShowStatus:]): (-[WebPluginController showStatus:]): (-[WebPluginController webPlugInContainerSelectionColor]): (-[WebPluginController selectionColor]): (-[WebPluginController webFrame]): 2004-05-13 Chris Blumenberg - Added stubs for WebView action and drag & drop customization API's - Fixed: : (API: Make DOM extensions and WebKit DOM operations public) Reviewed by rjw. * DOM.subproj/WebDOMOperations.h: added remaining DOM operations * DOM.subproj/WebDOMOperationsPrivate.h: * Misc.subproj/WebKit.h: added new public headers * WebKit.pbproj/project.pbxproj: * WebKit.exp: added symbol for WebElementDOMNodeKey * WebView.subproj/WebUIDelegate.h: added new UI delegate methods * WebView.subproj/WebView.h: added new pasteboard related methods * WebView.subproj/WebView.m: (+[WebView URLFromPasteboard:]): new stub (+[WebView URLTitleFromPasteboard:]): new stub (-[WebView dragOperationForDraggingInfo:]): new stub (-[WebView pasteboardTypesForSelection]): new stub (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): new stub (-[WebView pasteboardTypesForElement:]): new stub (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): new stub * WebView.subproj/WebViewPrivate.h: 2004-05-13 Richard Williamson Changed imports of all DOM headers. DOM headers should be imported using the normal #import , they import is modified when copied to WebKit. Other approved API changes. Currently unimplemented. Reviewed by Chris. * ChangeLog: * DOM.subproj/DOM.h: * DOM.subproj/DOMCSS.h: * DOM.subproj/DOMCore.h: * DOM.subproj/DOMEvents.h: * DOM.subproj/DOMExtensions.h: * DOM.subproj/DOMHTML.h: * DOM.subproj/DOMRange.h: * DOM.subproj/DOMStylesheets.h: * DOM.subproj/DOMTraversal.h: * DOM.subproj/DOMViews.h: * Plugins.subproj/WebPlugin.h: * Plugins.subproj/WebPluginContainer.h: * Plugins.subproj/WebPluginPackage.m: * Plugins.subproj/WebPluginViewFactory.h: * Plugins.subproj/WebScriptObject.h: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): * WebKit.exp: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebFrameLoadDelegate.h: * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (-[WebView windowScriptObject]): * copy-webcore-files-to-webkit: 2004-05-13 Ken Kocienda Reviewed by Kevin Move WebKit editing APIs to public API files. * WebCoreSupport.subproj/WebBridge.m: Add WebEditingDelegate include. * WebKit.pbproj/project.pbxproj: Go Xcode! * WebView.subproj/WebDefaultEditingDelegate.m: Remove WebViewPrivate include; add WebEditingDelegate include. * WebView.subproj/WebEditingDelegate.h: Added. New file. * WebView.subproj/WebView.h: Move API-approved interfaces to this file. * WebView.subproj/WebView.m: Add WebEditingDelegate include. * WebView.subproj/WebViewPrivate.h: Move API-approved interfaces from this file. 2004-05-12 Chris Blumenberg Fixed: : (Japanese input is not working properly in Carbon Web Kit applications (including CarbonWeb)) : (can't toggle between Input Methods (IMEs) using cmd-space in Carbon Web Kit applications) Reviewed by rjw. * Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter sendSuperEvent:]): call [NSInputContext processInputKeyBindings:inEvent] just as NSApp does * Carbon.subproj/HIWebView.m: (HIWebViewEventHandler): [NSApp setWindowsNeedUpdate:YES] must be called before events so that ActivateTSMDocument is called to set an active document. Without an active document, TSM will use a default document which uses a bottom-line input window which we don't want. 2004-05-11 Chris Blumenberg Fixed: : (API: Make WebResource, WebArchive and related API's public) : (API: provide way to get from WebFrame to DOMDocument and vice versa) Reviewed by rjw. * DOM.subproj/WebDOMOperations.h: * DOM.subproj/WebDOMOperations.m: (-[DOMHTMLFrameElement contentFrame]): new (-[DOMHTMLIFrameElement contentFrame]): new (-[DOMHTMLObjectElement contentFrame]): new * DOM.subproj/WebDOMOperationsPrivate.h: * Misc.subproj/WebNSImageExtras.m: (-[NSImage _web_saveAndOpen]): fixed leak * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresources:]): made private (-[WebDataSource _archiveWithMarkupString:nodes:]): handle object tags with frame content (-[WebDataSource _archiveWithCurrentState:]): renamed from _archive, now takes flag (-[WebDataSource _replaceSelectionWithArchive:]): call renamed _addSubresources (-[WebDataSource webArchive]): new (-[WebDataSource mainResource]): new (-[WebDataSource subresources]): made public (-[WebDataSource subresourceForURL:]): made public (-[WebDataSource addSubresource:]): made public * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDocumentPrivate.h: * WebView.subproj/WebFrame.h: * WebView.subproj/WebFrame.m: (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed _addSubresources (-[WebFrame DOMDocument]): new (-[WebFrame frameElement]): new (-[WebFrame loadArchive:]): made public * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation loadArchive]): call renamed _addSubresources * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation archive]): call webArchive on WebDataSource 2004-05-10 Maciej Stachowiak Reviewed by Darin. - avoid redecoding animated images that are only used once for ~2.5% iBench speedup (WebCore part of fix) * WebCoreSupport.subproj/WebImageRenderer.h: * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer increaseUseCount]): (-[WebImageRenderer decreaseUseCount]): (-[WebImageRenderer retainOrCopyIfNeeded]): 2004-05-10 Maciej Stachowiak Fix build. * WebView.subproj/WebFrame.m: 2004-05-09 Maciej Stachowiak Reviewed by Ken. - avoid messing with undo manager needlessly for ~1% HTML iBench speedup * WebCoreSupport.subproj/WebBridge.h: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge registerCommandForUndo:]): mark undo/redo item flag (-[WebBridge registerCommandForRedo:]): ditto (-[WebBridge clearUndoRedoOperations]): check flag before removing items, and clear it after removing them 2004-05-08 Maciej Stachowiak Reviewed by Darin. - -[WebFrame childFrames] is so hot that a special internal version which avoids the copy and autorelease results in a .75% performance improvement on HTML iBench. * WebView.subproj/WebFramePrivate.h: Prototype new method. * WebView.subproj/WebFrame.m: (-[WebFrame _internalChildFrames]): New method, just returns internal value instead of copying. (-[WebFrame _descendantFrameNamed:]): Use it (-[WebFrame _textSizeMultiplierChanged]): likewise (-[WebFrame _viewWillMoveToHostWindow:]): likewise (-[WebFrame _viewDidMoveToHostWindow]): likewise (-[WebFrame _saveDocumentAndScrollState]): likewise (-[WebFrame _numPendingOrLoadingRequests:]): likewise (-[WebFrame _checkLoadComplete]): Refactored this and it's two helpers a little so we could get away with using _internalChildFrames. (-[WebFrame _checkLoadCompleteForThisFrame]): Renamed from _isLoadComplete (-[WebFrame _recursiveCheckLoadComplete]): renamed from (class method) _recursiveCheckCompleteFromFrame: * WebView.subproj/WebDataSource.m: (-[WebDataSource _defersCallbacksChanged]): Use it (-[WebDataSource isLoading]): likewise * WebView.subproj/WebView.m: (-[WebView _frameForDataSource:fromFrame:]): likewise (-[WebView _frameForView:fromFrame:]): likewise 2004-05-10 Chris Blumenberg Forgot to commit this copied header. * DOM.subproj/DOMExtensions.h: === Safari-139 === 2004-05-06 Chris Blumenberg * DOM.subproj/WebDOMOperations.h: improved a header doc comment 2004-05-05 Chris Blumenberg - DOM Extensions API tweaks Reviewed by kocienda. * DOM.subproj/DOMExtensions.h: copied from WebCore * DOM.subproj/WebDOMOperations.h: added header doc comments * DOM.subproj/WebDOMOperations.m: (-[DOMNode _URLsFromSelectors:]): use renamed URLWithAttributeString (-[DOMDocument URLWithAttributeString:]): renamed (-[DOMHTMLTableElement _web_background]): new private method (-[DOMHTMLTableElement _subresourceURLs]): use new private method (-[DOMHTMLTableCellElement _web_background]): new private method (-[DOMHTMLTableCellElement _subresourceURLs]): use new private method 2004-05-04 Ken Kocienda Reviewed by Hyatt * DOM.subproj/DOMTraversal.h: File coppied from WebCore 2004-05-02 Darin Adler Reviewed by Ken. - fixed : "_webkit_stringByReplacingValidPercentEscapes does not handle %00 properly" * Misc.subproj/WebNSURLExtras.m: (-[NSString _webkit_stringByReplacingValidPercentEscapes]): Use the function in NSURL instead of implementing our own here. 2004-04-30 John Sullivan * WebView.subproj/WebView.m: fixed deployment build breakage 2004-04-30 John Sullivan - more work on getting the font panel to work with editable HTML. The font panel in Blot now correctly reflects the first selected font when the selection is at least one character long. Reviewed by Ken. * WebView.subproj/WebView.m: removed unfinished plumbing to support reflecting selected attributes (e.g. text color, underline) in font panel, since this doesn't work in Mail or TextEdit either. (_fontFromStyle): removed assertion for now (-[WebView _updateFontPanel]): now uses new bridge method to get the NSFont from the node, instead of trying to create an NSFont from a DOMCSSStyleDeclaration 2004-04-29 John Sullivan - more work on getting the font panel to work with editable HTML Reviewed by Ken. * WebView.subproj/WebView.m: (-[WebView computedStyleForElement:pseudoElement:]): convert nil pseudoElement to empty string because lower level chokes on nil (_fontFromStyle): I tried to implement this, but was thwarted by missing API, so I added a bunch of FIXMEs instead (_stylesRepresentSameFont): new function, not yet implementable (_stylesRepresentSameAttributes): new function, not yet implementable (-[WebView _updateFontPanel]): added code to get first and last element in selection, and to use NodeIterator to walk through the entire selection to see if more than one font or set of attributes is in use. However, createNodeIterator is declared in DOMTraversal.h but not actually defined anywhere, so I had to prevent this code from actually being called. 2004-04-28 Chris Blumenberg - Made WebArchive and WebResource conform to NSCoding and NSCopying. Reviewed by rjw. * DOM.subproj/WebDOMOperations.h: added header doc comment for WebArchive methods * WebView.subproj/WebArchive.h: * WebView.subproj/WebArchive.m: (-[WebArchive initWithCoder:]): new (-[WebArchive encodeWithCoder:]): new (-[WebArchive copyWithZone:]): new * WebView.subproj/WebResource.h: * WebView.subproj/WebResource.m: (-[WebResource init]): new (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call [self init] (-[WebResource initWithCoder:]): new (-[WebResource encodeWithCoder:]): new (-[WebResource copyWithZone:]): new 2004-04-28 John Sullivan A little bit more progress in wiring up the font panel. Reviewed by Ken. * WebView.subproj/WebViewInternal.h: put _updateFontPanel here. Also moved _isLoading here, since it was already in a category named WebInternal * WebView.subproj/WebView.m: (-[WebView _isLoading]): moved into WebInternal category implementation (_textAttributesFromStyle): changed from method to function (_fontFromStyle): added, guts not filled in yet (-[WebView _updateFontPanel]): now calls these two functions (but results are always nil) (-[WebView setSelectedDOMRange:affinity:]): remove call to _updateFontPanel here since it's now called in the proper bottleneck * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge postDidChangeNotification]): call -[WebView _updateFontPanel] in addition to sending notification (-[WebBridge postDidChangeSelectionNotification]): ditto 2004-04-28 John Sullivan - fixed these bugs: : "API: [WebPreferences tabsToLinks] should be public API" : "API: could turn "stealth browsing" preference into API" Reviewed by Darin. I just moved the declarations and implementations from one place to another. (No clients in WebKit needed their #imports updated.) This confused cvs diff quite a bit. * WebView.subproj/WebPreferences.h: * WebView.subproj/WebPreferences.m: (-[WebPreferences setTabsToLinks:]): (-[WebPreferences tabsToLinks]): (-[WebPreferences setPrivateBrowsingEnabled:]): (-[WebPreferences privateBrowsingEnabled]): (-[WebPreferences _pageCacheSize]): (-[WebPreferences _objectCacheSize]): (-[WebPreferences _backForwardCacheExpirationInterval]): * WebView.subproj/WebPreferencesPrivate.h: 2004-04-27 David Hyatt Cut the time spent on an operation inside widthForNextCharacter from 17% of the function time down to less than 5% merely by adding a check for non-zero letter-spacing (thus avoiding double precision math in the common case where we just add 0 between letters). Reviewed by rjw * WebCoreSupport.subproj/WebTextRenderer.m: (widthForNextCharacter): 2004-04-28 John Sullivan Initial plumbing to get the font panel to be updated from an editable WebView. Reviewed by Ken. * WebView.subproj/WebView.m: (-[WebView _textAttributesFromStyle:]): new dummy method, will need implementation (-[WebView _updateFontPanel]): new method, sets the font shown in the font panel from the current selection. Lots of placeholder stuff. (-[WebView setSelectedDOMRange:affinity:]): call _updateFontPanel here for now. 2004-04-28 Ken Kocienda Reviewed by Darin * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge postDidChangeNotification]): Posts Cocoa notification when the document changes due to editing. (-[WebBridge postDidChangeSelectionNotification]): Posts Cocoa notification when the document selection changes. * WebKit.exp: Export editing notification string constants. * WebView.subproj/WebView.m: Define editing notification string constants. (-[WebView computedStyleForElement:pseudoElement:]): Add implementation. (-[WebView setEditingDelegate:]): Do work to set up delegate to receive notification callbacks. (-[WebView DOMDocument]): Simplify to just call the bridge DOMDocument. No need to jump through hoops here. (-[WebView insertNewline:]): Consult delegate before taking action. (-[WebView deleteBackward:]): Ditto. (-[WebView insertText:]): Ditto. 2004-04-27 John Sullivan Fixed broken development build. * WebView.subproj/WebFrame.m: (-[WebFrame _transitionToLayoutAcceptable]): updated bad variable name used only in LOG statement to match recent change. 2004-04-27 Richard Williamson Fixes for: : API: WebKitErrorCannotFindPlugin and WebKitErrorCannotLoadPlugin should use PlugIn : API: Need API to control the size of WebHistory : API: please add a way to set the media type for a WebView : API: allow a way to extend the MIME types that a WebView will display : API: add ability to subclass WebView but still use it with Carbon Reviewed by Chris. * Carbon.subproj/HIWebView.h: * Carbon.subproj/HIWebView.m: (HIWebViewCreate): (HIWebViewCreateWithClass): (HIWebViewConstructor): * History.subproj/WebHistory.h: * History.subproj/WebHistory.m: (-[WebHistoryPrivate setHistoryAgeInDaysLimit:]): (-[WebHistoryPrivate historyAgeInDaysLimit]): (-[WebHistoryPrivate setHistoryItemLimit:]): (-[WebHistoryPrivate historyItemLimit]): (-[WebHistoryPrivate _ageLimitDate]): (-[WebHistoryPrivate arrayRepresentation]): (-[WebHistory setHistoryItemLimit:]): (-[WebHistory historyItemLimit]): (-[WebHistory setHistoryAgeInDaysLimit:]): (-[WebHistory historyAgeInDaysLimit]): * History.subproj/WebHistoryPrivate.h: * Misc.subproj/WebKitErrors.h: * Misc.subproj/WebKitErrors.m: (registerErrors): * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge isViewSelected:]): (-[WebBridge overrideMediaType]): * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (-[WebViewPrivate dealloc]): (+[WebView MIMETypesShownAsHTML]): (+[WebView setMIMETypesShownAsHTML:]): (-[WebView customUserAgent]): (-[WebView setMediaStyle:]): (-[WebView mediaStyle]): * WebView.subproj/WebViewPrivate.h: 2004-04-27 David Hyatt Eliminate the preferences for timed/resource layouts. Accessing them is now taking 0.5% on the cvs-base test, so we're just going to hardcode the values instead. Reviewed by mjs * WebView.subproj/WebFrame.m: (-[WebFrame _transitionToLayoutAcceptable]): (-[WebFrame _isLoadComplete]): * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): (-[WebPreferences _objectCacheSize]): * WebView.subproj/WebPreferencesPrivate.h: * WebView.subproj/WebView.m: (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]): 2004-04-27 Ken Kocienda Reviewed by Hyatt Make selections draw in a more Cocoa-like way, where fully-selected lines draw out to the ends of lines, and spaces between lines are drawn with the selection color as well. * Misc.subproj/WebKitNSStringExtras.m: Use new WebCoreTextGeometry struct. No change in functionality. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality. (-[WebTextRenderer drawHighlightForRun:style:geometry:]): Ditto. (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]): Many changes to add the new selection drawing behavior. (-[WebTextRenderer _CG_drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality. (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Many changes to add the new selection drawing behavior. (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality. 2004-04-26 Richard Williamson Added support for specifying composite operation on an image element, i.e.: This feature was requested by the dashboard guys. They can use it to apply transparency masks to widgies. Reviewed by Ken. * WebCoreSupport.subproj/WebImageRenderer.h: * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer initWithMIMEType:]): (-[WebImageRenderer initWithData:MIMEType:]): (-[WebImageRenderer initWithContentsOfFile:]): (-[WebImageRenderer copyWithZone:]): (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): (-[WebImageRenderer drawImageInRect:fromRect:]): (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:]): 2004-04-26 Chris Blumenberg More header doc changes after John's review. * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebResource.h: 2004-04-26 Chris Blumenberg * WebView.subproj/WebDataSourcePrivate.h: added some header doc comments * WebView.subproj/WebFramePrivate.h: fixed header doc typo 2004-04-24 Darin Adler Reviewed by Dave. * Misc.subproj/WebNSURLExtras.m: (hexDigit): Use capitalized hex, not lowercase, for consistency with similar functions in WebCore and what other web browsers do. 2004-04-23 Darin Adler Reviewed by Maciej. - fixed : "bad access with libgmalloc in -[_WebCoreHistoryProvider containsItemForURLUnicode:length:]" * History.subproj/WebHistory.m: (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Add range checks so we don't overrun the buffer while looking for slashes. 2004-04-23 Chris Blumenberg Reviewed by John Added header doc comments to proposed API's. * WebView.subproj/WebArchive.h: * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebResource.h: === Safari-138 === 2004-04-23 Ken Kocienda Reviewed by John Added some plumbing for applying styles. * DOM.subproj/DOMExtensions.h: Copied from WebCore. * WebView.subproj/WebView.m: (-[WebView DOMDocument]): Added new helper. (-[WebView styleDeclarationWithText:]): Added new helper. * WebView.subproj/WebViewPrivate.h: Declare above methods. 2004-04-22 Richard Williamson Updates to plugin binding APIs. Updates to Java plugin APIs. Transparency fix for Dashboard. Reviewed by John and Greg Bolsinga. * Plugins.subproj/WebPluginJava.h: Added. New API for Java plugin. * Plugins.subproj/npfunctions.h: * Plugins.subproj/npruntime.h: (_NPString::): (_NPString::_NPVariant::): * Plugins.subproj/npsap.h: Added. New API for plugin bindings. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): Update for Dashboard. View must fill with transparency when not drawing background. * copy-webcore-files-to-webkit: 2004-04-22 Ken Kocienda Reviewed by Hyatt More work to bring code up to date with the latest API proposal. Note that all of the replaceXXX methods below now operate on the current selection, so the method implementations have been simplifed accordingly. * WebView.subproj/WebDataSource.m: (-[WebDataSource _replaceSelectionWithArchive:]): New name for _replaceSelectionWithWebArchive. * WebView.subproj/WebDataSourcePrivate.h: Ditto. * WebView.subproj/WebDefaultEditingDelegate.m: (-[WebDefaultEditingDelegate webViewShouldBeginEditing:inDOMRange:]): Added inDOMRange: parameter. (-[WebDefaultEditingDelegate webViewShouldEndEditing:inDOMRange:]): Ditto. (-[WebDefaultEditingDelegate webView shouldChangeSelectedDOMRange:toDOMRange:proposedRange affinity:stillSelecting:]): Missed adding affinity in last patch. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Call old method with new name: _replaceSelectionWithArchive * WebView.subproj/WebView.m: (-[WebView replaceSelectionWithNode:]): New version of insertNode:replacingDOMRange: (-[WebView replaceSelectionWithText:]): New version of insertText:replacingDOMRange: (-[WebView replaceSelectionWithMarkupString:]): New version of insertMarkupString:replacingDOMRange: (-[WebView replaceSelectionWithArchive:]): New version of insertWebArchive:replacingDOMRange: (-[WebView deleteSelection]): New version of deleteDOMRange: (-[WebView applyStyle:]): New version of applyStyle:toElementsInDOMRange: * WebView.subproj/WebViewPrivate.h: 2004-04-22 Ken Kocienda Reviewed by John Adds the notion of selection affinity to the editing API, bringing it up to date with the latest proposal. * WebView.subproj/WebView.m: (-[WebView _alterCurrentSelection:direction:granularity:]): Pass selection affinity to the delegate. We can just pass the current one since this does not change with arrow keys. (-[WebView setSelectedDOMRange:affinity:]): Set the affinity on the selection. (-[WebView selectionAffinity]): New accessor. (-[WebView insertNode:replacingDOMRange:]): Change to pass selection affinity to call to set selection. This is just to get the code to compile for now, since this method will soon be removed in place of a similar one from the latest proposal that always works on the current selection. (-[WebView insertText:replacingDOMRange:]): Ditto. (-[WebView insertMarkupString:replacingDOMRange:]): Ditto. (-[WebView insertWebArchive:replacingDOMRange:]): Ditto. (-[WebView deleteDOMRange:]): Ditto. (-[WebView applyStyle:toElementsInDOMRange:]): Ditto. * WebView.subproj/WebViewPrivate.h: Add selection affinity to API declarations as needed. 2004-04-22 Ken Kocienda Reviewed by Darin Work around this bug: : "Calling interpretKeyEvents: in a custom text view can fail to process keys right after app startup" * WebView.subproj/WebView.m: (-[WebView _editingKeyDown:]): The issue is with a message to nil in AppKit key binding manager code. Add call to [NSKeyBindingManager sharedKeyBindingManager] to make sure the not-supposed-to-be-nil object is created before calling interpretKeyEvents:. 2004-04-22 Ken Kocienda Reviewed by Hyatt Added calls to ensure caret visibility after the editing action is done. * WebView.subproj/WebView.m: (-[WebView _alterCurrentSelection:direction:granularity:]): (-[WebView insertNewline:]): (-[WebView deleteBackward:]): (-[WebView insertText:]): 2004-04-20 Chris Blumenberg Fixed: : "HITLIST: REGRESSION (131-132): iframes/frames no longer dump on layout tests" Reviewed by hyatt. * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): the encoding was not being set in the about:blank case. Call receivedData:textEncodingName: as we did in the past to set it. 2004-04-20 Ken Kocienda Reviewed by Hyatt Added implementations for these methods. * WebView.subproj/WebView.m: (-[WebView moveUpAndModifySelection:]): (-[WebView moveWordLeft:]): (-[WebView moveWordLeftAndModifySelection:]): (-[WebView moveWordRight:]): (-[WebView moveWordRightAndModifySelection:]): 2004-04-20 John Sullivan - fixed : When in stealth mode, visited webpage contents should not be cached to disk Reviewed by Ken. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate willCacheResponse:]): if will cache to disk and in stealth mode, replace cache response with an identical one that won't cache to disk. 2004-04-19 Ken Kocienda Reviewed by Hyatt * WebView.subproj/WebView.m: (-[WebView moveDown:]): Added implementation. (-[WebView moveUp:]): Added implementation. 2004-04-19 Chris Blumenberg Added support for pasting frames via WebArchives. Reviewed by kocienda. * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubframeArchives:]): renamed, now allows subframe archives to be added at anytime (-[WebDataSource _popSubframeArchiveWithName:]): renamed, now deletes the returned subframe to consume less memory (-[WebDataSource _replaceSelectionWithWebArchive:]): added support for subframes * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebFrame.m: (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed methods (-[WebFrame _loadURL:intoChild:]): ditto * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation loadArchive]): ditto === Safari-137 === 2004-04-16 Richard Williamson Added an SPI to allow ObjC instances to be easily bound to JS. This is needed by the dashboard guys for their prototyping. Eventually they will use new API. Reviewed by Chris. * WebView.subproj/WebView.m: (-[WebView _bindObject:withName:toFrame:]): * WebView.subproj/WebViewPrivate.h: 2004-04-16 Chris Blumenberg Fixed: : Mail Page, Web Archives don't preserve subframes Moved code that assembled subresource URLs from DOM nodes from WebCore to WebKit. Reviewed by rjw. * DOM.subproj/DOMExtensions.h: copied from WebCore * DOM.subproj/WebDOMOperations.h: * DOM.subproj/WebDOMOperations.m: (-[DOMNode webArchive]): call renamed methods (-[DOMNode markupString]): ditto (-[DOMNode _URLsFromSelectors:]): new, returns array of URLs given selectors (-[DOMNode _subresourceURLs]): new, base class does nothing, subclasses call _URLsFromSelectors with URL selectors (-[DOMDocument webFrame]): new (-[DOMRange webArchive]): call renamed methods (-[DOMRange markupString]): ditto (-[DOMHTMLBodyElement _subresourceURLs]): new (-[DOMHTMLInputElement _subresourceURLs]): new (-[DOMHTMLLinkElement _subresourceURLs]): new (-[DOMHTMLScriptElement _subresourceURLs]): new (-[DOMHTMLImageElement _subresourceURLs]): new (-[DOMHTMLEmbedElement _subresourceURLs]): new (-[DOMHTMLObjectElement _subresourceURLs]): new (-[DOMHTMLParamElement _subresourceURLs]): new (-[DOMHTMLTableElement _subresourceURLs]): new (-[DOMHTMLTableCellElement _subresourceURLs]): new * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebArchive.h: * WebView.subproj/WebArchive.m: (-[WebArchivePrivate dealloc]): release new subframeArchives ivar (-[WebArchive initWithMainResource:subresources:subframeArchives:]): take subframeArchives (-[WebArchive _initWithPropertyList:]): new, recursively creates WebArchives (-[WebArchive initWithData:]): call _initWithPropertyList (-[WebArchive subframeArchives]): new (-[WebArchive _propertyListRepresentation]): new, recursively creates property lists of WebArchives (-[WebArchive data]): call _propertyListRepresentation * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate saveResource]): call renamed methods * WebView.subproj/WebDataSource.m: (-[WebDataSourcePrivate dealloc]): release new pendingSubframeArchives ivar (-[WebDataSource _archiveWithMarkupString:nodes:]): renamed and reimplemented, handles subframes (-[WebDataSource _archive]): new (-[WebDataSource _setPendingSubframeArchives:]): new (-[WebDataSource _archiveForFrameName:]): new * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebFrame.m: (-[WebFrame loadArchive:]): handle subframes (-[WebFrame _loadRequest:subresources:subframeArchives:]): ditto (-[WebFrame _loadURL:intoChild:]): use the subframe archive if we have it (-[WebFrame loadRequest:]): call renamed methods * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation loadWebArchive]): call renamed methods and handle subframes * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _selectedArchive:]): call renamed methods (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebImageRepresentation.h: * WebView.subproj/WebImageRepresentation.m: instead of storing some items from the data source, just store the data source (-[WebImageRepresentation dealloc]): removed use of deleted ivars (-[WebImageRepresentation URL]): use dataSource instead of ivar (-[WebImageRepresentation doneLoading]): use new boolean ivar (-[WebImageRepresentation setDataSource:]): store the data source (-[WebImageRepresentation receivedData:withDataSource:]): use dataSource instead of ivar (-[WebImageRepresentation receivedError:withDataSource:]): ditto (-[WebImageRepresentation finishedLoadingWithDataSource:]): ditto (-[WebImageRepresentation title]): ditto (-[WebImageRepresentation data]): ditto (-[WebImageRepresentation filename]): ditto (-[WebImageRepresentation archive]): ditto * WebView.subproj/WebResource.h: * WebView.subproj/WebResource.m: (-[WebResourcePrivate dealloc]): release new frame name ivar (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): take a frame name (-[WebResource frameName]): new (-[WebResource _initWithPropertyList:]): handle frame name (-[WebResource _initWithCachedResponse:originalURL:]): call renamed methods (-[WebResource _propertyListRepresentation]): * WebView.subproj/WebResourcePrivate.h: handle frame name 2004-04-15 David Hyatt Make sure isOpaque returns NO when the WebHTMLVIew doesn't draw its background. Reviewed by darin * WebView.subproj/WebFrameView.m: (-[WebFrameView isOpaque]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView isOpaque]): 2004-04-15 John Sullivan * WebView.subproj/WebPreferencesPrivate.h: added comments 2004-04-14 Richard Williamson Updated fix for 3576315. Don't hardcode 22 as the titlebar height. (Note, other places in CarbonWindowFrame DO hardcode window geometry information, yuck!). Reviewed by Hyatt. * Carbon.subproj/CarbonWindowFrame.m: 2004-04-14 John Sullivan - changed stealth mode preference name from "historyIsFrozen" to "privateBrowsingEnabled" Reviewed by Darin. * WebView.subproj/WebFrame.m: (-[WebFrame _transitionToCommitted:]): updated for method name change * WebView.subproj/WebPreferences.m: changed preference key name (+[WebPreferences initialize]): updated for preference key name change (-[WebPreferences setPrivateBrowsingEnabled:]): changed name from setHistoryIsFrozen: (-[WebPreferences privateBrowsingEnabled]): changed name from historyIsFrozen: * WebView.subproj/WebPreferencesPrivate.h: changed declared method names * English.lproj/StringsNotToBeLocalized.txt: updated for this and other recent changes 2004-04-13 Chris Blumenberg - Added WebElementDOMNodeKey as a potential API so that clients can get the node from an element dictionary. - Removed WebElementIsEditableKey. This functionality is available via [DOMNode isContentEditable]. Reviewed by rjw. * DOM.subproj/WebDOMOperations.h: * DOM.subproj/WebDOMOperations.m: (-[DOMDocument URLWithRelativeString:]): new potential API * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): indenting tweak (-[WebDefaultUIDelegate copyImageToClipboard:]): use WebElementDOMNodeKey * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): use WebElementDOMNodeKey (-[WebHTMLView _dragOperationForDraggingInfo:]): use isContentEditable * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: * WebView.subproj/WebViewPrivate.h: 2004-04-13 Chris Blumenberg Fixed deployment build failure. Reviewed by john. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): removed use of fileWrapper variable 2004-04-12 Chris Blumenberg Factored out WebArchive to DOM code so that it could be used by both [WebHTMLView _pasteFromPasteboard:] and [WebView insertWebArchive:replacingDOMRange:]. Reviewed by kocienda. * WebView.subproj/WebDataSource.m: (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]): moved from WebHTMLView (-[WebDataSource _replaceSelectionWithImageResource:]): ditto (-[WebDataSource _replaceSelectionWithWebArchive:]): ditto * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _replaceSelectionWithMarkupString:]): renamed (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods * WebView.subproj/WebView.m: (-[WebView insertMarkupString:replacingDOMRange:]): call renamed methods (-[WebView insertWebArchive:replacingDOMRange:]): have data source handle the archive instead of the bridge 2004-04-12 Ken Kocienda Reviewed by Dave Added execCommand support for cut/copy/paste. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge issueCutCommand]): Glue for calling from WebCore to do a cut in Cocoa. (-[WebBridge issueCopyCommand]): Same as above, but for copy. (-[WebBridge issuePasteCommand]): Same as above, but for paste. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView copy:]): Move this to private implementation category so the bridge can see it. (-[WebHTMLView cut:]): Ditto. (-[WebHTMLView paste:]): Ditto. * WebView.subproj/WebHTMLViewPrivate.h: Move copy;, cut:, and paste: to private implementation category so the bridge can see it. * WebView.subproj/WebView.m: (-[WebView copy:]): Implemented by calling WebHTMLView to do the work. (-[WebView cut:]): Ditto. (-[WebView paste:]): Ditto. * WebView.subproj/WebViewPrivate.h: Added all the NSReponder methods we plan to implement as part of the WebKit editing API. 2004-04-09 Ken Kocienda Reviewed by Darin Stubbed in the entire WebKit editing API, improving some methods already present in minor ways, and adding those methods not yet present. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge editingKeyDown:]): * WebView.subproj/WebDefaultEditingDelegate.m: (-[WebDefaultEditingDelegate webView:shouldChangeSelectedDOMRange:toDOMRange:stillSelecting:]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteMarkupString:]): * WebView.subproj/WebView.m: (-[WebView _alterCurrentSelection:direction:granularity:]): (-[WebView _currentSelectionIsEditable]): (-[WebView computedStyleForElement:pseudoElement:]): (-[WebView _editingKeyDown:]): (-[WebView setEditable:]): (-[WebView isEditable]): (-[WebView setTypingStyle:]): (-[WebView typingStyle]): (-[WebView setSmartInsertDeleteEnabled:]): (-[WebView smartInsertDeleteEnabled]): (-[WebView setContinuousSpellCheckingEnabled:]): (-[WebView isContinuousSpellCheckingEnabled]): (-[WebView spellCheckerDocumentTag]): (-[WebView undoManager]): (-[WebView insertNode:replacingDOMRange:]): (-[WebView insertText:replacingDOMRange:]): (-[WebView insertMarkupString:replacingDOMRange:]): (-[WebView insertWebArchive:replacingDOMRange:]): (-[WebView deleteDOMRange:]): (-[WebView applyStyle:toElementsInDOMRange:]): (-[WebView centerSelectionInVisibleArea:]): (-[WebView moveBackward:]): (-[WebView moveBackwardAndModifySelection:]): (-[WebView moveDown:]): (-[WebView moveDownAndModifySelection:]): (-[WebView moveForward:]): (-[WebView moveForwardAndModifySelection:]): (-[WebView moveLeft:]): (-[WebView moveLeftAndModifySelection:]): (-[WebView moveRight:]): (-[WebView moveRightAndModifySelection:]): (-[WebView moveToBeginningOfDocument:]): (-[WebView moveToBeginningOfLine:]): (-[WebView moveToBeginningOfParagraph:]): (-[WebView moveToEndOfDocument:]): (-[WebView moveToEndOfLine:]): (-[WebView moveToEndOfParagraph:]): (-[WebView moveUp:]): (-[WebView moveUpAndModifySelection:]): (-[WebView moveWordBackward:]): (-[WebView moveWordBackwardAndModifySelection:]): (-[WebView moveWordForward:]): (-[WebView moveWordForwardAndModifySelection:]): (-[WebView moveWordLeft:]): (-[WebView moveWordLeftAndModifySelection:]): (-[WebView moveWordRight:]): (-[WebView moveWordRightAndModifySelection:]): (-[WebView pageDown:]): (-[WebView pageUp:]): (-[WebView scrollLineDown:]): (-[WebView scrollLineUp:]): (-[WebView scrollPageDown:]): (-[WebView scrollPageUp:]): (-[WebView selectAll:]): (-[WebView selectParagraph:]): (-[WebView selectLine:]): (-[WebView selectWord:]): (-[WebView copy:]): (-[WebView cut:]): (-[WebView paste:]): (-[WebView copyFont:]): (-[WebView pasteFont:]): (-[WebView delete:]): (-[WebView pasteAsPlainText:]): (-[WebView pasteAsRichText:]): (-[WebView changeFont:]): (-[WebView changeAttributes:]): (-[WebView changeDocumentBackgroundColor:]): (-[WebView changeColor:]): (-[WebView alignCenter:]): (-[WebView alignJustified:]): (-[WebView alignLeft:]): (-[WebView alignRight:]): (-[WebView indent:]): (-[WebView insertTab:]): (-[WebView insertBacktab:]): (-[WebView insertNewline:]): (-[WebView insertParagraphSeparator:]): (-[WebView changeCaseOfLetter:]): (-[WebView uppercaseWord:]): (-[WebView lowercaseWord:]): (-[WebView capitalizeWord:]): (-[WebView deleteForward:]): (-[WebView deleteBackward:]): (-[WebView deleteBackwardByDecomposingPreviousCharacter:]): (-[WebView deleteWordForward:]): (-[WebView deleteWordBackward:]): (-[WebView deleteToBeginningOfLine:]): (-[WebView deleteToEndOfLine:]): (-[WebView deleteToBeginningOfParagraph:]): (-[WebView deleteToEndOfParagraph:]): (-[WebView complete:]): (-[WebView checkSpelling:]): (-[WebView showGuessPanel:]): (-[WebView performFindPanelAction:]): (-[WebView startSpeaking:]): (-[WebView stopSpeaking:]): (-[WebView insertText:]): * WebView.subproj/WebViewPrivate.h: 2004-04-09 Darin Adler Reviewed by Ken. - added "transparent mode" * WebView.subproj/WebFrameInternal.h: Added. Contains _updateDrawsBackground. * WebView.subproj/WebFrame.m: (-[WebFrame _makeDocumentView]): Call _updateDrawsBackground to tell the newly created KHTMLView whether to draw a background or not. (-[WebFrame _setState:]): Don't tell the scroll view to start drawing background if the WebView is not supposed to draw a background. (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the bridge, and do the same for all subframes. * WebView.subproj/WebFrameView.m: (-[WebFrameView setFrameSize:]): Only call setDrawsBackground:YES on the scroll view if the WebView has drawsBackground set to YES. * WebView.subproj/WebViewPrivate.h: Added new proposed API, setDrawsBackground and drawsBackground. Also added drawsBackground boolean to private structure. * WebView.subproj/WebView.m: (-[WebView _commonInitializationWithFrameName:groupName:]): Set drawsBackground to YES by default. (-[WebView setDrawsBackground:]): Added. Sets boolean and calls _updateDrawsBackground to update the flag for each frame. (-[WebView drawsBackground]): Added. Returns value of boolean. (-[WebView _bridgeForCurrentSelection]): Tweaked comment for no good reason. * WebView.subproj/WebViewInternal.h: Added, but empty for the moment. * WebView.subproj/WebFramePrivate.h: Tweaked a bit. 2004-04-08 Chris Blumenberg Fixed: : support for pasting and drag and dropping of URLS to editable WebViews : support for pasting and drag and dropping of images to editable WebViews Reviewed by rjw. * DOM.subproj/WebDOMOperations.h: * DOM.subproj/WebDOMOperations.m: (-[DOMNode webArchive]): renamed from "archive" because "archive" collides with DOMHTMLObjectElement's method (-[DOMRange webArchive]): ditto * Misc.subproj/WebNSPasteboardExtras.h: * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeImage:URL:title:archive:]): take just an archive instead of an HTML string and file wrapper * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:archive:rect:URL:title:event:]): take just an archive instead of an HTML string and file wrapper * WebView.subproj/WebDataProtocol.h: * WebView.subproj/WebDataProtocol.m: (+[NSURL _web_uniqueWebDataURL]): new (+[NSURL _web_uniqueWebDataURLWithRelativeString:]): new * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeImage * WebView.subproj/WebFrame.m: (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]): use _web_uniqueWebDataURL for creating a URL * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteImageResource:]): new (-[WebHTMLView _pasteFromPasteboard:]): renamed, now handles images and URLs (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage (-[WebHTMLView paste:]): call renamed _pasteFromPasteboard (-[WebHTMLView concludeDragOperation:]): call renamed _pasteFromPasteboard * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebImageRepresentation.h: * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation archive]): new * WebView.subproj/WebImageView.m: (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeImage (-[WebImageView mouseDragged:]): call renamed _web_dragImage === Safari-136 === 2004-04-08 Chris Blumenberg Fixed: : API: DOM API for WebKit clients Reviewed by kocienda. * DOM.subproj/DOM.h: copied from WebCore * WebKit.pbproj/project.pbxproj: made our DOM headers public! 2004-04-08 Chris Blumenberg Moved WebArchive to its own file. Reviewed by kocienda. * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebArchive.h: Added. * WebView.subproj/WebArchive.m: Added. (-[WebArchive data]): renamed from dataRepresentation * WebView.subproj/WebDataSource.m: * WebView.subproj/WebFrame.m: * WebView.subproj/WebHTMLRepresentation.m: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed [WebArchive data] * WebView.subproj/WebResource.h: * WebView.subproj/WebResource.m: 2004-04-07 Chris Blumenberg Created WebDOMOperations which are WebKit-specific categories on DOM objects. Reviewed by rjw. * DOM.subproj/DOMExtensions.h: * DOM.subproj/WebDOMOperations.h: Added. * DOM.subproj/WebDOMOperations.m: Added. (-[DOMNode _bridge]): new (-[DOMNode archive]): new (-[DOMNode markupString]): new (-[DOMRange _bridge]): new (-[DOMRange archive]): new (-[DOMRange markupString]): new (-[DOMHTMLImageElement image]): * WebCoreSupport.subproj/WebBridge.h: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge webFrame]): new * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDataSource.m: (-[WebDataSource _archiveWithMarkupString:subresourceURLStrings:]): moved from WebHTMLRepresentation * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]): call markupString on the node * WebView.subproj/WebDocumentPrivate.h: * WebView.subproj/WebFrame.m: (+[WebFrame frameForDOMDocument:]): new (-[WebFrame loadArchive:]): renamed * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebHTMLRepresentation.h: * WebView.subproj/WebHTMLRepresentation.m: * WebView.subproj/WebHTMLRepresentationPrivate.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _selectedArchive:]): renamed (-[WebHTMLView _handleMouseDragged:]): called renamed methods 2004-04-07 Darin Adler Reviewed by Chris. * DOM.subproj/DOMCSS.h: Updated from WebCore. 2004-04-07 Ken Kocienda Reviewed by Darin and Dave (many weeks ago....I am so ashamed for not landing) * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge expiresTimeForResponse:]): Now adds in the difference between the Mac OS X epoch and the "standard" unix epoch when passing back a time that WebCore will use for its cache expiration determinations. 2004-04-07 Richard Williamson Fix for 3604388. The runtime version check (_CFExecutableLinkedOnOrAfter) used by many of our frameworks doesn't work for CFM apps. So, conditional panther bugs fixes aren't being pickup by CFM apps that use WebKit, specifically Contribute. This particular radar describes a problem that was conditionally fixed in the AppKit for panther. The work-around is to force NSBitmapImageRep to execute to conditional code. Reviewed by Maciej. * Carbon.subproj/CarbonUtils.m: (WebInitForCarbon): 2004-04-06 Richard Williamson Fixed 3510805. Only release pool in timer if the current nesting level of the pool matches the nesting level when the pool was created. Reviewed by Chris. * Carbon.subproj/CarbonUtils.m: (getNumPools): (WebInitForCarbon): (PoolCleaner): 2004-04-06 Chris Blumenberg Fixed: : remove "to Clipboard" from context menus because it is redundant Reviewed by john. * English.lproj/Localizable.strings: * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate menuItemWithTag:]): 2004-04-06 Ken Kocienda Reviewed by Dave * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge issueUndoCommand]): New method. Forwards call to the undo manager. Added to support undo called via Javascript execCommand. (-[WebBridge issueRedoCommand]): Ditto. 2004-04-05 Chris Blumenberg Fixed: : SPI: WebPlugin selection Reviewed by kocienda. * Plugins.subproj/WebPlugin.h: extended SPI for selection * Plugins.subproj/WebPluginContainer.h: ditto * Plugins.subproj/WebPluginController.m: (-[WebPluginController selectionColor]): new, calls [WebCoreBridge selectionColor] * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setIsSelected:forView:]): new, calls [WebPlugin setIsSelected:] (-[WebBridge isViewSelected:]): new, calls [WebPlugin isSelected] 2004-04-02 Chris Blumenberg Forgot to add the WebKit copy of DOMExtensions.h. * DOM.subproj/DOMExtensions.h: Added. 2004-04-02 John Sullivan Reviewed by Dave. * WebView.subproj/WebPreferences.m: (-[WebPreferences historyIsFrozen]): take out OMIT_TIGER_FEATURES ifdeffing, since if we turn this into API then we'll probably want it to work in Panther also. To protect Safari users, Safari now explicitly sets historyIsFrozen to NO when starting up in Panther. * English.lproj/StringsNotToBeLocalized.txt: updated for recent changes 2004-04-02 Chris Blumenberg Moved the DOM extensions to their own headers Reviewed by kocienda. * DOM.subproj/DOM.h: changed from WebCore * DOM.subproj/DOMHTML.h: ditto * WebKit.pbproj/project.pbxproj: added DOMExtensions.h * copy-webcore-files-to-webkit: copy DOMExtensions.h === Safari-135 === 2004-04-01 Richard Williamson Fixed 3609493. Don't remove the plugin's view until after sending pluginDestroy. This change was requested by Greg and is needed in the Lavender update. Reviewed by Greg Bolsinga. * Plugins.subproj/WebPluginController.m: (-[WebPluginController destroyAllPlugins]): * Plugins.subproj/npruntime.h: 2004-03-31 John Sullivan - fixed : API: mechanism for displaying error page for failed page load This was not commented on for a week in macosx-api-reviewers, so it has the silent rubber stamp of approval. Note that it isn't guarded by "Tiger only" availability macros because we (probably) want to use it in Panther for Safari. Maybe what we should do is guard the API with "Tiger only" macros but add an SPI version that Safari uses? Reviewed by Dave. * WebView.subproj/WebDataSource.h: moved unreachableURL to here * WebView.subproj/WebDataSource.m: (-[WebDataSource unreachableURL]): moved this from private category to main section * WebView.subproj/WebDataSourcePrivate.h: removed unreachableURL from here * WebView.subproj/WebFrame.h: moved loadAlternateHTMLString... to here * WebView.subproj/WebFrame.m: (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): moved this from private category to main section * WebView.subproj/WebFramePrivate.h: removed unreachableURL from here 2004-03-31 Richard Williamson Changed to reflect NP_runtime.h to npruntime.h. * copy-webcore-files-to-webkit: 2004-03-31 John Sullivan Reviewed by Darin. * WebView.subproj/WebPreferences.m: (-[WebPreferences historyIsFrozen]): always return NO on Panther and older, so you can't get into a state where the WebKit pref is invisibly set and affecting Safari. 2004-03-31 Darin Adler * WebView.subproj/WebHTMLView.m: Whitespace tweaks. 2004-03-30 Chris Blumenberg Fixed: : Plug-in context menus (Flash) don't work in Carbon WebKit applications (e.g., CarbonWeb) Reviewed by rjw. * Carbon.subproj/HIWebView.m: (ContextMenuClick): instead of calling menuForEvent (which is not implemented on our plug-in view) call rightMouseDown and let AppKit handle the rest 2004-03-29 John Sullivan - some support for "Stealth Browsing"; add a preference that controls whether a history item is added when a page is visited. This is called "historyIsFrozen" for now, but I wouldn't be surprised to see this name change. Reviewed by Dave. * WebView.subproj/WebPreferencesPrivate.h: new historyIsFrozen, setHistoryIsFrozen: methods * WebView.subproj/WebPreferences.m: new WebKitHistoryIsFrozenPreferenceKey (+[WebPreferences initialize]): set initial value of WebKitHistoryIsFrozenPreferenceKey (-[WebPreferences setHistoryIsFrozen:]): set value of WebKitHistoryIsFrozenPreferenceKey (-[WebPreferences historyIsFrozen]): read value of WebKitHistoryIsFrozenPreferenceKey * WebView.subproj/WebFrame.m: (-[WebFrame _transitionToCommitted:]): don't add item to history if history is frozen 2004-03-29 Darin Adler Reviewed by John. - fixed : navigator.language always returns "en" * WebCoreSupport.subproj/WebViewFactory.m: (-[WebViewFactory defaultLanguageCode]): Call +[NSUserDefaults _web_preferredLanguageCode] rather than returning "en". * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 2004-03-26 John Sullivan - fixed : Printing "empty" page gives print error, leaves browser window UI broken Reviewed by Dave. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView knowsPageRange:]): AppKit printing mechanism can't handle the case where you tell it there is nothing at all to print, so when we hit that case we give it a degenerate 1-pixel rect to print. This prints a blank page (with correctly-placed header & footer if so configured), which matches other browsers' behavior for this page. * Plugins.subproj/npruntime.h: cvs keeps thinking I've removed a blank line from this auto-copied file. Richard said to just check it in to see if it stops doing this. === Safari-134 === 2004-03-26 John Sullivan - fixed the following bugs: : command-modified keypresses that would activate links are ignored by WebKit : WebActionModifierFlagsKey not set correctly for modified keypresses that activate links : cmd-return should open a link in a new tab Reviewed by Darin. * WebView.subproj/WebFrame.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Pass modifier flags always, not just for mouse events. This fixes 3601604. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView performKeyEquivalent:]): Give the bridge a chance to intercept command-modified keypresses. This fixes 3601630. Together these two changes fix 3544946. 2004-03-25 David Hyatt Implement the rest of the search field. Implement onscroll at the document level. Reviewed by darin * English.lproj/Localizable.strings: * WebCoreSupport.subproj/WebBridge.m: * WebCoreSupport.subproj/WebViewFactory.m: (-[NSMenu addItemWithTitle:action:tag:]): (-[WebViewFactory submitButtonDefaultLabel]): (-[WebViewFactory cellMenuForSearchField]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _frameOrBoundsChanged]): (-[WebHTMLView viewDidMoveToWindow]): * WebView.subproj/WebHTMLViewPrivate.h: 2004-03-25 Richard Williamson Netscape plugin API header cleanup. Replaced our hacked up version of npapi.h with the "official SDK" npapi.h. Moved our changes to the new npfunctions.h. npfunctions.h really replaces what was defined in the Netscape npupp.h header. However, rather than use the "official SDK" npupp.h I think the cleaner npfunctions.h is better. npupp.h actually has a bunch of Mac classic specific stuff that is no longer needed. Copied npruntime.h to WebKit using Ken's copy-o-matic mechanism. Made npapi.h, npruntime.h, and npfunctions.h SPI. With a bit more consideration they will become API. They will also eventually be made available for other platforms/vendors are mozilla.org. Reviewed by Ken. * Plugins.subproj/WebBaseNetscapePluginStream.h: * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream dealloc]): (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): * Plugins.subproj/WebBaseNetscapePluginView.h: * Plugins.subproj/WebNetscapePluginPackage.h: * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]): * Plugins.subproj/npapi.h: * Plugins.subproj/npruntime.h: Added. * WebKit.pbproj/project.pbxproj: * copy-webcore-files-to-webkit: 2004-03-24 Darin Adler Reviewed by John. - fixed : REGRESSION: When the subject of mailto is 2 byte Safari failed to send mail address and subject to Mail.app * Misc.subproj/WebNSURLExtras.m: (applyHostNameFunctionToMailToURLString): Update to handle hostnames that end just before a '?' since a '?' ends the entire part of the URL that can contain hostnames. Also change the logic so that the '?' will successfully end the search. 2004-03-24 Ken Kocienda Reviewed by me * DOM.subproj/DOMHTML.h: Checking in copied over version of modified file. 2004-03-23 David Hyatt Fix for 3513627, HTML mail prints upside down occasionally. Change printing so that it never resizes the WebHTMLView when formatting for printing. When computing page rects, instead of using the view's bounds, use the root layer's width instead. Reviewed by darin * WebView.subproj/WebHTMLView.m: (-[WebHTMLView knowsPageRange:]): === Safari-133 === 2004-03-17 David Hyatt Expose ageLimitDate so that the autocomplete code can access it. Reviewed by john * History.subproj/WebHistory.m: (-[WebHistory ageLimitDate]): * History.subproj/WebHistoryPrivate.h: 2004-03-17 Richard Williamson Fixed 3591667. Plugin view is added to view hierarchy before calling init. Reviewed by Ken. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSubview:]): 2004-03-16 Darin Adler * DOM.subproj/DOMHTML.h: Updated from WebCore. * DOM.subproj/DOMRange.h: Ditto. 2004-03-16 Darin Adler Reviewed by Ken. - update for new DOM namespacing and header organization * DOM.subproj/DOM.h: Changed to include the other DOM headers. * DOM.subproj/DOMCSS.h: Added. * DOM.subproj/DOMCore.h: Added. * DOM.subproj/DOMEvents.h: Added. * DOM.subproj/DOMHTML.h: Added. * DOM.subproj/DOMRange.h: Added. * DOM.subproj/DOMStylesheets.h: Added. * DOM.subproj/DOMTraversal.h: Added. * DOM.subproj/DOMViews.h: Added. * WebKit.pbproj/project.pbxproj: Added new files. * WebView.subproj/WebDefaultEditingDelegate.m: (-[WebDefaultEditingDelegate webView:shouldApplyStyle:toElementsInDOMRange:]): (-[WebDefaultEditingDelegate webView:shouldChangeTypingStyle:toStyle:]): Change class names from CSS to DOMCSS. * WebView.subproj/WebViewPrivate.h: Ditto. * copy-webcore-files-to-webkit: Add new files. 2004-03-15 Ken Kocienda Reviewed by John Fix for this bug: : REGRESSION (125-131u): Tabbing to links and tabbing in bookmarks view no longer works WebView can't lay claim to -keyDown: just for editing events, as this gets in the way of tab processing. The solution is to give WebView a private method for processing editing key events fed to it from over the bridge, and leave -keyDown: unimplemented. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge editingKeyDown:]): Changed from -keyDown: to keep terminology consistent with renamed WebView -editingKeyDown: method. * WebView.subproj/WebView.m: (-[WebView editingKeyDown:]): Give WebView a method to handle editing key events in a way that does not interfere with other key down events it processes. * WebView.subproj/WebViewPrivate.h: Declare -editingKeyDown: method. === Safari-132 === 2004-03-15 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 2004-03-12 Darin Adler Reviewed by Ken. - fixed : copied   characters remain non-breaking spaces; other browsers give normal spaces * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _writeSelectionToPasteboard:]): Convert non-breaking spaces to the normal kind in the plain text part of the pasteboard. 2004-03-12 Ken Kocienda Reviewed by Chris * WebView.subproj/WebView.m: (-[WebView _alterCurrentSelection:direction:granularity:]): Changed name from _alterSelection:direction:granularity: to give a little extra clarity. Also, the body calls through to renamed rangeByAlteringCurrentSelection:direction:granularity: in WebCore. (-[WebView moveRight:]): Now calls renamed _alterCurrentSelection:direction:granularity:. (-[WebView moveRightAndModifySelection:]): Ditto. (-[WebView moveLeft:]): Ditto. (-[WebView moveLeftAndModifySelection:]): Ditto. 2004-03-11 Richard Williamson Workaround for 3585644. Force the window number of the mouse moved event to be correct. Reviewed by Chris. * Carbon.subproj/CarbonWindowFrame.m: * Carbon.subproj/HIWebView.m: (MouseMoved): (MouseDragged): 2004-03-11 Ken Kocienda Reviewed by Dave Various changes to begin implementing the draft API proposal. * DOM.subproj/DOM.h: Checking in generated file. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge registerCommandForUndo:]): Now takes an id, a wrapped WebCore EditCommand implementation object. (-[WebBridge registerCommandForRedo:]): Ditto. (-[WebBridge clearUndoRedoOperations]): Use the web view's undo manager. (-[WebBridge keyDown:]): Pass keyDown events through to the web view. * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDefaultEditingDelegate.h: Added. * WebView.subproj/WebDefaultEditingDelegate.m: Added. Stubbed in default implementations declared in the draft editing API. * WebView.subproj/WebFrame.m: (-[WebFramePrivate dealloc]): WebFrame no longer has an undo manager. * WebView.subproj/WebFramePrivate.h: Ditto. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _selectedWebArchive:]): selectedRange method is now selectedDOMRange. * WebView.subproj/WebView.m: (-[WebViewPrivate dealloc]): Dealloc new editingDelegateForwarder. (-[WebView _editingDelegateForwarder]): Added. (-[WebView keyDown:]): Added. (-[WebView _bridgeForCurrentSelection]): Added. (-[WebView setSelectedDOMRange:]): Added. (-[WebView selectedDOMRange]): Added. (-[WebView insertText:]): Added. (-[WebView _alterSelection:direction:granularity:]): Added. (-[WebView selectWord:]): Added. (-[WebView moveRight:]): Added. (-[WebView moveRightAndModifySelection:]): Added. (-[WebView moveLeft:]): Added. (-[WebView moveLeftAndModifySelection:]): Added. (-[WebView deleteBackward:]): Added. (-[WebView insertNewline:]): Added. (-[WebView insertParagraphSeparator:]): Added. (-[WebView setEditingDelegate:]): Added. (-[WebView editingDelegate]): Added. (-[WebView undoManager]): Added. (-[WebView insertText:replacingDOMRange:]): Added. * WebView.subproj/WebViewPrivate.h: Added a collection of editing API declarations that will be public some day, but are still under review. 2004-03-11 John Sullivan - fixed : Assertion failure if error page is loaded from webView:unableToImplementPolicyWithError: - also added HeaderDoc comments to could-be-API-soon methods and fixed a conceptual problem with said methods Reviewed by Darin. * WebView.subproj/WebDataSourcePrivate.h: added HeaderDoc comment for -unreachableURL * WebView.subproj/WebFramePrivate.h: added HeaderDoc comment for -loadAlternateHTMLString:baseURL:forUnreachableURL:; also added boolean delegateIsHandlingUnimplementablePolicy ivar to WebFramePrivate * WebView.subproj/WebFrame.m: (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]): treat delegateIsHandlingUnimplementablePolicy like delegateIsDecidingNavigationPolicy. Safari serves up error pages during the latter but clients are equally or more likely to do so during the former. (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): set delegateIsHandlingUnimplementablePolicy during delegate callback (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): tweaked assertion so it doesn't erroneously fire for clients that call loadAlternateHTML:baseURL:forUnreachableURL: while processing webView:unableToImplementPolicyWithError: 2004-03-11 Chris Blumenberg Made WebArchive a class instead of a data object. This allows clients to easily get the main resource and subresources from a WebArchive. Reviewed by kocienda. * WebKit.exp: * WebView.subproj/WebDocumentPrivate.h: * WebView.subproj/WebFrame.m: (-[WebFrame loadWebArchive:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation loadWebArchive]): (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]): (-[WebHTMLRepresentation webArchiveFromNode:]): (-[WebHTMLRepresentation webArchiveFromRange:]): * WebView.subproj/WebHTMLRepresentationPrivate.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _selectedWebArchive:]): (-[WebHTMLView _writeSelectionToPasteboard:]): (-[WebHTMLView _pasteMarkupFromPasteboard:]): * WebView.subproj/WebResource.h: * WebView.subproj/WebResource.m: (-[WebArchivePrivate dealloc]): (-[WebResource _response]): (-[WebArchive init]): (-[WebArchive initWithMainResource:subresources:]): (-[WebArchive initWithData:]): (-[WebArchive dealloc]): (-[WebArchive mainResource]): (-[WebArchive subresources]): (-[WebArchive dataRepresentation]): * WebView.subproj/WebResourcePrivate.h: 2004-03-10 Chris Blumenberg Made dragging of web archives work. Reviewed by rjw. * English.lproj/StringsNotToBeLocalized.txt: updated * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient connection:didReceiveResponse:]): added a FIXME about working around old Foundations that don't know about web archive files * WebView.subproj/WebView.m: (+[WebView canShowFile:]): tweak (+[WebView suggestedFileExtensionForMIMEType:]): tweak (+[WebView _MIMETypeForFile:]): handle web archive files since Foundation may be too old to know about them 2004-03-09 Chris Blumenberg Made web archives use NSPropertyListBinaryFormat_v1_0 instead of NSPropertyListXMLFormat_v1_0 because NSPropertyListBinaryFormat_v1_0 is 3-5 times faster to serialize and parse. Reviewed by rjw. * WebView.subproj/WebResource.m: (+[WebResource _parseWebArchive:mainResource:subresources:]): add timing code (+[WebResource _webArchiveWithMainResource:subresources:]): add timing code, use NSPropertyListBinaryFormat_v1_0 2004-03-09 Chris Blumenberg Fixed: : API: web archive related API's Implemented WebKit side of: : ability to save web sites (images and all) Reviewed by rjw. * WebCoreSupport.subproj/WebBridge.h: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge receivedData:textEncodingName:]): renamed to take a textEncodingName instead of data source. The data source argument is only needed for the textEncodingName. * WebKit.exp: * WebView.subproj/WebDataSource.m: (-[WebDataSource _subresourcesDictionary]): new (+[WebDataSource _repTypesAllowImageTypeOmission:]): include "application/x-webarchive" * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDocumentInternal.h: * WebView.subproj/WebDocumentPrivate.h: * WebView.subproj/WebFrame.m: (-[WebFrame loadWebArchive:]): renamed, code factored out to [WebResource _parseWebArchive:mainResource:subresources:] * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]): include "application/x-webarchive" * WebView.subproj/WebHTMLRepresentation.h: * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentationPrivate dealloc]): (-[WebHTMLRepresentation _isDisplayingWebArchive]): new (-[WebHTMLRepresentation receivedData:withDataSource:]): don't feed data to WebCore if we're displaying a web archive since web archive can't be progressively loaded (-[WebHTMLRepresentation loadWebArchive]): new, feeds web archive data to WebCore (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): call loadWebArchive if necessary (-[WebHTMLRepresentation documentSource]): if displaying a web archive, return the HTML source from within the archive (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]): new (-[WebHTMLRepresentation markupStringFromNode:]): implementation of new API (-[WebHTMLRepresentation markupStringFromRange:]): ditto (-[WebHTMLRepresentation webArchiveFromNode:]): ditto (-[WebHTMLRepresentation webArchiveFromRange:]): ditto * WebView.subproj/WebHTMLRepresentationPrivate.h: * WebView.subproj/WebHTMLView.m: (+[WebHTMLView _selectionPasteboardTypes]): use renamed WebArchivePboardType (-[WebHTMLView _selectedWebArchive:]): renamed, call renamed methods (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed methods (-[WebHTMLView _haveSelection]): indentation tweak (-[WebHTMLView _canDelete]): ditto (-[WebHTMLView _canPaste]): ditto (-[WebHTMLView _pasteMarkupFromPasteboard:]): renamed, call [WebResource _webArchiveWithMainResource:subresources:] (-[WebHTMLView initWithFrame:]): use renamed WebArchivePboardType (-[WebHTMLView paste:]): call renamed _pasteMarkupFromPasteboard (-[WebHTMLView concludeDragOperation:]): call renamed _pasteMarkupFromPasteboard * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient connection:didReceiveResponse:]): modify the MIME type for web archives since Foundation is not yet web archive aware. This is ifdef'd pre-Tiger code. * WebView.subproj/WebResource.h: * WebView.subproj/WebResource.m: (+[WebResource _parseWebArchive:mainResource:subresources:]): new (+[WebResource _webArchiveWithMainResource:subresources:]): new * WebView.subproj/WebResourcePrivate.h: 2004-03-09 John Sullivan - fixed the following bugs: : Going to an error page in back/forward list doesn't work correctly in some cases : REGRESSION (130+): World Leak of WebFrame after trying to load page with unknown scheme Reviewed by Darin. * WebView.subproj/WebDataSourcePrivate.h: renamed __setRequest -> __adoptRequest * WebView.subproj/WebDataSource.m: (-[WebDataSource _URLForHistory]): updated comment (-[WebDataSource __adoptRequest:]): Renamed from __setRequest; now takes an NSMutableURLRequest and uses it as-is. (-[WebDataSource _setRequest:]): now saves a mutable copy, instead of relying on the caller to do so. The (only) caller wasn't doing so in all cases, leading to trouble in River City. Also, special-case unreachable URL handling to allow alternate content to replace a URL in a redirect-like way without sending a redirect callback. * WebView.subproj/WebFrame.m: (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): renamed after discussion with Richard (was loadPlaceholderHTMLString:baseURL:unreachableURL:) (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]): new helper method, returns YES only if we receive a load request for alternate content from a delegate for an unreachable URL while we are going back or forward. That's a lot of prepositions! (-[WebFrame _loadRequest:subresources:]): if _shouldReloadToHandleUnreachableURLFromRequest: returns YES, change load type to WebFrameLoadTypeReload so b/f list is preserved appropriately. (-[WebFrame _transitionToCommitted:]): Update currentItem in the unreachableURL case. (-[WebFrame _isLoadComplete]): Don't reset b/f list before calling provisionalLoadDidFail delegate; instead, determine where to reset b/f list beforehand, and then actually reset list afterwards only if we didn't start an alternate content load in the delegate. Also, set new boolean ivar so we know when we're processing a provisionalLoadDidFail delegate callback. (-[WebFrame _loadItem:withLoadType:]): don't make extra copy before calling __adoptRequest; just pass it the one we made here. (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): If we're loading alternate content for an unreachableURL, don't ask the decision listener, just do it. (This avoids problem with nested calls to checking the navigation policy that led to a WebFrame leak, and is conceptually the right thing to do also.) Also added some asserts that helped me track down the WebFrame leak. Set new boolean ivar so we know when we're processing a navigation policy delegate decision. (-[WebFrame _currentBackForwardListItemToResetTo]): new method, replaces _resetBackForwardListToCurrent. Does the same test as the latter but returns a boolean rather than actually resetting. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): save dataSource in a local var before calling stopLoading, and use it for _setProvisionalDataSource, because otherwise stopLoading was clobbering the dataSource for an unreachable URL handling case. * WebView.subproj/WebFramePrivate.h: two new boolean ivars * WebView.subproj/WebView.m: (+[WebView _canHandleRequest:]): return YES when we're loading alternate content for an unreachable URL === Safari-131 === 2004-03-08 Ken Kocienda Reviewed by Darin * WebKit.pbproj/project.pbxproj: Added CFBundleName to Info.plist 2004-03-05 Chris Blumenberg Fixed: : REGRESSION: Safari crashed in -[NSPasteboard setData:forType:] dragging a map out of Mapquest.com Reviewed by john. * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): declare the pboard types by calling _web_writeURL:::: before calling setData:: 2004-03-05 John Sullivan First cut at WebKit support for showing error pages for unreachable URLs. This doesn't work quite right with the back/forward list yet, but is good enough for demos. Reviewed by Darin. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate didReceiveResponse:]): use new _webDataRequextExternalURL to share code * WebView.subproj/WebDataProtocol.h: Three new methods (all internal to WebKit): -[NSURLRequest _webDataRequestUnreachableURL], -[NSURLRequest _webDataRequestExternalURL], -[NSURLRequest _webDataRequestSetUnreachableURL] * WebView.subproj/WebDataProtocol.m: new unreachableURL field of WebDataRequestParameters (-[WebDataRequestParameters copyWithZone:]): copy new field (-[WebDataRequestParameters dealloc]): release new field (-[NSURLRequest _webDataRequestUnreachableURL]): read new field (-[NSURLRequest _webDataRequestExternalURL]): new method, returns baseURL or "about:blank" for webdata protocol requests. This was done in multiple places previously. (-[NSURLRequest _webDataRequestExternalRequest]): now calls _webDataRequestExternalURL to share code (-[NSMutableURLRequest _webDataRequestSetUnreachableURL:]): write new field * WebView.subproj/WebDataSource.m: (-[WebDataSource unreachableURL]): new method, might become API; returns the unreachable URL, if any, for which this datasource holds placeholder content (-[WebDataSource _URLForHistory]): new method, returns the URL to be stored in History for this dataSource. This returns nil for run-of-the-mill WebDataProtocol URLs (replacing code elsewhere that checked for this case) but returns the unreachableURL for the case where this datasource holds placeholder content. (-[WebDataSource _setTitle:]): now calls _URLForHistory * WebView.subproj/WebDataSourcePrivate.h: added unreachableURL in the should-become-API section, and _URLForHistory elsewhere * WebView.subproj/WebFrame.m: (-[WebFrame loadPlaceholderHTMLString:baseURL:unreachableURL:]): new should-become-API method for displaying an error page for an unreachable URL (-[WebFrame loadPropertyList:]): updated to pass nil for unreachableURL (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]): added unreachableURL parameter, which gets set on the data request (-[WebFrame _addBackForwardItemClippedAtTarget:]): use _URLForHistory instead of just checking for WebDataProtocol (-[WebFrame _createItem:]): use unreachableURL if there is one (-[WebFrame _transitionToCommitted:]): use _URLForHistory instead of just checking for WebDataProtocol (-[WebFrame _isLoadComplete]): check whether a new load has started in the delegate callback and if so, don't reset the loading state here (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): added unreachableURL parameter, which gets passed through (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): send nil unreachableURL parameter (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]): new bottleneck method for loadHTMLString:baseURL: and loadPlaceholderHTMLString:baseURL:unreachableURL:; this is the guts of loadHTMLString:baseURL: with the new unreachableURL parameter passed through (-[WebFrame loadHTMLString:baseURL:]): now calls new bottleneck method * WebView.subproj/WebFramePrivate.h: added loadPlaceholderString:baseURL:unreachableURL: to should-be-API section; added unreachableURL parameter to _webDataRequestForData:MIMEType:textEncodingName:baseURL: 2004-03-04 Chris Blumenberg - Made image dragging and copying always work without needing to re-download by using the data source's WebResource of the image instead of relying on the Foundation cache. - Fixed a "drag to self" problem I introduced in my last check-in. You could drag a URL from a WebHTMLView and drop it on its own WebView which we shouldn't allow. Reviewed by rjw. * ChangeLog: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge fileWrapperForURL:]): call _fileWrapperForURL on WebDataSource * WebView.subproj/WebDataSource.m: (-[WebDataSource _fileWrapperForURL:]): moved from WebView, creates a wrapper from a WebResource * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]): call [WebDataSource _fileWrapperForURL:] * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): call [WebDataSource _fileWrapperForURL:] (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebDataSource _fileWrapperForURL:] (-[WebHTMLView _dragOperationForDraggingInfo:]): new, factored out from draggingUpdated: (-[WebHTMLView draggingEntered:]): call _dragOperationForDraggingInfo:, if NSDragOperationNone, forward to WebView to it can handle the drag (-[WebHTMLView draggingUpdated:]): ditto (-[WebHTMLView concludeDragOperation:]): ditto * WebView.subproj/WebResource.m: (-[WebResource _fileWrapperRepresentation]): new * WebView.subproj/WebResourcePrivate.h: * WebView.subproj/WebView.m: (-[WebViewPrivate dealloc]): release draggedTypes, a new ivar that keeps track of drag types that we're currently registered for (-[WebView _setDraggedTypes:]): new (-[WebView unregisterDraggedTypes]): new, calls _setDraggedTypes then super (-[WebView registerForDraggedTypes:]): ditto (-[WebView _dragOperationForDraggingInfo:]): new, compares the types on the pasteboard against the types we are currently registered for. Normally the AppKit handles this for us, but since these messages can be forwarded from WebHTMLView, we need to do this comparison ourselves. (-[WebView draggingEntered:]): calls _dragOperationForDraggingInfo: (-[WebView draggingUpdated:]): ditto (-[WebView concludeDragOperation:]): ditto * WebView.subproj/WebViewPrivate.h: define new draggedTypes ivar 2004-03-03 Chris Blumenberg Fixed a typo. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView concludeDragOperation:]): 2004-03-03 Chris Blumenberg Fixed: : REGRESSION: web view won't accept drag of webloc file Reviewed by rjw. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView draggingUpdated:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it (-[WebHTMLView concludeDragOperation:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it 2004-03-03 Darin Adler Reviewed by Vicki. * English.lproj/InfoPlist.strings: Removed. No need to localize the version and copyright string, and that's all that was in here. * WebKit.pbproj/project.pbxproj: Removed InfoPlist.strings from build. 2004-03-03 Ken Kocienda Reviewed by Chris * copy-webcore-files-to-webkit: Fixed up this script so that it does not fail if it is running "non-locally", like for B&I. The idiom is to check these files into WebKit after copying them from WebCore, hence this script is merely a convenience to keep the files in sync. 2004-03-02 Ken Kocienda Reviewed by me * DOM.subproj/DOM.h: Checked in header copied over from WebCore. 2004-03-02 Richard Williamson Added WebJavaScriptObject API. The location of this file may change. Reviewed by Chris. * Plugins.subproj/NP_objc.h: Added. * WebKit.pbproj/project.pbxproj: 2004-03-02 Chris Blumenberg Fixed: : REGRESSION: Safari crashes at IS&T website Reviewed by darin. * WebView.subproj/WebDataSource.m: (-[WebDataSourcePrivate dealloc]): don't stop the icon loader here because that can cause an infinite loop (-[WebDataSource _stopLoadingInternal]): always stop the icon loader here instead of just when the data source is loading as well. === Safari-130 === 2004-03-02 Ken Kocienda Reviewed by me * DOM.subproj/DOM.h: Rollout last night's checkin. The tree was closed. 2004-03-01 Chris Blumenberg Fixed: : REGRESSION (129-TOT): crash loading macromedia.com deliverResource was being called after it had already been called in setDefersCallbacks:. Reviewed by rjw. * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate deliverResource]): set deliveredResource to YES (-[WebBaseResourceHandleDelegate deliverResourceAfterDelay]): new, calls deliverResource after a delay (-[WebBaseResourceHandleDelegate loadWithRequest:]): call deliverResourceAfterDelay (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResourceAfterDelay 2004-03-01 Ken Kocienda Reviewed by me * DOM.subproj/DOM.h: Checked in header copied over from WebCore. 2004-03-01 Ken Kocienda Reviewed by me * DOM.subproj/DOM.h: Oh, it's like the Keystone Cops this afternoon... Backed out an unintended change to thsi file. 2004-03-01 Ken Kocienda Reviewed by me * copy-webcore-files-to-webkit: Dumb typing error on my part in making my previous quick fix. This quick fix works. 2004-03-01 Chris Blumenberg Updated the WebKit project file to 1.1 because a previous check-in reverted to 1.01. * WebKit.pbproj/project.pbxproj: 2004-03-01 Ken Kocienda Reviewed by me * copy-webcore-files-to-webkit: Made this file buildit-compliant 2004-03-01 Chris Blumenberg Found a bug in my last check-in. If a load that originates from a WebResource is cancelled before the data from the WebResource is delivered, callbacks are sent anyway. Reviewed by rjw. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate cancelWithError:]): cancel the perform request for deliverResource 2004-03-01 Chris Blumenberg Reviewed by darin. * Misc.subproj/WebIconLoader.m: (-[WebIconLoader didFinishLoading]): rejigger handle code to avoid Deployment failure * WebKit.pbproj/project.pbxproj: 2004-03-01 Chris Blumenberg - Made WebResource loading not use Foundation at all. This allows "Mail Page" and paste to more directly load subresources without any indirection involving NSURLConnection and the Foundation cache. - Made WebIconLoader a subclass of WebBaseResourceHandleDelegate. This makes favicons appear in the activity window among other things. Reviewed by kocienda. * Misc.subproj/WebIconLoader.h: * Misc.subproj/WebIconLoader.m: removed connection and data ivars since WebBaseResourceHandleDelegate holds these (-[WebIconLoaderPrivate dealloc]): removed calls to deleted ivars (-[WebIconLoader URL]): call renamed request ivar (-[WebIconLoader startLoading]): call loadWithRequest (-[WebIconLoader stopLoading]): call cancel (-[WebIconLoader didFinishLoading]): * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection (-[WebNetscapePluginConnectionDelegate didReceiveData:lengthReceived:]): ditto (-[WebNetscapePluginConnectionDelegate didFinishLoading]): ditto (-[WebNetscapePluginConnectionDelegate didFailWithError:]): ditto * WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient didReceiveResponse:]): ditto (-[WebSubresourceClient didReceiveData:lengthReceived:]): ditto (-[WebSubresourceClient didFinishLoading]): ditto (-[WebSubresourceClient didFailWithError:]): ditto * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate loadWithRequest:]): instead of storing the resource in the Foundation cache in order to later load it from the cache, deliver the callbacks ourselves after a delay (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResource if callbacks are turned back on (-[WebBaseResourceHandleDelegate deliverResource]): new, calls didReceiveResponse:, didReceiveData:lengthReceived:, and didFinishLoading (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection (-[WebBaseResourceHandleDelegate didReceiveAuthenticationChallenge:]): ditto (-[WebBaseResourceHandleDelegate didCancelAuthenticationChallenge:]): ditto (-[WebBaseResourceHandleDelegate didReceiveResponse:]): ditto (-[WebBaseResourceHandleDelegate didReceiveData:lengthReceived:]): ditto (-[WebBaseResourceHandleDelegate didFinishLoading]): ditto (-[WebBaseResourceHandleDelegate didFailWithError:]): ditto (-[WebBaseResourceHandleDelegate willCacheResponse:]): ditto (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): calls connection-less version of this method (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): ditto (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): ditto (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): ditto (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): ditto (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): ditto (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): ditto (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): ditto (-[WebBaseResourceHandleDelegate cancelWithError:]): call renamed _completeProgressForConnectionDelegate on WebView (-[WebBaseResourceHandleDelegate cancelledError]): tweak * WebView.subproj/WebDataSource.m: (-[WebDataSource _loadIcon]): set the data source on the icon loader so it can callback * WebView.subproj/WebResource.m: (-[WebResource _response]): new, factored out from _cachedResponseRepresentation (-[WebResource _cachedResponseRepresentation]): call _response * WebView.subproj/WebResourcePrivate.h: * WebView.subproj/WebView.m: (-[WebView _incrementProgressForConnectionDelegate:response:]): renamed to be connection-less (-[WebView _incrementProgressForConnectionDelegate:data:]): ditto (-[WebView _completeProgressForConnectionDelegate:]): ditto * WebView.subproj/WebViewPrivate.h: 2004-03-01 Ken Kocienda Reviewed by Darin Changed all Objective-C DOM classes from protocols to classes. * DOM.subproj/DOM-compat.h: * DOM.subproj/DOM.h: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]): (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): * WebView.subproj/WebFormDelegate.h: * WebView.subproj/WebFormDelegate.m: (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]): * WebView.subproj/WebFrame.m: (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): (-[WebFormState initWithForm:values:sourceFrame:]): (-[WebFormState form]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebHTMLRepresentation.h: * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation DOMDocument]): (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:]): (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]): (-[WebHTMLRepresentation elementWithName:inForm:]): (-[WebHTMLRepresentation elementForView:]): (-[WebHTMLRepresentation elementDoesAutoComplete:]): (-[WebHTMLRepresentation elementIsPassword:]): (-[WebHTMLRepresentation formForElement:]): (-[WebHTMLRepresentation controlsInForm:]): (-[WebHTMLRepresentation searchForLabels:beforeElement:]): (-[WebHTMLRepresentation matchLabels:againstElement:]): 2004-02-27 John Sullivan - WebKit changes to allow performance improvements to bookmarks Reviewed by Darin. * History.subproj/WebHistoryItemPrivate.h: added notificationsSuppressed/setNotificationsSuppressed, and setURLString * History.subproj/WebHistoryItem.m: (-[WebHistoryItem setNotificationsSuppressed:]): setter for new flag. When this flag is set, making changes to the WebHistoryItem will not cause WebHistoryChanged notifications to be sent. This is a big speedup for reading bookmarks from disk, since currently each WebBookmarkLeaf object keeps around a WebHistoryItem object that isn't really part of history and thus doesn't need to send notifications about history changing. (-[WebHistoryItem notificationsSuppressed]): getter for new flag (-[WebHistoryItem setURLString:]): new method, extracted from guts of setURL:; this allows callers (though currently only callers at Apple) that have a URL string in hand to set it directly on the WebHistoryItem rather than converting to a URL and back, both relatively slow operations. Also, doesn't sent a notification if notifications are suppressed. (-[WebHistoryItem setURL:]): now calls extracted method (-[WebHistoryItem setAlternateTitle:]): doesn't send notification if notifications are suppressed (-[WebHistoryItem setOriginalURLString:]): ditto (-[WebHistoryItem setTitle:]): ditto (-[WebHistoryItem _setLastVisitedTimeInterval:]): ditto 2004-02-26 Chris Blumenberg WebKit side of: : mail a link to this page : implement ability to e-mail entire page Reviewed by john. * English.lproj/StringsNotToBeLocalized.txt: * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _createFileDatabase]): tweaks (-[WebIconDatabase _loadIconDictionaries]): fixed an assertion failure I found in Blot. Keep the original list of icon URLs as a separate list when doing the initial clean-up so we don't over release any icons. (-[WebIconDatabase _updateFileDatabase]): tweaks (-[WebIconDatabase _setIcon:forIconURL:]): tweaks (-[WebIconDatabase _releaseIconForIconURLString:]): tweaks (-[WebIconDatabase _retainOriginalIconsOnDisk]): use the original list of icons on disk instead of the current list (-[WebIconDatabase _releaseOriginalIconsOnDisk]): use the original list of icons on disk instead of the current list * Misc.subproj/WebIconDatabasePrivate.h: * WebKit.exp: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDataSource.m: (-[WebDataSource _propertyListWithData:subresourceURLStrings:]): new, code moved from [WebHTMLView _selectedPropertyList:], creates property list rep of data and subresources (-[WebDataSource propertyList]): does the above with all the data source data, this is what "Mail Page" uses * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebFrame.m: (-[WebFrame loadPropertyList:]): renamed from loadHTMLPropertyList because the property list may contain non-HTML data * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _selectedPropertyList:]): renamed, code moved to [WebDataSource _propertyListWithData:subresourceURLStrings:] (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed _selectedPropertyList 2004-02-26 Ken Kocienda Reviewed by Chris Updated usage of DOM SPI to use new names and conventions. Unless indicated otherwise, the changes were to update protocol names for, which changed from using a "WebDOM" prefix to a "DOM" prefix, and changing now need only include the DOM.h header from WebKit to get everything. * DOM.subproj/DOM-compat.h: Added. This header contains some compatibility declarations to work with older clients of our DOM SPI. Though this file is checked into WebKit, it really lives and should be updated in WebCore. It is copied into WebKit by the build system as needed. * DOM.subproj/DOM.h: Added. This file includes the new "guts" of the DOM SPI. As above, this file is checked into WebKit, it really lives and should be updated in WebCore. It is copied into WebKit by the build system as needed. * DOM.subproj/WebDOMDocument.h: Removed declarations. Now just includes DOM.h and DOM-compat.h * DOM.subproj/WebDOMDocument.m: Removed. * DOM.subproj/WebDOMElement.h: Removed declarations. Now just includes DOM.h and DOM-compat.h * DOM.subproj/WebDOMElement.m: Removed. * DOM.subproj/WebDOMNode.h: Removed declarations. Now just includes DOM.h and DOM-compat.h * DOM.subproj/WebDOMNode.m: Removed. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]) (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]) * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDefaultContextMenuDelegate.m: * WebView.subproj/WebFormDelegate.h: * WebView.subproj/WebFormDelegate.m: (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]) * WebView.subproj/WebFrame.h: Unrelated change. Removed -undoManager accessor from public header. Moved to private header. * WebView.subproj/WebFrame.m: (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]) (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]) (-[WebFrame undoManager]): Moved -undoManager accessor to private category implementation. (-[WebFormState initWithForm:values:sourceFrame:]) (-[WebFormState form]) (-[WebFrame childFrames]) * WebView.subproj/WebFramePrivate.h: Moved in -undoManager accessor. * WebView.subproj/WebHTMLRepresentation.h: * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation DOMDocument]) (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:]) (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]) (-[WebHTMLRepresentation elementWithName:inForm:]) (-[WebHTMLRepresentation elementForView:]) (-[WebHTMLRepresentation elementDoesAutoComplete:]) (-[WebHTMLRepresentation elementIsPassword:]) (-[WebHTMLRepresentation formForElement:]) (-[WebHTMLRepresentation controlsInForm:]) (-[WebHTMLRepresentation searchForLabels:beforeElement:]) (-[WebHTMLRepresentation matchLabels:againstElement:]) * WebView.subproj/WebHTMLView.m: * copy-webcore-files-to-webkit: Added. Copies DOM.h and DOM-compat.h from WebCore when they have been updated there. 2004-02-25 John Sullivan WebKit part of fix for : add a way to tab to menus, checkmarks, and buttons without turning on Full Keyboard Acceess Reviewed by Ken. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): turn on WebCoreKeyboardAccessFull bit whenever we turn on WebCoreKeyboardAccessTabsToLinks bit 2004-02-24 Chris Blumenberg I forgot to add these files in my last check-in. * WebView.subproj/WebResource.h: Added. * WebView.subproj/WebResource.m: Added. (-[WebResourcePrivate dealloc]): (-[WebResource initWithData:URL:MIMEType:textEncodingName:]): (-[WebResource dealloc]): (-[WebResource data]): (-[WebResource URL]): (-[WebResource MIMEType]): (-[WebResource textEncodingName]): (+[WebResource _resourcesFromPropertyLists:]): (+[WebResource _propertyListsFromResources:]): (-[WebResource _initWithPropertyList:]): (-[WebResource _initWithCachedResponse:originalURL:]): (-[WebResource _propertyListRepresentation]): (-[WebResource _cachedResponseRepresentation]): * WebView.subproj/WebResourcePrivate.h: Added. 2004-02-24 Chris Blumenberg Fixed: : design/implement new pasteboard type for HTML that includes subresources Reviewed by rjw. * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginConnectionDelegate initWithStream:view:]): don't manage buffer, WebBaseResourceHandleDelegate does this now (-[WebNetscapePluginConnectionDelegate releaseResources]): ditto (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): ditto (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto * WebKit.exp: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate releaseResources]): release resourceData and resource (-[WebBaseResourceHandleDelegate loadWithRequest:]): check the dataSource for a resource, load that if we have one (-[WebBaseResourceHandleDelegate addData:]): new, adds data to resourceData (-[WebBaseResourceHandleDelegate saveResource]): new, saves data as a resource on the dataSource (-[WebBaseResourceHandleDelegate saveResourceWithCachedResponse:]): new, replaces the resource on the dataSource to save memory (-[WebBaseResourceHandleDelegate resourceData]): new (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): call addData: (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): call saveResource (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): new, calls saveResourceWithCachedResponse: * WebView.subproj/WebDataSource.m: (-[WebDataSourcePrivate dealloc]): release subresources (-[WebDataSource subresources]): new, returns the subresources of the data source (-[WebDataSource subresourceForURL:]): new, returns a resource for a URL (-[WebDataSource addSubresource:]): new (-[WebDataSource addSubresources:]): new (-[WebDataSource _receivedData:]): added an assert (-[WebDataSource _setData:]): replaces the data of the data source (-[WebDataSource initWithRequest:]): create subresources * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebFrame.m: (-[WebFrame loadHTMLPropertyList:]): new, loads a frame from an HTML plist (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:]): new, factored out from loadData:MIMEType:textEncodingName:baseURL: (-[WebFrame _loadRequest:subresources:]): new, factored out from loadRequest:, handles subresources (-[WebFrame loadRequest:]): now just calls _loadRequest:subresources: * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _dataSource]): new internal convenience (+[WebHTMLView _selectionPasteboardTypes]): renamed from _pasteboardTypes to be more precise (-[WebHTMLView _selectedHTMLPropertyList:]): new, constructs an HTML plist from the selection (-[WebHTMLView _writeSelectionToPasteboard:]): calls _selectedHTMLPropertyList to support WebHTMLPboardType (-[WebHTMLView _pasteHTMLFromPasteboard:]): added support for pasting WebHTMLPboardType (+[WebHTMLView initialize]): call renamed _selectionPasteboardTypes (-[WebHTMLView initWithFrame:]): allow WebHTMLPboardType to be dragged in (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _selectionPasteboardTypes * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient addData:]): override since the main resource does it's own buffering (-[WebMainResourceClient saveResource]): override to do nothing since the main resource is not saved as a subresource (-[WebMainResourceClient saveResourceWithCachedResponse:]): override, calls _setData on the data source to (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]): * WebView.subproj/WebResource.h: Added. * WebView.subproj/WebResource.m: Added. New class the represents the data, URL, MIME type and textEncodingName of a resource. (-[WebResourcePrivate dealloc]): (-[WebResource initWithData:URL:MIMEType:textEncodingName:]): (-[WebResource dealloc]): (-[WebResource data]): (-[WebResource URL]): (-[WebResource MIMEType]): (-[WebResource textEncodingName]): (-[WebResource description]): (+[WebResource _resourcesFromPropertyLists:]): (+[WebResource _propertyListsFromResources:]): (-[WebResource _initWithPropertyList:]): (-[WebResource _propertyListRepresentation]): (-[WebResource _initWithCachedResponse:originalURL:]): (-[WebResource _cachedResponseRepresentation]): * WebView.subproj/WebResourcePrivate.h: Added. * WebView.subproj/WebView.m: === Safari-129 === 2004-02-20 Darin Adler Reviewed by mjs. - fix build breakage caused by removal of kWindowNoBufferingAttribute. * Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]): always used a retained backing store type 2004-02-20 Chris Blumenberg Fixed: : when copying HTML, relative URLs should be made absolute Reviewed by dave. * WebView.subproj/WebHTMLRepresentation.h: * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation HTMLString]): renamed from reconstructed source to be more analogous with other data get methods * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed selectedHTML on the bridge 2004-02-19 John Sullivan - WebKit part of fix for : Cycle Tabs keyboard shortcut (cmd-shift-arrows) conflicts with text editing Reviewed by Chris. * WebView.subproj/WebFrameView.m: (-[WebFrameView keyDown:]): If shift key is down along with an arrow key, call super rather than eating event since we don't handle any shifted events here. 2004-02-15 Darin Adler Reviewed by John and Don. - discovered that jaguar.com doesn't need spoofing any more, so removed the spoofing machinery entirely; if we ever have to bring it back we can, but I doubt we will * WebView.subproj/WebView.m: Removed include of WebUserAgentSpoofTable.c. (-[WebViewPrivate dealloc]): Release the new single userAgent rather than the array and userAgentOverride we used to. (-[WebView _preferencesChangedNotification:]): Release the single user agent, rather than the entire cache. Also only do it when the user agent is not overridden. (-[WebView setApplicationNameForUserAgent:]): Ditto. (-[WebView setCustomUserAgent:]): Set the new userAgentOverridden boolean, and also set userAgent itself. (-[WebView customUserAgent]): Return userAgent, but only if userAgentOverridden is true. (-[WebView userAgentForURL:]): Simplify, now that there's no automatic spoofing to do. Made even simpler by the fact that custom and computed user agents both share the same field now. * WebView.subproj/WebViewPrivate.h: Got rid of UserAgentStringType, turned the userAgent field into a single item instead of an array, and replaced the userAgentOverride field with a boolean userAgentOverridden field. * Makefile.am: Removed the rule to build WebUserAgentSpoofTable.c. * WebView.subproj/WebUserAgentSpoofTable.c: Removed. * WebView.subproj/WebUserAgentSpoofTable.gperf: Removed. 2004-02-15 Darin Adler Reviewed by Dave. * WebKit.pbproj/project.pbxproj: Tweak build styles a bit, fixing OptimizedWithSymbols, and removing redundant settings of things that match defaults in other build styles. 2004-02-12 Maciej Stachowiak Reviewed by John. - redo visited link history checking for a 2% speed improvement * History.subproj/WebHistory.m: (-[_WebCoreHistoryProvider containsItemForURLString:]): Removed. (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]): Implemented. For https and http URLs with empty path, add a slash. Make a CFString using the passed-in latin1 buffer without copying. (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Ditto for unicode. (matchLetter): New static helper function. (matchUnicodeLetter): Ditto. === Safari-128 === 2004-02-10 Ken Kocienda Reviewed by Hyatt * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge registerCommandForUndo]): Some cleanup. Cookie for events no longer needed. (-[WebBridge registerCommandForRedo]): Ditto. (-[WebBridge clearUndoRedoOperations]): Tells the Cocoa undo manager to clear steps targeted at the bridge. * WebView.subproj/WebFrame.h: Declare undo manager accessor. * WebView.subproj/WebFrame.m: (-[WebFramePrivate dealloc]): Release undo manager (-[WebFrame undoManager]): Allocate and return an undo manager. This helps undo in a browser to be per tab. * WebView.subproj/WebFramePrivate.h: Declare undo manager ivar. 2004-02-08 Darin Adler Reviewed by Dave. - fixed things seen in the profile, for a total speedup of 4% on cvs-base - fixed some layout regressions from my last speedup due to text measurement inconsistencies by adding a flag to control whether word rounding is done or not - fixed text measurement to be used with AppKit to match AppKit again, as it did at some point in the past * WebCoreSupport.subproj/WebTextRenderer.h: Remove some unused fields, and added a field to say whether we treat this font as fixed pitch. * WebCoreSupport.subproj/WebTextRenderer.m: (getUncachedWidth): Remove space width hack from this level. There was already a width hack up at the higher level for space itself, so there's not a significant speed benefit, and the higher level can make a more intelligent choice based on the current rounding setting since it's not cached. (-[WebTextRenderer _computeWidthForSpace]): Don't store so many widths; just the adjusted width we will actually use. (widthForNextCharacter): Use two different rules for when to adjust space widths, based on whether this is a fixed pitch font or not. Also, don't do any adjusting of space widths if applyWordRounding is false. * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_drawAtPoint:font:textColor:]): Turn off rounding, so we get the kind of spacing AppKit would normally give. (-[NSString _web_widthWithFont:]): Ditto. * Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto. 2004-02-08 Darin Adler Reviewed by NOBODY (OOPS!). - fixed things seen in the profile, for a total speedup of 3.7% on cvs-base * Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_userVisibleString]): Check for "xn--" as we walk the string instead of in a separate call to strcasestr. Faster this way. 2004-02-07 Darin Adler * WebKit.pbproj/project.pbxproj: Get rid of the DEPLOYMENT_LOCATION and DEPLOYMENT_POSTPROCESSING flags that were in the Deployment build style. These were causing the need to chmod all the time after building WebCore successfully, and were doing us no good. 2004-02-06 Darin Adler * Resources/missing_image.tiff: Compressed with compress-tiffs; saved 15890 bytes. === Safari-127 === 2004-02-05 Ken Kocienda Reviewed by Hyatt Added so that editing can hook into Cocoa undo architecture. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge registerCommandForUndo:]): 2004-02-04 David Hyatt Fix deployment build bustage. * Plugins.subproj/WebBaseNetscapePluginView.m: (ConsoleConnectionChangeNotifyProc): 2004-02-04 Chris Blumenberg Fixed: : Safari should not give plug-ins any time, thus use 0% CPU, when not in the currently active session Reviewed by john. * Plugins.subproj/WebBaseNetscapePluginView.m: (+[WebBaseNetscapePluginView initialize]): observe CG changes (-[WebBaseNetscapePluginView addWindowObservers]): observe user switch notifications (-[WebBaseNetscapePluginView removeWindowObservers]): stop observing user switch notifications (-[WebBaseNetscapePluginView viewHasMoved:]): tweak (-[WebBaseNetscapePluginView windowWillClose:]): tweak (-[WebBaseNetscapePluginView windowBecameKey:]): tweak (-[WebBaseNetscapePluginView windowResignedKey:]): tweak (-[WebBaseNetscapePluginView windowDidMiniaturize:]): tweak (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): tweak (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]): new, stop null events (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]): new, restart null events (ConsoleConnectionChangeNotifyProc): new, post user switch notifications 2004-02-02 John Sullivan Reviewed by Darin. * Misc.subproj/WebNSURLExtras.h: * Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_URLWithLowercasedScheme]): new method, returns a URL whose scheme has been tolower'ed * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 2004-02-02 Chris Blumenberg Fixed: : REGRESSION: dragging text or images over a WebView is jerky Reviewed by mjs. * DOM.subproj/WebDOMNode.h: added HTMLString to the protocol * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]): get the HTML representation via the DOM node * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): get the HTML representation via the DOM node * WebView.subproj/WebView.h: removed the HTML string element key constant * WebView.subproj/WebView.m: removed the HTML string element key constant 2004-02-02 Chris Blumenberg Fixed: : when copying images via context menus, only some data is added to the pasteboard Reviewed by john. * Misc.subproj/WebNSPasteboardExtras.h: * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): new, writes and image, URL and other optional arguments to the pasteboard * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): factored code out to _web_writeImage, call _web_writeImage * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeImage * WebView.subproj/WebImageView.m: (-[WebImageView writeImageToPasteboard:]): call _web_writeImage 2004-02-02 Darin Adler - fixed build failure on Merlot * Misc.subproj/WebNSPasteboardExtras.m: Import just CoreTranslationFlavorTypeNames.h rather than all of ApplicationServicesPriv.h; should compile faster and avoid build failure. 2004-02-02 Chris Blumenberg Fixed: : support for editing via drag & drop Reviewed by kocienda. * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): added a HTMLString argument so that we retain all attributes when dragging images * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _canDelete]): call renamed isSelectionEditable (-[WebHTMLView _canPaste]): call renamed isSelectionEditable (-[WebHTMLView _pasteHTMLFromPasteboard:]): new, factored out from paste: (-[WebHTMLView _handleMouseDragged:]): removed code that returned early if we were loading, this kind of protection is no longer needed since we now retain the view while dragging, call renamed _web_dragImage (-[WebHTMLView initWithFrame:]): register for drop types (-[WebHTMLView paste:]): call _pasteHTMLFromPasteboard (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): set new isDragging BOOL to YES (-[WebHTMLView draggedImage:endedAt:operation:]): set new isDragging BOOL to NO (-[WebHTMLView draggingEntered:]): new (-[WebHTMLView draggingUpdated:]): new, handle caret movement during the drag (-[WebHTMLView prepareForDragOperation:]): new (-[WebHTMLView performDragOperation:]): new (-[WebHTMLView concludeDragOperation:]): new, paste in the drag * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebImageView.m: (-[WebImageView mouseDragged:]): call renamed _web_dragImage * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: === Safari-126 === 2004-01-30 Chris Blumenberg Fixed: : REGRESSION (Merlot): WebKit dragging is in strange location Reviewed by kocienda. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): use the proper offset when dragging text 2004-01-28 John Sullivan More header/footer work: refactored the header/footer code so it could be easily reused by other WebDocument classes; used it from WebImageView and WebTextView; removed the page count parameters because it's possible (though currently nasty, see 3543078) to determine this in the client. Reviewed by Dave. * Misc.subproj/WebNSPrintOperationExtras.h Added. * Misc.subproj/WebNSPrintOperationExtras.m Added. (-[NSPrintOperation _web_pageSetupScaleFactor]): new convenience method. * WebView.subproj/WebUIDelegatePrivate.h: Removed page index and page count parameters from delegate methods. * WebView.subproj/WebViewPrivate.h: New private category for header/footer printing methods so that different WebDocument methods can share almost all of the code. * WebView.subproj/WebView.m: (-[WebView _headerHeight]): (-[WebView _footerHeight]): (-[WebView _drawHeaderInRect:]): (-[WebView _drawFooterInRect:]): (-[WebView _adjustPrintingMarginsForHeaderAndFooter]): (-[WebView _drawHeaderAndFooter]): Moved all of these methods here, formerly in WebHTMLView. Removed the page index and page count parameters. * WebView.subproj/WebHTMLView.m: Removed all the header/footer code that's now in WebView.m, and the method that's now -[NSPrintOperation _web_pageSetupScaleFactor] (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]): call methods differently that have now been moved (-[WebHTMLView _scaleFactorForPrintOperation:]): ditto (-[WebHTMLView knowsPageRange:]): ditto (-[WebHTMLView drawPageBorderWithSize:]): now just turns around and calls -[WebView _drawHeaderAndFooter] * WebView.subproj/WebImageView.m: (-[WebImageView drawPageBorderWithSize:]): new method, just calls -[WebView _drawHeaderAndFooter] (-[WebImageView beginDocument]): now calls -[WebView _adjustPrintMarginsForHeaderAndFooter], also moved in file. (-[WebImageView endDocument]): just moved in file. * WebView.subproj/WebTextView.m: (-[WebTextView drawPageBorderWithSize:]): new method, just calls -[WebView _drawHeaderAndFooter] (-[WebTextView knowsPageRange:]): overridden to call -[WebView _adjustPrintMarginsForHeaderAndFooter] * WebKit.pbproj/project.pbxproj: updated for added files 2004-01-28 Chris Blumenberg Fixed: : need context menu items for back, forward, refresh. Reviewed by rjw. * English.lproj/Localizable.strings: * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate menuItemWithTag:]): added support for WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): added support for Back, Forward, Stop and Reload * WebView.subproj/WebUIDelegate.h: added WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags 2004-01-27 John Sullivan WebKit part of fixes for: : ER: please list the source URL in the header or footer when printing the contents of a page : Safari - Configurable printing header/footer : Please allow printing the date (as well as URL) in the header or footer Reviewed by Dave. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _headerHeight]): new method, gets result from WebView's UI delegate or returns 0 (-[WebHTMLView _footerHeight]): new method, gets result from WebView's UI delegate or returns 0 (-[WebHTMLView _drawHeaderInRect:]): new method, gives WebView's UI delegate a chance to draw header (-[WebHTMLView _drawFooterInRect:]): new method, gives WebView's UI delegate a chance to draw footer (-[WebHTMLView _adjustPrintingMarginsForHeaderAndFooter]): new method, adds header and footer heights into page margins so AppKit printing code will compute and use the right area (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]): now calls _adjustPrintingMarginsForHeaderAndFooter if starting to print (-[WebHTMLView drawPageBorderWithSize:]): new method, computes rects for header and footer and calls new drawing methods * WebView.subproj/WebUIDelegatePrivate.h: add header and footer-related delegate methods 2004-01-27 Chris Blumenberg Fixed: : Implement Paste menu item : Implement Delete menu item : Implement Cut menu item Reviewed by dave. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _haveSelection]): new, renamed from hasSelection, calls haveSelection on the bridge, quicker than generating string rep of selection (-[WebHTMLView _canDelete]): new (-[WebHTMLView _canPaste]): new (-[WebHTMLView takeFindStringFromSelection:]): call renamed _haveSelection (-[WebHTMLView cut:]): new (-[WebHTMLView delete:]): new (-[WebHTMLView paste:]): new (-[WebHTMLView validateUserInterfaceItem:]): updated for new methods (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _haveSelection * WebView.subproj/WebHTMLViewPrivate.h: 2004-01-27 Chris Blumenberg Fixed build breakage. Reviewed by darin. * WebKit.pbproj/project.pbxproj: Use full path instead of -L to get at WebKitSecurity.a 2004-01-27 Chris Blumenberg Fixed: : Webkit 1.2 links against SecurityNssAsn1.framework Reviewed by Darin. * WebCoreSupport.subproj/WebKeyGeneration.h: Set DISABLE_WEB_KEY_GENERATION on Merlot for now. Then don't include anything if that's set. * WebCoreSupport.subproj/WebKeyGeneration.cpp: Don't compile anything if DISABLE_WEB_KEY_GENERATION is set. * WebCoreSupport.subproj/WebKeyGenerator.m: (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): Always return nil if DISABLE_WEB_KEY_GENERATION is set. (-[WebKeyGenerator addCertificatesToKeychainFromData:]): Always return failure if DISABLE_WEB_KEY_GENERATION is set. * WebKit.pbproj/project.pbxproj: Added shell build step to make library with security libraries in it. On Merlot, makes empty library. Also added library to link options. * WebKitSecurityDummy.c: Added. Used to make empty version of library for build on Merlot. 2004-01-26 Darin Adler * Makefile.am: Switch from pbxbuild to xcodebuild. 2004-01-26 Darin Adler Reviewed by John. - fixed : image dimensions uses lowercase x instead of multiplication sign * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation title]): Change string to use multiplication sign instead of x. * English.lproj/Localizable.strings: Updated. 2004-01-23 Ken Kocienda Reviewed by Richard * WebView.subproj/WebHTMLView.m: (-[WebHTMLView updateShowsFirstResponder]): Renamed from updateFocusRing: since it is now used to kill caret blink timer. (-[WebHTMLView windowDidBecomeKey:]): Now calls new updateShowsFirstResponder method. (-[WebHTMLView windowDidResignKey:]): Ditto. 2004-01-22 Chris Blumenberg Fixed: : support for copying HTML Reviewed by dave. * WebView.subproj/WebHTMLRepresentation.h: * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation reconstructedSource]): for BLOT's eventual use * WebView.subproj/WebHTMLView.m: (+[WebHTMLView _pasteboardTypes]): provide NSHTMLPboardType (-[WebHTMLView _writeSelectionToPasteboard:]): add HTML to the pasteboard 2004-01-22 John Sullivan Reviewed by Chris. * English.lproj/StringsNotToBeLocalized.txt: brought this file back up to date 2004-01-22 Darin Adler - fixed 3536624: Webkit 1.2 links against SecurityNssAsn1.framework * WebKit.pbproj/project.pbxproj: Remove SecurityNssAsn1.framework from the list we link against. It's still included in the list for places to find headers. === Safari-125 === === Safari-124 === 2004-01-15 Vicki Murley Reviewed by Darin. * WebKit.pbproj/project.pbxproj: Update copyright date to 2004. * English.lproj/InfoPlist.strings: Update copyright date to 2004. === Safari-122 === === Safari-121 === 2004-01-10 Darin Adler Reviewed by John. - fixed 3524906: REGRESSION (114-115): page with plug-in content never stops loading (travelking.com.tw) Put the plug-in streams clients into their own separate set. Now a plug-in client is not considered part of "loading", but it does participate in the callback deferral mechanism, which was the real goal of the change I made that introduced this regression. Also remove the plug-in client in one case I had missed before (cancel). * WebView.subproj/WebDataSourcePrivate.h: Added a new set of plugInStreamClients. * WebView.subproj/WebDataSource.m: (-[WebDataSourcePrivate dealloc]): Release the set. (-[WebDataSource _addPlugInStreamClient:]): Added. Adds to the set. (-[WebDataSource _removePlugInStreamClient:]): Added. Removes from the set. (-[WebDataSource _defersCallbacksChanged]): Added code to loop through plugInStreamClients too. * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream start]): Use _add/removePlugInStreamClient instead of _add/removeSubresourceClient. (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): Ditto. (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): Ditto. (-[WebNetscapePluginConnectionDelegate cancelWithError:]): Override to call _removePlugInStreamClient and then call super. 2004-01-09 Darin Adler - rolled out most of Dave's change for 3510669 and 3515442; it is not working yet * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLView.m: 2004-01-09 Maciej Stachowiak Reviewed by Chris. : cert downloaded from BofA or MIT is rejected (ACL issue on private key?) * WebCoreSupport.subproj/WebKeyGeneration.cpp: (createPair): Cut & paste hunk of code from Security framework. (Safari_SecKeyCreatePair): Ditto. (signedPublicKeyAndChallengeString): Instead of creating a normal ACL, use our hacked version of the SecKeyCreatePair call that doesn't put in any kind of ACL. This works around a SecureTransport bug. 2004-01-09 David Hyatt Fixes for 3510669 and 3515442, blank frame problems caused by WebKit's resizing not scheduling actual layouts via WebCore. Reviewed by darin * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]): (-[WebHTMLView initWithFrame:]): (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): (-[WebHTMLView setNeedsLayout:]): * WebView.subproj/WebHTMLViewPrivate.h: 2004-01-09 Darin Adler Reviewed by Chris. - fixed 3510805: "PoolCleaner" in Carbon WebKit leads to overrelease and crash using color picker in BBEdit * Carbon.subproj/CarbonUtils.m: (PoolCleaner): Only do the autorelease pool stuff in the default run loop mode. If we're in another run loop mode that means we are in some Cocoa code that sets up its own autorelease pool; it's important that we don't release ours in that case. 2004-01-08 Maciej Stachowiak Reviewed by John. : Error on MIT's x509 certificate site * WebCoreSupport.subproj/WebKeyGeneration.cpp: (addCertificatesToKeychainFromData): Sign the freshly minted public key using RSA/MD5 instead of RSA/SHA-1, because MIT only supports MD5. 2004-01-08 Richard Williamson Fixed 3524430. This was a regression introduced when we added '-' and '?' to the word boundary detection. Also backed out workaround for 3521759 as it's no longer needed with correct argument passing to ATSUPositionToOffset. Reviewed by Hyatt. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]): (widthForNextCharacter): 2004-01-08 Chris Blumenberg Fixed: : REGRESSION (100-117): Java plug-in description is garbled when displaying Plug-ins.html Reviewed by darin. * Misc.subproj/WebKitNSStringExtras.h: * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): new method, returns the encoding for a resource handle given its file system path * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage stringForStringListID:andIndex:]): call _web_encodingForResource when creating the NSString === Safari-120 === 2004-01-06 Richard Williamson Fixed 3513660. Make ATSU layout and draw with integer glyph boundaries. This fix should be removed if/when we convert WebCore to use floats for measuring/positioning (3521781). Reviewed by John. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _createATSUTextLayoutForRun:]): 2004-01-05 Richard Williamson Fix for 3514454. Work-around added for 3521759. Filed 3521781 to cover deeper problem. Reviewed by Kocienda. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]): 2003-12-22 John Sullivan - WebKit part of fix for : REGRESSION (100-118): Web Kit printing does not honor Page Setup scale factor Reviewed by Darin. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _userScaleFactorForPrintOperation:]): new method, extracts the scale factor provided by the user in the Page Setup dialog (-[WebHTMLView _scaleFactorForPrintOperation:]): take user scale factor into account (-[WebHTMLView knowsPageRange:]): renamed local var scaleFactor -> totalScaleFactor for clarity; take user scale factor into account for print width; now assumes computePageRects returns autoreleased result. * WebKit.pbproj/project.pbxproj: Xcode version wars; Darin says these don't affect the build. 2003-12-21 Darin Adler Reviewed by John. - fixed a storage leak * WebView.subproj/WebFrame.m: (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Move the release of the request out of an if statement, since it's always needed. 2003-12-19 Chris Blumenberg Fixed: : Standalone image drag makes ocassionally makes 2 copies Reviewed by john. * WebKit.pbproj/project.pbxproj: Xcode 1.1 file format change * WebView.subproj/WebImageView.h: * WebView.subproj/WebImageView.m: copied double-drag protection code from WebHTMLView (-[WebImageView mouseDown:]): set ignoringMouseDraggedEvents to NO (-[WebImageView mouseDragged:]): if ignoringMouseDraggedEvents, return (-[WebImageView draggedImage:endedAt:operation:]): set ignoringMouseDraggedEvents to YES === Safari-119 === 2003-12-18 Richard Williamson Fixed 3511415. We have to un-visually order visually ordered text before passing to ATSU. Reviewed by John. * WebCoreSupport.subproj/WebTextRenderer.m: (reverseCharactersInRun): (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]): (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]): 2003-12-17 Richard Williamson Fixed 3503011 (really, this time). Always use integer width for '-' and '?', as we do for spaces, to ensure that 'words' (as defined by out rounding hack) start on integer boundaries. Reviewed by John. * WebCoreSupport.subproj/WebTextRenderer.m: (widthForNextCharacter): 2003-12-17 Chris Blumenberg Fixed: : REGRESSION (85-100): Flash onKeyUp event non-functional : REGRESSION (85-100): Safari sends plug-in key events to wrong instance of plug-in Reviewed by darin. * Plugins.subproj/WebBaseNetscapePluginView.h: * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendEvent:]): set suspendKeyUpEvents to NO (-[WebBaseNetscapePluginView keyMessageForEvent:]): copied from CVS (-[WebBaseNetscapePluginView keyUp:]): if !suspendKeyUpEvents, send the keyUp event (-[WebBaseNetscapePluginView keyDown:]): set suspendKeyUpEvents to YES (-[WebBaseNetscapePluginView windowBecameKey:]): call SetUserFocusWindow 2003-12-17 Darin Adler Reviewed by Richard. - fixed 3513274: REGRESSION: anchor navigation within frames with "Back" is broken at tivofaq.com * WebView.subproj/WebDataSource.m: (-[WebDataSource _setURL:]): Since this method is only used when you do a fragment scroll, we need to update the original request as well as the request. This ensure that the fragment gets recorded in the history item (which goes in the back/forward history). === Safari-118 === 2003-12-17 John Sullivan - fixed : REGRESSION (Safari 100-116): Mike Hay's Magic 8-ball game ignores slow clicks Reviewed by Darin. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleAutoscrollForMouseDragged:]): start the autoscroll timer here, so the timer only runs when KHTML is handling the event. (-[WebHTMLView mouseDown:]): don't start the autoscroll timer here. 2003-12-16 Ken Kocienda * WebCoreSupport.subproj/WebBridge.m: ObjC runtime needs a declaration for new _calculatedExpiration SPI in NSURLResponse in Foundation 2003-12-16 Richard Williamson Fixed 3512348: Rewrote _CG_drawHighlightForRun:style:atPoint: to use width iterators. Much faster, better cheaper, etc. Reviewed by Dave. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]): 2003-12-16 Richard Williamson Fixed 3503011. Added '-' and '?' to rounding hack. Reviewed by John. * WebCoreSupport.subproj/WebTextRenderer.m: (isRoundingHackCharacter): (widthForNextCharacter): 2003-12-16 Darin Adler Reviewed by Richard. - finished fix to 3109132: can't open movie file via open panel * WebView.subproj/WebView.m: (+[WebView _supportedFileExtensions]): Include all the extensions for each MIME type, not jus the preferred one. 2003-12-16 Ken Kocienda Reviewed by Darin Fix for this bug: : WebBridge expiresTimeForResponse can be improved to use better expiration calculations * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge expiresTimeForResponse:]): Switch to use new _calculatedExpiration SPI method on NSURLResponse. 2003-12-15 Chris Blumenberg Fixed: : always get keychain prompt when sending mail using cert downloaded with Safari Reviewed by john. * WebCoreSupport.subproj/WebKeyGeneration.cpp: (signedPublicKeyAndChallengeString): set up the SecAccessRef with "everything goes" restrictions 2003-12-14 Darin Adler Reviewed by Maciej. - fixed 3311205: click() on a file input type form element does not work bring up the file chooser as it does in IE * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton performClick]): Add method for clicking, now part of the WebCoreFileButton protocol. The rest of the fix is in WebCore. 2003-12-13 Darin Adler Fixed by Ed Voas, reviewed by me. - fixed 3278443: CARBON: grow box obscures scroll bar knob * Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter _growBoxRect]): Return the grow box so AppKit's scroll bar code will know where it is. 2003-12-12 Ken Kocienda * WebCoreSupport.subproj/WebKeyGeneration.cpp: (signedPublicKeyAndChallengeString): Fix build-bustin' typo. 2003-12-12 Chris Blumenberg Fixed: : can't obtain a digital ID from Verisign, form submission fails : keys added to keychain from KEYGEN need better UI names Reviewed by rjw. * English.lproj/Localizable.strings: * WebCoreSupport.subproj/WebKeyGeneration.cpp: (signedPublicKeyAndChallengeString): take a key description arg and use it, take and return CFStrings, handle the empty string case (addCertificatesToKeychainFromData): return a WebCertificateParseResult so WB knows how to handle the cert * WebCoreSupport.subproj/WebKeyGeneration.h: * WebCoreSupport.subproj/WebKeyGenerator.h: * WebCoreSupport.subproj/WebKeyGenerator.m: (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): take a page URL so we can use its host name in the key description * WebKit.pbproj/project.pbxproj: 2003-12-12 Vicki Murley Reviewed by NOBODY (OOPS!). * WebKit.pbproj/project.pbxproj: 2003-12-12 Vicki Murley Reviewed by NOBODY (OOPS!). * WebKit.pbproj/project.pbxproj: 2003-12-12 Vicki Murley Reviewed by NOBODY (OOPS!). * WebKit.pbproj/project.pbxproj: 2003-12-11 Ken Kocienda Reviewed by Darin Fix for this bug: : redirect via post blows cache, causing everything to get reloaded Now POST requests reload the main document by default, but will not reload all subresources. * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): * WebView.subproj/WebFrame.m: (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Take the cache policy for subresources from the original request, rather than the data source's current request. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient _isPostOrRedirectAfterPost:redirectResponse:]): New helper. (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): Call new helper to set the cache policy on the main resource load. === Safari-117 === 2003-12-11 Ken Kocienda Reviewed by Darin * WebCoreSupport.subproj/WebBridge.m: time_t is a signed type, so casting -1 to a time_t does not work to make a max value. We'll go with INT_MAX. 2003-12-11 Ken Kocienda Reviewed and C++ heavy-lifting by Darin Fix warnings in C++ files. * WebCoreSupport.subproj/WebKeyGeneration.cpp: (signedPublicKeyAndChallengeString): Add cast to remove warning. (addCertificatesToKeychainFromData): Add cast to remove warning. * WebKit.pbproj/project.pbxproj: Add back warnings to C++ files. * WebKitPrefix.h: Add define for NULL that works for C++. 2003-12-09 Ken Kocienda Reviewed by Darin : WebCore cache does not use expiration dates on cache items * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge expiresTimeForResponse:]): New method. Call response freshness lifetime method and add it to the current time to yield an expiration time. 2003-12-10 Maciej Stachowiak Reviewed by Richard. WebKit part of fix for: : Implement synchronous loading for XMLHttpRequest * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): 2003-12-10 Richard Williamson Added method to get to the bridge from a view. This is used to ultimately get the part and KJS::Window for a particular applet. Reviewed by Hyatt. * WebCoreSupport.subproj/WebViewFactory.m: (-[WebViewFactory refreshPlugins:]): (-[WebViewFactory bridgeForView:]): 2003-12-10 John Sullivan - WebKit part of fix for: : REGRESSION (100-114): Some sites autoscroll to bottom of page when loading Reviewed by Darin * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: removed _web_scrollPointToVisible:fromView: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView scrollPoint:]): removed call to _web_scrollPointToVisible:fromView: 2003-12-10 Chris Blumenberg Fixed: : certificates downloaded from Verisign are multipart/mixed, must be parsed out Reviewed by kocienda. * WebCoreSupport.subproj/WebKeyGeneration.cpp: (signedPublicKeyAndChallengeString): tweak (addCertificateToKeychainFromData): renamed to use lowercase "c" in "keychain" (addCertificatesToKeychainFromData): take data instead of a path to a file * WebCoreSupport.subproj/WebKeyGeneration.h: * WebCoreSupport.subproj/WebKeyGenerator.h: * WebCoreSupport.subproj/WebKeyGenerator.m: (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:]): added temporary workaround for 3396936 2003-12-09 Chris Blumenberg Fixed: : add downloaded certificates to keychain Reviewed by darin. * WebCoreSupport.subproj/WebKeyGeneration.cpp: (signedPublicKeyAndChallengeString): (addCertificateToKeyChainFromData): new (addCertificateToKeyChainFromFile): new * WebCoreSupport.subproj/WebKeyGeneration.h: * WebCoreSupport.subproj/WebKeyGenerator.h: * WebCoreSupport.subproj/WebKeyGenerator.m: (-[WebKeyGenerator addCertificateToKeyChainFromFileAtPath:]): new * WebKit.exp: * WebKit.pbproj/project.pbxproj: made WebKeyGenerator.h private 2003-12-09 John Sullivan - fixed : REGRESSION (100-116): Clicking QuickTime-requiring link twice crashes (wholenote.com) I found the bug; Darin wrote the fix; I reviewed and tested. * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage stringForStringListID:andIndex:]): Rewrote this method to not use GetIndString, because GetIndString looks at all open resource files and in this case was reading information from the wrong plugin file. 2003-12-08 Chris Blumenberg Fixed: : Support for KEYGEN tag (ie 509 email certificates from www.thawte.com) Reviewed by mjs. * WebCoreSupport.subproj/WebKeyGeneration.cpp: Added. (gnrAddContextAttribute): new (gnrGetSubjPubKey): new (gnrNullAlgParams): new (gnrSign): new (gnrFreeCssmData): new (signedPublicKeyAndChallengeString): new * WebCoreSupport.subproj/WebKeyGeneration.h: Added. * WebCoreSupport.subproj/WebKeyGenerationFactory.h: Added. Renamed from WebLocalizedStringFactory. * WebCoreSupport.subproj/WebKeyGenerationFactory.m: Added. (+[WebKeyGenerationFactory createSharedFactory]): no change (-[WebKeyGenerationFactory dealloc]): no change (-[WebKeyGenerationFactory strengthMenuItemTitles]): new (-[WebKeyGenerationFactory signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:]): new * WebCoreSupport.subproj/WebLocalizedStringFactory.h: Removed. * WebCoreSupport.subproj/WebLocalizedStringFactory.m: Removed. * WebCoreSupport.subproj/WebNetscapeTemplates.cpp: Added. * WebCoreSupport.subproj/WebNetscapeTemplates.h: Added. * WebKit.pbproj/project.pbxproj: * WebKitPrefix.h: * WebView.subproj/WebFrameView.m: 2003-12-05 John Sullivan - fixed : REGRESSION (100-114): multi-page HTML content in Mail is blank when printed Darin and I figured this one out. Reviewed by Ken. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]): Don't call setNeedsDisplay:NO when we're turning printing on, as doing so prevents anything from drawing in the case where this is called from adjustPageHeightsNew:top:bottom:limit 2003-12-05 Darin Adler Reviewed by John. - fixed regression in small caps with substituted fonts my patch from yesterday caused - fixed 3463599: if Lucida font is installed, you see bad glyphs on pages that use it (advogato.org) - fixed storage leak if a renderer is ever deallocated (I don't think we ever do that) - fixed some small leaks in various error cases by adding appropriate free and dispose calls * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer dealloc]): Free the Unicode glyph map too. (fontContainsString): Moved inline function up here so it will be inlined. (-[WebTextRenderer _setupFont]): Free the glyph map and set it back to zero if we fail after extending the glyph map to include space. This fixes the "wrong glyph codes" bug with Lucida above. (-[WebTextRenderer _extendUnicodeCharacterToGlyphMapToInclude:]): Add free calls needed to avoid storage leaks in failure cases. (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): Ditto. (-[WebTextRenderer _initializeATSUStyle]): Add ATSUDisposeStyle to fix storage leak. (freeWidthMap): Use a loop instead of recursion. (freeGlyphMap): Use a loop instead of recursion. (freeUnicodeGlyphMap): Added. (widthForNextCharacter): Don't use the original characters or cluster length, because the character may have been capitalized for use in small caps rendering. So check the character for <= 0xFFFF instead of looking at clusterLength, and break the character into a local array instead of using the original character pointer. 2003-12-04 Darin Adler Reviewed by Richard. - fixed 3497879: REGRESSION (100-115): all non-BMP characters (including Deseret) are broken * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]): Bump offset by getting it from the iterator; don't assume we can just bump it by one each time. It would be even nicer to have a bit more abstraction. (initializeCharacterWidthIterator): Remove call to initializeCharacterShapeIterator. (widthForNextCharacter): Move handling of surrogate pairs (non-BMP) in here and unify it with the handling of BMP characters; this removes the broken code that was returning the wrong font, and changes us to use the code that was already doing the right thing for the surrogate pair case. Also get rid of the use of 0 width to mean "no glyph", which fixes the doubled glyph problem. Also got rid of remnants of use of the shape iterator. * Misc.subproj/WebUnicode.h: Remove obsolete shape iterator. * Misc.subproj/WebUnicode.m: Ditto. === Safari-116 === 2003-12-04 Darin Adler Reviewed by Ken. - fixed 3498426: assertion failure in tooltip code at macosx.apple.com * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setToolTip:]): Work around the apparent bug in AppKit (3500217) that causes it to return 0 for the tool tip tag by using removeAllToolTips and not storing the tag at all. Besides the assertion failure there may also be a symptom of a "stuck" tool tip and a small memory leak until the window is closed. * WebView.subproj/WebHTMLViewPrivate.h: Remove unused toolTipTag. 2003-12-02 Chris Blumenberg Fixed: : always hangs opening plain text file on a particular machine due to missing font, no UI to detect : Certain fonts cause Safari to hang on text/plain pages Reviewed by rjw. * WebView.subproj/WebTextView.m: (-[WebTextView setFixedWidthFont]): Use [[WebTextRendererFactory sharedFactory] fontWithFamilies:traits:size:] to get the font since it takes the font family which is what we store in WebPreferences and it does fallback work. Only set the font if non-nil is returned. 2003-11-21 Maciej Stachowiak Reviewed by Richard. : implement security checks for XMLHttpRequest * WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]): Let WebCore know about redirects. 2003-12-01 Richard Williamson Moved grungy polling code from WebKit to the JavaPlugin. Reviewed by Chris. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pollForAppletInView:]): 2003-12-01 Ken Kocienda Reviewed by John Fix for this bug: : Move key event helper functions to WebKit * Misc.subproj/WebNSEventExtras.h: Add declarations for new key event helpers. * Misc.subproj/WebNSEventExtras.m: (-[NSEvent _web_isKeyEvent:]): Added. (-[NSEvent _web_isDeleteKeyEvent]): Added. (-[NSEvent _web_isEscapeKeyEvent]): Added. (-[NSEvent _web_isOptionTabKeyEvent]): Added. (-[NSEvent _web_isReturnOrEnterKeyEvent]): Added. (-[NSEvent _web_isTabKeyEvent]): Added. * WebKit.pbproj/project.pbxproj: Made WebNSEventExtras.h a private header so WebBrowser can use the new helpers. === Safari-115 === 2003-11-21 Maciej Stachowiak Reviewed by Ken. WebKit part of fix for: : Implement http request/response status and headers for XMLHttpRequest * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge startLoadingResource:withURL:customHeaders:]): Added customHeaders parameter. (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto. * WebCoreSupport.subproj/WebSubresourceClient.h: * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Add the custom headers. (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:referrer:forDataSource:]): Pass along the custom headers. (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Pass along the custom headers. 2003-11-21 John Sullivan - WebKit part of fix for : Safari prints page with very, very long line very, very small Reviewed by Ken. * WebView.subproj/WebHTMLView.m: renamed PrintingExtraWidthFactor to PrintingMinimumShrinkFactor, added PrintingMaximumShrinkFactor of 2.0, which matches IE (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): now takes a min and max page width; passes them along to bridge (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]): now takes a min and max page width; passes them along to layoutTo... (-[WebHTMLView _scaleFactorForPrintOperation:]): now takes PrintingMaximumScaleFactor into account (-[WebHTMLView knowsPageRange:]): now takes PrintingMaximumScaleFactor into account (-[WebHTMLView layout]): pass 0 for maximumPageWidth when passing 0 for minimumPageWidth (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): ditto (-[WebHTMLView _web_setPrintingModeRecursive]): ditto (-[WebHTMLView _web_clearPrintingModeRecursive]): ditto (-[WebHTMLView endDocument]): ditto 2003-11-20 John Sullivan - WebKit part of : Support page-break-before/after with a value of "always" Dave and I wrote and reviewed this. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]): reset page rects when printing status changes (-[WebHTMLView _availablePaperWidthForPrintOperation:]): new helper method to compute paper width taking margins into account (-[WebHTMLView _scaleFactorForPrintOperation:]): new helper method to compute how much we need to shrink to fit one page across (-[WebHTMLView _provideTotalScaleFactorForPrintOperation:]): we overrode this secret internal AppKit method to make shrink-to-fit work; we wrote bug 3491344 about the need for this to be public. (-[WebHTMLView knowsPageRange:]): new method, computes rects and returns YES (-[WebHTMLView rectForPage:]): new method, returns rect computed above (-[WebHTMLView _calculatePrintHeight]): new method, used by knowsPageRange * WebView.subproj/WebHTMLViewPrivate.h: new pageRects ivar 2003-11-20 Maciej Stachowiak Reviewed by Ken. - fixed 3490086 - support http post for XMLHttpRequest * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge startLoadingResource:withURL:postData:]): * WebCoreSupport.subproj/WebSubresourceClient.h: * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withRequest:referrer:forDataSource:]): (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): (+[WebSubresourceClient startLoadingResource:withURL:postData:referrer:forDataSource:]): 2003-11-20 Chris Blumenberg Fixed: : Need UI and localized strings for support Reviewed by john. * ChangeLog: * English.lproj/Localizable.strings: * WebCoreSupport.subproj/WebLocalizedStringFactory.h: Added. * WebCoreSupport.subproj/WebLocalizedStringFactory.m: Added. (+[WebLocalizedStringFactory createSharedFactory]): new (-[WebLocalizedStringFactory dealloc]): new (-[WebLocalizedStringFactory keyGenerationMenuItemTitles]): new * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebFrameView.m: call [WebLocalizedStringFactory createSharedFactory] 2003-11-20 Richard Williamson Added spin of event loop during applet lookup poll. This is necessary to allow timers and performOnMainThread: methods a chance to fire. The plugin depends on these mechanisms during initialization. Reviewed by Chris. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pollForAppletInView:]): 2003-11-20 Ken Kocienda John and I decided to apply the _web_ prefix to the tab key event method in the extras file, but I neglected to do this before checking in. Fixed now. * Misc.subproj/WebNSEventExtras.h: * Misc.subproj/WebNSEventExtras.m: (-[NSEvent _web_isTabKeyEvent]) * WebView.subproj/WebHTMLView.m: (-[WebHTMLView keyDown:]) 2003-11-20 Ken Kocienda Reviewed by John Fix for this bug: : Tabbing to links gets "stuck" in "style switcher" on zeldman.com * Misc.subproj/WebNSEventExtras.h: Added. * Misc.subproj/WebNSEventExtras.m: Added. (-[NSEvent _isTabKeyEvent]): New helper. * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView keyDown:]): Pass the key event to super unconditionally if it is a tab key. This fixes the bug. 2003-11-19 John Sullivan - WebKit part of fix for: : Web pages print with 1.25" border without regard to Page Setup margin settings Reviewed by Dave. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView beginDocument]): Lay out the page into a width 25% wider than there's room for on the printed page. This will make pages that can fit into a thin area be scaled down a little when printed, which lets them fit on fewer pages. This closely matches what IE and Camino (at least) do; I used Google as my test page, and the Google logo is now precisely the same size when printed from Safari as when printed from IE. Pages that don't fit into a thin area are already causing the printed page to be scaled horizontally to fit, and this won't affect them. 2003-11-19 Chris Blumenberg Fixed: : Mentioning "to Disk" in context menus such as "Download Linked File To Disk..." is redundant Reviewed by john. * English.lproj/Localizable.strings: * English.lproj/StringsNotToBeLocalized.txt: * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate menuItemWithTag:]): use "Download Linked File" and "Download Image" 2003-11-19 Chris Blumenberg Fixed: : Flash at http://www.sjwilson.net/reef/ does not load photos Reviewed by rjw. * Misc.subproj/WebKitNSStringExtras.h: * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_stringByStrippingReturnCharacters]): new * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView requestWithURLCString:]): call _web_stringByStrippingReturnCharacters on the relative string 2003-11-19 Richard Williamson More LiveConnect stuff. Horrible polling hack that blocks main thread waiting for applet to fully initialize. Reviewed by Ken. * Plugins.subproj/WebPluginController.m: (-[WebPluginController addPlugin:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pollForAppletInView:]): 2003-11-19 David Hyatt Make updateScrollers guard non-static, so that it applies only to the view whose scrollers are being updated. Reviewed by darin * WebView.subproj/WebDynamicScrollBarsView.h: * WebView.subproj/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView reflectScrolledClipView:]): 2003-11-18 Richard Williamson More live connect stubs. We're getting close. Reviewed by Chris. * Plugins.subproj/WebPluginController.m: (-[WebPluginController addPlugin:]): (-[WebPluginController _delayedGetApplet:]): * WebView.subproj/WebView.m: (-[WebView _goToItem:withLoadType:]): 2003-11-17 Darin Adler Reviewed by Maciej. - fixed 3487335: REGRESSION (112-113): "a:b" error message does not cite the URL properly * Misc.subproj/WebKitErrors.m: (+[NSError _webKitErrorWithCode:failingURL:]): Call _webKitErrorWithDomain:code:URL:. (+[NSError _webKitErrorWithDomain:code:URL:]): Call _web_errorWithDomain:code:URL:, instead of using the deprecated failingURL: flavor. (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]): Change this method to call the other one. (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]): Implement this one, and put in the NSErrorFailingURLKey, as well as the NSErrorFailingURLStringKey, to match what Foundation now does for other errors. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): Change to use the non-deprecated flavor of the NSError call above. * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes and other recent changes. 2003-11-16 Maciej Stachowiak Reviewed by Dave. WebKit part of fix for: : add support for the window.print() command used for "print this page" buttons * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge print]): Call delegate. * WebView.subproj/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate webViewPrint:]): Implemented (do nothing). * WebView.subproj/WebUIDelegatePrivate.h: Added. Add extra SPI method webViewPrint: for UI delegate. * WebKit.pbproj/project.pbxproj: Install WebUIDelegatePrivate.h as private header 2003-11-15 Darin Adler Reviewed by John. - fixes 3457162 -- selecting text during a page load that blows the text field away causes a crash - fixes 3160035 -- crash or hang if you hold down a button while "go to about:blank soon" test runs - without causing 3484608 -- REGRESSION: Flash broken at http://www.macromedia.com/ The WebKit part of this fix is making setDefersCallbacks: work. It had succumbed to bit rot. This has a side effect of not considering a page load done until all the plug-in streams are loaded. If that's not a good idea, we'll have to keep two separate lists in WebDataSource. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]): Set the defersCallbacks state from the WebView here so that clients don't have to do it. * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresourceClient:]): Remove call to set the defersCallbacks state on the subresource client, because the above change obviates it. (the client/delegate terminology makes it confusing, but it's a subclass). Also loosen the type so we can call this on clients for plug-in streams too. (-[WebDataSource _removeSubresourceClient:]): Loosen type here too. (-[WebDataSource _defersCallbacksChanged]): And here. * WebView.subproj/WebDataSourcePrivate.h: Loosen type of subresource client so we can pass in the delegates for plug-in streams too. * WebView.subproj/WebMainResourceClient.h: Added an _initialRequest field so we can defer the very first callback, which does not rely on NSURLConnection. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient dealloc]): Release the initial request. (-[WebMainResourceClient loadWithRequestNow:]): Moved the guts of loadWithRequest in here; to be used when the request is no longer deferred. Also removed the code to call setDefersCallbacks: on the connection, and assert that we are only called when callbacks are not deferred. Because the very first callback was not deferred, we would end up calling setDefersCallbacks:NO on the WebView, so nothing would be deferred. (-[WebMainResourceClient loadWithRequest:]): If callbacks are not deferred, then call the loadWithRequestNow: method, otherwise simply store the request in _initialRequest. (-[WebMainResourceClient setDefersCallbacks:]): If there is an _initialRequest and we are ceasing deferral of callbacks, then call the loadWithRequestNow: method. * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream start]): Call _addSubresourceClient, and then _removeSubresourceClient if the load fails to even start. (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): Call _removeSubresourceClient. (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): Call _removeSubresourceClient. * Plugins.subproj/WebBaseNetscapePluginStream.h: Removed unneeded import. * Plugins.subproj/WebPluginDatabase.m: Add import needed now that WebBaseNetscapePluginStream.h imports less than before. 2003-11-16 Maciej Stachowiak Reviewed by John. - fixed 3362841 - javascript History Object length property is always 0 * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge historyLength]): Add one to the length to match other browsers. 2003-11-14 John Sullivan - WebKit part of fix for : Safari on-screen text needs review Reviewed by Ken. * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate menuItemWithTag:]): change "Download Link to Disk" to "Download Linked File to Disk" * English.lproj/Localizable.strings: updated for these changes 2003-11-14 Ken Kocienda Reviewed by John Fix for this bug: : Crashes before loading page/no error msg (forums.pelicanparts.com) Works in IE and Netscape This fix is really a workaround for this bug: : Horribly malformed URL crashes when call is made to CFURLCopyHostName The fix is to avoid all usages of [NSURL host] by replacing all such calls with a private URL method added to WebNSURLExtras. I copied a number of URL methods from the private NSURL extras file in Foundation to the WebKit URL extras file. * Misc.subproj/WebNSDataExtras.h: Added. Helper for new URL extras. * Misc.subproj/WebNSDataExtras.m: Ditto. (-[NSData _web_isCaseInsensitiveEqualToCString:]): New helper. * Misc.subproj/WebNSURLExtras.h: * Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_hasQuestionMarkOnlyQueryString]): Added. (-[NSURL _web_schemeSeparatorWithoutColon]): Added. (-[NSURL _web_dataForURLComponentType:]): Added. (-[NSURL _web_schemeData]): Added. (-[NSURL _web_hostData]): Added. (-[NSURL _web_hostString]): Added. * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebView.m: (-[WebView userAgentForURL:]): Replace call to [NSURL host] with new extras _web_hostString method. === Safari-114 === 2003-11-14 Vicki Murley - rolled out Darin's fixes for 3457162 and 3160035, since these changes broke plugins on macromedia.com and disney.go.com * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]): * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresourceClient:]): * WebView.subproj/WebMainResourceClient.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient dealloc]): (-[WebMainResourceClient loadWithRequest:]): (-[WebMainResourceClient setDefersCallbacks:]): 2003-11-14 Darin Adler Reviewed by John. - fixes 3457162 -- selecting text during a page load that blows the text field away causes a crash - fixes 3160035 -- crash or hang if you hold down a button while "go to about:blank soon" test runs The WebKit part of this fix is making setDefersCallbacks: work. It had succumbed to bit rot. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]): Set the defersCallbacks state from the WebView here so that clients don't have to do it. * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresourceClient:]): Remove call to set the defersCallbacks state on the subresource client, because the above change obviates it. (the client/delegate terminology makes it confusing, but it's a subclass). * WebView.subproj/WebMainResourceClient.h: Added an _initialRequest field so we can defer the very first callback, which does not rely on NSURLConnection. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient dealloc]): Release the initial request. (-[WebMainResourceClient loadWithRequestNow:]): Moved the guts of loadWithRequest in here; to be used when the request is no longer deferred. Also removed the code to call setDefersCallbacks: on the connection, and assert that we are only called when callbacks are not deferred. Because the very first callback was not deferred, we would end up calling setDefersCallbacks:NO on the WebView, so nothing would be deferred. (-[WebMainResourceClient loadWithRequest:]): If callbacks are not deferred, then call the loadWithRequestNow: method, otherwise simply store the request in _initialRequest. (-[WebMainResourceClient setDefersCallbacks:]): If there is an _initialRequest and we are ceasing deferral of callbacks, then call the loadWithRequestNow: method. 2003-11-13 Ken Kocienda Reviewed by John Fix for this bug: : Tabbing to links needs to honor new WebKit tab-to-links preference * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge dealloc]): Remove self from notification center. (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): Now checks for WebCoreKeyboardAccessTabsToLinks preference. (-[WebBridge keyboardUIMode]): Adds self to notification center to pick up changes to WebPreferences. 2003-11-13 Ken Kocienda Reviewed by John Fix for this bug: : WebKit needs preference for tabbing to links * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): Add initialization of new WebKitTabToLinksPreferenceKey. (-[WebPreferences setTabsToLinks:]): Added preference setter. (-[WebPreferences tabsToLinks]): Added preference getter. * WebView.subproj/WebPreferencesPrivate.h: Declared new methods as SPI on WebPreferences. 2003-11-12 Richard Williamson Fixed 3475082. Remove unnecessary orderKey before showKey. Written by Ed Voas. Reviewed by Richard. * Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter makeKeyWindow]): 2003-11-12 Chris Blumenberg Fixed: : replace _releaseFutureIconForURL assertion with a log statement Reviewed by rjw. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _releaseFutureIconForURL:]): 2003-11-10 Richard Williamson Fixed 3478765. Use ICU to access unicode properties. Fixed 3478831. Unicode property/conversion functions should be 32 bit savvy. Fixed 3478885. Remove dead arabic shaping code Reviewed by Darin. * Misc.subproj/WebUnicode.h: * Misc.subproj/WebUnicode.m: (_unicodeDigitValue): (_unicodeDirection): (_unicodeMirrored): (_unicodeMirroredChar): (_unicodeLower): (_unicodeUpper): (WebKitInitializeUnicode): (shapeForNextCharacter): (initializeCharacterShapeIterator): * Misc.subproj/WebUnicodeTables.m: * WebCoreSupport.subproj/WebTextRenderer.m: (widthForNextCharacter): (fontContainsString): 2003-11-10 Chris Blumenberg Fixed: : Safari: URL Alias on Dock failed to open the 2byte URL Reviewed by dave. * Misc.subproj/WebNSURLExtras.m: (-[NSString _web_mapHostNameWithRange:encode:makeString:]): if the host name is percent-escaped, use CFURLCreateStringByReplacingPercentEscapes 2003-11-10 Richard Williamson Use ICU for upper/lower conversion. Fixed 3477157, 3478455, 3478456, 3478457, 3478486. Remaining issues with surrogates (3477159) and Turkish I (3478482). Reviewed by Ken. * Misc.subproj/WebUnicode.m: (_unicodeLower): (_unicodeUpper): 2003-11-07 Chris Blumenberg Fixed: : add "save" menu item to contextual menu for text pages Reviewed by darin. * WebView.subproj/WebTextView.m: (-[WebTextView menuForEvent:]): Made WebTextView's context menu behavior like WebHTMLView's context menu behavior with regards to selection. If the control-click was on a selection, show menu options for the selection like copy. If it was not on a selection, show menu options such as save and print. Don't select anything when control-clicking. 2003-11-08 Chris Blumenberg Fixed: : assertion failure while loading WMP content Reviewed by darin. * ChangeLog: * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Don't continue if the stream is cancelled in startStreamWithResponse. 2003-11-07 Richard Williamson Fixed 3477067. Use our case unicode conversion routines. Reviewed by Ken. * WebCoreSupport.subproj/WebTextRenderer.m: (toUpper): 2003-11-06 Richard Williamson Fixed 3476393. Call scrollPoint: recursively up the view hierarchy to ensure point is visible. Reviewed by Ken. * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_scrollPointToVisible:fromView:]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView scrollPoint:]): === Safari-113 === 2003-11-05 Darin Adler Reviewed by Maciej. - fixed 3473913 -- host names in simple mailto URLs are not getting encoded/decoded correctly yet * Misc.subproj/WebNSURLExtras.m: (applyHostNameFunctionToMailToURLString): Handle case where host name is at the end of the string. (applyHostNameFunctionToURLString): Add the # character to the set of characters that can end a domain name. 2003-11-05 Richard Williamson Fixed 3413067, 3405797, 3456877 Use ATSUI to render Arabic and Hebrew. Reviewed by John. * WebCoreSupport.subproj/WebTextRenderer.m: (shouldUseATSU): 2003-11-05 John Sullivan - fixed : Bigger/Smaller commands are disabled for HTML Mail in separate window (w/WebKit-111) Reviewed by Darin. * WebView.subproj/WebFrameView.m: (-[WebFrameView acceptsFirstResponder]): always be willing to become first responder, even if no page has yet been loaded. (-[WebFrameView becomeFirstResponder]): if no page has yet been loaded (so our scrollview refuses first responder-ness), don't do any special becoming-first- responder shenanigans. Also removed obsolete overrides for nextKeyView, nextValidKeyView, previousKeyView, and previousValidKeyView that are no longer required now that we handle the key loop more like NSScrollView. * WebView.subproj/WebFrameViewPrivate.h: removed now-unused ivar inNextValidKeyView 2003-11-05 Richard Williamson Fixed 3029966. Animated backgrounds specified in don't animate Fixed 3474824. Tiled animated GIFs don't animate. Fixed 3029966. Animated backgrounds specified with CSS don't animate. Reviewed by Chris. * WebCoreSupport.subproj/WebImageRenderer.h: * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer nextFrame:]): (-[WebImageRenderer drawImageInRect:fromRect:]): (-[WebImageRenderer startAnimationIfNecessary]): (-[WebImageRenderer tileInRect:fromPoint:]): * WebView.subproj/WebImageView.m: (-[WebImageView drawRect:]): 2003-11-05 Chris Blumenberg Fixed: : Safari crashes when hosting carbon plug-in using drag and drop Reviewed by rjw. * WebView.subproj/WebView.m: (-[WebView draggingUpdated:]): return NSDragOperationNone if we're over a plug-in view so the plug-in can handle the drag 2003-11-05 Chris Blumenberg Fixed: : should attempt to resolve symbolic links when choosing "Save Link As..." Reviewed by kocienda. * WebView.subproj/WebView.m: (-[WebView _fileWrapperForURL:]): follow sym links 2003-11-05 Ken Kocienda Reviewed by Darin Fix for this bug: : hitting up or down arrows when focus is on a pop-up menu should pop the menu * WebView.subproj/WebFrameView.m: (-[WebFrameView keyDown:]): Call super with the event if focus is on a pop up button. 2003-11-05 Ken Kocienda Reviewed by Maciej Fix for these bugs: : Cannot tab to form file input widgets : WebFileButton sends notifications to communicate with WebCore Tabbing now works for these widgets. While I was in the neighborhood, I improved the communication mechanism between the WebKit and WebCore sides of the file button implementation, replacing notifications with a callback object. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge fileButtonWithDelegate:]): Method now takes a delegate object. * WebCoreSupport.subproj/WebFileButton.h: * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton initWithBridge:delegate:]): (-[WebFileButton initWithFrame:]): (-[WebFileButton dealloc]): (-[WebFileButton chooseFilename:]): Sends callback rather than posting a notification. (-[WebFileButton chooseButtonPressed:]): Ditto. (-[WebFileButton mouseDown:]): (-[WebFileButton acceptsFirstResponder]): (-[WebFileButton becomeFirstResponder]): Make the button subview first responder. (-[WebFileButton nextKeyView]): Hook up to WebBridge key view machinery. (-[WebFileButton previousKeyView]): Ditto. (-[WebFileButton nextValidKeyView]): Ditto. (-[WebFileButton previousValidKeyView]): Ditto. (-[WebFileChooserButton initWithDelegate:]): (-[WebFileChooserButton nextValidKeyView]): Ditto. (-[WebFileChooserButton previousValidKeyView]): Ditto. (-[WebFileChooserButton resignFirstResponder]): Sends a focus change callback. 2003-11-04 Darin Adler Reviewed by John, except for one bit reviewed by Maciej. - first step for IDNA support; helper functions for Safari * Misc.subproj/WebNSURLExtras.h: Add six new methods to manipulate host names directly. * Misc.subproj/WebNSURLExtras.m: (applyHostNameFunctionToMailToURLString): Added. Finds host names within a mailto URL. (applyHostNameFunctionToURLString): Added. Finds host names within a URL. (collectRangesThatNeedMapping): Added. Builds a list of host name ranges that need mapping. (collectRangesThatNeedEncoding): Added. Calls the above for encoding. (collectRangesThatNeedDecoding): Added. Calls the above for decoding. (mapHostNames): Added. Helper function that does the entire mapping process for a URL. (+[NSURL _web_URLWithUserTypedString:]): Call mapHostNames to encode after trimming whitespace. (-[NSURL _web_userVisibleString]): Call mapHostNames to decode after decoding escape sequences. (-[NSURL _webkit_URLByRemovingFragment]): Removed unneeded redundant NULL check. (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Added. Workhorse function to call the IDN functions in the Unicode library. (-[NSString _web_hostNameNeedsDecodingWithRange:]): Added. (-[NSString _web_hostNameNeedsEncodingWithRange:]): Added. (-[NSString _web_decodeHostNameWithRange:]): Added. (-[NSString _web_encodeHostNameWithRange:]): Added. (-[NSString _web_decodeHostName]): Added. (-[NSString _web_encodeHostName]): Added. * WebKit.pbproj/project.pbxproj: Added libicucore.dylib. * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes. 2003-11-04 John Sullivan - a little optimization I noticed when looking at 3125137 Reviewed by Chris. * Misc.subproj/WebStringTruncator.m: (truncateString): if incoming string has length 0, bail out right away 2003-11-04 Chris Blumenberg Fixed: : RTFD of copied text and images should use original image data not tiffs : dragging local image file downloads it instead of copies it : copied and dragged local image files are TIFF, not original image data Reviewed by john. * Misc.subproj/WebNSPasteboardExtras.h: * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]): new * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:fileWrapper:rect:URL:title:event:]): take a file wrapper instead of data so [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:] can be called * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge fileWrapperForURL:]): call fileWrapperForURL on the WebView * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:] * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): when calling _web_dragImage, pass a file wrapper from fileWrapperForURL (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call fileWrapperForURL * WebView.subproj/WebImageRepresentation.h: * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation fileWrapper]): new * WebView.subproj/WebImageView.m: (-[WebImageView writeImageToPasteboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:] (-[WebImageView mouseDragged:]): pass the file wrapper to _web_dragImage * WebView.subproj/WebView.m: (-[WebView _fileWrapperForURL:]): new, returns a file wrapper from a local file or from the cache * WebView.subproj/WebViewPrivate.h: 2003-11-04 John Sullivan - fixed : REGRESSION (100-111): Some tabs start out scrolled down to focused text field Reviewed by Ken. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView acceptsFirstResponder]): The logic to avoid accepting first responder on clicks was too broad; it was rejecting first-responder-ness even for clicks outside of this view. Clicking a tab item was going through some logic in NSTabView looking for the first valid key view starting with the web view, but the web view was returning NO due to this faulty click logic. Thus the first subview text field was becoming first responder, and causing scroll. 2003-11-03 Chris Blumenberg Fixed: : Provide NSRTFDPboardType on pasteboard when copying or dragging images : REGRESSION (111-112): Can't copy & paste image into Photoshop 7 Reviewed by hyatt. * Misc.subproj/WebNSPasteboardExtras.h: * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeFileDataAsRTFDAttachment:withFilename:]): renamed, now writes file data as an RTF attachment * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): call renamed _web_writeFileDataAsRTFDAttachment * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeFileDataAsRTFDAttachment * WebView.subproj/WebImageView.m: (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeFileDataAsRTFDAttachment 2003-11-03 Vicki Murley Reviewed by kocienda. - fixed : non-B&I builds should not use order files, because they cause false "regressions" in perf. * WebKit.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles 2003-11-03 Ken Kocienda Reviewed by John Fix for this bug: : focus rings are shown for links in web pages even in non-frontmost windows * WebView.subproj/WebHTMLView.m: (-[WebHTMLView updateFocusRing]): New method. Uses the "keyness" of the view's window to toggle focus ring drawing. (-[WebHTMLView windowDidBecomeKey:]): Calls updateFocusRing. (-[WebHTMLView windowDidResignKey:]): Ditto. 2003-11-01 Maciej Stachowiak Reviewed by Darin. - remove use of obsolete HTTLCookiePolicyBaseURL SPI * WebCoreSupport.subproj/WebSubresourceClient.m: startLoadingResource:withURL:referrer:forDataSource:]): Use setMainDocumentURL, not setHTTPCookiePolicyBaseURL. * WebView.subproj/WebFrame.m: (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): Likewise. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): Likewise. 2003-11-01 Darin Adler Reviewed by Maciej. - fixed 3470882 -- storage leaks in WebDownload code - fixed 3470884 -- download is always nil in downloadWindowForAuthenticationSheet: call from WebDownload * Misc.subproj/WebDownload.m: (-[WebDownloadInternal initWithDownload:]): Removed this method, which was never called. (-[WebDownloadInternal dealloc]): Added missing call to [super dealloc] to fix one cause of a leak of the WebDownloadInternal object itself. Removed the release of webDownload, which was always nil, and if it wasn't would end up causing a leak due to a reference cycle. (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): Remove the use of webDownload, which was always nil, and instead use the download parameter passed to us, casting it to WebDownload, since it's guaranteed to be one. (-[WebDownload _setRealDelegate:]): Added. Shared by the methods below to set up the real delegate before calling init. The old code called init twice, causing an second call to the superclass's init method, which caused it to create an extra copy of its internal structure, as well as causing us to create two WebDownloadInternal objects. (-[WebDownload init]): Don't allocate a second WebDownloadInternal if _setRealDelegate already allocated it for us. Before we would allocate and leak an extra one each time. (-[WebDownload dealloc]): Added. Releases the WebDownloadInternal. This is the second cause of the leak of the WebDownloadInternal object. (-[WebDownload initWithRequest:delegate:]): Call [self _setRealDelegate:] instead of calling [self init] and then [_webInternal setRealDelegate:], avoiding the leaks caused by doing it the other way. (-[WebDownload _initWithLoadingConnection:request:response:delegate:proxy:]): Ditto. (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): Ditto. (-[WebDownload _initWithRequest:delegate:directory:]): Ditto. 2003-10-31 David Hyatt Fix for 3466542, add a real minimum font size setting. Reviewed by john * WebView.subproj/WebPreferences.h: * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): (-[WebPreferences setMinimumFontSize:]): (-[WebPreferences minimumLogicalFontSize]): (-[WebPreferences setMinimumLogicalFontSize:]): * WebView.subproj/WebView.m: (-[WebView _updateWebCoreSettingsFromPreferences:]): 2003-10-31 Ken Kocienda Reviewed by Darin Fix for this bug: : focus not removed from text link when user hits cmd-L or clicks in window chrome * WebView.subproj/WebHTMLView.m: (-[WebHTMLView deselectText]): Added new method just to deselect text. (-[WebHTMLView resignFirstResponder]): Just deseclect text if we are doing a programmatic setting of focus. Deselect all otherwise. 2003-10-30 Chris Blumenberg Fixed: : drawing to the screen while window hidden: http://www.bhphotovideo.com/ Reviewed by john. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in when the window is miniaturized or hidden (-[WebBaseNetscapePluginView restartNullEvents]): don't restart null events if the window is miniaturized, this allows restartNullEvents to be called in start and viewDidMoveToWindow without needing to make the check (-[WebBaseNetscapePluginView start]): just call restartNullEvents instead of checking if the window is miniaturized 2003-10-30 Ken Kocienda Reviewed by Hyatt * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge documentView]): Added. * WebCoreSupport.subproj/WebGraphicsBridge.h: Added. * WebCoreSupport.subproj/WebGraphicsBridge.m: Added. (+[WebGraphicsBridge createSharedBridge]): Added. (-[WebGraphicsBridge setFocusRingStyle:radius:color:]): Added. * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebFrameView.m: Create a WebGraphicsBridge when creating a WebFrameView. === Safari-112 === 2003-10-29 Maciej Stachowiak Reviewed by Darin. - fixed 3467632 - Leak of plugin info visiting http://www.ebay.com * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage dealloc]): Release lastModifiedDate. 2003-10-29 Chris Blumenberg WebKit part of fix for: : Photoshop files (.psd) don't show up in Open dialog in Safari, but can be viewed : Can't open movie file via open panel even though it can be dropped in browser window Reviewed by john. * WebView.subproj/WebView.m: (+[WebView _supportedMIMETypes]): new (+[WebView _supportedFileExtensions]): new * WebView.subproj/WebViewPrivate.h: 2003-10-29 Chris Blumenberg Fixed: : jpg and gif images copied from Safari and placed in mail are sent as tiff Reviewed by john. * Misc.subproj/WebNSPasteboardExtras.h: * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeFileContents:withFilename:]): new * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): now takes originalData and calls _web_fileContents:withFilename: * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeFileContents:withFilename: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage and [WebView _cachedResponseForURL:] (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebView _cachedResponseForURL:] * WebView.subproj/WebImageView.m: (-[WebImageView writeImageToPasteboard:]): call _web_writeFileContents:withFilename: (-[WebImageView mouseDragged:]): call renamed _web_dragImage * WebView.subproj/WebView.m: (-[WebView _cachedResponseForURL:]): new * WebView.subproj/WebViewPrivate.h: 2003-10-28 John Sullivan - fixed : 7B85/111: Crash viewing web page ([WebView setNextKeyView:]) Reviewed by Chris. * WebView.subproj/WebView.m: (-[WebView dealloc]): set _private to nil after releasing, because [super dealloc] can dispatch to it (-[WebView mainFrame]): fixed spelling error in comment 2003-10-28 Chris Blumenberg Fixed: : REGRESSION: Text field progress bar goes to 100% after error or stop Reviewed by john. * WebView.subproj/WebFrame.m: (-[WebFrame _isLoadComplete]): call _progressCompleted after we deliver the didFailLoadWithError or didFinishLoadForFrame message as we do in other places. This allows to be aware of the error (if there is one), when they get the WebViewProgressFi nishedNotification notification. 2003-10-27 Maciej Stachowiak Reviewed by Darin. - fixed 3083264 - frame names changed by JavaScript are not reflected in WebFrame at the WebKit level * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge didSetName:]): Tell the WebFrame about its new name. 2003-10-28 John Sullivan - fixed 3465613 -- REGRESSION (111): Crash creating nib that contains WebView Reviewed by Chris. * WebView.subproj/WebView.m: (-[WebView mainFrame]): check for nil _private before dereferencing. 2003-10-28 Chris Blumenberg Fixed: : Security: Netscape plug-ins can execute JavaScript in other frames Reviewed by mjs. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): renamed, no need to pass the target frame since the target is either the plug-in itself or the frame that contains the plug-in (-[WebBaseNetscapePluginView loadPluginRequest:]): call renamed evaluateJavaScriptPluginRequest (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): if this is a JS request that is targeted at a frame, return NPERR_INVALID_PARAM if the frame is not the frame that contains the plugin 2003-10-28 Chris Blumenberg Fixed: : javascript: URLs don't work from Java (and other Cocoa plugins, if any) Reviewed by mjs. * Plugins.subproj/WebPluginController.m: (-[WebPluginController showURL:inFrame:]): support JS requests targeted only to the plug-in's frame. 2003-10-27 John Sullivan - fixed 3441258 -- hysteresis to start dragging a link is too small; too easy to start drag Reviewed by Chris. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): Split DragHysteresis into two values, one for links and one for images. Make the link one much larger than the image one (since dragging an image doesn't occur accidentally in the ways that dragging a link does). 2003-10-27 Chris Blumenberg Fixed: : Safari Sometimes Destroys Applets When Going "Back" Reviewed by darin. * History.subproj/WebHistoryItem.m: (+[WebHistoryItem _destroyAllPluginsInPendingPageCaches]): Don't destroy plug-ins that are currently being viewed. 2003-10-27 Chris Blumenberg Fixed: : assertion failure when viewing jpeg with SoundPix installed Reviewed by john. * WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]): don't allow image types to override types that are already registered as we do in [WebFrameView _viewTypesAllowImageTypeOmission:] 2003-10-24 Chris Blumenberg Fixed: : ER: Nice if images dragged from web pages didn't redownload : Dragging an image to the desktop doesn't leave the file where I dropped it : "CFURLGetFSRef failed" log when dragging image to Finder Reviewed by john. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): attempt to fetch the image data from the cache, if that works, write out the file 2003-10-26 Darin Adler * WebKitPrefix.h: Add a definition of NULL here so we get the stricter type checking even on pre-Merlot systems. === Safari-111 === 2003-10-24 Richard Williamson Fixed 3425358. Don't try to create page cache for pages that have a nil view(). Reviewed by Hyatt. * WebView.subproj/WebFrame.m: (-[WebFrame _createPageCacheForItem:]): (-[WebFrame _setState:]): 2003-10-24 Chris Blumenberg Fixed: : standalone plug-in content occasionaly redirects to blank page Reviewed by john. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): don't honor JS requests from standalone plug-ins to workaround 3462628 which is a deeper issue. 2003-10-24 Chris Blumenberg Fixed: : REGRESSION: Plain text is downloaded Reviewed by john. * WebView.subproj/WebView.m: (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): use _web_objectForMIMEType when getting an object for a MIME. Removed unnecessary code that checked for the document classes after loading the plug-in DB since it is not an optimization because the plug-in DB calls _viewTypesAllowImageTypeOmission:NO. 2003-10-23 Chris Blumenberg Fixed: : ER: Allow plug-ins to override built-in types such as image/jpeg Reviewed by john. * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase refresh]): Allow plug-ins to override built-in types except for our core HTML types and don't allow the QT plug-in to override any types because it handles many types that we already handle * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:): instead of asserting, handle the case where we ask a plug-in to map from an extension to a MIME type, but nil is returned (-[WebBridge frameRequiredForMIMEType:URL:]): no need to start up the plug-in DB because this is now handled by [WebView _viewClass:andRepresentationClass:forMIMEType:] * WebView.subproj/WebDataSource.m: (+[WebDataSource _representationClassForMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:] (-[WebDataSource _makeRepresentation]): call _representationClassForMIMEType * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebFrameView.m: (-[WebFrameView _makeDocumentViewForDataSource:]): tweak (+[WebFrameView _viewClassForMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:] * WebView.subproj/WebView.m: (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): new, central place for mapping from a MIME to the document classes. We now load the plug-in DB when a non-HTML MIME type is encountered instead of loading the plug-in DB when the class for the MIME type is not found. This is required to fully fix 3364036. (+[WebView canShowMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:] (+[WebView registerViewClass:representationClass:forMIMEType:]): tweak * WebView.subproj/WebViewPrivate.h: 2003-10-23 John Sullivan - fixed 3459272 -- Can't set up keyboard loop inside a WebDocumentView without subclassing views - fixed 3179062 -- can't tab back to address bar from image-only page - fixed 3252009 -- tabbing from address bar to content area does not work with WebTextView - fixed 3461398 -- Can't click on a standalone image to focus it (for later keyboard scrolling) I redid the way WebView and WebFrameView splice themselves into the keyview loop in a way very similar to what NSScrollView and NSClipView do. This means that contained and sibling views won't need to do anything special to put themselves into the key loop. Reviewed by Chris. * WebView.subproj/WebFrameView.m: (-[WebFrameView _scrollView]): check for nil pointer before dereferencing; this can happen during [super dealloc]'s keyview-loop-fixup code (-[WebFrameView initWithFrame:]): wire our nextKeyView link to the contained scrollview (so previousKeyView will work correctly from scrollview) (-[WebFrameView acceptsFirstResponder]): return what the contained scrollview says (-[WebFrameView becomeFirstResponder]): in previous direction, use previousValidKeyView (follows normal NSView keyview links); in forward direction, hand first responder-ness to contained scrollview (which will in turn hand it down to clipview, which will in turn hand it down to document) (-[WebFrameView setNextKeyView:]): wire up scrollview instead of self, if it exists * WebView.subproj/WebImageView.m: (-[WebImageView acceptsFirstResponder]): overridden to return YES; this fixes 3461398 and puts the finishing touches on 3179062 * WebView.subproj/WebView.m: (-[WebView _commonInitializationWithFrameName:groupName:]): wire our nextKeyView link to the contained webframeview (so previousKeyView will work correctly from webframeview). Also, if there's a nextKeyView already set (in a nib, e.g.), wire it to our contained webframeview. (-[WebView acceptsFirstResponder]): return what the contained webframeview says (-[WebView becomeFirstResponder]): in previous direction, use previousValidKeyView (follows normal NSView keyview links); in forward direction, hand first responder-ness to contained webframeview (which will in turn hand it down to scrollview, etc.) (-[WebView setNextKeyView:]): wire up webframeview instead of self, if it exists 2003-10-22 Richard Williamson Match WebCore's notion of distributing linegap between top and bottom of line. WebKit used to put it all at the bottom of the line. Reviewed by Hyatt. * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:usingPrinterFont:]): (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]): 2003-10-21 Maciej Stachowiak Reviewed by Dave. Finished exception blocking changes, so now I can finally say: - fixed 3137084 - Many non-reproducible crashers in ContextImp::mark / ScopeChain::mark - fixed 3308848 - nil-deref in KHTMLView::topLevelWidget - fixed 3311511 - nil deref inside KJS::Screen - fixed 3397422 - 7B51: Safari crashed in KJS::ObjectImp::mark() - fixed 3408373 - Panther7B58 : Safari Crashed in KJS::ObjectImp::mark - fixed 3409307 - 7B55: safari crashed in KJS::Interpreter::globalExec() (idle, nothing particular going on) - fixed 3410160 - 7B60 Safari crashed in KHTMLPart::parentPart called from JS while in the background - fixed 3413224 - unrepro crash in KJS::Window::mark - fixed 3419940 - unrepro crash in KJS::Collector::allocate trying to access http://www.lindyinthepalms.com - fixed 3420123 - Panther7B66: Safari crashed while going to http://www.tangents.co.uk/index2.html - fixed 3423225 - Safari crash in vtable for KWQMapImpl (vtable for KWQMapImpl + 8). - fixed 3437190 - nil-deref on quit in calling marked() from ScopeChain::mark() * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer ascent]): (-[WebTextRenderer descent]): (-[WebTextRenderer lineSpacing]): (-[WebTextRenderer xHeight]): (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]): (-[WebTextRenderer _smallCapsRenderer]): (-[WebTextRenderer _initializeATSUStyle]): (-[WebTextRenderer _createATSUTextLayoutForRun:]): (-[WebTextRenderer _trapezoidForRun:style:atPoint:]): (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]): (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]): 2003-10-22 Richard Williamson Fixed 3458715. Reset to 0, not .1 when done. Reviewed by Chris. * WebView.subproj/WebView.m: (-[WebView _resetProgress]): (-[WebView _progressStarted:]): 2003-10-21 Richard Williamson Don't use small caps font for characters that don't have an uppercase counterpart (i.e. punctuation marks). Reviewed by Hyatt. * WebCoreSupport.subproj/WebTextRenderer.m: (widthForNextCharacter): 2003-10-21 Chris Blumenberg Fixed: : OBJECT tag with no or empty TYPE is mishandled Reviewed by rjw. * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase pluginForExtension:]): If no plug-in is found from the extension, attempt to map from the extension to a MIME type using our mappings and find a plug-in from the MIME type. This improves our chances of finding a plug-in when n o MIME type is specified. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): If the passed MIME is empty, nil it out so that clients only need to check for nil. This avoids error sheets complaining about "" MIME types. (-[WebBridge frameRequiredForMIMEType:URL:]): Renamed to include URL. If no MIME is specified, only create a plug-in view if we can map from the extension. 2003-10-20 Chris Blumenberg Fixed: : empty Flash plugin at tvguide.com Fixed issues with plug-in stream error handling. Improved plug-in logging. Reviewed by kocienda. * Misc.subproj/WebKitLogging.h: added WebKitLogPluginEvents * Misc.subproj/WebKitLogging.m: * Plugins.subproj/WebBaseNetscapePluginStream.h: * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): improved logging (-[WebBaseNetscapePluginStream destroyStream]): improved logging (-[WebBaseNetscapePluginStream destroyStreamWithFailingReason:]): renamed from cancelWithReason to avoid confusion (-[WebBaseNetscapePluginStream receivedError:]): calls destroyStreamWithFailingReason after determining a reason from the NSError (-[WebBaseNetscapePluginStream cancelWithReason:]): calls destroyStreamWithFailingReason, this method is overriden by subclasses to cancel the actual load (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): call destroyStreamWithFailingReason, not cancelWithReason because the loaded has already ended here (-[WebBaseNetscapePluginStream deliverData]): improved logging * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendActivateEvent:]): use even logging (-[WebBaseNetscapePluginView sendUpdateEvent]): ditto (-[WebBaseNetscapePluginView becomeFirstResponder]): ditto (-[WebBaseNetscapePluginView resignFirstResponder]): ditto (-[WebBaseNetscapePluginView mouseDown:]): ditto (-[WebBaseNetscapePluginView mouseUp:]): ditto (-[WebBaseNetscapePluginView mouseEntered:]): ditto (-[WebBaseNetscapePluginView mouseExited:]): ditto (TSMEventHandler): ditto (-[WebBaseNetscapePluginView destroyStream:reason:]): call cancelWithReason so the reason is passed back to the plug-in * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): tweak * Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call receivedError (-[WebNetscapePluginRepresentation cancelWithReason:]): override, cancel the load, call super * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream cancelWithReason:]): override, cancel the load, call super (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): be sure to call the stream before calling super because the stream can be cleared out when calling super (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): ditto (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): ditto 2003-10-20 Richard Williamson Conditionally excluded fix for 3446192. We'll enable the fix once 3446669 has been fixed. This patch switches to the new UTI typing API for pasteboard types. Reviewed by Ken. * Misc.subproj/WebNSPasteboardExtras.m: (+[NSPasteboard initialize]): 2003-10-20 Richard Williamson Fixed 3456103. Don't assert, just check for inappropriate state. Reviewed by Hyatt Add a debug menu item to always use ATSU text drawing. This will be helpful to the ATSU folks in performance tuning there API. Right now I see approx. 2X slowdown using ATSU. Also did some shuffling around of inline related stuff. Reviewed by Chris. * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRenderer.m: (isControlCharacter): (isAlternateSpace): (isSpace): (getUncachedWidth): (widthFromMap): (widthForGlyph): (+[WebTextRenderer _setAlwaysUseATSU:]): (glyphForCharacter): (glyphForUnicodeCharacter): (shouldUseATSU): * WebView.subproj/WebView.m: (+[WebView _setAlwaysUseATSU:]): (-[WebView _progressCompleted:]): * WebView.subproj/WebViewPrivate.h: 2003-10-19 Chris Blumenberg Fixed: : crash due to infinite recursion trying to load standalone plug-in content Reviewed by darin. * WebView.subproj/WebFrame.m: (-[WebFrame stopLoading]): manage the isStoppingLoad ivar, return if isStoppingLoad is YES * WebView.subproj/WebFramePrivate.h: added the isStoppingLoad ivar 2003-10-19 Darin Adler Reviewed by Dave and Ken. - fixed 3457066 -- REGRESSION (91-92): command-left-arrow causes a scroll to the left before going back * WebView.subproj/WebFrameView.m: (-[WebFrameView keyDown:]): Add an else so that we don't fall into the scrolling code when the command key is down for right and left arrow. 2003-10-18 Chris Blumenberg Fixed: : Dragging standalone image to desktop should save it, not re-download it Reviewed by darin. * English.lproj/Localizable.strings: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDocumentPrivate.h: Added. * WebView.subproj/WebImageRepresentation.h: * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation dealloc]): release new filename and data ivars (-[WebImageRepresentation doneLoading]): return YES if data is non-nil (-[WebImageRepresentation setDataSource:]): store the filename (-[WebImageRepresentation receivedError:withDataSource:]): store the data (-[WebImageRepresentation finishedLoadingWithDataSource:]): store the data (-[WebImageRepresentation data]): new (-[WebImageRepresentation filename]): new * WebView.subproj/WebImageView.m: (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): just save the image, don't download it (-[WebImageView image]): new 2003-10-17 Chris Blumenberg Fixed: : Assertion failure when loading atomfilms.com Reviewed by kocienda. * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): call super before calling plug-in code as we do in other callbacks (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): ditto 2003-10-16 Richard Williamson Fixed 3455306. Ensure that progress is correctly ended when a load is interupted (i.e. becomes a download). Reviewed by mjs. * WebView.subproj/WebFrame.m: (-[WebFrame _isLoadComplete]): 2003-10-16 Chris Blumenberg Fixed: : Assertion failure when loading non-existant plug-in content Reviewed by rjw. * Misc.subproj/WebDownload.m: fixed build failure when using new Foundation. We are overriding and calling a renamed method. Continue to override the old method, override the new method and declare their interfaces to avoid build failures. * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): cancel the load before telling the plug-in about the error so plug-in code doesn't attempt to cancel the load twice 2003-10-16 Richard Williamson Fixed 3453991. We weren't setting the array cursor correctly after changing capacity. Reviewed by John. * ChangeLog: * History.subproj/WebBackForwardList.m: (-[WebBackForwardList setCapacity:]): === Safari-110 === 2003-10-16 Richard Williamson Tweaked the progress behavior and factored cleanup of progress related ivars. Reviewed by Hyatt. * WebView.subproj/WebDataSource.m: (-[WebDataSource _startLoading:]): * WebView.subproj/WebFrame.m: (-[WebFrame _isLoadComplete]): * WebView.subproj/WebView.m: (-[WebView _resetProgress]): (-[WebView _progressStarted:]): (-[WebView _finalProgressComplete]): (-[WebView _progressCompleted:]): (-[WebView _incrementProgressForConnection:data:]): * WebView.subproj/WebViewPrivate.h: 2003-10-14 Richard Williamson Added logging for estimated progress. Added a time delta to the throttler, so we now send notifications if a delta amount has been exceeded OR a delta between notifications has been exceeded. Reviewed by Chris. * Misc.subproj/WebKitLogging.h: * Misc.subproj/WebKitLogging.m: * WebView.subproj/WebView.m: (-[WebViewPrivate init]): (-[WebView _progressStarted]): (-[WebView _progressCompleted]): (-[WebView _incrementProgressForConnection:data:]): * WebView.subproj/WebViewPrivate.h: 2003-10-14 Ken Kocienda Reviewed by Darin Fix for this bug: : assertion failure in WebBridge _retrieveKeyboardUIModeFromPreferences Can't assert that the preference always exists and is valid as I thought you could. This could just mean that the a preference for full keyboard access has not been specified by the user yet. If this is so, just return the default keyboard access mode. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]) 2003-10-13 Richard Williamson Added support for small-caps. Reworked drawing and measuring to use new iterators. Position checking was already using the new iterator code, but I was reluctant to switch the mainline drawing and measuring code over to the new approach until now. Lots of other code cleanup. Reviewed by John. * Misc.subproj/WebUnicode.m: (initializeCharacterShapeIterator): * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRenderer.m: (+[WebTextRenderer shouldBufferTextDrawing]): (+[WebTextRenderer initialize]): (-[WebTextRenderer initWithFont:usingPrinterFont:]): (-[WebTextRenderer dealloc]): (-[WebTextRenderer widthForCharacters:length:]): (-[WebTextRenderer widthForString:]): (-[WebTextRenderer ascent]): (-[WebTextRenderer descent]): (-[WebTextRenderer lineSpacing]): (-[WebTextRenderer xHeight]): (-[WebTextRenderer drawRun:style:atPoint:]): (-[WebTextRenderer floatWidthForRun:style:widths:]): (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]): (-[WebTextRenderer drawHighlightForRun:style:atPoint:]): (-[WebTextRenderer pointToOffset:style:position:reversed:]): (-[WebTextRenderer _setIsSmallCapsRenderer:]): (-[WebTextRenderer _isSmallCapsRenderer]): (-[WebTextRenderer _smallCapsRenderer]): (-[WebTextRenderer _smallCapsFont]): (-[WebTextRenderer _substituteFontForString:families:]): (-[WebTextRenderer _substituteFontForCharacters:length:families:]): (-[WebTextRenderer _convertCharacters:length:toGlyphs:skipControlCharacters:]): (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): (-[WebTextRenderer _computeWidthForSpace]): (-[WebTextRenderer _setupFont]): (_drawGlyphs): (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]): (-[WebTextRenderer _CG_drawRun:style:atPoint:]): (-[WebTextRenderer _floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]): (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]): (-[WebTextRenderer _extendUnicodeCharacterToGlyphMapToInclude:]): (-[WebTextRenderer _updateGlyphEntryForCharacter:glyphID:font:]): (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): (-[WebTextRenderer _extendGlyphToWidthMapToInclude:font:]): (-[WebTextRenderer _trapezoidForRun:style:atPoint:]): (-[WebTextRenderer _ATSU_floatWidthForRun:style:]): (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]): (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]): (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]): (freeWidthMap): (freeGlyphMap): (glyphForCharacter): (glyphForUnicodeCharacter): (mapForSubstituteFont): (widthFromMap): (widthForGlyph): (initializeCharacterWidthIterator): (widthAndGlyphForSurrogate): (ceilCurrentWidth): (widthForNextCharacter): (fillStyleWithAttributes): (findLengthOfCharacterCluster): (shouldUseATSU): (isControlCharacter): (isAlternateSpace): (isSpace): (fontContainsString): (GetScratchUniCharString): (toUpper): (isUpper): 2003-10-10 Maciej Stachowiak * English.lproj/StringsNotToBeLocalized.txt: Fixed for Private change from a while back. 2003-10-10 David Hyatt Patch to move widgets during layout instead of waiting until paint time. Reviewed by darin * WebView.subproj/WebDataSource.m: * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebFrame.m: (-[WebFrame _isLoadComplete]): * WebView.subproj/WebHTMLView.m: * WebView.subproj/WebHTMLViewPrivate.h: 2003-10-09 Richard Williamson Ensure that the autoscroll timer is always stopped if a mouse up event is lost. Reviewed by John. * WebView.subproj/WebHTMLView.m: (-[WebHTMLViewPrivate dealloc]): (-[WebHTMLView _startAutoscrollTimer:]): (-[WebHTMLView _stopAutoscrollTimer]): (-[WebHTMLView _autoscroll]): (-[WebHTMLView mouseDown:]): * WebView.subproj/WebHTMLViewPrivate.h: 2003-10-09 Chris Blumenberg Fixed: : should support navigator.plugins.refresh as a way to add a plugin without restarting Safari Reviewed by rjw. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView dealloc]): release the plug-in object * Plugins.subproj/WebBasePluginPackage.h: * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage initWithPath:]): store the last mod date (-[WebBasePluginPackage dealloc]): release the last mod date (-[WebBasePluginPackage lastModifiedDate]): new (-[WebBasePluginPackage isEqual:]): new (-[WebBasePluginPackage hash]): new * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]): convert the NPP_Shutdown proc pointer so that we can use it later (-[WebNetscapePluginPackage unload]): added log message * Plugins.subproj/WebPluginDatabase.h: * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): tweak (-[WebPluginDatabase plugins]): tweak (-[WebPluginDatabase init]): call refresh (-[WebPluginDatabase refresh]): new (-[WebPluginDatabase loadPluginIfNeededForMIMEType:]): tweak * WebCoreSupport.subproj/WebViewFactory.m: (-[WebViewFactory refreshPlugins:]): new * WebView.subproj/WebControllerSets.h: * WebView.subproj/WebControllerSets.m: (+[WebViewSets makeWebViewsPerformSelector:]): new * WebView.subproj/WebFrame.m: (-[WebFrame _reloadForPluginChanges]): new * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebView.m: (-[WebView _reloadForPluginChanges]): new * WebView.subproj/WebViewPrivate.h: === Safari-109 === 2003-10-03 Richard Williamson Fix part of 3438071. Creating an instance of WebPreferences using init will do the expected thing: that is, create a new instance! We used to always return standardPreferences. Reviewed by Chris. * WebView.subproj/WebPreferences.m: (-[WebPreferences init]): (+[WebPreferences standardPreferences]): 2003-10-03 David Hyatt Fix for numerous regressions caused by an inadvertent renaming of the recursiveDisplay override method. Reviewed by darin * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): 2003-10-03 Richard Williamson (Home0 Fixed some edge case issue (control characters after end of word) with our rounding hack. Reviewed by Darin. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): 2003-10-03 Ken Kocienda Reviewed by Darin, with much help from Maciej and Hyatt Fix for this bug: : Form buttons do not respond to key events when focused * WebView.subproj/WebFrameView.m: (-[WebFrameView _firstResponderIsControl]): Added to tell if the focus is on a form control. (-[WebFrameView keyDown:]): Call new _firstResponderIsControl method to see whether space bar key events should propagate. Adding this check keeps us from blocking the event here and allows AppKit to handle it. * WebView.subproj/WebFrameViewPrivate.h: Add new _firstResponderIsControl method. 2003-10-02 Maciej Stachowiak Folded Private implementation files into the regular ones as the first step towards pulling in our SPI exposure and other code cleanup. * History.subproj/WebHistory.m: * History.subproj/WebHistoryPrivate.m: Removed. * Misc.subproj/WebIconDatabasePrivate.h: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDataSource.m: * WebView.subproj/WebDataSourcePrivate.m: Removed. * WebView.subproj/WebFrame.m: * WebView.subproj/WebFramePrivate.m: Removed. * WebView.subproj/WebFrameView.m: * WebView.subproj/WebFrameViewPrivate.m: Removed. * WebView.subproj/WebHTMLView.m: * WebView.subproj/WebHTMLViewPrivate.m: Removed. * WebView.subproj/WebView.m: * WebView.subproj/WebViewPrivate.m: Removed. 2003-10-02 Chris Blumenberg Fixed: : Safari 1.1 won't load new pages after visiting adultswim.com, assertion failure on debug build Reviewed by rjw. * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): if not data was received for a stream, create the temp file anyway. Plug-ins expect this. === Safari-108 === 2003-10-02 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 2003-10-01 Maciej Stachowiak Reviewed by Darin. - fixed 3441466 - REGRESSION: http://www.meyerweb.com/eric/css/edge/complexspiral/glassy.html broken on scroll * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): Don't turn on scroll-blitting here when the page is done... (-[WebFrame _transitionToCommitted:]): Instead do it here, when the page is committed. 2003-10-02 Darin Adler Reviewed by Ken. - in preparation for a WebCore whitespace-handling change, made WebTextRenderer draw and measure newline characters as if they are spaces (just as we already do with non-breaking spaces) - removed some unused stuff from WebTextRenderer - other unimportant tweaks (e.g. unsigned int -> unsigned) * WebCoreSupport.subproj/WebTextRenderer.m: (kFixedOne), (fixed1), (FixToFloat), (FloatToFixed): Removed these. We can use the standard ones from instead of defining our own. (isControlCharacter): Added. Inline function that we can use instead of the macro we had before. (isAlternateSpace): Added. Returns YES for newlines and non-breaking spaces. (isSpace): Added. Returns YES for real spaces and the two alternate spaces as well. (initializeCharacterWidthIterator): Use isSpace. (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]): Use isAlternateSpace and isControlCharacter. (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): Use isControlCharacter, isAlternateSpace, and isSpace. Also fix a small bug where numGlyphs would not get set up properly when the run length is 0, and used local variables when possible instead of going back at the run structure. (-[WebTextRenderer _ATSU_floatWidthForRun:style:]): Use the standard FixedToFloat instead of our own FixToFloat. (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): Ditto. 2003-10-02 David Hyatt Work on exposing elements to the Acc API. This patch gets us to the point where text under the mouse is voiced. Reviewed by darin * WebView.subproj/WebHTMLView.m: (-[WebHTMLView accessibilityAttributeValue:]): (-[WebHTMLView accessibilityHitTest:]): 2003-10-01 John Sullivan Reviewed by Darin * WebView.subproj/WebHTMLView.m: (-[WebHTMLView viewDidMoveToSuperview]): skip some work when when we've been removed. This wasn't causing any trouble before, but was at least conceptually inefficient. 2003-10-01 John Sullivan - fixed 3441372: REGRESSION (107+): Plain text document is initially drawn with proportional font Reviewed by Hyatt * WebView.subproj/WebTextView.m: (-[WebTextView setDataSource:]): Changed a != to an == 2003-10-01 Richard Williamson Fixed 3438441. If a load is triggered by a onload handling, don't add an entry for it into the b/f or history. The new Google ads use this technique. Reviewed by Ken. * Misc.subproj/WebKitLogging.h: * Misc.subproj/WebKitLogging.m: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addBackForwardItemClippedAtTarget:]): (-[WebFrame _transitionToCommitted:]): (-[WebFrame _isLoadComplete]): (-[WebFrame _loadItem:withLoadType:]): (-[WebFrame _itemForRestoringDocState]): 2003-10-01 Darin Adler Reviewed by John. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _webView]): Fixed problem where we'd get a nil WebView and pass crazy values for subframe text multipliers. 2003-10-01 David Hyatt Fix for 3440804, broken scrollbars in downloads window. Make Auto be the default value in the enum, so that all scrollviews will be automatically initialized to be auto. Reviewed by cblu * WebView.subproj/WebDynamicScrollBarsView.m: 2003-09-30 Richard Williamson Attempt to find a reasonable font using a simple string matching heuristic if none of the fonts actually specified are found. In particular we will use Geeza Pro if "arabic", "urdu", or "pashto" is contained (case-insensitive) in any of the requested font family names. Geeza Pro is a much better fallback font for Arabic (and variant languages) than Helvetica. Reviewed by Chris. * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fontWithFamilies:traits:size:]): 2003-09-30 John Sullivan - fixed 3045617 -- Make Text Bigger/Smaller doesn't affect non-html documents. I added an internal protocol inside WebKit to make this work, and implemented it for plain text and RTF. I also slightly shuffled the existing code to handle this for HTML so that it goes through the new protocol in that case also. Reviewed by NOBODY (OOPS!). * WebView.subproj/WebDocumentInternal.h: Added. New header file, holds definition of _web_WebDocumentTextSizing protocol. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _textSizeMultiplierChanged]): if the document view conforms to the new protocol, tell it that the multiplier has changed. Also, don't tell the bridge here anymore; let WebHTMLView do that. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _updateTextSizeMultiplier]): tell the bridge here instead of having WebFrame do so (-[WebHTMLView viewDidMoveToSuperview]): call _updateTextSizeMultiplier (in case it changed while we were switched out) (-[WebHTMLView _web_textSizeMultiplierChanged]): call _updateTextSizeMultiplier * WebView.subproj/WebTextRepresentation.m: (-[WebTextRepresentation receivedData:withDataSource:]): * WebView.subproj/WebTextView.h: now implements _web_WebDocumentTextSizing protocol; new ivar for holding local copy of text size multiplier; new public method appendReceivedData:fromDataSource: * WebView.subproj/WebTextView.m: (-[WebTextView initWithFrame:]): set local copy of text size multiplier to 1.0 (-[WebTextView _textSizeMultiplierFromWebView]): new method, asks the webview's opinion of the text size multiplier (-[WebTextView setFixedWidthFont]): use the text size multiplier when setting font size (-[WebTextView _adjustRichTextFontSizeByRatio:]): new method, borrowed from Mail and tweaked, that walks through the rich text and adjusts the font sizes (-[WebTextView _updateTextSizeMultiplier]): new method, updates local copy of text size multiplier to match webview's opinion (-[WebTextView setDataSource:]): set the text size multiplier appropriately before setting the fixed-width font; this is too early for the RTF case though since the fonts are embedded in the data (-[WebTextView appendReceivedData:fromDataSource:]): new method. Most of this logic was in WebTextRepresentation, but it's a little better encapsulated here, plus now it handles the text multiplier for RTF. (-[WebTextView defaultsChanged:]): added comment (-[WebTextView _web_textSizeMultiplierChanged]): call updateTextSizeMultiplier * WebView.subproj/WebView.m: (-[WebView canMakeTextSmaller]): (-[WebView canMakeTextLarger]): return NO if the main frame doesn't support the text sizing protocol. This means that if the main frame doesn't support it but a subframe does, you can't adjust the text size. This seems fine for now since the only case with subframes is HTML, where the main frame does support changing text size. * WebKit.pbproj/project.pbxproj: updated for new file 2003-09-30 Chris Blumenberg Fixed: : Plugin loads for static files, but not PHP scripts Reviewed by rjw. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameRequiredForMIMEType:]): load the plug-in DB so this method returns reliable results. 2003-09-30 Chris Blumenberg Fixed: : show image dimensions in title bar when single image is loaded Reviewed by rjw. * English.lproj/Localizable.strings: * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation title]): return "foo.jpg 50x50 pixels" 2003-09-30 Richard Williamson Fixed 3420396. If a frame targets _top and a URL that contains a fragment (very unusual, it's meaningless for a frameset to contain a named anchor point) the frameset won't be reloaded. Our normal path is to just scroll to the anchor point. This is on ly important because our Help folks oddly depend on the behavior. Reviewed by Chris. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): 2003-09-30 Ken Kocienda Reviewed by Maciej Fix for this bug: : WebKit needs to retrieve full keyboard access preference * WebCoreSupport.subproj/WebBridge.h: Add two ivars: one to track the keyboard UI mode, the other a flag we use to register for notifications. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge dealloc]): Remove the notification observer to keyboard UI mode changes. (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): New method. Accesses the preferences to get the current keyboard UI mode. (-[WebBridge keyboardUIMode]): Returns the current keyboard UI mode. Registers for notifications of keyboard UI mode changes when called the first time. 2003-09-30 Maciej Stachowiak Reviewed by Ken. - fixed 3375281 - Keyboard event handlers not fired if focus not in form field - fixed 3242927 - KeyPressed Event in Javascript don't work - fixed 3375353 - keyboard event.target not updated when blurring from form items - fixed 3183754 - returning false from key press handlers does not prevent typing or form submission * WebView.subproj/WebHTMLView.m: (-[WebHTMLView keyDown:]): Ask the bridge before passing the event along. (-[WebHTMLView keyUp:]): Likewise. * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLViewPrivate.m: Remove dead code. 2003-09-30 Richard Williamson Fixed 3422138. We weren't sending a didChange call for isLoading until the load was complete! Also [WebView isLoading] wasn't accounting for provisional datasources. Reviewed by Chris. * WebView.subproj/WebView.m: (-[WebView isLoading]): * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebView _didStartProvisionalLoadForFrame:]): (-[WebView _didCommitLoadForFrame:]): (-[WebView _didFinishLoadForFrame:]): (-[WebView _didFailLoadWithError:forFrame:]): (-[WebView _didFailProvisionalLoadWithError:forFrame:]): 2003-09-30 David Hyatt Improvements to scrolling and layout. Also fixing 3264346, body overflow should apply to document's scrollbars. Reviewed by darin * WebView.subproj/WebDynamicScrollBarsView.h: * WebView.subproj/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView initWithFrame:]): (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]): (-[WebDynamicScrollBarsView updateScrollers]): (-[WebDynamicScrollBarsView reflectScrolledClipView:]): (-[WebDynamicScrollBarsView setAllowsScrolling:]): (-[WebDynamicScrollBarsView allowsScrolling]): (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]): (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]): (-[WebDynamicScrollBarsView allowsHorizontalScrolling]): (-[WebDynamicScrollBarsView allowsVerticalScrolling]): (-[WebDynamicScrollBarsView horizontalScrollingMode]): (-[WebDynamicScrollBarsView verticalScrollingMode]): (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]): (-[WebDynamicScrollBarsView setVerticalScrollingMode:]): (-[WebDynamicScrollBarsView setScrollingMode:]): 2003-09-29 Chris Blumenberg Fixed: : Plug-in streams not cancelled when plug-in returns error from NPP_NewStream Reviewed by mjs. * Plugins.subproj/WebBaseNetscapePluginStream.h: renamed receivedError to cancelWithReason * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): call cancelWithReason if NPP_NewStream returns an error (-[WebBaseNetscapePluginStream cancelWithReason:]): renamed (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak * Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call renamed cancelWithReason (-[WebNetscapePluginRepresentation cancelWithReason:]): new override, stop load then call super * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream cancelWithReason:]): new override, stop load then call super (-[WebNetscapePluginStream stop]): call cancelWithReason (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed cancelWithReason (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): call renamed cancelWithReason 2003-09-25 Maciej Stachowiak Roll out build system change since it did not actually work. :-( * WebKit.pbproj/project.pbxproj: 2003-09-25 David Hyatt Change layout so that it is called from the private _recursive functions instead of inside drawRect. Reviewed by kocienda * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:adjustingViewSize:]): (-[WebHTMLView drawRect:]): * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:testDirtyRect:]): (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): (-[WebHTMLView _web_setPrintingModeRecursive]): (-[WebHTMLView _web_clearPrintingModeRecursive]): (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]): (-[NSView _web_setPrintingModeRecursive]): (-[NSView _web_clearPrintingModeRecursive]): (-[NSView _web_layoutIfNeededRecursive:testDirtyRect:]): 2003-09-25 Richard Williamson Fixed 3433802. Written by Ed. Carbon WebView doesn't detach native view when removed. Reviewed by Richard. * Carbon.subproj/HIWebView.m: (OwningWindowChanged): 2003-09-25 Richard Williamson Fixed 3433488. Written by Ed. WebKit doesn't sync window visibility when new webview added to visible window. Reviewed by Richard. * Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]): 2003-09-25 Richard Williamson Fixed 3434854. Written by Ed. Correctly handle window modality in carbon. Reviewed by Richard. * Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]): 2003-09-25 Maciej Stachowiak Reviewed by Darin. Updated setup for engineering builds. Don't embed the framework into Safari or hack the install name. However, do copy WebCore and JavaScriptCore into the proper sub-umbrella locations. * WebKit.pbproj/project.pbxproj: * embed-frameworks.sh: Added. === Safari-107 === 2003-09-25 Ken Kocienda Reviewed by Darin Fix for this bug: : WebView doesn't follow AppKit default nextKeyView pattern * WebCoreSupport.subproj/WebBridge.h: Added a variable to guard against recursion in -[WebBridge inNextKeyViewOutsideWebFrameViews]. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge inNextKeyViewOutsideWebFrameViews]): Accessor for recursion guard. (-[WebBridge nextKeyViewOutsideWebFrameViews]): Do not ask webView for its next key view, but rather, ask it for the next key view of the last view in its key view loop. This is what will get us to the next view outside of the webView. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView nextKeyView]): Ask AppKit, rather than khtml, for the next key key view if -[WebBridge inNextKeyViewOutsideWebFrameViews] returns YES. Doing so gives us the correct answer as calculated by AppKit, and makes HTML views behave like other views. This check also heads off an infinite recursion through -[WebBridge nextKeyViewOutsideWebFrameViews]. Also did some cleanup of some code that was marked for removal "some day". That "some day" is today. 2003-09-25 Darin Adler Reviewed by John. - fixed 3176853 -- can't attach files that have no extensions with Yahoo mail (bad Content-Type headers) * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge MIMETypeForPath:]): Return @"application/octet-stream" rather than nil or empty string when the type is not known. 2003-09-24 Darin Adler Reviewed by Maciej. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): Added one more call to _stopAutoscrollTimer for when drags begin. 2003-09-24 Richard Williamson Fixed 3420736. Clear renderer caches when get an ATS font changed notification. This fix may be moot depending on progress toward fixing 2695906. Also 3428451 needs to should be resolved. Also added code to get and log entry point for the function used to get a Java class from plugins. That class is used for LiveConnect support. Reviewed by John. * Misc.subproj/WebKitLogging.h: * Misc.subproj/WebKitLogging.m: * Plugins.subproj/WebNetscapePluginPackage.h: * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]): * Plugins.subproj/npapi.h: * WebCoreSupport.subproj/WebTextRenderer.m: (FillStyleWithAttributes): * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory clearCaches]): (fontsChanged): (+[WebTextRendererFactory createSharedFactory]): (-[WebTextRendererFactory fontWithFamily:traits:size:]): (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]): 2003-09-23 Darin Adler Reviewed by John and Richard. - fixed 3127833 -- autoscroll only works when mouse is moving * WebView.subproj/WebHTMLView.m: (-[WebHTMLView viewDidMoveToWindow]): Stop the auto-scroll timer. This covers the case where a view is removed from the view hierarchy while the mouse is down. (-[WebHTMLView mouseDown:]): Start the auto-scroll timer. (-[WebHTMLView mouseUp:]): Stop the auto-scroll timer. * WebView.subproj/WebHTMLViewPrivate.h: Add an auto-scroll timer, and methods to start and stop it. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _startAutoscrollTimer]): Create and schedule a timer. It uses the same 1/10 second interval that NSTextView uses for its scrolling timer. (-[WebHTMLView _stopAutoscrollTimer]): Invalidate and release the timer. (-[WebHTMLView _autoscroll]): Check for a mouse up event in the queue; if one is there, then no autoscrlling. But if not, then create a fake mouse dragged event and dispatch it; that will lead to autoscrolling. 2003-09-22 Darin Adler Reviewed by Dave. - worked around 3429631 -- window stops getting mouse moved events after first tooltip appears * WebView.subproj/WebHTMLViewPrivate.m: (-[NSToolTipPanel setAcceptsMouseMovedEvents:]): Do nothing, preventing the real setAcceptsMouseMovedEvents: (in class NSWindow) from being called. 2003-09-22 Darin Adler Reviewed by Dave. - fixed 3431033 -- crash in -[NSToolTipManager _shouldInstallToolTip:] * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Override this alternate version of addTrackingRect. If I don't do this, we might create a real tracking rect, which we would then never remove. (-[WebHTMLView removeTrackingRect:]): Added assertions. 2003-09-22 Darin Adler * WebKit.pbproj/project.pbxproj: Rename Mixed build style to OptimizedWithSymbols. 2003-09-21 Darin Adler * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView removeTrackingRect:]): Remove bogus assert. 2003-09-21 Darin Adler Reviewed by Dave. - fixed 3106411 -- show title attribute for page elements in tooltip on mouseover (important for PeopleSoft) * WebView.subproj/WebHTMLViewPrivate.h: Added fields needed for tool tip implementation. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLViewPrivate dealloc]): Release the tool tip string. (-[WebHTMLView addTrackingRect:owner:userData:assumeInside:]): Override the default NSView tracking rectangle implementation so we can trick the tool tip manager into trusting us about when you leave and enter the rectangle for each element. (-[WebHTMLView removeTrackingRect:]): The other half of the above stuff. (-[WebHTMLView _sendToolTipMouseExited]): Added. Makes an event just good enough to fool the tool tip manager, and send it on. (-[WebHTMLView _sendToolTipMouseEntered]): Ditto. (-[WebHTMLView _setToolTip:]): Added. Manages the new and old tool tips in a way that fools the tool tip manager into working even though we don't know the rectangles of the tool tips beforehand. The advantage of using AppKit tool tips is that they have all sorts of nice little features, like wrapping to a nice rectangular shape and fading out when you move away. (-[WebHTMLView view:stringForToolTip:point:userData:]): This is how the tool tip manager gets the actual tool tip text. (-[WebHTMLView _updateMouseoverWithEvent:]): Call _setToolTip method, using the value passed along with the WebCoreElementTitleKey in the dictionary. - unrelated code cleanup * WebView.subproj/WebFramePrivate.h: Don't define WebCorePageCacheStateKey here; instead use a definition exported from WebCore. * WebView.subproj/WebFramePrivate.m: Ditto. * English.lproj/StringsNotToBeLocalized.txt: Update for above changes. 2003-09-19 Maciej Stachowiak Reviewed by Darin. Roll out old fix for 3410980. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge goBackOrForward:]): 2003-09-19 Darin Adler Reviewed by Dave. - do the prep work for the mini controls feature; Dave will finish this * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton isFlipped]): Make this flipped, easier to understand coordinates that way. (-[WebFileButton drawRect:]): Update for flipped-ness. (-[WebFileButton visualFrame]): Update for flipped-ness. (-[WebFileButton setVisualFrame:]): Update for flipped-ness. (-[WebFileButton baseline]): Update for flipped-ness. 2003-09-19 Maciej Stachowiak Reviewed by Darin. - fixed 3410980 - FileMaker: going forward with an empty forward list makes a frame come out blank sometimes * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge backOrForwardItemWithDistance:]): Factored out from goBackOrForward. (-[WebBridge canGoBackOrForward:]): Use the new method. (-[WebBridge goBackOrForward:]): Likewise. 2003-09-17 John Sullivan - WebKit part of fix for 3157018 -- Would like option to not print backgrounds Reviewed by Darin * WebView.subproj/WebPreferences.h: new accessor methods for new shouldPrintBackgrounds preference * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): set initial value for WebKitShouldPrintBackgroundsPreferenceKey to NO (-[WebPreferences shouldPrintBackgrounds]): new method, read NSUserDefaults value (-[WebPreferences setShouldPrintBackgrounds:]): new method, write NSUserDefault value * WebView.subproj/WebViewPrivate.m: (-[WebView _updateWebCoreSettingsFromPreferences:]): tell WebCore about value of shouldPrintBackgrounds * English.lproj/StringsNotToBeLocalized.txt: Updated for these and other recent changes 2003-09-17 Darin Adler Reviewed by Maciej. * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Pass the "no UI" flag, so we don't prompt the user when we're trying to load plug-ins. Also use OSStatus rather than OSErr so we don't miss error codes that just happen to have zeroes in the low 16 bits. 2003-09-17 Darin Adler Reviewed by John. * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]): Don't call -[NSWorkspace iconForFile:] on a path that does not start with a '/'. This can happen if JavaScript or the web page sets the path explicitly, and adding this check avoids an unpleasant warning on the console. === WebKit-106 === 2003-09-16 Richard Williamson Backed out fix to 3412062 to resolve 3424197. Many sites use a technique of posting forms the same URL to generate content server side. The fix to 3412062 broke those sites. Reviewed by Darin. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): === WebKit-105 === === WebKit-104 === 2003-09-12 Richard Williamson Fixed 3420097. If redirects are cancelled during a pending load don't reset the quickRedirect flag. Reviewed by Darin. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge reportClientRedirectCancelled:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]): (-[WebFrame _clientRedirectCancelled:]): === WebKit-103 === 2003-09-12 Richard Williamson Fixed 3412062. Don't allow pages with the same URL as the current URL to enter b/f or history. Reviewed by Maciej. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): 2003-09-11 Maciej Stachowiak Reviewed by Darin. - fixed 3413463 - QuickTime plug-in content doesn't load in Safari (NPP_Write not called) * Plugins.subproj/npapi.h: Fix erroneous function pointer declarations that led to an int16/int32 mismatch. 2003-09-12 Chris Blumenberg Fixed: : Reproducible Safari crash in in -[WebBaseNetscapePluginView sendEvent:] Reviewed by darin. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendEvent:]): temporarily retain self in case the plug-in view is released while sending an event. (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): don't deliver the return value of the JS evaluation if stringByEvaluatingJavaScriptFromString caused the plug-in to stop. === WebKit-102 === 2003-09-11 Maciej Stachowiak Reviewed by Ken. - fixed 3417486 - after logging off from secure Etrade website, going back returns you to secure page * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:withLoadType:]): Don't request stale data for https pages, as this could be a security risk. 2003-09-11 Richard Williamson Fixed 3406671. Added a private method for Mail to get selection rect. Reviewed by Darin Adler. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView updateTextBackgroundColor]): * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _handleMouseDragged:]): (-[WebHTMLView _pluginController]): (-[WebHTMLView _selectionRect]): 2003-09-10 Richard Williamson Fixed 3231031. Use the normal methodology for displaying each frame of a GIF. That is, just call setNeedsDisplayInRect, rather than drawing directly. Drawing directly violates layering/clipping. Reviewed by Dave Hyatt. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer nextFrame:]): === Safari-100 === 2003-09-09 Richard Williamson Fixed 3414988. Don't store absolute path to home directory. Reviewed by Chris Blumenberg. Fixed 3414319. Send correct WebView back as parameter to webViewShow: Review by Darin. Fixed 3095029. Draw a frame's border in WebFrameView, instead of WebHTMLView, and correctly inset the frame's scrollview to account for the border. Mostly written by Darin. Reviewed by Darin (and Richard). * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _createFileDatabase]): Store @"~/Library/Icon" instead of absolute path, and always try to tilde expand stored path. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setHasBorder:]): * WebView.subproj/WebFrameView.m: (-[WebFrameView drawRect:]): (-[WebFrameView setFrameSize:]): * WebView.subproj/WebFrameViewPrivate.h: * WebView.subproj/WebFrameViewPrivate.m: (-[WebFrameView _isMainFrame]): (-[WebFrameView _tile]): (-[WebFrameView _drawBorder]): (-[WebFrameView _shouldDrawBorder]): (-[WebFrameView _setHasBorder:]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): Changes to correct draw border in WebFrameView instead of WebHTMLView. * WebView.subproj/WebViewPrivate.m: (-[WebView _openNewWindowWithRequest:]): Send correct parameter (returned from webView:createWebViewWithRequest:), rather than self, to webViewShow:. 2003-09-09 Chris Blumenberg Fixed: : REGRESSION (85-98): www.minoltan.com is decoded incorrectly on Japanese system The default encoding that Safari uses is latin1 regardless of the current system encoding. This is how it's always been. The problem is that the UI is displaying shift JIS for the default text encoding instead of latin1. This is happening because WebKit is using "latin1" instead of "ISO-8859-1" for the default text encoding name. "ISO-8859-1" is the IANA character set name for latin1 and this is what the WebKitDefaultTextEncodingNamePreferenceKey preference expects. This ends up confusing Safari, so Saf ari just ends up displaying the first item in the pop-up menu which is shift JIS. Reviewed by rjw. * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): The WebKitDefaultTextEncodingNamePreferenceKey should be "ISO-8859-1" not "latin1" since "ISO-8859-1" is the IANA character set name for latin1. === Safari-99 === 2003-09-08 Darin Adler Reviewed by Chris. - fixed 3412726 -- some HTML messages in Mail lose a line at page breaks when printed (multipart/alternative) * WebView.subproj/WebHTMLView.m: (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Go into printing mode when asked to adjust page height, if not already in it. We already have code in drawRect that does this when actually printing, but it's also important to lay out the same way when deciding where to break pages, otherwise the difference between printer and screen fonts can lead to page breaks that split a line of text across two pages, and that can lead to missing lines of text as well. 2003-09-07 Darin Adler Reviewed by Maciej. - fixed 3410939 -- disabling Geneva and Helvetica (by removing them, or by using Font Book) makes Safari crash * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fallbackFontWithTraits:size:]): Fall back on Lucida Grande (plain, not bothering with traits) if Helvetica is not present. * English.lproj/StringsNotToBeLocalized.txt: Update for this and other recent changes. 2003-09-07 Darin Adler Reviewed by Ken. - fixed 3406660 -- screen fonts are not being used for substitute fonts (Japanese text, Roman font) * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer substituteFontForString:families:]): Get a printer or screen font, based on the renderer's mode. The old code didn't do anything explicit. (-[WebTextRenderer _setupFont]): Remove ignored parameter for clarity. (-[WebTextRenderer initWithFont:usingPrinterFont:]): Fixed code paths that would not explicitly get a printer or screen font, and code paths that would get data from the original "before mapping to printer or screen font" NSFont object. === Safari-98 === 2003-09-05 Ken Kocienda Reviewed by Darin Incorporate releaseGState fix that Darin developed for textareas and list boxes in WebCore. It turns out that we this workaround in WebClipView as well to get proper drawing of subframes. In addition, removed some tests that which performed runtime checks for code in AppKit. AppKit will have the checked-for code in all versions that will be used with the version of WebKit. * WebView.subproj/WebClipView.m: (-[WebClipView initWithFrame:]) (-[WebClipView resetAdditionalClip]) (-[WebClipView setAdditionalClip:]) 2003-09-04 John Sullivan - fixed 3409011 -- the graphics views palette does not open Reviewed by Maciej * WebView.subproj/WebPreferences.m: (+[WebPreferences _removeReferenceForIdentifier:]): special-case nil, which is a magic initial identifier already special-cased in the other mutator 2003-09-05 Maciej Stachowiak Reviewed by Darin. - fixed 3406140 - REGRESSION (7B52-7B55): time spent in NSFont makes Safari 50% slower in Five Apps test * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fontWithFamily:traits:size:]): Make font using the font name we found, not the one we were looking for. Since the compare is case-insensitive, it makes a difference. Also, don't make the font twice. 2003-09-04 Chris Blumenberg Fixed: : Shockwave: getnetText steam is not functioning correctly Reviewed by mjs. * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): if the content length is unknown, use 0 instead of -1 2003-09-04 Chris Blumenberg Fixed: : Shockwave: Using HTTP to stream .mp3 or .swa files fails at ~50% Reviewed by mjs. * Plugins.subproj/WebBaseNetscapePluginStream.h: new deliveryData and reason ivars * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream dealloc]): release deliveryData ivar (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): set new reason ivar (-[WebBaseNetscapePluginStream destroyStream]): new, calls NPP_StreamAsFile, NPP_DestroyStream and NPP_URLNotify (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): set the reason, call destroyStream (-[WebBaseNetscapePluginStream receivedError:]): set deliveryData length to 0 so no more data is streamed, call destroyStreamWithReason (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): don't call NPP_StreamAsFile because this has to be called right before NPP_DestroyStream in destroyStream (-[WebBaseNetscapePluginStream deliverData]): new, call NPP_WriteReady and NPP_Write and properly obey their returned values (-[WebBaseNetscapePluginStream receivedData:]): call deliverData * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream stop]): call receivedError here (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): don't call receivedError here because after the load is complete, stream is set to nil and receivedError can be called after the completed load 2003-09-04 Chris Blumenberg * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): Fixed typo in newly added comment. 2003-09-04 Chris Blumenberg Fixed: : request headers at the start of the file passed to NPN_PostURL don't work for Acrobat plug-in? Reviewed by john. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): As documented, allow headers to be specified via NPP_PostURL when using a file. === Safari-97 === 2003-09-03 John Sullivan - fixed 3406411 -- infoseek.co.jp: many console errors about attempting to set non-screen font (HiraMinPro-W3) Reviewed by Ken * WebCoreSupport.subproj/WebTextRenderer.m: (_drawGlyphs): use ERROR instead of NSLog for the printing-font-used-on-screen case, so it doesn't flood the world's console logs. We need to investigate why this is happening also, but that can probably be post-Panther. 2003-09-01 John Sullivan - WebKit part of fix for 3402489 -- REGRESSION (7B48-7B55): Some printed web pages are too small (width is half a page) This was a regression caused by the fix for 3378810. Reviewed by Maciej * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:adjustingViewSize:]): now takes adjustViewSize flag, and passes it down to one of bridge's forceLayout calls. (-[WebHTMLView layout]): pass NO for adjustViewSize flag in this case (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]): pass adjustViewSize flag down to layoutToPageWidth instead of using it directly here; this is the wrong level to use it directly since the bridge is no longer set up for printing after the layoutToPageWidth call completes. 2003-08-30 Maciej Stachowiak Reviewed by John. - fixed 3401709 - [WebView searchFor:] with wrap:NO hangs if the search fails * WebView.subproj/WebView.m: (-[WebView searchFor:direction:caseSensitive:wrap:]): Fix for wrap:NO case as suggested by Darin. === Safari-96 === 2003-08-29 Richard Williamson Fixed 3401334. Use IB document key when checking for reference removal on instances of WebPreferences. Also removed _userDefaultsKeysForIB, no longer needed by IB. Reviewed by John. * WebView.subproj/WebPreferences.m: (+[WebPreferences _removeReferenceForIdentifier:]): (-[WebPreferences _postPreferencesChangesNotification]): * WebView.subproj/WebPreferencesPrivate.h: 2003-08-29 Richard Williamson Fixed 3400807. Don't release state associated with the current b/f item. We shouldn't normally have page cache state associated with the current item (3401376). This fix guarantees that we won't prematurely release the page cache state for the current item. Reviewed byJohn Sullivan. * History.subproj/WebBackForwardList.m: (-[WebBackForwardList _clearPageCache]): 2003-08-28 Richard Williamson Fixed 3399736. Fixed several problems with WebView/WebPreferences interaction. Reviewed by Eric Seymour. * Misc.subproj/WebKitLogging.h: * Misc.subproj/WebKitLogging.m: Added debug logging. * WebCoreSupport.subproj/WebTextRenderer.m: (_drawGlyphs): Checkin for 3398229 below. * WebView.subproj/WebPreferences.m: (-[WebPreferences initWithIdentifier:]): (-[WebPreferences initWithCoder:]): (-[WebPreferences encodeWithCoder:]): (+[WebPreferences standardPreferences]): (+[WebPreferences _getInstanceForIdentifier:]): (+[WebPreferences _setInstance:forIdentifier:]): (+[WebPreferences _concatenateKeyWithIBCreatorID:]): * WebView.subproj/WebView.m: (-[WebView _commonInitializationWithFrameName:groupName:]): (-[WebView initWithCoder:]): (-[WebView encodeWithCoder:]): 2003-08-27 Richard Williamson Fixed 3398229. When we request a font from NSFont by name we should use a case specific name. We do case insensitve comparsion, but once a match is found we should use the actual font name, not the requested name. Two layout tests are still failing, b ut I don't think the failures are font related. Reviewed by Hyatt. * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fontWithFamily:traits:size:]): === Safari-95 === 2003-08-27 Richard Williamson Fixed 3397235. WebView wasn't archiving useBackForwardList. Reviewed by Eric Seymour. * WebView.subproj/WebView.m: (-[WebView initWithCoder:]): (-[WebView encodeWithCoder:]): 2003-08-26 Richard Williamson Fixed 3385478. Look for an exact match for font names (using PS names) before matching on family names. Also added logging to help debug now resolved binding problem. Reviewed by Maciej. * Misc.subproj/WebKitLogging.h: * Misc.subproj/WebKitLogging.m: * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fontWithFamily:traits:size:]): * WebView.subproj/WebView.m: (-[WebView addObserver:forKeyPath:options:context:]): (-[WebView removeObserver:forKeyPath:]): 2003-08-26 Darin Adler Reviewed by Maciej. - fixed 3310943 -- REGRESSION (Panther): textareas in forms sometimes draw blank (bugreporter) There are two fixes here. The more elegant and slightly faster one that requires a new AppKit, and the less elegant one that works without AppKit support. By including both we don't have to worry about timing of submission of WebKit vs. AppKit but we get the good, elegant fix. Later, we can delete the less elegant fix. * WebView.subproj/WebClipView.m: (+[WebClipView initialize]): Set up a boolean global so we only hav to do the "does AppKit support _focusRingVisibleRect" check one time. (-[WebClipView resetAdditionalClip]): Only do the renewGState thing if we don't have the _focusRingVisibleRect method, but if we do the renewGState thing, do it to self and all descendants using _web_renewGStateDeep. (-[WebClipView setAdditionalClip:]): Ditto. (-[WebClipView visibleRect]): Only limit this based on the additional clip if we don't have the _focusRingVisibleRect method. (-[WebClipView _focusRingVisibleRect]): Override the new method. Harmless if it's an old AppKit that doesn't have the method yet. (-[NSView _web_renewGStateDeep]): Implemented this helper method. We can get rid of it once we are entirely on the new AppKit. 2003-08-26 Darin Adler Reviewed by Maciej. - fixed 3321247 -- window size box disappears from Help window (caused by WebKit NSView hackery) * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]), (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Don't propagate dirty rects at all. This was causing problems because now the AppKit uses dirty regions, not dirty rects. In AppKit-722 and newer, _setDrawsDescendants: takes care of this for us so we don't have to do anything at all. 2003-08-26 Darin Adler Reviewed by John. - fixed 3392650 -- REGRESSION?: assertion fails trying Apple-hosted page load test while not on Apple network * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]): Stop loading the provisional data source before blowing it away, in case there are some callbacks that haven't occurred yet. It's a waste of time to try to handle those additional callbacks, and can lead to failed assertions since the data source won't be hooked up to any frame any more. 2003-08-25 Richard Williamson Fix for 3391609. Our rounding hack wasn't correctly reflected in the selection point code. Piggy-backed on this fix are fixes for selection of letter-spacing, word-spacing and justified text. Reviewed by Hyatt. * WebCoreSupport.subproj/WebTextRenderer.m: (initializeCharacterWidthIterator): (widthAndGlyphForSurrogate): (widthForNextCharacter): (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): 2003-08-25 John Sullivan - fixed 3391264 -- REGRESSION (Panther): Back/Forward buttons not updating immediately after page load The buttons are updated in response to window update notifications. Jaguar was sending so many extra bogus notifications that it masked the fact that we weren't ensuring that these notifications were sent at all in the case of non-event-based interesting changes that might affect menu items/toolbar items/etc. Reviewed by Richard * WebView.subproj/WebViewPrivate.m: (-[WebView _didStartProvisionalLoadForFrame:]): call -[NSApp setWindowsNeedUpdate:YES] so window update notices will be sent (-[WebView _didCommitLoadForFrame:]): ditto (-[WebView _didFinishLoadForFrame:]): ditto (-[WebView _didFailLoadWithError:forFrame:]): ditto (-[WebView _didFailProvisionalLoadWithError:forFrame:]): ditto 2003-08-24 Darin Adler Reviewed by John. - fixed 3382179 -- REGRESSION: many images scroll down while loading (e.g., homepage.mac.com slide show) * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): While loading, always draw one less line than the number NSImage says we have, since that last line is a partial line and draws unwanted white. This is not what the bug report complains about, but is a longstanding and very minor issue. Remove the code that adjust the Y origin. This is what the bug report is about. That adjustment is incorrect and was unknowingly compensating for some kind of NSImage bug that is now fixed. (-[WebImageRenderer tileInRect:fromPoint:]): Added an assertion that the WebImageRenderer is flipped. The code does assume that it's flipped. 2003-08-22 John Sullivan - fixed 3385837 -- REGRESSION: can't paste link from Safari into Keynote (paste at top level, not into text) Reviewed by Darin The problem was that we were using a single list of pasteboard types for both "types we can read" and "types we can write", but NSFilenamesPBoardType wasn't being written to, creating a bad pasteboard. The fix is to split this list in two. We could do this a little more elegantly if we weren't paranoid about last-minute SPI changes breaking compatibility with Sherlock or some other internal client. * Misc.subproj/WebNSPasteboardExtras.h: add new _web_writableDragTypesForURL, commented various methods better. * Misc.subproj/WebNSPasteboardExtras.m: (+[NSPasteboard _web_writableDragTypesForURL]): implement _web_writableDragTypesForURL; it's just like _web_dragTypesForURL but without the NSFilenamesPBoardType (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): use _web_writableDragTypesForURL * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragPromisedImage:rect:URL:title:event:]): use _web_writableDragTypesForURL 2003-08-22 Darin Adler Reviewed by Dave. - fixed 3386051 -- REGRESSION: text "too dark" after the page is deactivated and reactivated (bugweb) Cached clips were causing us to draw nothing for the top frames of framesets, resulting in darkened text because we draw anti-aliased text twice without drawing a background. * WebView.subproj/WebClipView.m: (-[WebClipView resetAdditionalClip]): Invalidate cached graphics state when changing the visible rect. (-[WebClipView setAdditionalClip:]): Ditto. 2003-08-21 Darin Adler * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]): Tweak to printing fix: Be sure to call adjustViewSize after applying styles and doing layout. 2003-08-21 Richard Williamson Fixed 3378810. Avoid resizing frame from drawRect: when printing. This will corrupt the graphics context. Reviewed by Hyatt. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): (-[WebHTMLView drawRect:]): (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]): (-[WebHTMLView beginDocument]): (-[WebHTMLView endDocument]): === Safari-94 === 2003-08-21 John Sullivan - fixed 3387950 -- REGRESSION (85-89): Standalone image in Safari prints much smaller than in Jaguar Reviewed by Chris. * WebView.subproj/WebImageView.m: (-[WebImageView adjustFrameSize]): renamed from setFrameSizeUsingImage; now sets the frame size to exactly the image size (as it did in Jaguar always) when we're not drawing to the screen. (-[WebImageView setFrameSize:]): updated for name change (-[WebImageView layout]): ditto (-[WebImageView beginDocument]): adjust frame size (before printing) (-[WebImageView endDocument]): adjust frame size (after printing) 2003-08-19 Richard Williamson Fixed 3383623 (and 3384896). Remove our unbeknownst work-around for an NSImage bug that incorrectly flipped y coordinate when drawing a partial rect within the image. This has been fixed in Panther, making our work-around no longer necessary. Reviewed by Darin. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer tileInRect:fromPoint:]): * WebKit.pbproj/project.pbxproj: 2003-08-18 Richard Williamson Fixed 3140065. Bidi neutrals in RTL runs are now handled correctly. Still have problem with bidi neutrals at directional boundaries 3382926. Reviewed by Maciej. * Misc.subproj/WebUnicode.h: * Misc.subproj/WebUnicode.m: (shapedString): * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): 2003-08-18 Darin Adler Reviewed by Maciej. - fixed 3299893 -- oncontextmenu support * WebView.subproj/WebHTMLView.m: (-[WebHTMLView menuForEvent:]): Call sendContextMenuEvent: on the bridge, and don't show a menu if the event is handled over in WebCore. (-[WebHTMLView mouseDown:]): Don't send a mouse down event in the case where we already sent a context menu event and decided not to put up a real context menu. 2003-08-18 Richard Williamson Fix build problem from last checkin. Reviewed by Darin. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer initWithData:MIMEType:]): (-[WebImageRenderer initWithContentsOfFile:]): 2003-08-17 Darin Adler Reviewed by Maciej. - fixed 3376522 -- REGRESSION: uncaught exception from bad .ico causes crash (login window at 34sp.com) I added exception handling in all the places we load images with NSImage. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _iconsForIconURLString:]): Add exception handler. * Misc.subproj/WebIconLoader.m: (-[WebIconLoader connectionDidFinishLoading:]): Add exception handler. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer initWithData:MIMEType:]): Add exception handler. (-[WebImageRenderer initWithContentsOfFile:]): Add exception handler. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Add exception handler. 2003-08-15 Richard Williamson Fixed 3378530. Ensure that line is always drawn within bounds of element. Reviewed by Chris. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]): 2003-08-15 Richard Williamson Fixed 3379439. Remove checks for CG symbols. No longer needed. Reviewed by Darin. * WebCoreSupport.subproj/WebTextRendererFactory.m: (+[WebTextRendererFactory createSharedFactory]): === Safari-93 === 2003-08-14 Vicki Murley Reviewed by John. * WebKit.pbproj/project.pbxproj: deleted WebKit.order from the project. 2003-08-14 Vicki Murley Reviewed by John. * WebKit.order: Removed. We now point to the WebKit order file in /AppleInternal/OrderFiles. * WebKit.pbproj/project.pbxproj: set sectorder flag to point to /AppleInternal/OrderFiles/WebKit.order 2003-08-14 Darin Adler Reviewed by Chris. - fixed 3344259 -- flipped image when copying from Safari in 1000s of colors mode The workaround is to turn off the NSImage cache. Andrew says this won't have any practical repercussions other than making the bug go away. Seems to have a side effect of speeding up the cvs-base page load test! * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer initWithMIMEType:]): Set mode to NSImageCacheNever. (-[WebImageRenderer initWithData:MIMEType:]): Ditto. (-[WebImageRenderer initWithContentsOfFile:]): Ditto. (-[WebImageRenderer _adjustSizeToPixelDimensions]): Don't set mode to NSImageCacheDefault. 2003-08-14 Ken Kocienda Reviewed by Darin Fix for this bug: : Change usages of NSURL absoluteString in WebKit to use improved variants * History.subproj/WebHistoryItem.m: (-[WebHistoryItem initWithURL:title:]): Use data-as-string. (-[WebHistoryItem initWithURL:target:parent:title:]): Use data-as-string. (-[WebHistoryItem setURL:]): Use data-as-string. * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate addItem:]): Remove FIX_VISITED ifdef (-[WebHistoryPrivate removeItem:]): Ditto (-[WebHistoryPrivate containsURL:]): Ditto. Use data-as-string. (-[WebHistoryPrivate itemForURL:]): Ditto. Ditto. (-[WebHistoryPrivate loadFromURL:error:]): Fix log message to URL. (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]): Ditto. (-[WebHistoryPrivate saveToURL:error:]): Ditto. * History.subproj/WebURLsWithTitles.m: (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): Use visible-string. * Misc.subproj/WebIconLoader.m: (-[WebIconLoader connectionDidFinishLoading:]): Use data-as-string. * Misc.subproj/WebKitErrors.m: (+[NSError _webKitErrorWithDomain:code:URL:]): Added new convenience that takes a URL instead of a URL string. (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]): Added new convenience that takes URLs instead of a URL stringis. * Misc.subproj/WebKitErrorsPrivate.h: Declared new conveniences. * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeURL:andTitle:withOwner:types:]): Use visible-string. * Misc.subproj/WebNSURLExtras.h: * Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_originalDataAsString]): Added. (-[NSURL _webkit_isJavaScriptURL]): Use data-as-string. (-[NSURL _webkit_scriptIfJavaScriptURL]): Ditto (-[NSURL _webkit_isFTPDirectoryURL]): Ditto (-[NSURL _webkit_shouldLoadAsEmptyDocument]): Ditto. Also use _web_isEmpty. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use data-as-string. * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): Use new error convenience. * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Ditto. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge requestedURLString]): Use data-as-string. * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Use new error convenience. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate cancelledError]): Ditto. * WebView.subproj/WebDataProtocol.m: (-[WebDataProtocol startLoading]): Ditto. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _stopLoadingInternal]): Ditto. (-[WebDataSource _updateIconDatabaseWithURL:]): Use data-as-string. (-[WebDataSource _loadIcon]): Ditto. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem:]): Use data-as-string. (-[WebFrame _transitionToCommitted:]): Fix log message to use URL. (-[WebFrame _purgePageCache]): Use _web_isEmpty (-[WebFrame _setState:]): Fix log message to use URL. (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): Use new error convenience. (-[WebFrame _loadItem:withLoadType:]): Fix log message to use URL. (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Fix log messages to use URL. (-[WebFrame _shouldTreatURLAsSameAsCurrent:]): Use data-as-string. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _dragImageForLinkElement:]): Use visible-string. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient interruptForPolicyChangeError]): Use new error convenience. * WebView.subproj/WebPreferences.m: (-[WebPreferences setUserStyleSheetLocation:]): Use data-as-string. * WebView.subproj/WebView.m: (-[WebView mainFrameURL]): Use data-as-string. (-[WebView mainFrameIcon]): Use data-as-string. * WebView.subproj/WebViewPrivate.m: (-[WebView _updateWebCoreSettingsFromPreferences:]): Use data-as-string. 2003-08-12 Maciej Stachowiak Reviewed by Ken. - fixed 3365242 - non-repro abort in HTMLTokenizer at ajc.com * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _receivedData:]): ref the data source around processing the data and afterwards, to avoid crashing if a script in this chunk of data made the frame go away. 2003-08-13 Richard Williamson Fixed 3376077. Override automaticallyNotifiesObserversForKey: to prevent unnecessary additional notifications from being sent. Also added development-only logging (bulk of the change). Reviewed by Chris. * Misc.subproj/WebKitLogging.h: * Misc.subproj/WebKitLogging.m: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setTitle:]): (-[WebDataSource _updateIconDatabaseWithURL:]): * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebView _didChangeValueForKey:]): (-[WebView _willChangeValueForKey:]): (-[WebView _progressStarted]): (-[WebView _progressCompleted]): (-[WebView _incrementProgressForConnection:data:]): (+[WebView automaticallyNotifiesObserversForKey:]): (-[WebView _willChangeBackForwardKeys]): (-[WebView _didChangeBackForwardKeys]): (-[WebView _didStartProvisionalLoadForFrame:]): (-[WebView _didCommitLoadForFrame:]): (-[WebView _didFinishLoadForFrame:]): (-[WebView _didFailLoadWithError:forFrame:]): (-[WebView _didFailProvisionalLoadWithError:forFrame:]): 2003-08-13 Chris Blumenberg Fixed: : After first successful POST in Flash, Safari does not repeat POST and gives cached reply Reviewed by kocienda. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): call [request setCachePolicy:NSURLRequestReloadIgnoringCacheData] 2003-08-13 Ken Kocienda Reviewed by Darin Fix for this bug: : URL strings with UTF-8 characters processed improperly for display by WebKit * Misc.subproj/WebNSURLExtras.h: * Misc.subproj/WebNSURLExtras.m: (isHexDigit): Added (hexDigitValue): Added (-[NSURL _web_userVisibleString]): Added. Produces a string that is suitable for display to a user in the UI. (-[NSURL _web_isEmpty]): Convenience to check for an empty URL * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge requestedURLString]): Now calls _web_userVisibleString 2003-08-13 Ken Kocienda Reviewed by Darin Fix for this bug: : Choose UTF-8 for encoding when calling CFURLCreateAbsoluteURLWithBytes in WebKit Calling CFURLCreateAbsoluteURLWithBytes with ISO Latin 1 string encoding results in some issues when trying to decode a URL path in preparation for doing file I/O. Instead of doing a redecoding step whenever a path is needed to perform I/O, use UTF-8 as the encoding right from the start. This will mean that illegal UTF-8 sequences will be rejected by CFURLCreateAbsoluteURLWithBytes. However, we can work around this by falling back on ISO Latin1 in this case. The end result is that existing code throughout the URL loading system can remain unchanged and simply call the path method on NSURL as it does now and get the right result for its I/O requirements. * Misc.subproj/WebNSURLExtras.m: (+[NSURL _web_URLWithData:relativeToURL:]) 2003-08-13 Ken Kocienda Reviewed by Darin Fix for this bug: : URLs with UTF-8 escape sequences can't be accessed when typed in the Safari location bar * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_bestURL]): Call _web_URLWithUserTypedString: to make a URL from this type of string. * Misc.subproj/WebNSURLExtras.h: * Misc.subproj/WebNSURLExtras.m: (hexDigit): Added. (+[NSURL _web_URLWithUserTypedString:]): Added. Creates a URL from a string that is typed in a user, for example, in the Safari location bar. 2003-08-12 John Sullivan - fixed 3369505 -- leaks of NSCFTimer after running through the cvs-base test suite Reviewed by Richard * WebView.subproj/WebFrame.m: (-[WebFrame stopLoading]): release timer before nil'ing it out 2003-08-12 Ed Voas Reviewed by Richard. Make sure to override the standard behavior for ordering windows to do nothing for Carbon stuff. * Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:]): 2003-08-11 Chris Blumenberg Fixed: : Macromedia Flash 6 cannot take Asian text entry in Safari Revidewed by darin. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView installKeyEventHandler]): new (-[WebBaseNetscapePluginView removeKeyEventHandler]): new (-[WebBaseNetscapePluginView becomeFirstResponder]): call installKeyEventHandler (-[WebBaseNetscapePluginView resignFirstResponder]): call removeKeyEventHandler (-[WebBaseNetscapePluginView keyUp:]): call TSMProcessRawKeyEvent so key events go through the machinery and UI that plug-ins expect (-[WebBaseNetscapePluginView keyDown:]): call TSMProcessRawKeyEvent so key events go through the machinery and UI that plug-ins expect (TSMEventHandler): turn the TSM event into a series of EventRecords and pass them to the plug-in (-[WebBaseNetscapePluginView stop]): call removeKeyEventHandler because resignFirstResponder may not get called 2003-08-08 Richard Williamson Lots of healthy cleanup. Introduced width and shaping iterators to simplify code and remove allocations for large text runs. Should go further and make more use of these in the future (post panther). Fixed 3369608. Crash in -[WebTextRenderer _CG_drawRun:style:atPoint:] at lovepucca.net Fixed 3118050. Crash selecting text at http://www.faqs.org/rfcs/rfc2849.html (SELECTION) Fixed 3371115. Can't correctly select text that contains surrogate pairs Reviewed by darin. * Misc.subproj/WebUnicode.h: * Misc.subproj/WebUnicode.m: (prevChar): (nextChar): (prevLogicalCharJoins): (nextLogicalCharJoins): (glyphVariantLogical): (hasShapeForNextCharacter): (shapeForNextCharacter): (initializeCharacterShapeIterator): (shapedString): * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRenderer.m: (initializeCharacterWidthIterator): (widthAndGlyphForSurrogate): (widthForNextCharacter): (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]): Just formatting changed here * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _dragImageForLinkElement:]): 2003-08-08 Darin Adler Reviewed by Maciej. - fixed 3368236 -- NSURL exception going back at http://derstandard.at/ * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem:]): Put "about:blank" in the back/forward item if there is no URL (which happens because there is no data source because the frame has never successfully loaded anything). Perhaps we can do better some day, but this avoids all the major bad effects in a safe way. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. === Safari-92 === 2003-08-07 Richard Williamson Fixed 3362939. Checked flippyness of view and adjust y coord accordingly. Reviewed by John. * Misc.subproj/WebKitNSStringExtras.m: 2003-08-07 Chris Blumenberg Fixed: : 1.0 Safari fails to send NPP_URLNotify with the error of NPRES_NETWORK_ERR to Flash Reviewed by darin. * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): call NPP_URLNotify so we cover both the failure and successful cases (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): have destroyStreamWithReason call NPP_URLNotify 2003-08-07 Ken Kocienda Reviewed by Darin Fix for this bug: : Fix inappropriate use of NSURL creation methods in WebKit Change calls to URLWithString: or URLWithString:relativeToURL to _web_URLWithDataAsString: and _web_URLWithDataAsString:relativeToURL, respectively. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:withLoadType:]): (-[WebFrame _loadURL:intoChild:]): * WebView.subproj/WebPreferences.m: (-[WebPreferences userStyleSheetLocation]): * WebView.subproj/WebView.m: (-[WebView takeStringURLFrom:]): (-[WebView setMainFrameURL:]): 2003-08-06 Darin Adler Reviewed by Richard. - fixed 3347114 -- remove vestiges of posing, including init routine, from WebKit * WebView.subproj/WebHTMLViewPrivate.m: Removed WebNSTextView, WebNSView, and WebNSWindow, removed the code to have them pose as NSTextView, NSView, and NSWindow, and removed excess imports that are no longer needed. 2003-08-06 Richard Williamson Fixed 3365378. Edge case text run > 1024 hit by JS generated string. We weren't correctly checking size of string length. Used /2 instead of *2. Reviewed by Vicki (and Dan!). * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]): (-[WebTextRenderer _CG_drawRun:style:atPoint:]): 2003-08-06 Richard Williamson Fixed 3348630. Pick up about 1% by moving implementation of _unicodeDirection to WebCore and inlining. Reviewed by Ken. * Misc.subproj/WebUnicode.h: * Misc.subproj/WebUnicode.m: (_unicodeDirection): (_unicodeJoining): (_unicodeMirrored): (WebKitInitializeUnicode): * Misc.subproj/WebUnicodeTables.m: 2003-08-06 Chris Blumenberg Fixed: : Avoid retain cycles by destroying plug-ins in the page cache before dealloc Reviewed by rjw. * History.subproj/WebHistoryItemPrivate.h: added declaration for [WebBackForwardList _clearPageCache] * WebView.subproj/WebViewPrivate.m: (-[WebView _close]): clear the page cache when we are closing the web view so we call destroy on all the plug-ins on the page cache to break any retain cycles. 2003-08-04 Chris Blumenberg Fixed: : Results of JavaScript requests are not returned to plug-ins Reviewed by darin. * Plugins.subproj/WebBaseNetscapePluginStream.h: * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream setNotifyData:]): new (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed from setResponse (-[WebBaseNetscapePluginStream startStreamWithResponse:]): new (-[WebBaseNetscapePluginStream receivedData:]): tweak (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): tweak (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): new (-[WebBaseNetscapePluginView loadPluginRequest:]): call evaluateJavaScriptPluginRequest:: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call loadPluginRequest for JS requests * Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): call renamed startStreamWithResponse * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): call setNotifyData (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed startStreamWithResponse 2003-08-05 Ken Kocienda Reviewed by Richard Plugins in WebKit need to store URLs in the form of "C-style" strings. Create and use a new, improved method to make these strings, and do not traverse through the NSURL absoluteString method, since that can i introduce errors. * Misc.subproj/WebNSURLExtras.h: Added _web_URLCString method. * Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_URLCString]): Added. * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream setResponse:]): Call new _web_URLCString method. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Ditto. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView frameStateChanged:]): Ditto. (-[WebBaseNetscapePluginView loadPluginRequest:]): Ditto. 2003-08-05 Ken Kocienda Reviewed by John Fix for this bug: : Modify WebNSURLExtras to call improved NSURL creation API * Misc.subproj/WebNSURLExtras.m: (+[NSURL _web_URLWithDataAsString:]): Call through to _web_URLWithDataAsString:relativeToURL:. (+[NSURL _web_URLWithDataAsString:relativeToURL:]): Call through to _web_URLWithData:relativeToURL:. (+[NSURL _web_URLWithData:]): Ditto. (+[NSURL _web_URLWithData:relativeToURL:]): Call CFURLCreateAbsoluteURLWithBytes API in CoreFoundation. (-[NSURL _web_originalData]): Use CFURLGetBytes API in CoreFoundation. Also make sure that a relative URL is resolved against its base. (-[NSURL _web_displayableString]): Call _web_originalData to get bytes to use to create the string. (-[NSURL _web_URLStringLength]): Use CFURLGetBytes API in CoreFoundation. 2003-08-04 Richard Williamson Fixed 3363011. Pass b/f related key down events to super if b/f is disabled. Reviewed by Chris. * WebView.subproj/WebFrameView.m: (-[WebFrameView keyDown:]): Fixed 3363345. Retain static array used by IB to present WebView's bindable keys. Review by Maciej * WebView.subproj/WebViewPrivate.m: (-[WebView _declaredKeys]): 2003-08-04 Ken Kocienda Reviewed by Darin Fix for this bug: : REGRESSION: Plug-in content doesn't show up, animate etc WebNetscapePluginConnectionDelegate must implement this method: - (void)connection:(NSURLConnection *)con didReceiveData:(NSData *)data lengthReceived:(long long)lengthReceived * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]) 2003-08-04 Darin Adler Reviewed by Richard. - fixed 3298153 -- get "screen font while printing" error, bad stuff happens after that (Sherlock, Safari) * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): If we find ourselves in drawRect with the wrong printing mode, that usually means we're being printed as part of some larger print process, so do the layout in printing mode. 2003-08-04 Chris Blumenberg Fixed: : REGRESSION (7B28-7B29): main webview rejects drop of doc icon from BBEdit Reviewed by darin. * Misc.subproj/WebNSPasteboardExtras.m: (+[NSPasteboard _web_dragTypesForURL]): we handle NSFilenamesPboardType * WebKit.pbproj/project.pbxproj: 2003-08-04 Richard Williamson Fixed 3223989. Pass key down events to super if scrolling is disabled. Reviewed by Chris (Welcome back!). * WebView.subproj/WebFrameView.m: (-[WebFrameView keyDown:]): 2003-08-01 Richard Williamson Fixed 3095376. Implemented correct selection behavior for rtl scripts. We still use our Arabic and Hebrew layout scheme. Fixed 3360487. Implemented selection of ATSU rendered code. Fixed 3360242. Return nil from _bodyBackgroundColor when no background color specified. This was requested by Doug D. Reviewed by Maciej. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer drawHighlightForRun:style:atPoint:]): (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]): (-[WebTextRenderer drawRun:style:atPoint:]): (-[WebTextRenderer _CG_drawRun:style:atPoint:]): (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]): (-[WebTextRenderer pointToOffset:style:position:reversed:]): (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]): (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]): 2003-08-01 Maciej Stachowiak Reviewed by Darin. - fixed 3339255 - REGRESSION (73-85): javascript failure at gia.apple.com * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): When going to provisional state, tell the bridge that a provisional load started, so it can cancel any pending redirects. === Safari-91 === 2003-07-31 Richard Williamson Make sure width is initialized for monospace optimizations. Reviewed by Vicki. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]): 2003-07-31 Richard Williamson Fixed 3359152. SPI to get the background color for a frame. Reviewed by hyatt. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _bodyBackgroundColor]): 2003-07-31 Richard Williamson Fixed 3358870. Fall back on 'user defaults' values when a value in a custom instance of WebPreferences hasn't been overriden. Reviewed by Eric Seymour. * WebView.subproj/WebPreferences.m: (-[WebPreferences _stringValueForKey:]): (-[WebPreferences _integerValueForKey:]): (-[WebPreferences _boolValueForKey:]): 2003-07-30 Richard Williamson Preparation for 3095376. Reviewed by Maciej. * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]): * Misc.subproj/WebStringTruncator.m: (stringWidth): * WebCoreSupport.subproj/WebTextRenderer.m: (shouldUseATSU): (-[WebTextRenderer widthForCharacters:length:]): (-[WebTextRenderer drawRun:style:atPoint:]): (-[WebTextRenderer _CG_drawRun:style:atPoint:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]): (-[WebTextRenderer floatWidthForRun:style:widths:]): (-[WebTextRenderer _floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): (-[WebTextRenderer _createATSUTextLayoutForRun:]): (-[WebTextRenderer _trapezoidForRun:style:atPoint:]): (-[WebTextRenderer _ATSU_floatWidthForRun:style:]): (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]): (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]): 2003-07-30 Richard Williamson Fixed 3356518. Added private method called by IB to ensure that autoresizeSubviews flag is turned on correctly. Reviewed by mjs. * WebView.subproj/WebViewPrivate.m: (-[WebView _finishedMakingConnections]): 2003-07-28 Richard Williamson Fixed 3323866. Provide SPI to IB to enable scoping of preferences values on a document-by-document basis. Reviewed by Maciej. * WebView.subproj/WebPreferences.m: (-[WebPreferencesPrivate dealloc]): (-[WebPreferences initWithIdentifier:]): (-[WebPreferences initWithCoder:]): (+[WebPreferences _userDefaultsKeysForIB]): (+[WebPreferences _setIBCreatorID:]): (+[WebPreferences _IBCreatorID]): (-[WebPreferences _concatenateKeyWithIBCreatorID:]): * WebView.subproj/WebPreferencesPrivate.h: 2003-07-28 Darin Adler Reviewed by Maciej. - fixed 3344647 -- reachedTerminalState assertion in WebBaseResourceHandleDelegate.m * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient cancelWithError:]): Use [super cancelWithError:] rather than [self receivedError:]. I checked carefully to see that this code now does everything the old code did (and a bit more). 2003-07-28 Richard Williamson Fixed 3341859. Check that the WebHTMLView is initialized in viewWillMoveToWindow: and viewDidMoveToWindow. Don't do anything if we aren't initialized. This happens when decoding a WebView. When WebViews are decoded their subviews are created by initWithCoder: and so won't be normally initialized. The stub views are discarded by WebView. Reviewed by John. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView viewWillMoveToWindow:]): (-[WebHTMLView viewDidMoveToWindow]): 2003-07-28 Darin Adler Reviewed by John. - fixed 3279864 -- remove class_poseAs calls from WebKit * WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]): Call _setDrawsOwnDescendants, if we have a new enough AppKit. * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]): Don't pose as NSView, if we have a new enough AppKit. 2003-07-28 Ken Kocienda Reviewed by John Fix for this bug: : REGRESSION (Panther): Mozilla build downloaded with wrong extension, bad file size (gzip) Use new delegate methods that allow for the correct reporting of progress in cases where Foundation-level content decoding has been performed on data received * WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient connection:didReceiveData:lengthReceived:]): * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:didReceiveData:]): (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]): 2003-07-28 Darin Adler Reviewed by Richard. - fixed leak of WebDataRequestParameters objects * WebView.subproj/WebDataProtocol.m: (-[NSMutableURLRequest _webDataRequestParametersForWriting]): Release the WebDataRequestParameters object after putting it in the dictionary. 2003-07-28 John Sullivan - fixed 3236815 -- bitmap TIFFs at > 72 dpi are scaled incorrectly in Safari when viewed standalone (uspto.gov) Reviewed by Darin * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer _adjustSizeToPixelDimensions]): call setScalesWhenResized:YES 2003-07-25 Richard Williamson Fixed 3344519. Prevent infinite recursion attempting font substitution. Reviewed by Darin. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): 2003-07-25 Maciej Stachowiak Reviewed by John. - fixed 3280582 - REGRESSION (74-85): authentication sheet doesn't state that previous login was incorrect * Panels.subproj/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForChallenge:]): Use chall, the parameter, not challenge, the not-yet-set ivar so we get the right failure count &c. 2003-07-25 Richard Williamson Use 11 point bold, instead of 12 point bold to draw dragged link labels. This matches the text drawn in the bookmarks bar. Reviewed by John. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _dragImageForLinkElement:]): 2003-07-24 Richard Williamson Fixed 3279910. Change the way we draw dragged link to use WebKit's measurement and drawing. Also made the look match the bookmarks bar text. Reviewed by Maciej. * Misc.subproj/WebKitNSStringExtras.h: * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]): * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _dragImageForLinkElement:]): (-[WebHTMLView _handleMouseDragged:]): 2003-07-24 Richard Williamson Removed unnecessary log. Reviewed by John. * WebCoreSupport.subproj/WebImageRendererFactory.m: (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): Add another check to use ATSU for Limbu (Unicode 4.0) script. Also made shouldUseATSU inline. * WebCoreSupport.subproj/WebTextRenderer.m: (shouldUseATSU): === Safari-90 === 2003-07-23 Maciej Stachowiak Build breakage fix: Fix WebKit to build with the latest Foundation. * Misc.subproj/WebNSURLExtras.h: * Misc.subproj/WebNSURLExtras.m: (-[NSURL _webkit_isJavaScriptURL]): (-[NSURL _webkit_scriptIfJavaScriptURL]): (-[NSURL _webkit_isFTPDirectoryURL]): (-[NSString _webkit_isFTPDirectoryURL]): 2003-07-23 Richard Williamson Fixed 3311725: Added support for key/value binding. (As a side effect also made icon loading work! In 1.0 it doesn't work unless a secret preference value is set.) Reviewed by Ken. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _createFileDatabase]): * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): (-[WebDataSource _setTitle:]): (-[WebDataSource _updateIconDatabaseWithURL:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): (-[WebFrame _isLoadComplete]): * WebView.subproj/WebView.m: (-[WebView setMainFrameURL:]): (-[WebView mainFrameURL]): (-[WebView isLoading]): (-[WebView mainFrameTitle]): (-[WebView mainFrameIcon]): * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebView _progressStarted]): (-[WebView _progressCompleted]): (-[WebView _incrementProgressForConnection:data:]): (-[WebView _completeProgressForConnection:]): (-[WebView _declaredKeys]): (-[WebView setObservationInfo:]): (-[WebView observationInfo]): (-[WebView _willChangeBackForwardKeys]): (-[WebView _didChangeBackForwardKeys]): (-[WebView _didStartProvisionalLoadForFrame:]): (-[WebView _didCommitLoadForFrame:]): (-[WebView _didFinishLoadForFrame:]): (-[WebView _didFailLoadWithError:forFrame:]): (-[WebView _didFailProvisionalLoadWithError:forFrame:]): 2003-07-23 Richard Williamson Fixed 3341119: Crash when content contains nil (0x0) characters. Reviewed by Ken. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_drawRun:style:atPoint:]): 2003-07-23 Darin Adler Reviewed by John. - fixed 2/3 of 3279864 -- remove class_poseAs calls from WebKit (will also remove init routine) * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]): Only pose as NSTextView and NSWindow if we have an older AppKit. If we have a new enough AppKit, the code in WebCore now takes care of things. 2003-07-23 Richard Williamson Fixed for 3259840. Use ATSU for scripts we don't handle internally, i.e.: Syriac, Thaana, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Sinhala, Thai, Lao, Tibetan, Myanmar, Hangul Jamo, Khmer, Mongolian Also fixed issues with our rendering of Arabic. Changed the internal API to take WebCoreTextRun and WebCoreTextStyle parameters instead of scads on individual parameters. Much cleaner. Reviewed by Maciej. * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]): * Misc.subproj/WebStringTruncator.m: (stringWidth): * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRenderer.m: (shouldUseATSU): (-[WebTextRenderer _setupFont:]): (-[WebTextRenderer dealloc]): (-[WebTextRenderer widthForCharacters:length:]): (-[WebTextRenderer drawRun:style:atPoint:]): (-[WebTextRenderer _CG_drawRun:style:atPoint:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]): (-[WebTextRenderer floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:]): (-[WebTextRenderer _floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): (-[WebTextRenderer _CG_floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): (-[WebTextRenderer _initializeATSUStyle]): (-[WebTextRenderer _createATSUTextLayoutForRun:]): (-[WebTextRenderer _trapezoidForRun:style:atPoint:]): (-[WebTextRenderer _ATSU_floatWidthForRun:style:]): (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]): 2003-07-23 Ken Kocienda Reviewed by Darin Removed dependency on Foundation NSURL_NSURLExtras file. Copied the required methods from that file to WebNSURLExtras, temporarily renaming the methods that are now in both places to have a _webkit_ prefix. The names will be changed back once every one is living on a Foundation version that no longer contains these methods. The files below were changed in one of three ways: 1. Rename _web_URLWithString: to _web_URLWithDataAsString: 2. Tweak headers to depend on WebNSURLExtras instead of NSURL_NSURLExtras. 3. At call sites, tweak names of methods that moved to WebKit (_web_ -> _webkit_). * History.subproj/WebHistory.m: * History.subproj/WebHistoryItem.m: (-[WebHistoryItem URL]): * History.subproj/WebHistoryPrivate.m: * History.subproj/WebURLsWithTitles.m: (+[WebURLsWithTitles URLsFromPasteboard:]): * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _iconForFileURL:withSize:]): * Misc.subproj/WebIconLoader.m: * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_bestURL]): * Misc.subproj/WebNSURLExtras.h: * Misc.subproj/WebNSURLExtras.m: (ReleaseIfNotNULL): (+[NSURL _web_URLWithDataAsString:]): (+[NSURL _web_URLWithDataAsString:relativeToURL:]): (+[NSURL _web_URLWithData:]): (+[NSURL _web_URLWithData:relativeToURL:]): (-[NSURL _web_originalData]): (-[NSURL _web_displayableString]): (-[NSURL _web_URLStringLength]): (-[NSURL _webkit_canonicalize]): (-[NSURL _webkit_URLByRemovingFragment]): (-[NSURL _webkit_isJavaScriptURL]): (-[NSURL _webkit_scriptIfJavaScriptURL]): (-[NSURL _webkit_isFTPDirectoryURL]): (-[NSURL _webkit_shouldLoadAsEmptyDocument]): (isHexDigit): (hexDigitValue): (-[NSString _webkit_isJavaScriptURL]): (-[NSString _webkit_stringByReplacingValidPercentEscapes]): (-[NSString _webkit_scriptIfJavaScriptURL]): * Misc.subproj/WebNSViewExtras.m: * Panels.subproj/WebAuthenticationPanel.m: * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView requestWithURLCString:]): (-[WebBaseNetscapePluginView loadPluginRequest:]): (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): * Plugins.subproj/WebNullPluginView.m: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge requestedURLString]): * WebCoreSupport.subproj/WebCookieAdapter.m: (-[WebCookieAdapter cookiesForURL:]): (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setTitle:]): (-[WebDataSource _loadIcon]): * WebView.subproj/WebFrame.m: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): (-[WebFrame _shouldReloadForCurrent:andDestination:]): (-[WebFrame _URLsMatchItem:]): * WebView.subproj/WebFrameView.m: * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient loadWithRequest:]): (-[WebMainResourceClient setDefersCallbacks:]): 2003-07-22 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 2003-07-21 Ken Kocienda Fixed build breaker. Removed glyphCountFromFont function. It was used only in an ERROR function, which does not compile in on deployment builds, causing a "defined, but not used warning". As this function is only a one-liner call into ATS, I replaced the usage in the ERROR call with a call to the ATS function directly. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:usingPrinterFont:]) 2003-07-18 Richard Williamson Fixed 3283594. "Times RO" appears to have a corrupt regular variant. Added additional bullet proofing to catch corrupt fonts. Also added a special case hack to map "Times RO" to "Time New Roman" if the variant doesn't have valid glyphs. Fixed 3319846. The page mentioned in this bug required > 10 substitute fonts for the same base font. This triggered some buggy code that hasn't been exercise before. Specifically the code that resizes the substitute fonts array was incorrect. Reviewed by mjs. * Misc.subproj/WebAssertions.h: Added FATAL_ALWAYS macro that logs and CRASHES even in deployment builds. * WebCoreSupport.subproj/WebTextRenderer.m: (mapForSubstituteFont): (widthFromMap): (FillStyleWithAttributes): (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]): (-[WebTextRenderer convertUnicodeCharacters:length:toGlyphs:]): (-[WebTextRenderer _computeWidthForSpace]): (-[WebTextRenderer _setupFont:]): (pathFromFont): (glyphCountFromFont): (-[WebTextRenderer initWithFont:usingPrinterFont:]): (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): 2003-07-17 Darin Adler Reviewed by John. - fixed 3250608 -- REGRESSION (74-85): reproducible Safari crash in blinkCaretTimerAction * WebView.subproj/WebHTMLViewPrivate.m: (-[WebNSTextView drawInsertionPointInRect:color:turnedOn:]): Use NSView's setNeedsDisplayInRect: instead of the one in NSTextView. This avoids the layout that the NSTextView version of the call might do. By definition, we don't need layout to draw the insertion point, because we did the layout to find where the insertion point should display. If we do the layout we can end up recursing into the insertion point drawing code, which wreaks major havoc. Still no idea why this happened less in version 74. 2003-07-17 Ken Kocienda Reviewed by John * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge startLoadingResource:withURL:]): Now uses NSURL instead of NSString (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): Ditto (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]): Ditto (-[WebBridge setIconURL:]): Ditto (-[WebBridge setIconURL:withType:]): Ditto (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Ditto (-[WebBridge userAgentForURL:]): Ditto (-[WebBridge requestedURL]): Now returns string using _web_absoluteString * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _receivedError:complete:]): Now uses NSURL instead of NSString * WebView.subproj/WebFramePrivate.m: (-[WebFrame _opened]): Ditto (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): Ditto (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Ditto 2003-07-17 Ken Kocienda * Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_URLStringLength]): Fix premature use of new CFURL API. New code is ifdef'ed out for now until everyone has revved. 2003-07-17 Ken Kocienda Reviewed by Darin * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): Now uses NSURL in API instead of NSString (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): Ditto (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto * WebKit.pbproj/project.pbxproj: Added WebNSURLExtras file * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady:]): Now uses NSURL in API instead of NSString 2003-07-15 Richard Williamson Fixed 3315952: Add support for in attributed string conversion. Added RTFD pasteboard type. Reviewed by John. * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView _pasteboardTypes]): (-[WebHTMLView _writeSelectionToPasteboard:]): 2003-07-14 Darin Adler Reviewed by Maciej. - make some improvements to handling of the timer, inspired by some bug reports * WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): Instead of releasing the timer, assert it is nil. (-[WebFrame _detachFromParent]): Invalidate and release the timer after finishing dealing with self, in case the reference from the timer is the last one. (-[WebFrame _timedLayout:]): Release the timer after doing all the other work, in case the reference from the timer is the last one. (-[WebFrame _setState:]): Release the timer after doing all the other work, in case the reference from the timer is the last one. 2003-07-14 Darin Adler Rolled out workaround to bug 3298153 -- get "screen font while printing" error, bad stuff happens after that (Sherlock, Safari). It turns out the real fix was on the WebCore side. Now that we have that fix we don't need these extra calls to printerFont, which is a relatively slow call that may need to look up a font by name each time it's called. * WebCoreSupport.subproj/WebTextRenderer.m: (_drawGlyphs): Remove code to look up the printer font. 2003-07-14 Maciej Stachowiak Rolled in fix from Safari-89-branch 2003-07-12 Maciej Stachowiak Try to fix OS build by making the Frameworks link in both SYMROOT and DSTROOT, and at both build time and install time. * WebKit.pbproj/project.pbxproj: 2003-07-14 Dave Hyatt Roll this change out. It was a bad change that I only made because I was using the opacity APIs wrong. Reviewed by (nobody, just a straight backout of a previous checkin) * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): 2003-07-13 Darin Adler * WebKit.pbproj/project.pbxproj: Add command to prevent build from failing if symlink creation fails. 2003-07-13 Darin Adler Fixed symbolic link path as Matt Reda suggested. * WebKit.pbproj/project.pbxproj: Changed paths in both of Maciej's new build phases to use Versions/Current instead of Versions/A. 2003-07-13 Darin Adler Fixed DSTROOT path as Eric Weiss suggested. * WebKit.pbproj/project.pbxproj: Changed paths in both of Maciej's new build phases. 2003-07-12 Maciej Stachowiak Try to fix OS build by making the Frameworks link in both SYMROOT and DSTROOT, and at both build time and install time. * WebKit.pbproj/project.pbxproj: 2003-07-11 Dave Hyatt Make sure image compositing obeys the current global alpha that is in effect, e.g., if someone has set an opacity within the current layer. It's worth noting that I'm not even sure *why* this patch works, but it does, even with nested opacity layers. Reviewed by darin * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): === Safari-89 === 2003-07-10 Richard Williamson Fixed 3298153. Force use of printer font when printing. Reviewed by Chris. * WebCoreSupport.subproj/WebTextRenderer.m: (_drawGlyphs): 2003-07-10 Chris Blumenberg Fixed: : Avoid retain cycles by destroying plug-ins in the page cache before dealloc Fixed: : WebElementImageAltStringKey is not exported :-( Unspoof freebsd since we now handle gzip'd content. Reviewed by rjw. * History.subproj/WebHistoryItem.m: (+[WebHistoryItem _destroyAllPluginsInPendingPageCaches]): new, destroys all plug-ins (+[WebHistoryItem _releaseAllPendingPageCaches]): call _destroyAllPluginsInPendingPageCaches * WebKit.exp: export WebElementImageAltStringKey * WebView.subproj/WebUserAgentSpoofTable.c: unspoof freebsd (hash): (_web_findSpoofTableEntry): * WebView.subproj/WebUserAgentSpoofTable.gperf: unspoof freebsd 2003-07-10 John Sullivan Reviewed by Chris * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): fixed copy/paste error in comment that I stumbled across 2003-07-09 Richard Williamson Fixed 3141257. Animate multiple copies of the same image on the same page. Reviewed by hyatt. * WebCoreSupport.subproj/WebImageRenderer.h: * WebCoreSupport.subproj/WebImageRenderer.m: (+[WebImageRenderer stopAnimationsInView:]): (-[WebImageRenderer retainOrCopyIfNeeded]): (-[WebImageRenderer copyWithZone:]): (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): (-[WebImageRenderer dealloc]): (-[WebImageRenderer repetitionCount]): (-[WebImageRenderer scheduleFrame]): (-[WebImageRenderer beginAnimationInRect:fromRect:]): * WebCoreSupport.subproj/WebImageRendererFactory.h: * WebCoreSupport.subproj/WebImageRendererFactory.m: (-[WebImageRendererFactory imageRendererWithMIMEType:]): (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]): 2003-07-09 Chris Blumenberg Fixed: : user stylesheet path should be stored relative to home directory Reviewed by john. * Misc.subproj/WebKitNSStringExtras.h: * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_stringByAbbreviatingWithTildeInPath]): new, handles home directories that have symlinks in path * WebView.subproj/WebPreferences.m: (-[WebPreferences userStyleSheetLocation]): converts path string or URL string to URL (-[WebPreferences setUserStyleSheetLocation:]): converts URL to path string or URL string 2003-07-08 Darin Adler Reviewed by John. - fixed 3125264 -- nuke NSImage workaround when we drop Jaguar support * Misc.subproj/WebNSImageExtras.m: Removed the workaround. - removed other Jaguar-specific code * WebCoreSupport.subproj/WebImageRenderer.m: Remove workaround for improper handling of GIF animation loops with no loop counting, bug 3090341. * WebView.subproj/WebHTMLViewPrivate.m: Remove workaround for problem extracting scroll wheel events without also getting all others, which caused jumping around if you used the scroll wheel while moving the mouse, bug 3245425. * Misc.subproj/WebKitErrorsPrivate.h: Remove Jaguar-only import of . * Plugins.subproj/WebNetscapePluginPackage.m: Remove Jaguar-only side of #if. * Plugins.subproj/WebNetscapePluginRepresentation.m: Remove Jaguar-only import of . * WebKit/Plugins.subproj/WebPluginPackage.m: Remove unnecessary import of . * Plugins.subproj/WebPluginPackage.m: Remove Jaguar-only side of #if. * WebCoreSupport.subproj/WebSubresourceClient.m: Remove Jaguar-only import of . * WebView.subproj/WebDefaultFrameLoadDelegate.m: Remove Jaguar-only import of . * WebView.subproj/WebImageRepresentation.m: Remove Jaguar-only import of . * WebKit/English.lproj/StringsNotToBeLocalized.txt: Updated for this and other recent changes. 2003-07-08 Chris Blumenberg Fixed: : no progressive loading for standalone images Fixed: : exception raised (attempt to create array with nil element) when dragging image out of HTML Reviewed by rjw. * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragPromisedImage:rect:URL:title:event:]): don't take a file type since this can now be gotten from the image * WebCoreSupport.subproj/WebImageRenderer.h: * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer _adjustSizeToPixelDimensions]): new method that rjw factored from incrementalLoadWithBytes::: (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): call _adjustSizeToPixelDimensions so we have the correct image size as the image loads (-[WebImageRenderer MIMEType]): new accessor * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _handleMouseDragged:]): use renamed _web_dragPromisedImage * WebView.subproj/WebImageRepresentation.h: * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation doneLoading]): new (-[WebImageRepresentation setDataSource:]): create the image here (-[WebImageRepresentation receivedData:withDataSource:]): pass data to image (-[WebImageRepresentation receivedError:withDataSource:]): complete image loading (-[WebImageRepresentation finishedLoadingWithDataSource:]): complete image loading * WebView.subproj/WebImageView.h: * WebView.subproj/WebImageView.m: (-[WebImageView initWithFrame:]): call setAutoresizingMask so setFrameSize is called often enough (-[WebImageView dealloc]): tweak (-[WebImageView haveCompleteImage]): new (-[WebImageView drawingRect]): new (-[WebImageView drawRect:]): fill white then draw the image so we never show the previous page (-[WebImageView setFrameSizeUsingImage]): new, ensures that the view always fills the content area (so we draw over the previous page) and that the view is at least as large as the image. (-[WebImageView setFrameSize:]): call setFrameSizeUsingImage (-[WebImageView layout]): call setFrameSizeUsingImage (-[WebImageView setDataSource:]): store the rep (-[WebImageView dataSourceUpdated:]): call setNeedsLayout and setNeedsDisplay (-[WebImageView viewDidMoveToWindow]): tweak (-[WebImageView validateUserInterfaceItem:]): only allow copy if haveCompleteImage (-[WebImageView writeImageToPasteboard:]): only writeImageToPasteboard if haveCompleteImage (-[WebImageView writeSelectionToPasteboard:types:]): tweak (-[WebImageView menuForEvent:]): tweak (-[WebImageView mouseDragged:]): only allow drag if haveCompleteImage (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): tweak 2003-07-08 Dave Hyatt Change minimum font size pref value back to 9. This change has been made in conjunction with associated WebCore changes that allow us to institute a minimum font size safely without the need for a visible GUI pref. Reviewed by darin * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): 2003-07-07 Maciej Stachowiak Reviewed by John. - fixed 3295916 - b/c JavaScriptCore and WebCore are installing in wrong location, private headers are public * WebKit.pbproj/project.pbxproj: Make a link from Frameworks to Versions/A/Frameworks. === Safari-88 === 2003-07-07 Darin Adler Reviewed by Dave. - fix compile error from B&I Panther build; really, this time * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): Use unsigned, not int. (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Ditto. 2003-07-06 Darin Adler - fix compile error from B&I Panther build * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): Rearrange code so that we won't get a warning if numGlyphs type is either signed or unsigned. We don't want to depend on the new ATS headers or the old ones; this is compatible with both. (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Ditto. 2003-07-03 Darin Adler * WebCoreSupport.subproj/WebImageRenderer.m: Remove obsolete comment. 2003-07-03 Chris Blumenberg Fixed: : Don't accepts drags when showing dialogs or sheets Reviewed by john. * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragOperationForDraggingInfo:]): 2003-07-03 Chris Blumenberg Fixed: : Aborting standalone image load makes image directory page unusable Reviewed by john. * WebKit.pbproj/project.pbxproj: Xcode-ified WebKit.pbproj * WebView.subproj/WebImageView.h: * WebView.subproj/WebImageView.m: (-[WebImageView drawRect:]): layout if we need to, fill with white if we don't have an image yet (-[WebImageView setNeedsLayout:]): set the bit (-[WebImageView layout]): if we don't have an image, the frame size is the visible area so we draw white over the previous web page 2003-07-02 Maciej Stachowiak Reviewed by Ken. - fixed 3304992 - REGRESSION: Every GET on an authenticated site requires a login (genentech) I fixed this by adding a per-window queue of waiting authentication requests. Before going to a later item in the queue, the auth handler checks if there's already a credential available to handle it, and if so uses that as the answer instead of prompting. * Panels.subproj/WebPanelAuthenticationHandler.h: * Panels.subproj/WebPanelAuthenticationHandler.m: (-[NSMutableDictionary _web_setObject:forUncopiedKey:]): (-[WebPanelAuthenticationHandler init]): (-[WebPanelAuthenticationHandler dealloc]): (-[WebPanelAuthenticationHandler enqueueChallenge:forWindow:]): (-[WebPanelAuthenticationHandler tryNextChallengeForWindow:]): (-[WebPanelAuthenticationHandler startAuthentication:window:]): (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): 2003-06-30 John Sullivan - fixed 3310716 -- Authentication dialog could be tweaked to better match guidelines Reviewed by Chris * Panels.subproj/English.lproj/WebAuthenticationPanel.nib: left-aligned "Name:" and "Password:" labels; slightly tweaked layout at right edge of sheet 2003-06-26 Chris Blumenberg Changes to make WebKit compile with gcc 3.3. Reviewed by darin. * Carbon.subproj/HIWebView.m: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setScrollbarsVisible:]): (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): * WebView.subproj/WebPreferences.m: (-[WebPreferences setDefaultFontSize:]): (-[WebPreferences setDefaultFixedFontSize:]): (-[WebPreferences setMinimumFontSize:]): * WebView.subproj/WebView.m: (-[WebView searchFor:direction:caseSensitive:wrap:]): 2003-06-24 Chris Blumenberg Renamed the context menu item Download Image To Disk" to "Download Image to Disk". Reviewed by john. * English.lproj/Localizable.strings: * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate menuItemWithTag:]): 2003-06-19 Chris Blumenberg Fixed: : HTTP error sent as content instead of error to plug-ins Reviewed by john. * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): if the response is an error, cancel the load, return a network error === Safari-85.1 === 2003-06-15 Vicki Murley Reviewed by darin. * WebKit.pbproj/project.pbxproj: remove SECTORDER_FLAGS variable, so that we don't use order file for our Panther submission === Safari-85 === 2003-06-13 Darin Adler Reviewed by Darin (Richard wrote the first cut), then Don and Dave. - fixed 3291467 -- CARBON: context menus are broken when using WebKit from Carbon * Carbon.subproj/HIWebView.m: (ContextMenuClick): Rewrite method to create a fake right mouse up event, and pass that to menuForEvent: and _popUpMenuWithEvent. 2003-06-13 Darin Adler Reviewed by Chris. - fixed 3291778 -- REGRESSION (51-52): QT controller never shows up for mp3 in frame * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): Handle the "invisible" plug-in cases in a more complete way. Detect the various ways of being invisible (big negative X value, 0 size, not really in a window) and in all those cases, use a clip rect to guarantee we won't be seen, and make sure the size passed to the plug-in is *not* 0. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 2003-06-13 David Hyatt Fix for 3291319, scrolling is much worse since 79. The problem was a fix for resize events that needed to use the scrollview size and not the document view size inside the scrollview. Reviewed by darin * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): * WebView.subproj/WebHTMLViewPrivate.h: 2003-06-13 Chris Blumenberg Fixed previous " Reviewed by" string. * ChangeLog: 2003-06-13 Chris Blumenberg Fixed: : REGRESSION (80-81): freebsd.org is giving us gzipped content (because we stopped spoofing) Reviewed by john. * WebView.subproj/WebUserAgentSpoofTable.c: (hash): (_web_findSpoofTableEntry): * WebView.subproj/WebUserAgentSpoofTable.gperf: 2003-06-12 Richard Williamson Restoring fix for 3221078 that I earlier backed out in a panic about performance. In careful performance testing I now see no performance regression, and maybe a tiny improvement. The earlier performance regression Vicki saw was entirely due to the incorrect checkin for the fix to 3288532. Reviewed by Chris & Gramps. * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRenderer.m: 2003-06-12 Richard Williamson Correct fix for 3288532 again. This time will feeling! Reviewed by Gramps. * History.subproj/WebBackForwardList.m: (-[WebBackForwardList setCapacity:]): 2003-06-12 Don Melton Since Richard didn't actually correct the fix for 3288532 in WebBackForwardList.m, I've backed out out his original fix entirely. * History.subproj/WebBackForwardList.m: (-[WebBackForwardList setCapacity:]): 2003-06-12 Richard Williamson Correct fix for 3288532. * History.subproj/WebBackForwardList.m: 2003-06-12 Richard Williamson Fixed 3288532. When setCapacity: shrinks capacity, trim the back/forward list. Setting to zero will effectively flush the list. Reviewed by John. * History.subproj/WebBackForwardList.m: 2003-06-12 Richard Williamson Fixed 3221078. Maintain a seperate width map for substitute fonts to avoid collision of glyph codes. Reviewed by Chris & Gramps. * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRenderer.m: === Safari-84 === 2003-06-12 Darin Adler Fixed by Richard, reviewed by me. - fixed 3289047 -- REGRESSION: can't go back after using form at attwireless.com * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]): Added isJavaScriptFormAction parameter, passed on to frame. * WebView.subproj/WebFramePrivate.h: Added isJavaScriptFormAction parameter. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]): If isJavaScriptFormAction is YES, then don't treat this is a "quick redirect" which is merged with the previous page for purposes of back/forward. 2003-06-11 Chris Blumenberg Fixed: : Reenable Carbon Java plug-ins when in Carbon app Reviewed by gramps. * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): only call canUsePlugin: for web plug-ins 2003-06-11 Chris Blumenberg Fixed: : REGRESSION: policyDataSource == nil assertion failure after closing particular window Reviewed by john. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueAfterNavigationPolicy:]): don't clear policyDataSource here because this method may not be called during navigation (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): clear policyDataSource here 2003-06-11 Chris Blumenberg Fixed: : REGRESSION: assertion failure after hitting back while loading page after fragment scroll Fixed by darin, reviewed by me. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _URLsMatchItem:]): ignore the URL fragment so we scroll back at the current page instead of attempt to load the current page 2003-06-11 Darin Adler Reviewed by John. - fixed 3285808 -- repro world leak when replacing div that contains iframe (at www.kbs.co.kr) * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameDetached]): Add a call to _detachFromParent. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _removeChild:]): Nil out the parent pointer in the removed child. 2003-06-10 Chris Blumenberg Fixed: : REGRESSION: Fragment scroll stops page load We do policy navigation checks for the regular load case, fragment scroll and redirects. We only want to stop the load, change the provisional data source etc in the regular load case. Reviewed by darin. * WebView.subproj/WebFramePrivate.m: got rid of _prepareForProvisionalLoadWithDataSource:: since the work done in this method only needs to be done in _continueLoadRequestAfterNavigationPolicy:: (which covers the regular load case). (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): don't clear policyDataSource because it needs to be called in _continueLoadRequestAfterNavigationPolicy:: (-[WebFrame _setPolicyDataSource:]): new (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): don't call _prepareForProvisionalLoadWithDataSource::, don't muck with policyDataSource because it is only needed in the regular load case (-[WebFrame _continueAfterNavigationPolicy:]): don't call _prepareForProvisionalLoadWithDataSource::, call _setPolicyDataSource:nil after _continueLoadRequestAfterNavigationPolicy:: has used policyDataSource (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): this method covers the regular load case. This is where we need to stop the load, set the load type and the provisional data source. Code was in _prepareForProvisionalLoadWithData Source:: (-[WebFrame _loadDataSource:withLoadType:formState:]): set the policyLoadType and policyDataSource (the beginning of the regular load case) 2003-06-10 Richard Williamson Back out incorrect fix to 3287862. 2003-06-10 Chris Blumenberg Fixed: : cmd-click opens new win but stops loading in prev win Reviewed by rjw. * WebView.subproj/WebFrame.m: (-[WebFrame stopLoading]): set the provisional data source to nil to avoid a newly added assert in [WebFramePrivate setProvisionalDataSource:] and since it is wasteful to retain it in this case * WebView.subproj/WebFramePrivate.h: added policyDataSource and policyLoadType ivars * WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): added an assert (-[WebFramePrivate setProvisionalDataSource:]): added an assert (-[WebFrame _isLoadComplete]): formatting tweak (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): reset policyDataSource (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): formatting tweak (-[WebFrame _prepareForProvisionalLoadWithDataSource:loadType:]): new, calls stopLoading, _setLoadType and _setProvisionalDataSource (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): call _prepareForProvisionalLoadWithDataSource:loadType: only in the "use" policy case (-[WebFrame _continueAfterNavigationPolicy:]): call _setProvisionalDataSource:andLoadType: (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): formatting tweak (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): formatting tweak (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): if there is no request to continue with, don't reset things like the provisional data source since it was never unset in this case (-[WebFrame _loadDataSource:withLoadType:formState:]): don't call stopLoading, _setLoadType and _setProvisionalDataSource, since that stops the frame even for command-click and option-click. Do this work in _prepareForProvisionalLoadWithDataSource :loadType: instead. 2003-06-10 Richard Williamson Fixed 3287862. Don't override resize flags when decoding WebView. Reviewed by Chris. * WebView.subproj/WebView.m: (-[WebView _commonInitializationFrameName:groupName:]): 2003-06-10 Chris Blumenberg Fixed: : Carbon Java plug-in problems may require workaround in WebKit Reviewed by john. * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase canUsePlugin:]): if in a carbon app, only use the mach-o java plug-in when its version is anything but 1.0.0 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): call canUsePlugin on all the plug-ins 2003-06-10 Vicki Murley Reviewed by john. * WebKit.order: new order file for 1.0 2003-06-09 Chris Blumenberg * WebView.subproj/WebDataSource.h: Removed FIXME related to pageTitle. 2003-06-09 Chris Blumenberg : don't load Cocoa Java plug-in if in Carbon app Reviewed by darin. * Plugins.subproj/WebPluginDatabase.h: removed pluginForFilename, wasn't being used * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): don't use the plug-in if ![self isCocoa] && [[[webPlugin bundle] bundleIdentifier] isEqualToString:JavaCocoaPluginIdentifier] 2003-06-09 Chris Blumenberg Fixed: : REGRESSION: repro crash in Flash handling null event, going back to Japanese Disney page When restarting plug-ins from the BF cache, we were not calling NPP_SetWindow. Reviewed by darin. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView stop]): set the window type to 0 to force the calling of NPP_SetWindow === Safari-83 === 2003-06-07 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 2003-06-07 Darin Adler Rolled out Chris's fix for 3156169 because it was causing a lot of crashes and problems with basic behavior. We can try again later. One of the problems was that Back wasn't working. Another was that you could not follow the link at the top of the page at kbb.com. More testing seemed to reveal still more problems. * WebView.subproj/WebFramePrivate.h: Rolled back to previous version. * WebView.subproj/WebFramePrivate.m: Ditto. 2003-06-06 Richard Williamson Fixed 3283236. Remove use of forward declarations in public header because CodeWarrior pukes on 'em. Reviewed by Chris. * WebView.subproj/WebDataSource.h: 2003-06-06 Chris Blumenberg Fixed: : cmd-click opens new win but stops loading in prev win Reviewed by darin. * WebView.subproj/WebFramePrivate.h: added policyDataSource and policyLoadType as ivars * WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): added ASSERT (-[WebFramePrivate setProvisionalDataSource:]): added ASSERT (-[WebFrame _isLoadComplete]): formatting tweak (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): clear policyDataSource (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): formatting tweak (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): retain policyDataSource (-[WebFrame _continueAfterNavigationPolicy:]): stop the load, set the load type, set the provisional data source in the "use" case (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): formatting tweak (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): don't reset things if something other than "use" has been chosen (-[WebFrame _loadDataSource:withLoadType:formState:]): DON'T stop the load, set the load type, set the provisional data source 2003-06-06 Chris Blumenberg Fixed: : Java plugin fails in carbon WebKit apps Fixed by Mike Hay, reviewed by me. * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase initIsCocoa]): (-[WebPluginDatabase isCocoa]): (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): don't load cocoa plug-ins if isCocoa. 2003-06-05 John Sullivan - fixed 3266216 -- repro crash in -[WebBaseResourceHandleDelegate connection:didReceiveData:] in GIA Application The problem was that an NSURLConnection delegate object (in this case a WebMainResourceClient) was being dealloc'ed during one of its connection delegate methods. To prevent this kind of problem, I added [self retain]/[self release] guards around the meat of all of the connection delegate methods in which arbitrary code could be run. Another approach would be to do this retain/release pair in NSURLConnection, but Darin deemed it wiser not to muck with Foundation at this point for this issue. Reviewed by Darin * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): guard with [self retain]/[self release] (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:]): ditto (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): ditto * WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient connection:didReceiveResponse:]): ditto (-[WebSubresourceClient connection:didReceiveData:]): ditto * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): ditto (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): ditto (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): ditto (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): ditto (-[WebBaseResourceHandleDelegate connection:didReceiveData:]): ditto. Also, commented out two assertions that fire illegitimately in the steps in this bug report. (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): ditto * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): ditto (-[WebMainResourceClient connection:didReceiveResponse:]): ditto (-[WebMainResourceClient connection:didReceiveData:]): ditto 2003-06-04 Richard Williamson Fixed 3277775. Send less notifications. Notifcations suck! Reviewed by David. * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebViewPrivate init]): (-[WebView _progressStarted]): (-[WebView _progressCompleted]): (-[WebView _incrementProgressForConnection:data:]): 2003-06-04 Darin Adler Reviewed by John. - fixed 3277675 -- REGRESSION: mouse wheel events not coalesced * WebView.subproj/WebHTMLViewPrivate.m: (-[WebNSWindow nextEventMatchingMask:untilDate:inMode:dequeue:]): When the mask is scroll wheel mask, instead of getting no events, do some tricks to get the next event if it is a scroll wheel event, and nothing otherwise. Also ifdef the fix so we don't compile it on Panther, since the underlying bug was fixed on Panther. - other changes * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer copyWithZone:]): Remove unneeded line of code. The super function copies all simple fields for us. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView setMIMEType:]): Use copy instead of retain, do it in the right order to avoid "same object release/retain" disease. (-[WebBaseNetscapePluginView setBaseURL:]): Do retain before release (same reason as above). 2003-06-03 Chris Blumenberg Fixed: 3278496 - : NSURLDownload: initWithSource and source should be renamed to initWithRequest and request Reviewed by rjw. * Misc.subproj/WebDownload.m: (-[WebDownload initWithRequest:delegate:]): (-[WebDownload _initWithRequest:delegate:directory:]): * WebView.subproj/WebImageView.m: (-[WebImageView setNeedsDisplay:]): * WebView.subproj/WebViewPrivate.m: (-[WebView _downloadURL:toDirectory:]): 2003-06-03 Richard Williamson Fixed 3263188, 3274636. Written by Ed Voas. Reviewed by Richard. * Carbon.subproj/CarbonUtils.m: (WebInitForCarbon): Ensure the process info is correctly initialized so the correct "flavour" (carbon) is detected. * Carbon.subproj/HIWebView.m: (Draw): Always draw the growbox after drawing the web view, assuming overlap. === Safari-82 === 2003-06-03 Chris Blumenberg Fixed: : hang in _web_dragPromisedImage dragging 4 MB image Reviewed by john. * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragPromisedImage:rect:URL:fileType:title:event:]): if the original image is greater than 1500x1500, use a file icon for the drag image to avoid hanging 2003-06-02 Richard Williamson Fix for 3250352. Reviewed by Chris. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): Check respondsToSelector: before calling. * WebView.subproj/WebResourceLoadDelegate.h: * WebView.subproj/WebUIDelegate.h: Headerdoc tweaks. === Safari-81 === 2003-06-02 Chris Blumenberg Fixed: : No video when viewing QT plug-in content at some pages but audio works This fix works around QT plug-in bug 3275755, but I think the fix is logical and worth keeping even after 3275755 is fixed. Eric Carlson: The problem happens when you call NPP_SetWindow with a 0 width or height more than once. The first call to NPP_SetWindow always seems to have width and height set to 0, but the next call sometimes has it set to the correct values (those in the EMBED tag) . This is when it draws successfully. It seems to me that the fix is to always pass the correct width and height to NPP_SetWindow. You always position the plug-in far offscreen (1000000, -52) and set the clip region to an empty rect (48576, 52, 48576, 52) so there isn't really any danger of the plug-in drawing anyway. Additionally, you pass the correct width and height in the call to NPP_New before the first call to NPP_SetWindow. Reviewed by john, darin. * Plugins.subproj/WebBaseNetscapePluginView.h: * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): use the NSView width and height if greater than 0, else use the tag specified width and height (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): new (-[WebBaseNetscapePluginView setWindow]): NPP_SetWindow may be expensive, only call it if it has changed * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage launchRealPlayer]): tweak, no need to store error code since it is ignored 2003-05-30 Richard Williamson Fixed 3272516. Items are now expired from the b/f cache if they are older than 30 minutes. This number was pulled out of our #!$es. Also did some cleanup of the b/f cache code. Reviewed by Ken. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge saveDocumentToPageCache:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): (-[WebFrame _createPageCacheForItem:]): (-[WebFrame _setState:]): (-[WebFrame _loadItem:withLoadType:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): (-[WebPreferences _resourceTimedLayoutEnabled]): (-[WebPreferences _backForwardCacheExpirationInterval]): * WebView.subproj/WebPreferencesPrivate.h: * WebView.subproj/WebView.h: * WebView.subproj/WebPreferences.h: Cleaned up some headerdoc comments. 2003-05-29 Richard Williamson Implemented 'estimatedProgress' method on WebView. This should eventually replace the broken algorithm on WebBrowser. Maybe for panther. Reviewed by Chris. * WebKit.exp: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): (-[WebBaseResourceHandleDelegate connection:didReceiveData:]): (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): (-[WebBaseResourceHandleDelegate cancelWithError:]): * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]): (-[WebFrame _numPendingOrLoadingRequests:]): * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (-[WebView estimatedProgress]): * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebViewPrivate dealloc]): (-[WebView _isPerformingProgrammaticFocus]): (-[WebView _progressStarted]): (-[WebView _progressCompleted]): (-[WebView _incrementProgressForConnection:data:]): (-[WebView _completeProgressForConnection:]): Code cleanup. Moved variable initialization into block that check for non-nil self. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer initWithMIMEType:]): (-[WebImageRenderer initWithData:MIMEType:]): (-[WebImageRenderer initWithContentsOfFile:]): 2003-05-29 Richard Williamson Fixed 3272226. The shared image factory was being released when any renderer had 0 reps! Reviewed by John. * WebCoreSupport.subproj/WebImageRendererFactory.m: (-[WebImageRendererFactory imageRendererWithMIMEType:]): 2003-05-29 Chris Blumenberg Fixed: 3151216 - Safari crashes on Drag&Drop if plugin dialog is open Reviewed by rjw. * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragOperationForDraggingInfo:]): return NSDragOperationNone is the app has a modal window so the current page can't be changed with a drag * WebView.subproj/WebView.m: (-[WebView draggingEntered:]): return _web_dragOperationForDraggingInfo 2003-05-29 Chris Blumenberg Fixed: 3273109 - leak from functionPointerForTVector in -[WebNetscapePluginPackage load] * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]): free the main function after using it 2003-05-29 Richard Williamson Fixed 3273115. Always use pixel dimensions, not absolute dimensions. Reviewed by Ken. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): 2003-05-29 Richard Williamson Fix 3272292. Ensure that loadStatus is always initialized to NSImageRepLoadStatusUnknownType. Reviewed by Chris. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer initWithMIMEType:]): (-[WebImageRenderer initWithData:MIMEType:]): (-[WebImageRenderer initWithContentsOfFile:]): 2003-05-28 Ken Kocienda Reviewed by Richard Fix for this bug: Radar 3260323 (Some links at nike.com cause assertion failure (connectionDidFinishLoading sent after cancel)) Added a flag which is set when a load is cancelled. This flag prevents bad behvior when loads that finish cause the load itself to be cancelled (which could happen with a javascript that changes the window location). This is used to prevent both the body of cancelWithError: and the body of connectionDidFinishLoading: running for a single delegate. Cancelling wins. * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): (-[WebBaseResourceHandleDelegate cancelWithError:]): 2003-05-28 Chris Blumenberg Fixed: 3270576 - RealPlayer plug-in fails to load Reviewed by darin. * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage launchRealPlayer]): new (-[WebNetscapePluginPackage load]): call launchRealPlayer to regenerate its broken plist file 2003-05-28 Richard Williamson Fixed 3165631 (and other similar). Fixed 3262592. We now set NSImage's cache mode to NSImageCacheNever during progressive loads. It gets reset to NSImageCacheDefault when loads complete. If an image is scaled, NSImage appears to create a NSCacheImageRep with the wrong size during progessive image loading. Specifically it appears to create a cached rep with the original size. Reviewed by Chris. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): * WebCoreSupport.subproj/WebImageRendererFactory.m: (-[WebImageRendererFactory imageRendererWithMIMEType:]): * WebView.subproj/WebPreferences.h: Updated headerdoc comments. 2003-05-27 Chris Blumenberg Fixed: 3233442 - Crash in -[WebNetscapePluginPackage load] at http://www.adultswim.com/ Reviewed by mjs. * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]): don't call NPP_Shutdown if the plug-in fails to load 2003-05-27 Chris Blumenberg Don't load and save icons if the icon DB directory default is not set. Reviewed by darin. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _createFileDatabase]): don't create the DB if the default is not set (-[WebIconDatabase _loadIconDictionaries]): don't load the dictionaries if the DB doesn't exist (-[WebIconDatabase _updateFileDatabase]): don't update the DB if it doesn't exist * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]): don't load icons if the icon DB directory default is not set 2003-05-27 Maciej Stachowiak Rolled in fix from Safari-80~1-branch 2003-05-27 Maciej Stachowiak Reviewed by Darin. * WebKit.pbproj/project.pbxproj: Removed no longer needed and harmful flag. 2003-05-27 Richard Williamson Fix for IB. Reviewed by Eric Seymour. * WebView.subproj/WebPreferences.m: (-[WebPreferences initWithIdentifier:]): Added retain to uniqued instance. (As we did recently for initWithCoder:). 2003-05-27 Chris Blumenberg Fixed: 3270013 - Exception raised when visiting http://www.shutterfly.com/favicon.ico Reviewed by john. * WebCoreSupport.subproj/WebImageRendererFactory.m: (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]): return nil if the image has no representations 2003-05-27 Chris Blumenberg Fixed: 3242864 - repro assertion failure in WebIconDatabase.m for www.shutterfly.com Reviewed by john. * Misc.subproj/WebIconLoader.m: (-[WebIconLoader connectionDidFinishLoading:]): don't set the icon on the DB if it has no representations 2003-05-27 Richard Williamson Fixes for IB. Reviewed by Eric Seymour. * WebView.subproj/WebPreferences.m: (-[WebPreferences initWithCoder:]): Added retain to uniqued instance * WebView.subproj/WebView.m: (-[WebView initWithCoder:]): (-[WebView setPreferences:]): Added release check to global uniquing dictionary. 2003-05-23 Richard Williamson Tweaks for IB. Updated WebView and WebPreferences to use keyed archiving. Added private method to export settable user defaults keys. Reviewed by Ken. * WebView.subproj/WebPreferences.m: (-[WebPreferences initWithCoder:]): (+[WebPreferences _userDefaultsKeysForIB]): * WebView.subproj/WebPreferencesPrivate.h: * WebView.subproj/WebView.m: (-[WebView initWithCoder:]): 2003-05-23 Richard Williamson Added export of _WebHistoryItemChangedNotification. * WebKit.exp: 2003-05-23 Chris Blumenberg Fixed: 3259426 - Can't copy mailto links to clipboard Reviewed by john. * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): offer "Copy Link to Clipboard" for all links 2003-05-22 Richard Williamson *** Public API change *** 100% compatible. Added notification when history items change values. Fixed 3265672 Reviewed by John. * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: (-[WebHistoryItem setAlternateTitle:]): (-[WebHistoryItem setURL:]): (-[WebHistoryItem setOriginalURLString:]): (-[WebHistoryItem setTitle:]): (-[WebHistoryItem _setLastVisitedTimeInterval:]): 2003-05-22 Richard Williamson Fixed 3266464. Build problem on panther caused by overly pedantic gcc. Reviewed by John. * WebView.subproj/WebPreferences.m: (-[WebPreferences initWithCoder:]): * WebView.subproj/WebView.m: (-[WebView initWithCoder:]): 2003-05-22 Richard Williamson Add _web to method in category name. Fixed 3266102. @selector missing ":". Reviewed by Darin. * WebView.subproj/WebPreferences.m: (+[WebPreferences _removeReferenceForIdentifier:]): (-[NSMutableDictionary _web_checkLastReferenceForIdentifier:]): 2003-05-22 Darin Adler Reviewed by John. - removed all entries except for jaguar.com because: a) most of these sites now work fine without the spoofing or have gone away b) nj.com and oregonlive.com do not work, but the spoofing committee (Mark, Don, Dave, and me) decided we should stop spoofing and get them to fix the sites instead If we can resolve jaguar.com in a similar way, we can remove the spoofing feature altogether. * WebView.subproj/WebUserAgentSpoofTable.gperf: Removed all but jaguar.com. * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated. 2003-05-21 Richard Williamson *** Public API Change *** The fix for 3265442 requires new API. This API is an addition that is 100% compatible with the existing API. Provide support for IB to palettize WebView. Fixed 3265442. Fixed 3263106. Reviewed by Chris. * WebView.subproj/WebPreferences.h: * WebView.subproj/WebPreferences.m: (-[WebPreferencesPrivate dealloc]): (-[WebPreferences init]): (-[WebPreferences initWithIdentifier:]): (-[WebPreferences initWithCoder:]): (-[WebPreferences encodeWithCoder:]): (+[WebPreferences standardPreferences]): (-[WebPreferences dealloc]): (-[WebPreferences identifier]): (-[WebPreferences _stringValueForKey:]): (-[WebPreferences _setStringValue:forKey:]): (-[WebPreferences _integerValueForKey:]): (-[WebPreferences _setIntegerValue:forKey:]): (-[WebPreferences _boolValueForKey:]): (-[WebPreferences _setBoolValue:forKey:]): (-[WebPreferences autosaves]): (+[WebPreferences _getInstanceForIdentifier:]): (+[WebPreferences _setInstance:forIdentifier:]): (+[WebPreferences _removeReferenceForIdentifier:]): (-[WebPreferences _postPreferencesChangesNotification]): (-[NSMutableDictionary _checkLastReferenceForIdentifier:]): * WebView.subproj/WebPreferencesPrivate.h: * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (-[WebView _commonInitializationFrameName:groupName:]): (-[WebView initWithCoder:]): (-[WebView encodeWithCoder:]): (-[WebView dealloc]): (-[WebView setPreferencesIdentifier:]): (-[WebView preferencesIdentifier]): 2003-05-21 Chris Blumenberg Fixed data source leak when viewing standalone plug-in content. Reviewed by rjw. * Plugins.subproj/WebBaseNetscapePluginStream.h: don't inherit from WebBaseResourceHandleDelegate * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream transferMode]): new * Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation dealloc]): don't release the data source (-[WebNetscapePluginRepresentation setDataSource:]): don't retain the data source * Plugins.subproj/WebNetscapePluginStream.h: * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): create a WebNetscapePluginConnectionDelegate (-[WebNetscapePluginStream dealloc]): release the WebNetscapePluginConnectionDelegate (-[WebNetscapePluginStream start]): start the load on the WebNetscapePluginConnectionDelegate (-[WebNetscapePluginStream stop]): start the load on the WebNetscapePluginConnectionDelegate (-[WebNetscapePluginConnectionDelegate initWithStream:view:]): new class, inherits from WebBaseResourceHandleDelegate (-[WebNetscapePluginConnectionDelegate _releaseResources]): (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:]): (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): (-[WebNetscapePluginConnectionDelegate cancel]): * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate response]): new 2003-05-21 Maciej Stachowiak Reviewed by John. - fixed 3254473 - REGRESSION: nike help page reloads on mouseovers, triggered by onresize function REGRESSION: reload loop due to onresize handler (fortune.com, flipdog.com, stanford.edu) * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): Go back to checking for at least one layout instead of last layout event time. Measure size in a way that ignores whether the scrollbares are there or not. * WebView.subproj/WebHTMLViewPrivate.h: Remove last layout event time and add back laid out at least once boolean. 2003-05-21 Chris Blumenberg These problems: 3184359 - icon exception closing window while typing 3245476 - Safari-78 crashes or hangs after IMDB Find and using the history menu to go back ... are not or are no longer reproducible. They were caused by an exception raised in WebKit. Since we don't use exceptions in WebKit, I've replaced the exception with an assert. Reviewed by john. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _releaseFutureIconForURL:]): assert instead of exception if failure 2003-05-21 Ed Voas - fixed 3262868: Update Carbon WebKit API prefixes - fixed 3264980: Carbon support in WebKit needs to route mouse events properly Reviewed by Richard. * Carbon.subproj/CarbonUtils.h: * Carbon.subproj/CarbonUtils.m: (WebInitForCarbon): (WebConvertNSImageToCGImageRef): * Carbon.subproj/HIWebView.h: * Carbon.subproj/HIWebView.m: (HIWebViewGetWebView): (OwningWindowChanged): (WindowHandler): (HIWebViewEventHandler): * WebKit.exp: 2003-05-21 Vicki Murley Reviewed by john - fixed 3234553: Safari and its frameworks should link using order files * WebKit.order: Added. * WebKit.pbproj/project.pbxproj: set SECTORDER_FLAGS = -sectorder __TEXT __text WebKit.order; 2003-05-20 Richard Williamson Fixed 3262825. Fixed 3245625. Fixed 3262547. Recursively check items when going back/forward to ensure all frame URLs are correct. Added some logging to help diagnose back/forward problems. Reviewed by John. * History.subproj/WebHistory.m: (-[WebHistory addItem:]): * Misc.subproj/WebKitLogging.h: * Misc.subproj/WebKitLogging.m: * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithRequest:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem:]): (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): (-[WebFrame _transitionToCommitted:]): (-[WebFrame _URLsMatchItem:]): (-[WebFrame _loadItem:withLoadType:]): === Safari-80 === 2003-05-20 Ken Kocienda Reviewed by Darin Due to some header file changes in Foundation on Panther, Tweaked some includes so that WebKit builds on Jaguar and Panther. * Carbon.subproj/CarbonWindowFrame.m: * Plugins.subproj/WebNetscapePluginPackage.m: * Plugins.subproj/WebPluginPackage.m: 2003-05-19 Maciej Stachowiak - fixed 3261096 - Make WebKit an umbrella framework * WebKit.pbproj/project.pbxproj: Build WebKit as a public umbrella framework when doing a B&I build. 2003-05-19 Ken Kocienda Reviewed by Darin * Panels.subproj/WebAuthenticationPanel.m: Now imports Foundation/NSURLCredential.h * WebCoreSupport.subproj/WebCookieAdapter.m: Now imports Foundation/NSHTTPCookie.h 2003-05-19 Ken Kocienda Reviewed by Darin Changed imports to include headers from Foundation instead of WebFoundation. Removed WebFoundation.framework as a dependency in the project file. * History.subproj/WebHistory.m: * History.subproj/WebHistoryItem.m: * History.subproj/WebHistoryPrivate.m: * History.subproj/WebURLsWithTitles.m: * Misc.subproj/WebDownload.h: * Misc.subproj/WebDownload.m: * Misc.subproj/WebFileDatabase.m: * Misc.subproj/WebIconDatabase.m: * Misc.subproj/WebIconLoader.m: * Misc.subproj/WebKitErrors.m: * Misc.subproj/WebKitErrorsPrivate.h: * Misc.subproj/WebNSPasteboardExtras.m: * Misc.subproj/WebNSViewExtras.m: * Panels.subproj/WebAuthenticationPanel.h: * Panels.subproj/WebAuthenticationPanel.m: * Panels.subproj/WebPanelAuthenticationHandler.h: * Panels.subproj/WebPanelAuthenticationHandler.m: * Plugins.subproj/WebBaseNetscapePluginStream.m: * Plugins.subproj/WebBaseNetscapePluginView.m: * Plugins.subproj/WebNetscapePluginDocumentView.m: * Plugins.subproj/WebNetscapePluginEmbeddedView.m: * Plugins.subproj/WebNetscapePluginRepresentation.m: * Plugins.subproj/WebNetscapePluginStream.m: * Plugins.subproj/WebNullPluginView.m: * Plugins.subproj/WebPluginController.m: * WebCoreSupport.subproj/WebBridge.m: * WebCoreSupport.subproj/WebCookieAdapter.m: * WebCoreSupport.subproj/WebImageRendererFactory.m: * WebCoreSupport.subproj/WebSubresourceClient.m: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebBaseResourceHandleDelegate.m: * WebView.subproj/WebDataProtocol.h: * WebView.subproj/WebDataProtocol.m: * WebView.subproj/WebDataSource.m: * WebView.subproj/WebDataSourcePrivate.m: * WebView.subproj/WebDefaultContextMenuDelegate.m: * WebView.subproj/WebDefaultFrameLoadDelegate.m: * WebView.subproj/WebDefaultPolicyDelegate.m: * WebView.subproj/WebDefaultResourceLoadDelegate.m: * WebView.subproj/WebDefaultUIDelegate.m: * WebView.subproj/WebFrame.m: * WebView.subproj/WebFramePrivate.m: * WebView.subproj/WebFrameView.m: * WebView.subproj/WebFrameViewPrivate.m: * WebView.subproj/WebHTMLRepresentation.m: * WebView.subproj/WebHTMLViewPrivate.m: * WebView.subproj/WebImageRepresentation.m: * WebView.subproj/WebMainResourceClient.m: * WebView.subproj/WebPreferences.m: * WebView.subproj/WebTextRepresentation.m: * WebView.subproj/WebTextView.m: * WebView.subproj/WebUIDelegate.h: * WebView.subproj/WebView.m: * WebView.subproj/WebViewPrivate.m: 2003-05-16 Maciej Stachowiak Reviewed by John. - fixed 3255088 - repro crash in WebCredentialStorage remembering password from onlinetrafficsafety.com * WebView.subproj/WebFormDelegate.h: * WebView.subproj/WebFormDelegate.m: (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]): Expect sourceFrame argument. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Include source frame in form state. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Include source frame in form state. Post directly to the target frame if it exists, since we want the form state to contain the right source frame. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Pass source frame to form delegate. (-[WebFormState initWithForm:values:sourceFrame:]): New sourceFrame argument. (-[WebFormState dealloc]): release sourceFrame. (-[WebFormState sourceFrame]): New method. 2003-05-16 Ken Kocienda Reviewed by Gramps Moved in WebDatabase and WebFileDatabase files from WebFoundation. Copied NSLRUFileList from WebFoundation and renamed to WebLRUFileList. Updated StringsNotToBeLocalized.txt. * English.lproj/StringsNotToBeLocalized.txt: * Misc.subproj/WebDatabase.h: * Misc.subproj/WebDatabase.m: * Misc.subproj/WebFileDatabase.h: * Misc.subproj/WebFileDatabase.m: (-[WebFileDatabaseOp initWithCode:key:object:]): (-[WebFileDatabaseOp perform:]): (SetThreadPriority): (-[WebFileDatabase _createLRUList:]): (-[WebFileDatabase _truncateToSizeLimit:]): (+[WebFileDatabase _syncLoop:]): (-[WebFileDatabase setObject:forKey:]): (-[WebFileDatabase removeObjectForKey:]): (-[WebFileDatabase removeAllObjects]): (-[WebFileDatabase objectForKey:]): (-[WebFileDatabase performSetObject:forKey:]): (-[WebFileDatabase performRemoveObjectForKey:]): (-[WebFileDatabase close]): (-[WebFileDatabase lazySync:]): (-[WebFileDatabase sync]): (-[WebFileDatabase count]): (-[WebFileDatabase usage]): * Misc.subproj/WebIconDatabase.m: * Misc.subproj/WebKitLogging.h: * Misc.subproj/WebKitLogging.m: * Misc.subproj/WebLRUFileList.h: Added. * Misc.subproj/WebLRUFileList.m: Added. (WebLRUFileListCreate): (WebLRUFileListRelease): (WebLRUFileListRebuildFileDataUsingRootDirectory): (WebLRUFileListRemoveFileWithPath): (WebLRUFileListTouchFileWithPath): (WebLRUFileListSetFileData): (WebLRUFileListGetPathOfOldestFile): (WebLRUFileListRemoveOldestFileFromList): (WebLRUFileListContainsItem): (WebLRUFileListGetFileSize): (WebLRUFileListCountItems): (WebLRUFileListGetTotalSize): (WebLRUFileListRemoveAllFilesFromList): (compareTimes): (cStringEqual): (cStringHash): (NSLRUFileDataEqual): (WebLRUFileListGetOldestFileData): (NSLRUFileDataReleaseApplierFunction): (NSLRUFileDataRelease): (NSLRUFileDataBinaryHeapDumpApplierFunction): (NSLRUFileDataDictDumpApplierFunction): (WebLRUFileListDescription): * WebKit.pbproj/project.pbxproj: 2003-05-15 Chris Blumenberg Fixed: 3199310 - No user agent included in favicon.ico requests Reviewed by kocienda. * Misc.subproj/WebIconLoader.h: * Misc.subproj/WebIconLoader.m: (-[WebIconLoaderPrivate dealloc]): use the request ivar (-[WebIconLoader URL]): ditto (-[WebIconLoader startLoading]): ditto (-[WebIconLoader connection:didReceiveData:]): ditto (-[WebIconLoader connectionDidFinishLoading:]): ditto * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]): create a icon loader with a request with the extra fields set 2003-05-15 Chris Blumenberg Fixed: 3155760 - Plug-in MIME and extension mapping should be case-insensitive Reviewed by john. * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]): store the extensions and MIMEs as lowercase strings (-[NSArray _web_lowercaseStrings]): new, returns array of lowercase strings * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage getPluginInfoFromResources]): store the extensions and MIMEs as lowercase strings * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase pluginForMIMEType:]): lowercase the passed MIME type (-[WebPluginDatabase pluginForExtension:]): lowercase the passed extension === Safari-79 === 2003-05-15 Ken Kocienda Reviewed by John Updated for recent changes. * English.lproj/StringsNotToBeLocalized.txt: 2003-05-15 Ken Kocienda Reviewed by John Changed the names of some extras files in WebFoundation: Updated imports and usages in this project. WebNSCalendarDateExtras -> NSCalendarDate_NSURLExtras WebNSDataExtras -> NSData_NSURLExtras WebNSDictionaryExtras -> NSDictionary_NSURLExtras WebNSErrorExtras -> NSError_NSURLExtras WebNSFileManagerExtras -> NSFileManager_NSURLExtras WebNSObjectExtras -> NSObject_NSURLExtras WebNSStringExtras -> NSString_NSURLExtras WebNSURLExtras -> NSURL_NSURLExtras WebNSUserDefaultsExtras -> NSUserDefaults_NSURLExtras * History.subproj/WebHistory.m: * History.subproj/WebHistoryItem.m: * History.subproj/WebHistoryPrivate.m: * History.subproj/WebURLsWithTitles.m: * Misc.subproj/WebIconDatabase.m: * Misc.subproj/WebIconLoader.m: * Misc.subproj/WebKitErrors.m: * Misc.subproj/WebNSPasteboardExtras.m: * Misc.subproj/WebNSViewExtras.m: * Panels.subproj/WebAuthenticationPanel.m: * Panels.subproj/WebPanelAuthenticationHandler.m: * Plugins.subproj/WebBaseNetscapePluginStream.m: * Plugins.subproj/WebBaseNetscapePluginView.m: * Plugins.subproj/WebNetscapePluginRepresentation.m: * Plugins.subproj/WebNullPluginView.m: * WebCoreSupport.subproj/WebBridge.m: * WebCoreSupport.subproj/WebCookieAdapter.m: * WebCoreSupport.subproj/WebSubresourceClient.m: * WebView.subproj/WebBaseResourceHandleDelegate.m: * WebView.subproj/WebDataProtocol.m: * WebView.subproj/WebDataSource.m: * WebView.subproj/WebDataSourcePrivate.m: * WebView.subproj/WebDefaultResourceLoadDelegate.m: * WebView.subproj/WebFrame.m: * WebView.subproj/WebFramePrivate.m: * WebView.subproj/WebFrameView.m: * WebView.subproj/WebFrameViewPrivate.m: * WebView.subproj/WebHTMLViewPrivate.m: * WebView.subproj/WebMainResourceClient.m: * WebView.subproj/WebPreferences.m: * WebView.subproj/WebView.m: * WebView.subproj/WebViewPrivate.m: 2003-05-14 Ken Kocienda Reviewed by Chris WebKitSystemBits files that contain a system memory size getter. This function is used in a few of places in WebKit. * History.subproj/WebBackForwardList.m: * Misc.subproj/WebKitSystemBits.h: Added. * Misc.subproj/WebKitSystemBits.m: Added. (initCapabilities): (WebSystemMainMemory): * WebCoreSupport.subproj/WebBridge.m: * WebCoreSupport.subproj/WebTextRendererFactory.m: * WebKit.pbproj/project.pbxproj: 2003-05-14 Ken Kocienda Reviewed by David File and class renaming in WebFoundation: WebFileTypeMappings -> NSURLFileTypeMappings * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge MIMETypeForPath:]): * WebCoreSupport.subproj/WebImageRendererFactory.m: (-[WebImageRendererFactory supportedMIMETypes]): * WebView.subproj/WebDataSource.m: * WebView.subproj/WebMainResourceClient.m: * WebView.subproj/WebViewPrivate.m: (+[WebView suggestedFileExtensionForMIMEType:]): (+[WebView _MIMETypeForFile:]): 2003-05-14 Ken Kocienda Reviewed by Maciej Copied WebLocalizableStrings.[hm] from WebFoundation to WebKit Updated all imports. Added logging exported symbols to exports file. * Misc.subproj/WebKitErrors.m: * Misc.subproj/WebLocalizableStrings.h: Added. * Misc.subproj/WebLocalizableStrings.m: Added. * Panels.subproj/WebAuthenticationPanel.m: * WebCoreSupport.subproj/WebBridge.m: * WebCoreSupport.subproj/WebFileButton.m: * WebCoreSupport.subproj/WebViewFactory.m: * WebKit.exp: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDefaultContextMenuDelegate.m: 2003-05-14 Maciej Stachowiak Reviewed by Don. - fixed 3257307 - REGRESSION: crash using onFocus="this.blur()" * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge makeFirstResponder:]): Let the WebView know that this is a programmatic focus. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView becomeFirstResponder]): Check if this is a programmatic focus from WebCore - if so, treat it like a direct focus, even if there is a selection direction set. * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebView _pushPerformingProgrammaticFocus]): New method to indicate upcoming programmatic focus. (-[WebView _popPerformingProgrammaticFocus]): New method to indicate end of programmatic focus. Needs to nest with the previous. (-[WebView _isPerformingProgrammaticFocus]): Check if we are handling a programmatic focus from WebCore. 2003-05-14 Ken Kocienda Reviewed by John Copied WebAssertions.[hm] from WebFoundation to WebKit Updated all imports. Added logging exported symbols to exports file. * History.subproj/WebBackForwardList.m: * History.subproj/WebHistory.m: * History.subproj/WebHistoryItem.m: * Misc.subproj/WebAssertions.h: Added. * Misc.subproj/WebAssertions.m: Added. (vprintf_stderr_objc): (WebReportAssertionFailure): (WebReportAssertionFailureWithMessage): (WebReportArgumentAssertionFailure): (WebReportFatalError): (WebReportError): (WebLog): * Misc.subproj/WebKitLogging.h: * Misc.subproj/WebNSPasteboardExtras.m: * Misc.subproj/WebStringTruncator.m: * Panels.subproj/WebAuthenticationPanel.m: * Panels.subproj/WebPanelAuthenticationHandler.m: * Plugins.subproj/WebBaseNetscapePluginView.m: * Plugins.subproj/WebNetscapePluginDocumentView.m: * Plugins.subproj/WebNetscapePluginRepresentation.m: * WebCoreSupport.subproj/WebBridge.m: * WebCoreSupport.subproj/WebCookieAdapter.m: * WebCoreSupport.subproj/WebFileButton.m: * WebCoreSupport.subproj/WebImageRenderer.m: * WebCoreSupport.subproj/WebImageRendererFactory.m: * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.m: * WebCoreSupport.subproj/WebSubresourceClient.m: * WebCoreSupport.subproj/WebTextRendererFactory.m: * WebCoreSupport.subproj/WebViewFactory.m: * WebKit.exp: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebBaseResourceHandleDelegate.m: * WebView.subproj/WebClipView.m: * WebView.subproj/WebDataProtocol.m: * WebView.subproj/WebDataSource.m: * WebView.subproj/WebDefaultPolicyDelegate.m: * WebView.subproj/WebFrameViewPrivate.m: * WebView.subproj/WebHTMLViewPrivate.m: * WebView.subproj/WebImageView.m: * WebView.subproj/WebTextRepresentation.m: * WebView.subproj/WebTextView.m: * WebView.subproj/WebView.m: * WebView.subproj/WebViewPrivate.m: 2003-05-13 Richard Williamson Fixed 3014661. We now display (a lame Lemay) image when an image fails to load. We also display the alt text if it fits within the image container above the missing image icon. Alt text is also now shown if image loading is disabled. Reviewed by John. * Resources/missing_image.tiff: Added. * WebCoreSupport.subproj/WebImageRenderer.h: * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer initWithMIMEType:]): (-[WebImageRenderer initWithData:MIMEType:]): (-[WebImageRenderer initWithContentsOfFile:]): (-[WebImageRenderer copyWithZone:]): (-[WebImageRenderer isNull]): (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): * WebCoreSupport.subproj/WebImageRendererFactory.m: (-[WebImageRendererFactory imageRendererWithName:]): * WebKit.pbproj/project.pbxproj: 2003-05-13 Darin Adler Reviewed by Chris and Richard. - fixed 3257296 -- REGRESSION: crash in WebImageRendererFactory (movietickets.com) * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer initWithMIMEType:]): Check for nil. (-[WebImageRenderer initWithData:MIMEType:]): Check for nil, also don't check for GIF signature until after the object is allocated. 2003-05-12 Maciej Stachowiak Reviewed by Darin. - fixed 3254484 - Add a way to print JavaScript exceptions to the console via the debug menu * Misc.subproj/WebCoreStatistics.h: * Misc.subproj/WebCoreStatistics.m: (+[WebCoreStatistics shouldPrintExceptions]): Call through to WebCore. (+[WebCoreStatistics setShouldPrintExceptions:]): Call through to WebCore. 2003-05-13 Darin Adler Reviewed by Ken. - fixed 3120355 -- importing IE favorites garbles non-ASCII characters (esp. bad for non-Roman languages) * WebView.subproj/WebViewPrivate.h: Added _decodeData:. * WebView.subproj/WebViewPrivate.m: (+[WebView _decodeData:]): Added. Calls through to WebCore. 2003-05-13 Maciej Stachowiak Reviewed by Darin. - renamed NSErrorFailingURLKey to NSErrorFailingURLStringKey * Misc.subproj/WebKitErrors.m: (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]): 2003-05-13 John Sullivan fixed build break Reviewed by Darin * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer initWithData:MIMEType:]): move #ifdefs; two required methods were being #ifdeffed out on Panther 2003-05-12 Richard Williamson Fixed 3251316. *** Public API Change *** Added -(void)setGroupName:(NSString *) and -(NSString *)groupName; Reviewed by mjs. * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: 2003-05-12 Richard Williamson Fixed 3194614 and 3194751. Add SPI to set 'renderless' mode for a frame. Reviewed by darin. * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: WebImageRenderers now get a MIME type that can be used to faciliate selection of an appropriate decoder. Reviewed by darin. * WebCoreSupport.subproj/WebImageRenderer.h: * WebCoreSupport.subproj/WebImageRenderer.m: * WebCoreSupport.subproj/WebImageRendererFactory.m: * WebKit.pbproj/project.pbxproj: 2003-05-12 John Sullivan - addition to Darin's previous patch; when checking whether a request can be handled, take into account the schemes that were registered without an NSURLProtocol getting involved. Reviewed by Darin * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (+[WebView _canHandleRequest:]): like NSURLConnection canHandleRequest, but also takes into account the schemes that were registered without an NSURLProtocol * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): use +[WebView _canHandleRequest] instead of +[NSURLConnection canHandleRequest] * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): ditto * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): ditto * WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueAfterNavigationPolicy:]): ditto 2003-05-12 Darin Adler Reviewed by John. - fixed 3254576 -- REGRESSION: visiting bookmarks view sometimes waits for other tabs to load first * WebView.subproj/WebViewPrivate.h: Added new SPI for registering view and represenation classes by scheme rather than MIME type. * WebView.subproj/WebViewPrivate.m: (+[WebView _registerViewClass:representationClass:forURLScheme:]]): Added. (+[WebView _generatedMIMETypeForURLScheme:]): Added. Makes a special MIME type for us only by the special "register scheme" mechanism. (+[WebView _representationExistsForURLScheme:]): Added. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): Check for schemes that have their own representation, and handle them just like empty documents, loading no data, and doing it synchronously. (-[WebMainResourceClient loadWithRequest:]): Same thing here, only also arrange to get the appropriate MIME type. (-[WebMainResourceClient setDefersCallbacks:]): Same check here. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 2003-05-11 Darin Adler * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): Added a check for nil that I forgot. 2003-05-10 Darin Adler Reviewed by John. - fixed 3254473 - REGRESSION: reload loop due to onresize handler (fortune.com, flipdog.com, stanford.edu) * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): Don't send out a resize event any time during the first event that results in a layout. The old check was merely for the first layout, but we need to ignore any number of layouts that are all part of handling a first event. Some day we may need to refine this rule even further, but this fixes the present bug. * WebView.subproj/WebHTMLViewPrivate.h: Goodbye laidOutAtLeastOnce, hello firstLayoutEventTime. 2003-05-10 Darin Adler Reviewed by Maciej. - fixed 3250119 -- REGRESSION: WebFrame leaked after showing pop-up menu The leak was caused by various code storing the "element" dictionary that describes where a click took place. * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): Don't store the element in a retained global. Instead attach it as the represented object to each menu item. (-[WebDefaultUIDelegate openNewWindowWithURL:element:]): Pass in an element. (-[WebDefaultUIDelegate downloadURL:element:]): Ditto. (-[WebDefaultUIDelegate openLinkInNewWindow:]): Get element from represented object. (-[WebDefaultUIDelegate downloadLinkToDisk:]): Ditto. (-[WebDefaultUIDelegate copyLinkToClipboard:]): Ditto. (-[WebDefaultUIDelegate openImageInNewWindow:]): Ditto. (-[WebDefaultUIDelegate downloadImageToDisk:]): Ditto. (-[WebDefaultUIDelegate copyImageToClipboard:]): Ditto. (-[WebDefaultUIDelegate openFrameInNewWindow:]): Ditto. * WebView.subproj/WebDefaultUIDelegate.h: Remove element field. * WebView.subproj/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate dealloc]): No need to release element any more. * WebView.subproj/WebHTMLViewPrivate.h: Remove dragElement instance variable. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLViewPrivate dealloc]): No need to release dragElement any more. (-[WebHTMLView _handleMouseDragged:]): Get element again here. The old code used to get it from an instance variable, but that is unnecessary. (-[WebHTMLView _mayStartDragWithMouseDragged:]): Don't store the element. 2003-05-09 Maciej Stachowiak Reviewed by Darin. Updated for NSURLResponse API changes. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): * WebView.subproj/WebDataProtocol.m: (-[WebDataProtocol startLoading]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient loadWithRequest:]): 2003-05-09 Maciej Stachowiak Reviewed by Darin. - removed WebAuthenticationChallenge - adjusted everything for removal of NSURLAuthenticationChallenge subclasses. * Misc.subproj/WebDownload.m: (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): (-[WebDownloadInternal download:didCancelAuthenticationChallenge:]): * Panels.subproj/WebPanelAuthenticationHandler.m: (-[WebPanelAuthenticationHandler startAuthentication:window:]): (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): * WebView.subproj/WebAuthenticationChallenge.h: Removed. * WebView.subproj/WebAuthenticationChallenge.m: Removed. * WebView.subproj/WebAuthenticationChallengeInternal.h: Removed. * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate useCredential:forAuthenticationChallenge:]): (-[WebBaseResourceHandleDelegate continueWithoutCredentialForAuthenticationChallenge:]): (-[WebBaseResourceHandleDelegate cancelAuthenticationChallenge:]): (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): (-[WebBaseResourceHandleDelegate setIdentifier:]): * WebView.subproj/WebDefaultResourceLoadDelegate.m: (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]): (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]): * WebView.subproj/WebResourceLoadDelegate.h: * Misc.subproj/WebKit.h: Remove headers that are gone. * WebKit.exp: Remove classes that are gone. * WebKit.pbproj/project.pbxproj: Remove files that are gone. 2003-05-09 David Hyatt Change the minfontsize to 1, i.e., to have no minimum. This matches other browsers while still retaining the pref control in WebKit. Fixes www.gamespot.com. The bug is 3254489. Reviewed by darin * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): 2003-05-09 Maciej Stachowiak Reviewed by John. Rename connection:didFailLoadingWithError: to connection:didFailWithError: to match NSURLDownload and NSURLProtocol. * Misc.subproj/WebIconLoader.m: (-[WebIconLoader connection:didFailWithError:]): * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream connection:didFailWithError:]): * WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient connection:didFailWithError:]): * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:]): (-[WebMainResourceClient connection:didFailWithError:]): 2003-05-09 Richard Williamson Apply the same check used to by-pass fast rendering in the fix to 3146161 to measurement. Reviewed by Ken. * Misc.subproj/WebKitNSStringExtras.m: 2003-05-09 Ken Kocienda Reviewed by John Removed unneeded import of WebFoundation/WebQueue.h. * WebCoreSupport.subproj/WebTextRendererFactory.h 2003-05-08 Richard Williamson Fixed 3146161. Use the AppKit to render complex text in the simple string drawing method. Reviewed by John. * Misc.subproj/WebKitNSStringExtras.m: 2003-05-08 Richard Williamson Make representations without intrinsic titles return nil. Reviewed by John. * Plugins.subproj/WebNetscapePluginRepresentation.m: * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: * WebView.subproj/WebImageRepresentation.m: * WebView.subproj/WebTextRepresentation.m: 2003-05-08 Richard Williamson Fixed 3252460. *** Public API Change *** Added title method to WebDocumentRepresentation. Fixed 3250352. Check that delegate implements method. Reviewed by hyatt. * WebView.subproj/WebDataSource.m: (-[WebDataSource pageTitle]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): (-[WebDataSource _title]): * WebView.subproj/WebDocument.h: * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation title]): * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation title]): * WebView.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation title]): * WebView.subproj/WebTextRepresentation.h: * WebView.subproj/WebTextRepresentation.m: (-[WebTextRepresentation dealloc]): (-[WebTextRepresentation setDataSource:]): (-[WebTextRepresentation title]): 2003-05-08 Darin Adler * WebKit.pbproj/project.pbxproj: Fixed paths for non-Panther builds. 2003-05-08 John Sullivan Closed up all gaps in WebKit between "ASSERT" and "(" to make Darin's day a little brighter. Reviewed by Darin * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): (-[WebBridge handleMouseDragged:]): (-[WebBridge mayStartDragWithMouseDragged:]): * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate _releaseResources]): (-[WebBaseResourceHandleDelegate dealloc]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): * WebView.subproj/WebViewPrivate.m: (-[WebView _preferencesChangedNotification:]): 2003-05-08 John Sullivan - fixed 3252632 -- Registering a WebDocumentView too early breaks built-in image viewing A startup-performance optimization was breaking the case where clients registered WebDocumentView types before the first WebFrameView had been created. The fix is to allow registering WebDocumentView types without retrieving the built-in image types. Reviewed by Darin * WebView.subproj/WebFrameViewPrivate.h: remove _viewTypes; expose _viewTypesAllowImageTypeOmission. All callers have to specify the boolean now. * WebView.subproj/WebFrameViewPrivate.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]): assert that the list of image types isn't nil before inserting them; insert each image type only if not already present. (+[WebFrameView _viewClassForMIMEType:]): replace _viewTypes with _viewTypesAllowImageTypeOmission * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase init]): replace _viewTypes with _viewTypesAllowImageTypeOmission * WebView.subproj/WebDataSourcePrivate.h: remove _repTypes; expose _repTypesAllowImageTypeOmission. All callers have to specify the boolean now. * WebView.subproj/WebDataSourcePrivate.m: (+[WebDataSource _representationClassForMIMEType:]): replace _repTypes with _repTypesAllowImageTypeOmission * WebView.subproj/WebView.m: (+[WebView registerViewClass:representationClass:forMIMEType:]): replace _viewTypes with _viewTypesAllowImageTypeOmission, and replace _repTypes with _repTypesAllowImageTypeOmission 2003-05-08 Darin Adler Reviewed by Richard. - fixed 3242414 -- REGRESSION: PLT times reported 10% slower after emptying cache with B/F cache enabled - made it only compute the page cache size once * History.subproj/WebBackForwardList.m: (-[WebBackForwardList init]): Set initial page cache size to special value, COMPUTE_DEFAULT_PAGE_CACHE_SIZE. (-[WebBackForwardList setPageCacheSize:]): Remove code to set pageCacheSizeModified and call to _setUsesPageCache:, not needed any more. (-[WebBackForwardList pageCacheSize]): If cache size is COMPUTE_DEFAULT_PAGE_CACHE_SIZE, then compute it. The old code would compute the cache size each time this method was called until pageCacheSizeModified was set. (-[WebBackForwardList _usesPageCache]): Just check pageCacheSize for 0 to see if we use a page cache. No need for a separate boolean any more. * History.subproj/WebHistoryItemPrivate.h: Remove _setUsesPageCache (gone altogether) and _clearPageCache (now only used internally). === Safari-78 === 2003-05-07 Darin Adler Reviewed by John. - fixed 3127927 -- web view should not use primary selection color when it's not first responder * WebView.subproj/WebHTMLView.m: (-[WebHTMLView updateTextBackgroundColor]): Added. Sets the usesInactiveTextBackgroundColor flag on the bridge, and does setNeedsDisplayInRect: of the selectionRect if the state changes. (-[WebHTMLView viewDidMoveToWindow]): Call updateTextBackgroundColor. (-[WebHTMLView windowDidBecomeKey:]): Call updateTextBackgroundColor. (-[WebHTMLView windowDidResignKey:]): Call updateTextBackgroundColor. (-[WebHTMLView becomeFirstResponder]): Call updateTextBackgroundColor. (-[WebHTMLView resignFirstResponder]): Call updateTextBackgroundColor. - fixed up WebHistoryItem initializers so there is a designated initializer * History.subproj/WebHistoryItem.m: (-[WebHistoryItem init]): Call initWithURLString:title:lastVisitedTimeInterval:, which is the designated initializer. (-[WebHistoryItem initWithURL:title:]): Ditto. (-[WebHistoryItem initWithURL:target:parent:title:]): Ditto. - other changes * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate addItem:]): Fixed assertion to not use _lastVisitedDate; we're trying to get rid of calls to that method. 2003-05-07 Vicki Murley Reviewed by darin. - modify the Mixed build style to build optimized with symbols * WebKit.pbproj/project.pbxproj: removed OPTIMIZATION_CGLAGS 2003-05-06 Richard Williamson Fixed problem for HelpViewer. HV calls stopLoading in a webView:resource:didReceiveResponse. This causes the premature release of the connection delegate. Reviewed by Ken. * WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient connectionDidFinishLoading:]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate _releaseResources]): (-[WebBaseResourceHandleDelegate dealloc]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient stopLoadingForPolicyChange]): (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient continueAfterContentPolicy:]): (-[WebMainResourceClient connection:didReceiveResponse:]): (-[WebMainResourceClient connectionDidFinishLoading:]): 2003-05-06 Darin Adler - removed obsolete file that's still around for some reason * Downloads.subproj/WebDownload.m: Removed. 2003-05-06 Darin Adler - fixed crash on startup * History.subproj/WebHistoryItem.m: (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]): Allocate WebHistoryItemPrivate. 2003-05-06 Darin Adler - fixed 3249211 -- WebTextRenderer.h should not use "AttributeGroup" type for styleGroup * WebCoreSupport.subproj/WebTextRenderer.h: Update to use ATSStyleGroupPtr. 2003-05-06 Darin Adler Reviewed by Ken. - used ObjectAlloc to find large numbers of allocations on startup and get rid of some * History.subproj/WebHistoryItem.m: (-[WebHistoryItem initFromDictionaryRepresentation:]): Use the init method that takes a URL string so we don't have to create and then destroy a URL for each item we decode. * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate addItem:]): Use URLString instead of making and destroying a URL each time this is called. (-[WebHistoryPrivate removeItem:]): Ditto. (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]): Check URLString for nil; no reason to construct and then destroy a URL just to check validity. * WebCoreSupport.subproj/WebTextRendererFactory.m: (FontCacheKeyCopy): Added. (FontCacheKeyFree): Added. (FontCacheKeyEqual): Added. (FontCacheKeyHash): Added. (FontCacheValueRetain): Added. (FontCacheValueRelease): Added. (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]): Use a C struct for the font cache key instead of using an Objective-C object. This saves us an object allocation and deallocation when doing a lookup. Also took advantage of the CFDictionary ability to store NULL and distinguish it from "not found" so we don't need a separate set for cache misses. 2003-05-05 Maciej Stachowiak Reviewed by Richard. Fix build by separating mutating data protocol methods into category on NSMutableURLRequest. Also, formatting fixes. * WebView.subproj/WebDataProtocol.h: * WebView.subproj/WebDataProtocol.m: (+[NSURLRequest _webDataRequestURLForData:]): (-[NSURLRequest _webDataRequestData]): (-[NSURLRequest _webDataRequestEncoding]): (-[NSURLRequest _webDataRequestMIMEType]): (-[NSURLRequest _webDataRequestBaseURL]): (-[NSURLRequest _webDataRequestExternalRequest]): (-[NSMutableURLRequest _webDataRequestSetData:]): * WebView.subproj/WebFrame.m: 2003-05-04 Darin Adler Reviewed by Maciej. - fixed a storage leak * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): Release the timer before setting to nil. 2003-05-03 David Hyatt Add smallCaps boolean to the string measuring and drawing methods. Not actually supported yet. Reviewed by darin * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]): * Misc.subproj/WebStringTruncator.m: (stringWidth): * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer widthForCharacters:length:]): (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:smallCaps:fontFamilies:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:smallCaps:fontFamilies:]): 2003-05-04 Darin Adler Reviewed by John. - added validation to "Interface Builder" methods on WebView * WebView.subproj/WebView.h: Add NSUserInterfaceValidations protocol so that subclassers know that they can call [super validateUserInterfaceItem:]. * WebView.subproj/WebView.m: (-[WebView canMakeTextSmaller]): Simplify. (-[WebView canMakeTextLarger]): Simplify. (-[WebView _isLoading]): Added. (-[WebView validateUserInterfaceItem:]): Added. Checks for the six actions we implement, and returns NO if they are not valid. 2003-05-02 Maciej Stachowiak Reviewed by Richard. - reformatted method prototypes to match AppKit style - remove "Public header file" from headers that are not public - fix header doc @method names to match actual method names * Carbon.subproj/CarbonWindowAdapter.h: * Carbon.subproj/HIViewAdapter.h: * DOM.subproj/WebDOMDocument.h: * DOM.subproj/WebDOMNode.h: * History.subproj/WebBackForwardList.h: * History.subproj/WebHistoryItemPrivate.h: * History.subproj/WebHistoryPrivate.h: * History.subproj/WebURLsWithTitles.h: * Misc.subproj/WebIconDatabase.h: * Misc.subproj/WebIconLoader.h: * Misc.subproj/WebKitNSStringExtras.h: * Misc.subproj/WebUnicode.h: * Panels.subproj/WebPanelAuthenticationHandler.h: * Plugins.subproj/WebBasePluginPackage.h: * Plugins.subproj/WebNetscapePluginStream.h: * Plugins.subproj/WebNullPluginView.h: * Plugins.subproj/WebPluginViewFactory.h: * WebCoreSupport.subproj/WebGlyphBuffer.h: * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRendererFactory.h: * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebControllerSets.h: * WebView.subproj/WebDataProtocol.h: * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDebugDOMNode.h: * WebView.subproj/WebDocument.h: * WebView.subproj/WebFrame.h: * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFrameView.h: * WebView.subproj/WebHTMLRepresentation.h: * WebView.subproj/WebHTMLView.h: * WebView.subproj/WebMainResourceClient.h: * WebView.subproj/WebPolicyDelegate.h: * WebView.subproj/WebPolicyDelegatePrivate.h: * WebView.subproj/WebPreferencesPrivate.h: * WebView.subproj/WebRenderNode.h: * WebView.subproj/WebResourceLoadDelegate.h: * WebView.subproj/WebUIDelegate.h: * WebView.subproj/WebView.h: * WebView.subproj/WebViewPrivate.h: 2003-05-02 Maciej Stachowiak Reviewed by Darin. - fixed 2936175 - MALLORY: please implement onResize * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): If we just resized and we're not printing, make sure to send a resize event after the layout. 2003-05-02 Darin Adler Reviewed by John. - fixed 3236383 -- http://www.xy.com/ exception, crash loading main page * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge closeWindowSoon]): Replaces closeWindow. Schedule a closeWindow operation in the WebView. Important to not have the call's execution depend on whether this WebBridge or WebFrame is still around after the delay. * WebView.subproj/WebViewPrivate.h: Added _closeWindow. * WebView.subproj/WebViewPrivate.m: (-[WebView _closeWindow]): Make a webViewClose: call on the UI delegate. 2003-05-02 Darin Adler Reviewed by John. - first step in fixing 3236383 -- http://www.xy.com/ exception, crash loading main page Changed WebFrame to explicitly detach from the bridge so we don't have a stale pointer; also cleaned up WebBridge initialization. * WebCoreSupport.subproj/WebBridge.h: Added initWithWebFrame: and close methods, removed setWebFrame: method. * WebView.subproj/WebFrame.m: (-[WebFrame initWithName:webFrameView:webView:]): Use the new initWithWebFrame:. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]): Call close on the bridge. - fixed many places that call a WebView a "controller" * Misc.subproj/WebKitStatistics.h: * Misc.subproj/WebKitStatistics.m: * Misc.subproj/WebKitStatisticsPrivate.h: * Misc.subproj/WebNSViewExtras.m: * Plugins.subproj/WebBaseNetscapePluginView.h: * Plugins.subproj/WebBaseNetscapePluginView.m: * Plugins.subproj/WebNetscapePluginStream.m: * WebCoreSupport.subproj/WebBridge.m: * WebCoreSupport.subproj/WebSubresourceClient.m: * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: * WebView.subproj/WebControllerSets.h: * WebView.subproj/WebControllerSets.m: * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: * WebView.subproj/WebDefaultContextMenuDelegate.m: * WebView.subproj/WebFrame.m: * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFrameView.m: * WebView.subproj/WebFrameViewPrivate.h: * WebView.subproj/WebFrameViewPrivate.m: * WebView.subproj/WebImageView.m: * WebView.subproj/WebMainResourceClient.m: * WebView.subproj/WebTextView.m: * WebView.subproj/WebView.m: * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: 2003-05-01 John Sullivan - fixed 3246045 -- History items without a valid date in History.plist show up with unexpected dates in UI Reviewed by Darin. * History.subproj/WebHistoryItem.m: (-[WebHistoryItem initFromDictionaryRepresentation:]): don't set lastVisitedTimeInterval to [nil doubleValue], since this is random * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 2003-05-01 Richard Williamson Added missing header and alphabetized. Reviewed by Ken. * Misc.subproj/WebKit.h: 2003-05-01 Chris Blumenberg Fixed: 3234888 - REGRESSION: "can't add a plug-in to a defunct WebPluginController" error, then crash Fixed: 3226392 - REGRESSION: Safari crashed while loading Java applet at PopCap.com Reviewed by darin. * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame setController:]): fixed comment * WebView.subproj/WebView.m: (-[WebView dealloc]): call [self _close] * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebViewPrivate dealloc]): let the WebView class clear the frames (-[WebView _close]): remove self from controller set and detach and release frame === Safari-77 === 2003-05-01 John Sullivan - fixed 3245793 -- Launching Safari-75 after tip of tree erases all history Reviewed by Chris, Don * History.subproj/WebHistoryItem.m: keep using "lastVisitedDate" as the dictionary key, since old Safaris otherwise can't read the History file. (-[WebHistoryItem dictionaryRepresentation]): keep storing the time interval as a string, since old Safaris otherwise can't read the History file (-[WebHistoryItem initFromDictionaryRepresentation:]): read the stored date as a string and convert to a double, as we did before. 2003-05-01 Darin Adler Reviewed by John. - fixed 3169117 -- dragging while using a scroll wheel affects scroll movement * WebView.subproj/WebHTMLViewPrivate.m: (-[WebNSWindow nextEventMatchingMask:untilDate:inMode:dequeue:]): Just return nil when called with NSScrollWheelMask to work around the bug where any kind of event can be returned when this mask is passed. This will prevent scroll wheel events from being coalesced, but it's better than extracting events of all different types. Mouse moved events are particularly bad because they have deltaX/Y/Z and the scroll wheel code in NSScrollView treats them as if they were scroll wheel events. 2003-05-01 Ken Kocienda Reviewed by Darin Updated to use approved NSHTTPCookieStorage API. +sharedCookieManager -> +sharedHTTPCookieStorage -acceptPolicy -> -cookieAcceptPolicy -cookieRequestHeaderFieldsForURL: -> -cookiesForURL: -setCookiesFromResponseHeader:forURL:policyBaseURL: -> -setCookies:forURL:mainDocumentURL: * WebCoreSupport.subproj/WebCookieAdapter.m: (-[WebCookieAdapter cookiesEnabled]): (-[WebCookieAdapter cookiesForURL:]): (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]): 2003-05-01 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 2003-04-30 Kenneth Kocienda Reviewed by Richard Modified WebFoundation error constant names. Names now begin with NSURLError prefix. * Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate cancelledError]): * WebView.subproj/WebDataProtocol.m: (-[WebDataProtocol startLoading]): * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _stopLoadingInternal]): 2003-04-30 Kenneth Kocienda Reviewed by Richard Use NSURLResponse new SPI methods to set instance variables. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): * WebView.subproj/WebDataProtocol.m: (-[WebDataProtocol startLoading]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient loadWithRequest:]): 2003-04-30 Maciej Stachowiak Reviewed by Richard. Moved NSURLProtectionSpace over to officially blessed API. * Panels.subproj/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForChallenge:]): 2003-04-30 Richard Williamson Copy MIME type when copying WebDataProtocol's parameters. Reviewed by Ken. * WebView.subproj/WebDataProtocol.m: (-[WebDataRequestParameters copyWithZone:]): 2003-04-30 Richard Williamson Documentation fixes. Added "ADVISORY NOTE" about possible API change after beta SDK. * History.subproj/WebHistory.h: * WebView.subproj/WebUIDelegate.h: 2003-04-30 Ken Kocienda Reviewed by Maciej Tweaked some HTTP-specific NSURLRequest method names as specified in the API errata list. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate openNewWindowWithURL:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:withLoadType:]): (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): 2003-04-30 Maciej Stachowiak Reviewed by Ken. Minor header tweaks. * Misc.subproj/WebDownload.h: Fix copyright notice. * Panels.subproj/WebAuthenticationPanel.h: Added 2003 to copyright. * WebView.subproj/WebAuthenticationChallenge.h: Fix copyright notice, add docs. * WebView.subproj/WebAuthenticationChallengeInternal.h: Fix copyright notice. 2003-04-30 Maciej Stachowiak Reviewed by Ken. Minor header tweaks. * Misc.subproj/WebDownload.h: Fix copyright notice. * Panels.subproj/WebAuthenticationPanel.h: Added 2003 to copyright. * WebView.subproj/WebAuthenticationChallenge.h: Fix copyright notice, add docs. * WebView.subproj/WebAuthenticationChallengeInternal.h: Fix copyright notice. 2003-04-30 Maciej Stachowiak Reviewed by Darin. Fixed imports and @class directives for WebFoundation changes. * Panels.subproj/WebAuthenticationPanel.h: * Panels.subproj/WebAuthenticationPanel.m: 2003-04-30 Richard Williamson Fixed doc errors. * History.subproj/WebHistory.h: 2003-04-30 Maciej Stachowiak Reviewed by Darin. Some simple renames: sharedURLCredentialStorage --> sharedCredentialStorage URLCredentialWithUser:password:persistence: --> credentialWithUser:password:persistence: * Panels.subproj/WebAuthenticationPanel.m: (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]): (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]): 2003-04-30 Maciej Stachowiak Reviewed by Darin. Changed things to use WebAuthenticationChallenge for WebResoureceLoadDelegate auth callbacks. * Panels.subproj/WebPanelAuthenticationHandler.m: (-[WebPanelAuthenticationHandler startAuthentication:window:]): (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): * WebKit.exp: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebAuthenticationChallenge.h: Added. * WebView.subproj/WebAuthenticationChallenge.m: Added. (-[WebAuthenticationChallengeInternal initWithDelegate:]): (-[WebAuthenticationChallengeInternal dealloc]): (-[WebAuthenticationChallenge _initWithAuthenticationChallenge:delegate:]): (-[WebAuthenticationChallenge dealloc]): (-[WebAuthenticationChallenge useCredential:]): (-[WebAuthenticationChallenge cancel]): (-[WebAuthenticationChallenge continueWithoutCredential]): * WebView.subproj/WebAuthenticationChallengeInternal.h: Added. * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): (-[WebBaseResourceHandleDelegate useCredential:forAuthenticationChallenge:]): (-[WebBaseResourceHandleDelegate continueWithoutCredentialForAuthenticationChallenge:]): (-[WebBaseResourceHandleDelegate cancelWithError:]): * WebView.subproj/WebDefaultResourceLoadDelegate.m: (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]): (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]): * WebView.subproj/WebResourceLoadDelegate.h: 2003-04-30 Maciej Stachowiak Reviewed by Darin. Converted download code to use an NSURLDownloadAuthenticationChallenge rather than a vanilla NSURLAuthenticationChallenge. * Misc.subproj/WebDownload.m: (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): (-[WebDownloadInternal download:didCancelAuthenticationChallenge:]): * Panels.subproj/WebPanelAuthenticationHandler.h: * Panels.subproj/WebPanelAuthenticationHandler.m: (-[WebPanelAuthenticationHandler startAuthentication:window:]): (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): 2003-04-30 Ken Kocienda Reviewed by Richard Changed cookie-related constants and enums to the API-approved names. Also did some text search and replace in comments to catch usages of now-obsolete names. * WebCoreSupport.subproj/WebCookieAdapter.m: (-[WebCookieAdapter cookiesEnabled]): 2003-04-30 Chris Blumenberg FIXED: Clients of WebKit should have separate icon DB's Reviewed by rjw. * English.lproj/StringsNotToBeLocalized.txt: * Misc.subproj/WebIconDatabase.h: * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _createFileDatabase]): If the icon db hasn't been set using the defaults, create o directory using the bundle id. * WebKit.exp: 2003-04-30 Richard Williamson API changes from final review meeting. Moved view registry to WebView. Changed WebHistoryItem to use NSTimeInterval (at least for public API). Still creates a NSCalendarDate for compatibility. We should wean Safari off it's use of NSCalendarDate. Added public init method for WebHistoryItem. Removed anchor from WebHistoryItem. Added WebHistorySavedNotification. Reviewed by Darin. * History.subproj/WebHistory.m: (-[WebHistory addItemForURL:]): * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]): (-[WebHistoryItem copyWithZone:]): (-[WebHistoryItem lastVisitedTimeInterval]): (-[WebHistoryItem anchor]): (-[WebHistoryItem _setLastVisitedTimeInterval:]): (-[WebHistoryItem _lastVisitedDate]): (-[WebHistoryItem dictionaryRepresentation]): (-[WebHistoryItem initFromDictionaryRepresentation:]): * History.subproj/WebHistoryItemPrivate.h: * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate insertItem:atDateIndex:]): (-[WebHistoryPrivate removeItemForURLString:]): (-[WebHistoryPrivate addItem:]): (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]): * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase init]): * WebView.subproj/WebFrame.h: * WebView.subproj/WebFrame.m: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (+[WebView registerViewClass:representationClass:forMIMEType:]): 2003-04-29 Maciej Stachowiak Reviewed by Darin. - Adjusted for authentication API change - now we expect authentication via the connection delegate, not a separate global authentication handler * Misc.subproj/WebKit.h: Include WebDownload.h * Misc.subproj/WebDownload.h: Added. * Misc.subproj/WebDownload.m: Added - this new class is just like NSURLDownload but if the standard auth delegate methods are not implemented, it prompts using the standard AppKit sheet. * Panels.subproj/WebPanelAuthenticationHandler.h: * Panels.subproj/WebPanelAuthenticationHandler.m: (+[WebPanelAuthenticationHandler sharedHandler]): New method to get a shared handler, since we no logner register an instance with WebFoundation. (-[WebPanelAuthenticationHandler startAuthentication:window:]): Do things using the new API. (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): Likewise. * WebKit.exp: Export WebDownload. * WebKit.pbproj/project.pbxproj: Add new files to build. - Removed WebStandardPanels - this is removed from the API. * Panels.subproj/WebStandardPanels.h: Removed. * Panels.subproj/WebStandardPanels.m: Removed. * Panels.subproj/WebStandardPanelsPrivate.h: Removed. * Panels.subproj/WebAuthenticationPanel.m: Remove WebStandardPanels.h import. - Added new resource load delegate auth methods: * WebView.subproj/WebResourceLoadDelegate.h: - Use WebDownload where appropriate, and remove use of WebStandardPanels: * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): Pass to resource load delegate. (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): Likewise. (-[WebBaseResourceHandleDelegate dealloc]): Don't track currentURL any more. (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Likewise. (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Likewise. (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]): Likewise. (-[WebBaseResourceHandleDelegate cancelWithError:]): Likewise. * WebView.subproj/WebDefaultResourceLoadDelegate.m: (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]): Prompt using the standard panel. (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]): Cancel prompting using the standard panel. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): Use WebDownload instead of NSURLDownload. * WebView.subproj/WebView.h: Remove unneeded @class directives, and mention WebDownload instead of NSURLDownload. * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebView _downloadURL:toDirectory:]): Use WebDownload instead of NSURLDownload. (-[WebView _cacheResourceLoadDelegateImplementations]): Track auth methods too. 2003-04-30 Ken Kocienda Reviewed by Darin Changed cookie-related class names: WebCookie -> NSHTTPCookie WebCookiePrivate -> NSHTTPCookieInternal WebCookieManager -> NSHTTPCookieStorage WebCookieManagerPrivate -> NSHTTPCookieStorageInternal * WebCoreSupport.subproj/WebCookieAdapter.m: (-[WebCookieAdapter cookiesEnabled]): (-[WebCookieAdapter cookiesForURL:]): (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]): 2003-04-30 Ken Kocienda Reviewed by Darin Changed file names for these classes. The contents of the files themselves remain unchanged. WebCookie -> NSHTTPCookie. WebCookieManager -> NSHTTPCookieStorage. * WebCoreSupport.subproj/WebCookieAdapter.m: * WebView.subproj/WebMainResourceClient.m: 2003-04-30 Darin Adler Reviewed by Ken. - make change to avoid misunderstanding that led to bug report 3179394 "Safari: Request that temp files use actual file extensions" * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Don't put a dot between "SafariPlugInStream" and the the 6-digit unique number, so the number does not look like an extension. Also make it "WebKitPlugInStream" since this is used for other WebKit clients, and not just Safari. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 2003-04-29 Richard Williamson API changes from final review meeting. Added textEncodingName method to WebDataSource. Reviewed by Chris. * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: (-[WebDataSource textEncodingName]): 2003-04-29 Chris Blumenberg Updated to use the new NSURLDownload API. Reviewed by rjw. * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): * WebView.subproj/WebViewPrivate.m: (-[WebView _downloadURL:toDirectory:]): 2003-04-29 Richard Williamson Added "Copyright (C) 2003 Apple Computer, Inc. All rights reserved." to all public headers. Also made formatting consistent. Reviewed by darin. * Carbon.subproj/CarbonUtils.h: * Carbon.subproj/HIWebView.h: * History.subproj/WebBackForwardList.h: * History.subproj/WebHistory.h: * History.subproj/WebHistoryItem.h: * Misc.subproj/WebKit.h: * Misc.subproj/WebKitErrors.h: * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDocument.h: * WebView.subproj/WebFrame.h: * WebView.subproj/WebFrameLoadDelegate.h: * WebView.subproj/WebFrameView.h: * WebView.subproj/WebPolicyDelegate.h: * WebView.subproj/WebPreferences.h: * WebView.subproj/WebResourceLoadDelegate.h: * WebView.subproj/WebUIDelegate.h: * WebView.subproj/WebView.h: 2003-04-28 Don Melton Fixed 3225050 -- Default font size should be 16px Fixed 3241813 -- No longer spoof as WinIE for abcnews.go.com when default font size becomes 16px Reviewed by Darin and Maciej. * English.lproj/StringsNotToBeLocalized.txt: Updated. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:usingPrinterFont:]): We need to adjust Times, Helvetica, and Courier to closely match the vertical metrics of their Microsoft counterparts that are the de facto web standard. The AppKit adjustment of 20% is too big and is incorrectly added to line spacing, so we use a 15% adjustment instead and add it to the ascent. * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): Changed default font size from 14 to 16 pixels and default fixed font size from 14 to 13 pixels. Changed standard font from Lucida Grande to Times, serif font from Times New Roman to Times, and sans serif font from Lucida Grande to Helvetica. Also replaced some stray tabs with spaces and made a few other anal-retentive formatting changes. * WebView.subproj/WebUserAgentSpoofTable.c: (hash): (_web_findSpoofTableEntry): * WebView.subproj/WebUserAgentSpoofTable.gperf: No longer spoof as Windows MSIE for abcnews.go.com since we've also changed the default font size. 2003-04-28 Richard Williamson API changes from final review meeting. goBackOrForwardToItem: -> goToBackForwardItem: drop "Window" from WebUIDelegate method names. WebElementIsSelectedTextKey -> WebElementIsSelectedKey Cross-frame searchFor on WebView now public. Reviewed by Chris. * Plugins.subproj/WebBaseNetscapePluginView.m: * WebCoreSupport.subproj/WebBridge.m: * WebKit.exp: * WebView.subproj/WebDefaultContextMenuDelegate.m: * WebView.subproj/WebDefaultUIDelegate.m: * WebView.subproj/WebFrame.h: * WebView.subproj/WebFramePrivate.m: * WebView.subproj/WebHTMLView.m: * WebView.subproj/WebHTMLViewPrivate.m: * WebView.subproj/WebImageView.m: * WebView.subproj/WebPolicyDelegate.h: * WebView.subproj/WebTextView.m: * WebView.subproj/WebUIDelegate.h: * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: 2003-04-28 Ken Kocienda Reviewed by Chris * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream setResponse:]): _lastModifiedDate on NSURLResponse is now SPI. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady:]): Ditto. 2003-04-27 Chris Blumenberg Improved headerdoc comments. * Misc.subproj/WebKitErrors.h: * WebView.subproj/WebFrameLoadDelegate.h: 2003-04-25 Don Melton Backed out Richard's (hopefully) accidental checkin of our experiments from earlier today. Otherwise many layout tests are hosed. But this change, or something like it, will arrive soon. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:usingPrinterFont:]): 2003-04-25 Richard Williamson API changes from final review meeting. WebView: Added canShowMIMETypeAsHTML: WebFrameView: Removed scrollView Removed isDocumentHTML WebDataSource: Removed isDocumentHTML Reviewed by Chris. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:usingPrinterFont:]): * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _layoutChildren]): (-[WebDataSource _mainDocumentError]): (-[WebDataSource _isDocumentHTML]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _makeDocumentView]): (-[WebFrame _setState:]): (-[WebFrame _isLoadComplete]): * WebView.subproj/WebFrameView.h: * WebView.subproj/WebFrameView.m: (-[WebFrameView setAllowsScrolling:]): (-[WebFrameView allowsScrolling]): (-[WebFrameView documentView]): (-[WebFrameView drawRect:]): (-[WebFrameView setFrameSize:]): * WebView.subproj/WebFrameViewPrivate.h: * WebView.subproj/WebFrameViewPrivate.m: (-[WebFrameView _setDocumentView:]): (-[WebFrameView _scrollView]): (-[WebFrameView _contentView]): (-[WebFrameView _verticalKeyboardScrollAmount]): (-[WebFrameView _horizontalKeyboardScrollAmount]): (-[WebFrameView _scrollToBottomLeft]): (+[WebFrameView _viewTypesAllowImageTypeOmission:]): (+[WebFrameView _canShowMIMETypeAsHTML:]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setPrinting:pageWidth:]): * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _updateMouseoverWithEvent:]): * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (+[WebView canShowMIMETypeAsHTML:]): 2003-04-25 Chris Blumenberg Renamed WebDownload to NSURLDownload and moved it to WebFoundation. Reviewed by rjw. * Downloads.subproj/WebBinHexDecoder.h: Removed. * Downloads.subproj/WebBinHexDecoder.m: Removed. * Downloads.subproj/WebDownload.h: Removed. * Downloads.subproj/WebDownload.m: Removed. * Downloads.subproj/WebDownloadDecoder.h: Removed. * Downloads.subproj/WebDownloadPrivate.h: Removed. * Downloads.subproj/WebGZipDecoder.h: Removed. * Downloads.subproj/WebGZipDecoder.m: Removed. * Downloads.subproj/WebMacBinaryDecoder.h: Removed. * Downloads.subproj/WebMacBinaryDecoder.m: Removed. * Downloads.subproj/crc16.h: Removed. * Downloads.subproj/crc16.m: Removed. * English.lproj/Localizable.strings: * English.lproj/StringsNotToBeLocalized.txt: * Misc.subproj/WebKit.h: * Misc.subproj/WebKitErrors.h: * Misc.subproj/WebKitErrors.m: (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]): (registerErrors): * Misc.subproj/WebNSWorkspaceExtras.h: Removed. * Misc.subproj/WebNSWorkspaceExtras.m: Removed. * WebKit.exp: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDataSource.m: * WebView.subproj/WebDataSourcePrivate.m: * WebView.subproj/WebMainResourceClient.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient initWithDataSource:]): (-[WebMainResourceClient continueAfterContentPolicy:response:]): * WebView.subproj/WebView.h: * WebView.subproj/WebViewPrivate.m: (-[WebView _downloadURL:toDirectory:]): 2003-04-25 Richard Williamson Final API review changes. parent -> parentFrame children -> childFrames Reviewed by Chris. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setPrinting:pageWidth:]): 2003-04-25 Richard Williamson Final API review changes. parent -> parentFrame children -> childFrames Reviewed by Chris. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge childFrames]): (-[WebBridge frameDetached]): 2003-04-25 Richard Williamson Final API review changes. WebFrame: parent -> parentFrame children -> childFrames loadString:baseURL: -> loadHTMLString:baseURL: laodData:encodingName:baseURL: -> loadData:MIMEType:textEncodingName:baseURL: Reviewed by Chris. * WebView.subproj/WebDataProtocol.h: * WebView.subproj/WebDataProtocol.m: (-[WebDataRequestParameters dealloc]): (-[NSURLRequest _webDataRequestMIMEType]): (-[NSURLRequest _webDataRequestSetMIMEType:]): (-[WebDataProtocol startLoading]): * WebView.subproj/WebDataSource.m: (-[WebDataSource isLoading]): * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _recursiveStopLoading]): (-[WebDataSource _layoutChildren]): (-[WebDataSource _defersCallbacksChanged]): * WebView.subproj/WebFrame.h: * WebView.subproj/WebFrame.m: (-[WebFrame loadHTMLString:baseURL:]): (-[WebFrame findFrameNamed:]): (-[WebFrame parentFrame]): (-[WebFrame childFrames]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem]): (-[WebFrame _descendantFrameNamed:]): (-[WebFrame _transitionToCommitted:]): (-[WebFrame _isLoadComplete]): (+[WebFrame _recursiveCheckCompleteFromFrame:]): (-[WebFrame _textSizeMultiplierChanged]): (-[WebFrame _viewWillMoveToHostWindow:]): (-[WebFrame _viewDidMoveToHostWindow]): (-[WebFrame _saveDocumentAndScrollState]): (-[WebFrame _loadDataSource:withLoadType:formState:]): * WebView.subproj/WebViewPrivate.m: (-[WebViewPrivate _clearControllerReferences:]): (-[WebView _frameForDataSource:fromFrame:]): (-[WebView _frameForView:fromFrame:]): 2003-04-25 Chris Blumenberg Don't do "@class WebDataSource" as that class isn't mentioned in this file. * WebView.subproj/WebFrameLoadDelegate.h: 2003-04-25 Chris Blumenberg Turned WebLocationChangeDelegate into WebFrameLoadDelegate. Renamed WebFrameLoadDelegate all methods to pass a frame instead of the data source. Reviewed by rjw. * English.lproj/Localizable.strings: * Misc.subproj/WebKit.h: * Misc.subproj/WebKitErrors.h: * Misc.subproj/WebKitErrors.m: (registerErrors): * WebCoreSupport.subproj/WebBridge.m: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): (-[WebDataSource _setTitle:]): (-[WebDataSource _setRequest:]): (-[WebDataSource _updateIconDatabaseWithURL:]): * WebView.subproj/WebDefaultFrameLoadDelegate.h: Added. * WebView.subproj/WebDefaultFrameLoadDelegate.m: Added. (+[WebDefaultFrameLoadDelegate sharedFrameLoadDelegate]): (-[WebDefaultFrameLoadDelegate webView:didStartProvisionalLoadForFrame:]): (-[WebDefaultFrameLoadDelegate webView:didReceiveServerRedirectForProvisionalLoadForFrame:]): (-[WebDefaultFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]): (-[WebDefaultFrameLoadDelegate webView:didCommitLoadForFrame:]): (-[WebDefaultFrameLoadDelegate webView:didReceiveTitle:forFrame:]): (-[WebDefaultFrameLoadDelegate webView:didReceiveIcon:forFrame:]): (-[WebDefaultFrameLoadDelegate webView:didFinishLoadForFrame:]): (-[WebDefaultFrameLoadDelegate webView:didFailLoadWithError:forFrame:]): (-[WebDefaultFrameLoadDelegate webView:didChangeLocationWithinPageForFrame:]): (-[WebDefaultFrameLoadDelegate webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:]): (-[WebDefaultFrameLoadDelegate webView:didCancelClientRedirectForFrame:]): (-[WebDefaultFrameLoadDelegate webView:willCloseFrame:]): * WebView.subproj/WebDefaultLocationChangeDelegate.h: Removed. * WebView.subproj/WebDefaultLocationChangeDelegate.m: Removed. * WebView.subproj/WebFrame.m: * WebView.subproj/WebFrameLoadDelegate.h: Added. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _closeOldDataSources]): (-[WebFrame _transitionToCommitted:]): (-[WebFrame _isLoadComplete]): (-[WebFrame _loadItem:withLoadType:]): (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]): (-[WebFrame _clientRedirectCancelled]): * WebView.subproj/WebLocationChangeDelegate.h: Removed. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient interruptForPolicyChangeError]): * WebView.subproj/WebPolicyDelegate.h: * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (-[WebView setFrameLoadDelegate:]): (-[WebView frameLoadDelegate]): * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebViewPrivate dealloc]): (-[WebView _frameLoadDelegateForwarder]): 2003-04-25 John Sullivan - fixed 3240676 -- REGRESSION: Using old Safari then new one erases history Reviewed by Darin. * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]): The new code to use a synchronous NSURLConnection to read the property list file did not take into account the two possible formats of the file (NSArray or NSDictionary), so reading old-style history files was completely broken. While in here, I distributed the variable declarations to first use. 2003-04-24 Maciej Stachowiak Fixed build. * Panels.subproj/WebStandardPanels.m: (-[WebStandardPanels setUsesStandardAuthenticationPanel:]): 2003-04-24 Maciej Stachowiak Reviewed by Ken. Updated for auth API changes. * Panels.subproj/WebStandardPanels.m: (-[WebStandardPanels setUsesStandardAuthenticationPanel:]): 2003-04-24 Richard Williamson Final API review changes. Renamed WebWindowOperationsDelegate to WebUIDelegate. Merged WebContextMenuDelegate into WebUIDelegate. Fixed crasher if history file doesn't exist. Reviewed by Ken. * History.subproj/WebHistory.h: * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]): * Misc.subproj/WebKit.h: * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]): (-[WebBaseNetscapePluginView status:]): * Plugins.subproj/WebPluginController.m: (-[WebPluginController showStatus:]): * WebCoreSupport.subproj/WebBridge.h: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): (-[WebBridge showWindow]): (-[WebBridge areToolbarsVisible]): (-[WebBridge setToolbarsVisible:]): (-[WebBridge isStatusBarVisible]): (-[WebBridge setStatusBarVisible:]): (-[WebBridge setWindowFrame:]): (-[WebBridge windowFrame]): (-[WebBridge setWindowContentRect:]): (-[WebBridge windowContentRect]): (-[WebBridge setWindowIsResizable:]): (-[WebBridge windowIsResizable]): (-[WebBridge firstResponder]): (-[WebBridge makeFirstResponder:]): (-[WebBridge closeWindow]): (-[WebBridge runJavaScriptAlertPanelWithMessage:]): (-[WebBridge runJavaScriptConfirmPanelWithMessage:]): (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]): (-[WebBridge runOpenPanelForFileButtonWithResultListener:]): (-[WebBridge setStatusText:]): (-[WebBridge focusWindow]): * WebKit.exp: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebContextMenuDelegate.h: Removed. * WebView.subproj/WebDefaultContextMenuDelegate.h: * WebView.subproj/WebDefaultContextMenuDelegate.m: * WebView.subproj/WebDefaultUIDelegate.h: * WebView.subproj/WebDefaultUIDelegate.m: (+[WebDefaultUIDelegate sharedUIDelegate]): (-[WebDefaultUIDelegate dealloc]): * WebView.subproj/WebDefaultWindowOperationsDelegate.h: Removed. * WebView.subproj/WebDefaultWindowOperationsDelegate.m: Removed. * WebView.subproj/WebFrame.m: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]): * WebView.subproj/WebFrameView.m: * WebView.subproj/WebHTMLViewPrivate.m: * WebView.subproj/WebUIDelegate.h: * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (-[WebView setUIDelegate:]): (-[WebView UIDelegate]): (-[WebView downloadDelegate]): * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebViewPrivate init]): (-[WebViewPrivate dealloc]): (-[WebView _openNewWindowWithRequest:]): (-[WebView _menuForElement:]): (-[WebView _mouseDidMoveOverElement:modifierFlags:]): (-[WebView _UIDelegateForwarder]): * WebView.subproj/WebWindowOperationsDelegate.h: Removed. 2003-04-24 Richard Williamson Final API review changes. * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: (-[WebHistoryItem setAlternateTitle:]): (-[WebHistoryItem initFromDictionaryRepresentation:]): 2003-04-24 Richard Williamson Final API review changes. Reviewed by Chris. * History.subproj/WebBackForwardList.h: * History.subproj/WebBackForwardList.m: (-[WebBackForwardList containsItem:]): (-[WebBackForwardList capacity]): (-[WebBackForwardList setCapacity:]): (-[WebBackForwardList _clearPageCache]): (-[WebBackForwardList setPageCacheSize:]): (-[WebBackForwardList _setUsesPageCache:]): (-[WebBackForwardList _usesPageCache]): * History.subproj/WebHistory.h: * History.subproj/WebHistory.m: (+[WebHistory optionalSharedHistory]): (+[WebHistory setOptionalSharedHistory:]): (-[WebHistory init]): (-[WebHistory loadFromURL:error:]): (-[WebHistory saveToURL:error:]): * History.subproj/WebHistoryItemPrivate.h: * History.subproj/WebHistoryPrivate.h: * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate init]): (-[WebHistoryPrivate dealloc]): (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]): (-[WebHistoryPrivate loadFromURL:error:]): (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]): (-[WebHistoryPrivate saveToURL:error:]): * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setTitle:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): (-[WebFrame _canCachePage]): (-[WebFrame _purgePageCache]): 2003-04-24 Maciej Stachowiak Reviewed by Chris. * Panels.subproj/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForChallenge:]): Update for new Challenge API. 2003-04-24 Chris Blumenberg Renamed - [NSURLResponse suggestedFilenameForSaving] to suggestedFilename and moved it to WebFoundation. Reviewed by mjs. * Downloads.subproj/WebDownload.m: (-[WebDownload _createFileIfNecessary]): * English.lproj/Localizable.strings: * English.lproj/StringsNotToBeLocalized.txt: * Misc.subproj/WebNSURLResponseExtras.h: Removed. * Misc.subproj/WebNSURLResponseExtras.m: Removed. * Plugins.subproj/WebNullPluginView.m: include NSError to unbreak build. * WebKit.pbproj/project.pbxproj: 2003-04-24 Chris Blumenberg Removed WebPluginError and instead added fields to the userInfo of NSError for plug-in specific errors. Reviewed by rjw. * Misc.subproj/WebKitErrors.h: * Misc.subproj/WebKitErrors.m: (+[NSError _webKitErrorWithCode:failingURL:]): (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]): * Misc.subproj/WebKitErrorsPrivate.h: * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): * Plugins.subproj/WebNullPluginView.h: * Plugins.subproj/WebNullPluginView.m: * Plugins.subproj/WebPlugInError.h: Removed. * Plugins.subproj/WebPlugInError.m: Removed. * Plugins.subproj/WebPluginErrorPrivate.h: Removed. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURLString:attributes:baseURLString:MIMEType:]): (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURLString:]): * WebKit.exp: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDefaultResourceLoadDelegate.m: (-[WebDefaultResourceLoadDelegate webView:plugInFailedWithError:dataSource:]): * WebView.subproj/WebResourceLoadDelegate.h: 2003-04-24 Darin Adler Reviewed by Chris. - fixed 3210096 -- server identifies page as UTF-8, page identifies itself as windows-1252, server must win * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge receivedData:withDataSource:]): Change for new WebCore API. Pass the encoding in a separate setEncoding call rather than as a parameter in addData. Also don't handle default encoding here any more. Default encoding is now handled the same way all the other preferences are, in a way that works better on the WebCore side anyway; nil or empty string means use the default encoding. 2003-04-24 Ken Kocienda Reviewed by Darin Changed WebError to NSError * Downloads.subproj/WebDownload.h: * Downloads.subproj/WebDownload.m: (-[WebDownload connection:didReceiveData:]): (-[WebDownload connectionDidFinishLoading:]): (-[WebDownload connection:didFailLoadingWithError:]): (-[WebDownload _decodeData:]): (-[WebDownload _writeDataForkData:resourceForkData:]): (-[WebDownload _didCloseFile:]): (-[WebDownload _cancelWithError:]): (-[WebDownload _errorWithCode:]): (CloseCompletionCallback): * English.lproj/StringsNotToBeLocalized.txt: * Misc.subproj/WebIconLoader.m: (-[WebIconLoader connection:didFailLoadingWithError:]): * Misc.subproj/WebKitErrors.h: * Misc.subproj/WebKitErrors.m: (+[NSError _webKitErrorWithCode:failingURL:]): (registerErrors): * Misc.subproj/WebKitErrorsPrivate.h: * Plugins.subproj/WebNetscapePluginRepresentation.h: * Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream connection:didFailLoadingWithError:]): * Plugins.subproj/WebPlugInError.h: * Plugins.subproj/WebPlugInError.m: * WebCoreSupport.subproj/WebBridge.m: * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): (-[WebSubresourceClient receivedError:]): (-[WebSubresourceClient connection:didFailLoadingWithError:]): * WebKit.exp: * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]): (-[WebBaseResourceHandleDelegate cancelWithError:]): (-[WebBaseResourceHandleDelegate cancelledError]): * WebView.subproj/WebDataProtocol.m: (-[WebDataProtocol startLoading]): * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _stopLoadingInternal]): (-[WebDataSource _setMainDocumentError:]): (-[WebDataSource _receivedError:complete:]): (-[WebDataSource _stopLoadingWithError:]): (-[WebDataSource _mainDocumentError]): * WebView.subproj/WebDefaultLocationChangeDelegate.m: (-[WebDefaultLocationChangeDelegate webView:locationChangeDone:forDataSource:]): * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]): * WebView.subproj/WebDefaultResourceLoadDelegate.m: (-[WebDefaultResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]): * WebView.subproj/WebDocument.h: * WebView.subproj/WebFrame.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): * WebView.subproj/WebFrameView.m: * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation receivedError:withDataSource:]): * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation receivedError:withDataSource:]): * WebView.subproj/WebLocationChangeDelegate.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:]): (-[WebMainResourceClient cancelWithError:]): (-[WebMainResourceClient interruptForPolicyChangeError]): (-[WebMainResourceClient connection:didFailLoadingWithError:]): (-[WebResourceDelegateProxy connection:didFailLoadingWithError:]): * WebView.subproj/WebPolicyDelegate.h: * WebView.subproj/WebResourceLoadDelegate.h: * WebView.subproj/WebTextRepresentation.m: (-[WebTextRepresentation receivedError:withDataSource:]): * WebView.subproj/WebView.h: * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebView _receivedError:fromDataSource:]): (-[WebView _mainReceivedError:fromDataSource:complete:]): 2003-04-24 Darin Adler Reviewed by John. * WebView.subproj/WebViewPrivate.m: (-[WebView _updateWebCoreSettingsFromPreferences:]): Added a call to the new setDefaultTextEncoding: method in WebCore. A preparation step for some encoding bug fixes. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSuperviewObservers]): Improved a comment. === Safari-75 === 2003-04-24 Maciej Stachowiak (checked in by Darin) Reviewed by Ken and Darin. Fixed an authentication crashing bug that crept into the last few changes, plus a typo. * Panels.subproj/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForChallenge:]): Remove extra space. (-[WebAuthenticationPanel runAsSheetOnWindow:withChallenge:]): Store the challenge properly. 2003-04-22 Maciej Stachowiak Reviewed by Darin. Adjusted for NSURLCredential changes. * Panels.subproj/WebAuthenticationPanel.m: (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]): (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]): 2003-04-23 Chris Blumenberg Reviewed by darin. * English.lproj/StringsNotToBeLocalized.txt: updated 2003-04-23 Chris Blumenberg Fixed: 3161374 - safari windows don't allow text/URL dragging on the first click Reviewed by john. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _isSelectionEvent:]): new, determines if the event occurred over the selection (-[WebHTMLView acceptsFirstMouse:]): newly implemented, return result of _isSelectionEvent: (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): newly implemented, return result of _isSelectionEvent: 2003-04-23 Chris Blumenberg Renamed the policy delegate methods. Reviewed by john. * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]): (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): (-[WebDefaultPolicyDelegate webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient checkContentPolicyForResponse:]): * WebView.subproj/WebPolicyDelegate.h: 2003-04-22 Ken Kocienda Reviewed by Darin Updated to use API-approved methods for accessing protocol-specific URL request data. * WebView.subproj/WebDataProtocol.m: (-[NSURLRequest _webDataRequestParametersForReading]): (-[NSURLRequest _webDataRequestParametersForWriting]): 2003-04-22 Maciej Stachowiak Reviewed by Darin. Renamed classes to match API document. * Panels.subproj/WebAuthenticationPanel.h: * Panels.subproj/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForChallenge:]): (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]): (-[WebAuthenticationPanel runAsSheetOnWindow:withChallenge:]): (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]): * Panels.subproj/WebPanelAuthenticationHandler.h: * Panels.subproj/WebPanelAuthenticationHandler.m: (-[WebPanelAuthenticationHandler init]): (-[WebPanelAuthenticationHandler dealloc]): (-[WebPanelAuthenticationHandler isReadyToStartAuthentication:]): (-[WebPanelAuthenticationHandler startAuthentication:]): (-[WebPanelAuthenticationHandler cancelAuthentication:]): (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): * Panels.subproj/WebStandardPanels.m: (-[WebStandardPanels setUsesStandardAuthenticationPanel:]): 2003-04-21 Ken Kocienda Reviewed by Darin API changes in NSURLProtocol and its subclasses: +canHandleURL: becomes +canInitWithRequest: +canonicalURLForURL: becomes +canonicalRequestForRequest: Added new _webIsDataProtocolURL: helper method. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): * WebView.subproj/WebDataProtocol.h: * WebView.subproj/WebDataProtocol.m: (+[WebDataProtocol _webIsDataProtocolURL:]): (+[WebDataProtocol canInitWithRequest:]): (+[WebDataProtocol canonicalRequestForRequest:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addBackForwardItemClippedAtTarget:]): (-[WebFrame _transitionToCommitted:]): 2003-04-21 Darin Adler * Plugins.subproj/WebNetscapePluginStream.m: Removed unnecessary #import of . 2003-04-21 Maciej Stachowiak Reviewed by Richard. Updated for file renames. * Panels.subproj/WebAuthenticationPanel.h: * Panels.subproj/WebPanelAuthenticationHandler.h: * Panels.subproj/WebStandardPanels.m: 2003-04-21 Chris Blumenberg Fixed previous "Reviewed by". * ChangeLog: 2003-04-21 Chris Blumenberg Fixed: 3140990 - Safari: Error attempting to load movie from Rhino records Renamed plug-in view methods to mention that they take URL strings. Reviewed by john. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURLString:attributes:baseURLString:MIMEType:]): renamed, try to find the plug-in using the extension of the SRC URL if the plug-in isn't found using the MIME type. (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURLString:]): renamed 2003-04-18 Chris Blumenberg Fixed: 3139385 - don't accept drags from other frames in the same WebView Reviewed by john. * WebView.subproj/WebFrameView.m: moved drag destination code from WebFrameView to WebView (-[WebFrameView initWithFrame:]): removed drag registration code * WebView.subproj/WebFrameViewPrivate.h: * WebView.subproj/WebFrameViewPrivate.m: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): unregister drag types on the WebView (-[WebHTMLView draggedImage:endedAt:operation:]): reregister drag types on the WebView * WebView.subproj/WebImageView.m: (-[WebImageView mouseDragged:]): unregister drag types on the WebView (-[WebImageView draggedImage:endedAt:operation:]): reregister drag types on the WebView * WebView.subproj/WebView.m: moved drag destination code from WebFrameView to WebView (-[WebView draggingEntered:]): moved from WebFrameView (-[WebView prepareForDragOperation:]): ditto (-[WebView performDragOperation:]): ditto (-[WebView concludeDragOperation:]): ditto * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebView _registerDraggedTypes]): ditto 2003-04-17 John Sullivan Reviewed by Maciej. * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate _loadHistoryGuts:]): if we can't load the file as a dictionary, try loading it the old-fashioned array way. This makes the history file format change forward-compatible. 2003-04-17 Chris Blumenberg Fixed: 3160751 - Can't use non-'.txt' file extension for text files? Reviewed by mjs. * English.lproj/StringsNotToBeLocalized.txt: * Misc.subproj/WebNSURLResponseExtras.m: (-[NSURL _web_suggestedFilenameForSavingWithMIMEType:]): don't correct the file extension for plain text files 2003-04-17 John Sullivan - fixed 3232332 -- History file should be versioned since we might change it in the future - fixed 3220355 -- Console error message at launch when there's no history file Note: a downside of this change is that the history formats before and after this change are not compatible. You will get no history each time you cross that boundary by running different Safaris. Reviewed by Maciej. * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate _loadHistoryGuts:]): check for file-doesn't-exist case before complaining about being unable to read existing file; expect to read dictionary rather than array, and check version in dictionary. (-[WebHistoryPrivate _saveHistoryGuts:]): save dictionary that includes version as well as array of items by date. 2003-04-17 Richard Williamson Fixed typos in headerdoc comments. * WebView.subproj/WebFrame.h: 2003-04-17 Richard Williamson Drop down yet one more level to avoid intialization horkage. Call objc_getClass() instead of NSClassFromString(). Reviewed by darin. * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]): 2003-04-17 Darin Adler Reviewed by John. * WebView.subproj/WebDataProtocol.m: (+[NSURLRequest _webDataRequestURLForData:]): Register the WebDataProtocol here instead of doing it with a load method, since this is the bottleneck that must be used before that protocol is needed. It's good to have one less load method, and this may fix a problem reported by a Panther WebKit client on intrigue-dev too. 2003-04-16 Ken Kocienda Reviewed by Darin Fixed call to load synchronous URL. Now conforms to new API which allows callers to access error object associated with the load. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:withLoadType:]): 2003-04-16 Chris Blumenberg - Progressively load plain text in our text view. - Fixed: 3177603 - vCards appear in browser, not downloaded Reviewed by darin. * WebView.subproj/WebTextRepresentation.m: (-[WebTextRepresentation setDataSource:]): added FIXME about document source of RTF not working (-[WebTextRepresentation receivedData:withDataSource:]): feed data to the text view, progressively for plain text * WebView.subproj/WebTextView.m: (+[WebTextView unsupportedTextMIMETypes]): include text/directory, another vcard MIME type (-[WebTextView setDataSource:]): do 1-time attribute settings (-[WebTextView dataSourceUpdated:]): do nothing 2003-04-16 Ken Kocienda Reviewed by David Moved this NSURLProtocolClient implementor to API-approved interface. * WebView.subproj/WebDataProtocol.m: (-[WebDataProtocol startLoading]): 2003-04-16 Ken Kocienda Fix deployment build breaker caused by uninitialized variable. * WebView.subproj/WebViewPrivate.m: (-[WebView _loadBackForwardListFromOtherView:]): 2003-04-16 Darin Adler Reviewed by John. - fixed 3226281 -- REGRESSION: crash in WebHTMLView removeMouseMovedObserver closing gist.com * Plugins.subproj/WebPluginController.m: (-[WebPluginController showStatus:]): Use _webView instead of _controller. * WebCoreSupport.subproj/WebTextRendererFactory.m: Remove stray semicolon. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView removeMouseMovedObserver]): Use _webView instead of _controller. (-[WebHTMLView menuForEvent:]): Ditto. (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto. * WebView.subproj/WebHTMLViewPrivate.h: Rename _controller to _webView. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _webView]): Use _web_superviewOfClass to find the WebView. This dodges possible stale unretained pointer issues with getting the WebView through the WebFrame, which is what fixes the bug. (-[WebHTMLView _updateMouseoverWithEvent:]): Use _webView instead of _controller. (+[WebHTMLView _pasteboardTypes]): Put the types in order from most preferred to least. (-[WebHTMLView _writeSelectionToPasteboard:]): Ditto. 2003-04-15 Richard Williamson Create the dictionary for volatile values. Without this fix values were never volatile! Reviewed by mjs. * WebView.subproj/WebPreferences.m: (-[WebPreferences _init]): (-[WebPreferences init]): (+[WebPreferences standardPreferences]): (-[WebPreferences dealloc]): 2003-04-15 Richard Williamson Fix for 3226746. Remove some ancient and apparantly invalid cruft. Reviewed by trey. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setDataSource:]): 2003-04-15 Richard Williamson Fixed clipping of progressive images to correctly clip. Reviewed by darin. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): 2003-04-15 Ken Kocienda Reviewed by Darin Name change from WebCacheObject to NSCachedURLResponse. No functional changes. * WebView.subproj/WebDataProtocol.m: (-[WebDataProtocol startLoadingWithCacheObject:]): 2003-04-15 Trey Matteson 3227514 Open window in "Same Page" should copy entire back/forward list New support to load a new view by copying the whole backforward list and driving the new view to the current item. Reviewed by John. * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebView _loadItem:]): Old routine, which only loaded an item. (-[WebView _loadItemsFromOtherView:]): New routine that does the works. 2003-04-15 Ken Kocienda Reviewed by John Name change from WebProtocolClient to NSURLProtocolClient. No functional changes. * WebView.subproj/WebDataProtocol.m: (-[WebDataProtocol startLoadingWithCacheObject:]): 2003-04-15 Ken Kocienda Reviewed by Darin Name change from WebProtocol to NSURLProtocol. No functional changes. * WebView.subproj/WebDataProtocol.h: * WebView.subproj/WebDataProtocol.m: (-[NSURLRequest _webDataRequestParametersForReading]): (-[NSURLRequest _webDataRequestParametersForWriting]): (+[WebDataProtocol load]): * WebView.subproj/WebFrame.m: 2003-04-14 Trey Matteson 3009051 - Find on Page stops (once) at end of page, should wrap automatically WebKit 3051546 - Find on Page doesn't work for frameset pages 3058437 - can have a selection in two frames at the same time (problem for finding in frames) 3097498 - Find Previous continues to "Find Next" until end of paragraph 3097507 - Find Next searches from previous find hit instead of current selection Primary changes here: I added a wrap flag to the searchFor method, which is needed to control how we search as we traverse the frame tree. A new method is added to WebView that knows about traversing the frame tree as we search. HTMLView and TextView both clear their selections when they lose first responder (see 3228554 for possible improvements to that change). Reviewed by Maciej. * Misc.subproj/WebSearchableTextView.m: Added wrap flag, pass on to TextView. Ensure we do some searching when we would previous get a zero range to search in. * WebView.subproj/WebDocument.h: * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: These are all basic methods to support forwards and backwards traversal of the frame tree. Modeled after same methods we have for traversing the DOM. (-[WebFrame _nextSibling]): (-[WebFrame _previousSibling]): (-[WebFrame _lastChild]): (-[WebFrame _nextFrameWithWrap:]): (-[WebFrame _previousFrameWithWrap:]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]): Added wrap flag, pass it to bridge. (-[WebHTMLView resignFirstResponder]): Clear selection when we lose firstResp. * WebView.subproj/WebTextView.m: (-[WebTextView resignFirstResponder]): Clear selection when we lose firstResp. * WebView.subproj/WebView.m: (-[WebView _currentFrame]): Return the frame holding the first responder. (-[WebView _searchFor:direction:caseSensitive:wrap:]): Main work: traverse the frame tree and drive the overall find. * WebView.subproj/WebViewPrivate.h: 2003-04-14 Chris Blumenberg Log time spent loading each plug-in. Reviewed by mjs. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _iconsForIconURLString:]): fixed logging code (-[WebIconDatabase _scaleIcon:toSize:]): fixed logging code * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]): log time spent loading a plug-in * Plugins.subproj/WebPluginController.m: (-[WebPluginController startAllPlugins]): only log if there are plug-ins to start (-[WebPluginController stopAllPlugins]): only log if there are plug-ins to stop (-[WebPluginController destroyAllPlugins]): only log if there are plug-ins to destroy 2003-04-13 Trey Matteson 3150693 - open new window on "same page" doesn't give me the same frame content The core is a new support method that loads a WebView given a HistoryItem, which thus restores all frames of that item, and optionally the form and scroll state. * History.subproj/WebHistoryItem.m: (-[WebHistoryItem copyWithZone:]): Copy the docState, scrollPosition, isTargetItem. No good reason to have left these out when I wrote this method. * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _saveDocumentAndScrollState]): New method to run the frame tree and save all form/scroll state to the current item. * WebView.subproj/WebView.m: _goToItem:withLoadType: moved to WebViewPrivate.m * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebView _goToItem:withLoadType:]): Moved from WebView.m, no change. (-[WebView _loadItem:showingInView:]): New method to load the view with the item. 2003-04-12 Chris Blumenberg Fixed: 3162338 - Embedding SVG with doesn't work Reviewed by dave. * WebCoreSupport.subproj/WebImageRendererFactory.m: (-[WebImageRendererFactory supportedMIMETypes]): code moved from +[WebImageView supportedImageMIMETypes] * WebView.subproj/WebImageView.m: (+[WebImageView supportedImageMIMETypes]): return -[WebImageRendererFactory supportedMIMETypes] 2003-04-13 Maciej Stachowiak Reviewed by Trey. * WebView.subproj/WebDefaultWindowOperationsDelegate.m: (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): Implemented in terms of webView:setFrame: to save clients work. 2003-04-11 Chris Blumenberg Removed WebKitErrorResourceLoadInterruptedByPolicyChange error because it isn't used. Reviewed by john. * Misc.subproj/WebKitErrors.h: * Misc.subproj/WebKitErrors.m: (registerErrors): * WebKit.pbproj/project.pbxproj: 2003-04-11 Trey Matteson 3148002 - printing shouldn't depend on the size of the window The basic strategy is copied from khtmlview's print method: We reset the width of the document to the paper width minus margins, and relayout before paginating and printing. Reviewed by Richard. * WebKit.pbproj/project.pbxproj: Someone is using an old version... * WebView.subproj/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView reflectScrolledClipView:]): Don't do the dynamic scrollbar update magic when printing. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): New routine, basically the old layout method with a new parameter. If we're given an width, we call a different bridge method. (-[WebHTMLView layout]): Just call above method with width==0 (-[WebHTMLView drawRect:]): Protect setting/resetting of graphics context and additional clip with a DURING/HANDLER. I saw an assertion failure that could be explained by this, so this is mostly a beartrap for that problem. (-[WebHTMLView _setPrinting:pageWidth:]): Pass page width through to others. (-[WebHTMLView beginDocument]): If we are not in a frame set, do a layout using the page width. (-[WebHTMLView endDocument]): Pass 0 to new pageWidth: arg. 2003-04-08 Trey Matteson 3220349 - assertion failure in [WebFrame _recursiveGoToItem:...] hitting Back while loading movie The problem was that when we go back we call stopLoading on the top frame, but that has a bogus optimization to not do any work if state=Completed. That is a bogus test if a subframe is doing a load. The fix is to just always tell the dataSources to stopLoading. They already bail quickly when they are not loading, so there is no significant additional cost. Reviewed by Richard. * WebView.subproj/WebFrame.m: (-[WebFrame stopLoading]): === Safari-73 === 2003-04-10 Richard Williamson Fixed 3219525 Our work-around for the CG pattern cache bogosity was always bypassed, consequently we'd unnecessarily burn lots of memory filling that cache. Reviewed by mjs & gramps. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): (-[WebImageRenderer tileInRect:fromPoint:]): 2003-04-10 Darin Adler (Maciej committing for Darin) Reviewed by Maciej. - fixed 3225042 - MallocDebug shows "access after deallocated" problem in WebFrameView * WebView.subproj/WebFrameView.m: (-[WebFrameView dealloc]): Nil out _private. (-[WebFrameView nextKeyView]): Check _private for nil. (-[WebFrameView previousKeyView]): Check _private for nil. 2003-04-10 Richard Williamson Fix performance regression with iBench (post 71). The iBench cheat was being defeated. Ensure that the layout timer is always invalidated when a frame completes or is cancelled. Reviewed by mjs & gramps. * WebView.subproj/WebFrame.m: (-[WebFrame stopLoading]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): 2003-04-10 Trey Matteson 3224973 - Safari sometimes stores data for AUTOCOMPLETE=OFF fields and password fields Just glue for calling a new WC function. Reviewed by Darin. * WebView.subproj/WebHTMLRepresentation.h: * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation elementWithName:inForm:]): === Safari-72 === 2003-04-10 Maciej Stachowiak Reviewed by Chris. - fixed 3224690 - REGRESSION: Download related errors aren't preserved across launches * WebKit.pbproj/project.pbxproj: Install WebKitErrorsPrivate.h as SPI. 2003-04-10 Darin Adler Reviewed by Trey. - fixed 3224622 -- REGRESSION: in an empty window, repeated tabs don't cycle back to location field Added logic to WebFrameView's next/previous that matches the logic in WebHTMLView. Looking for a better solution some day to the whole nextKeyView thing. * WebView.subproj/WebFrameView.m: (-[WebFrameView nextKeyView]): If being called from nextValidKeyView, return the nextKeyView of the WebView rather than of self. (-[WebFrameView previousKeyView]): Ditto. (-[WebFrameView nextValidKeyView]): Set the inNextValidKeyView flag. (-[WebFrameView previousValidKeyView]): Ditto. * WebView.subproj/WebFrameViewPrivate.h: Add the inNextValidKeyView flag. 2003-04-10 Maciej Stachowiak Reviewed by Darin. Another launch time speedup - don't load the WebKit WebError strings until we actually make a WebKit error. This prevents the WebKit localized strings file from being loaded during normal startup. * Downloads.subproj/WebDownload.m: (+[WebDownloadPrivate initialize]): Don't register WebKit errors. (-[WebDownload _errorWithCode:]): Use _webKitErrorWithCode:failingURL: * Misc.subproj/WebKitErrors.m: (+[WebError _webKitErrorWithCode:failingURL:]): Wrapper that registers the WebKit error codes first. * Misc.subproj/WebKitErrorsPrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): Use _webKitErrorWithCode:failingURL: (-[WebFrame _loadItem:withLoadType:]): Use _webKitErrorWithCode:failingURL: * WebView.subproj/WebFrameView.m: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient interruptForPolicyChangeError]): Use _webKitErrorWithCode:failingURL: 2003-04-10 Chris Blumenberg Fixed: 3222896 - REGRESSION: sound plays after closing a window with a RealPlayer plug-in in it Reviewed by darin. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]): We were starting plug-in on window close because that's when the host window is set to nil. Just check if we now have a host window before we start. 2003-04-10 Darin Adler Reviewed by Trey. - speed up startup by not calling [NSImage imageFileTypes] until we need to * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameRequiredForMIMEType:]): Call _viewClassForMIMEType instead of _viewTypes, since _viewClassForMIMEType is now optimized by not loading the image types unless needed. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _representationClass]): Call _representationClassForMIMEType instead of _repTypes, since _representationClassForMIMEType is now optimized by not loading the image types unless needed. (+[WebDataSource _repTypesAllowImageTypeOmission:]): Added. Moved the guts of _repTypes in here. If you pass YES, doesn't bother adding the image types yet. (+[WebDataSource _repTypes]): Now calls _repTypesAllowImageTypeOmission:NO. (+[WebDataSource _representationClassForMIMEType:]): First try the dictionary without requiring the image types, then only in the case where we get nil, try with the image types. * WebView.subproj/WebFrameViewPrivate.m: (-[WebFrameView _makeDocumentViewForDataSource:]): Call _viewClassForMIMEType instead of _viewTypes, since _viewClassForMIMEType is now optimized by not loading the image types unless needed. (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Added. Moved the guts of _viewTypes in here. If you pass YES, doesn't bother adding the image types yet. (+[WebFrameView _viewTypes]): Now calls _viewTypesAllowImageTypeOmission:NO. (+[WebFrameView _viewClassForMIMEType:]): First try the dictionary without requiring the image types, then only in the case where we get nil, try with the image types. 2003-04-09 Trey Matteson 3223413 - crash in [CompletionController controlTextDidChange] at travelocity.com This was a great one to get steps for repro - it has shown up at least twice before. The problem is that when there is a focused TextField within a frame, the proper FormDelegate messages were not being sent on refresh or b/f. The cause was that the FirstResponder would be reset in the middle of detaching the frame, at which point our object graph was already half taken apart. Fix is to detect that case before doing the detach work, and endEditing explicitly. Reviewed by Darin. * ChangeLog: * Misc.subproj/WebKitLogging.h: * Misc.subproj/WebKitLogging.m: New FormDelegate logging category. * WebCoreSupport.subproj/WebBridge.m: All changes in here are just calling LOG for the new category. (-[WebBridge controlTextDidBeginEditing:]): (-[WebBridge controlTextDidEndEditing:]): (-[WebBridge controlTextDidChange:]): (-[WebBridge control:textShouldBeginEditing:]): (-[WebBridge control:textShouldEndEditing:]): (-[WebBridge control:didFailToFormatString:errorDescription:]): (-[WebBridge control:didFailToValidatePartialString:errorDescription:]): (-[WebBridge control:isValidObject:]): (-[WebBridge control:textView:doCommandBySelector:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setDataSource:]): The fix, as described above. 2003-04-09 Richard Williamson Fix for 3222904. This change fixes the immediate symptoms of the bug, but we need to come back to this issue after beta 2. Bug 3223929 captures the other problems. Reviewed by gramps. * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource __setRequest:]): (-[WebDataSource _setRequest:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _shouldReloadForCurrent:andDestination:]): (-[WebFrame _loadItem:withLoadType:]): (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): 2003-04-09 Maciej Stachowiak Reviewed by Chris, Trey, Darin and Don. - fixed 3223568 - site icons lost when moving from older Safari to 71 * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _createFileDatabase]): Rename old database containing directory to new, so we carry over old databases. The format is forward but not backward compatible. (-[WebIconDatabase _loadIconDictionaries]): Treat no version at all as version 1, so we can load old-style databases. Reviewed by Trey. * English.lproj/StringsNotToBeLocalized.txt: Updated. 2003-04-09 Chris Blumenberg Fixed: 3223022 - Plug-in content bleeds onto frontmost tab Reviewed by darin. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Explicitly call setWindow when the plug-in view is moved out of the window so it is clipped out of sight. 2003-04-08 Trey Matteson 3221355 document is numb to clicks after going back The layoutTimer now does a layout if the doc is in state Completed, in addition to LayoutAcceptable. Reviewed by Richard. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _timedLayout:]): 2003-04-08 Chris Blumenberg Fixed: 3221128 - Double grey lines on macromedia.com home page Flash relies on the ordering of attributes in the EMBED tag (which is really stupid). salign must come after scale. Changed our plug-in API's to preserve orderings using arrays rather than lose orderings when using dictionaries. Reviewed by trey. * Plugins.subproj/WebBaseNetscapePluginView.h: * Plugins.subproj/WebBaseNetscapePluginView.m: * Plugins.subproj/WebNetscapePluginEmbeddedView.h: * Plugins.subproj/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:]): take attributeKeys and attributeValues instead of a dictionary * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): create attributeKeys and attributeValues to pass to the above method (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): create attributeKeys and attributeValues to pass to the above method 2003-04-08 Chris Blumenberg Fixed: 3220463 - REGRESSION: PDF viewer plug-in does not display (worked in 69 and previous) Reviewed by darin. * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView didStart]): always call redeliverStream. Have WebNetscapePluginRepresentation determine if it actually needs to do that. * Plugins.subproj/WebNetscapePluginRepresentation.h: * Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): keep track of _dataLengthReceived which is independent of the data received by the data source (-[WebNetscapePluginRepresentation redeliverStream]): only redeliver the stream if _dataLengthReceived is greater than 0 2003-04-07 Chris Blumenberg Fixed: 3206018 - REGRESSION: Clicks on the BBC news ticker applet don't open story in new window MSIE and Netscape for Windows treat a nil target as _top. Since this is usually the target audience of applet developers, we will mimic this. This makes 3206018 behave as expected. Reviewed by gramps. * Plugins.subproj/WebPluginController.m: (-[WebPluginController showURL:inFrame:]): treat nil as _top. 2003-04-07 Richard Williamson API conveniences for IB. Reviewed by Maciej. * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (-[WebView canGoBack]): (-[WebView canGoForward]): (-[WebView reload:]): (-[WebView canMakeTextSmaller]): (-[WebView canMakeTextLarger]): (-[WebView makeTextSmaller:]): (-[WebView makeTextLarger:]): 2003-04-07 Richard Williamson Fix for 3220988. Cancel frame load if it's detached before finished loading. Reviewed by Maciej. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameDetached]): * WebView.subproj/WebFrame.h: * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _removeChild:]): 2003-04-07 Maciej Stachowiak Reviewed by Richard. - fixed 3219584 - REGRESSION: launch times appear slower in v71 * WebView.subproj/WebView.m: (+[WebView canShowMIMEType:]): Avoid loading plugin database if we can find a view without doing so. 2003-04-07 Darin Adler * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated. When I landed my last change to the .gperf file I forgot to land this. === Safari-71 === 2003-04-04 Darin Adler Reviewed by Ken. - fixed 3217687 -- REGRESSION: printing uses widths from screen fonts, messing up layout * WebCoreSupport.subproj/WebTextRendererFactory.m: Removed now-unused rendererWithFont: which called, the now-removed usingPrinterFonts method. WebCore now calls the one with the usingPrinterFont parameter. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): Remove setUsingPrinterFonts: calls. This is now handled by the document on the WebCore side. (-[WebHTMLView _setPrinting:]): Ditto. 2003-04-04 Maciej Stachowiak Reviewed by Trey. - fixed 3188914 - loop checking for Flash at http://www.scottsmind.com/celebrity_defacer/index.php * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Take a mutable request, and make sure to set referrer to the frame URL (as other browsers do). (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass an NSMutableURLRequest. (-[WebBaseNetscapePluginView getURL:target:]): Likewise. (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): If the plug-in passes a Content-Length header, take it out of the headers and truncate the content appropriately to make WebFoundation happy. 2003-04-03 Richard Williamson Fix checks for about: to avoid using our 'fake' request when using WebDataProtocol. This fixes the assertion in the Snippet Editor. Reviewed by mjs. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): 2003-04-03 Trey Matteson 3218212 REGRESSION: page on screen draws ugly while printing is happening Turn autodisplay of the window off while we print. Reviewed by Darin. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView beginDocument]): Turn it off. (-[WebHTMLView endDocument]): and back on. 2003-04-03 Maciej Stachowiak Reviewed by Trey. - removed no-longer forwarding of become/resignFirstResponder * WebView.subproj/WebHTMLViewPrivate.m: Removed become/resignFirstResponder poses for WebNSTextView. 2003-04-03 Maciej Stachowiak Reviewed by Richard and Don. - fixed 3218262 - REGRESSION: Page address becomes about:blank when command-clicking bookmark to load tab * WebView.subproj/WebDataProtocol.m: (-[NSURLRequest _webDataRequestParametersForWriting]): Renamed from _webDataRequestParameters. (-[NSURLRequest _webDataRequestParametersForReading]): Like the above, but make sure nto to create the part if it does not exist. (-[NSURLRequest _webDataRequestData]): Use _webDataRequestParametersForReading. (-[NSURLRequest _webDataRequestEncoding]): Likewise. (-[NSURLRequest _webDataRequestBaseURL]): Likewise. (-[NSURLRequest _webDataRequestSetData:]):Use _webDataRequestParametersForWriting. (-[NSURLRequest _webDataRequestSetEncoding:]): Likewise. (-[NSURLRequest _webDataRequestSetBaseURL:]): Likewise. (-[NSURLRequest _webDataRequestExternalRequest]): Use _webDataRequestParametersForReading. 2003-04-03 Richard Williamson Tweaks to minimize access to the parts of a WebDataRequest that turn out to be slow. Although we've changed NSURLRequest to be faster, it's still good to keep these tweaks. Reviewed by ken. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): * WebView.subproj/WebDataProtocol.h: * WebView.subproj/WebDataProtocol.m: (-[NSURLRequest _webDataRequestExternalRequest]): (+[WebDataProtocol canHandleURL:]): * WebView.subproj/WebDataSource.m: (-[WebDataSource request]): 2003-04-03 Trey Matteson 3067928 - printing should not break lines in half This is just glue to call the right piece in WebCore. Reviewed by Darin. (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Defer to WebCore to set pagination boundary. 2003-04-03 Richard Williamson As requested by Nancy, drop "Is" and "Are" from setters, but leave them in place on the getters. Reviewed by cblu. * WebView.subproj/WebPreferences.h: * WebView.subproj/WebPreferences.m: (-[WebPreferences setJavaEnabled:]): (-[WebPreferences setJavaScriptEnabled:]): (-[WebPreferences setPlugInsEnabled:]): 2003-04-03 Darin Adler Reviewed by Ken. - remove spoof entries as decided in meeting with Don, Dave, Mark Malone * WebView.subproj/WebUserAgentSpoofTable.gperf: Remove battle.net because it's only there to make Darin happy, and the site works fine without it. Remove pier1.com and disney.go.com because we want to try evangelism first in both those cases, and having a released version where the site works weakens our evangelism efforts. * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated. - disable workaround for Panther bug in Panther builds * Misc.subproj/WebNSImageExtras.m: (-[NSImage _web_dissolveToFraction:]): Add ifdefs. 2003-04-02 Maciej Stachowiak Reviewed by Trey. - fixed 3213556 - VIP: parent.mainFrameWidth=undefined on page refresh results in missing content * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:withLoadType:]): When reload or going back/forward, make sure to load the original URL of the item, not it's most recent URL. (-[WebFrame _loadURL:intoChild:]): Likewise. 2003-04-02 Richard Williamson Raise exceptions when these methods are called inappropriately. Reviewed by Trey. * History.subproj/WebBackForwardList.m: (-[WebBackForwardList goBack]): (-[WebBackForwardList goForward]): (-[WebBackForwardList goToItem:]): 2003-04-02 Richard Williamson Added new API on WebFrame, loadData: and loadString: Reviewed by Maciej. Fixed loading of cocoa plugins. Reviewed by Chris. * History.subproj/WebBackForwardList.m: (-[WebBackForwardList _entries]): * Plugins.subproj/WebBasePluginPackage.h: * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage bundle]): * Plugins.subproj/WebPluginDatabase.h: * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase init]): (-[WebPluginDatabase loadPluginIfNeededForMIMEType:]): (-[WebPluginDatabase dealloc]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): * WebView.subproj/WebDataProtocol.h: Added. * WebView.subproj/WebDataProtocol.m: Added. (-[WebDataRequestParameters copyWithZone:]): (-[WebDataRequestParameters mutableCopyWithZone:]): (-[WebDataRequestParameters dealloc]): (+[NSURLRequest _webDataRequestURLForData:]): (-[NSURLRequest _webDataRequestParameters]): (-[NSURLRequest _webDataRequestData]): (-[NSURLRequest _webDataRequestSetData:]): (-[NSURLRequest _webDataRequestEncoding]): (-[NSURLRequest _webDataRequestSetEncoding:]): (-[NSURLRequest _webDataRequestBaseURL]): (-[NSURLRequest _webDataRequestSetBaseURL:]): (-[NSURLRequest _webDataRequestExternalRequest]): (+[WebDataProtocol load]): (+[WebDataProtocol doesURLHaveInternalDataScheme:]): (+[WebDataProtocol canHandleURL:]): (+[WebDataProtocol canonicalURLForURL:]): (-[WebDataProtocol startLoadingWithCacheObject:]): (-[WebDataProtocol stopLoading]): * WebView.subproj/WebDataSource.m: (-[WebDataSource initialRequest]): (-[WebDataSource request]): * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady:]): * WebView.subproj/WebFrame.h: * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): (-[WebFrame loadString:baseURL:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addBackForwardItemClippedAtTarget:]): (-[WebFrame _transitionToCommitted:]): * WebView.subproj/WebFrameViewPrivate.m: (-[WebFrameView _makeDocumentViewForDataSource:]): * WebView.subproj/WebView.m: (+[WebView canShowMIMEType:]): 2003-04-02 Maciej Stachowiak Reviewed by Ken. - fixed 3177183 - disneyland.com says "500 Internal Server Error" * WebView.subproj/WebUserAgentSpoofTable.gperf: Spoof as Mac IE for disney.go.com * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated. 2003-04-02 Richard Williamson Reviewed by john. * WebView.subproj/WebPreferences.h: (-[WebPreferences setUserStyleSheetLocation:]): Cleaned up arg and comment. 2003-04-02 Richard Williamson Fix for 3200447. Use class_pose to pose so as to avoid indirect invocation of appkit class initializers. Reviewed by darin. * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]): 2003-04-02 Richard Williamson Removed private headers. Reviewed by john. * Misc.subproj/WebKit.h: 2003-04-01 Trey Matteson 3174227 - aggressive caching of generated pages causes problems with WIKI We decided to fix half the observed behavior, as all the bad behavior is arguably due to a mis-configured server (that sets a max-age=60 on all its pages). The fix is that when a redirect comes in response to a POST we force a load from origin, since this is a common technique sites do to prevent a post from ending up in the b/f list, and it is very likely you are on your way back to look at data that you believe you just edited. Reviewed by Ken. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:withLoadType:]): Nit cleanup. Remove unused arg. (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]): Same nit cleanup. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): Force loadFromOrigin if we have a redirect in response to a POST. * WebView.subproj/WebResourceLoadDelegate.h: Add headerdoc comment for redirectResponse param. 2003-04-01 Maciej Stachowiak Reviewed by Richard. - fixed 3214748 - REGRESSION: After using latest Safari for awhile, can't launch older Safaris (icon db problem) * Misc.subproj/WebIconDatabase.m: Changed icon cache path, since we are breaking compatibility and the old version does not support versioning. (-[WebIconDatabase _loadIconDictionaries]): Check version. (-[WebIconDatabase _updateFileDatabase]): Save version. 2003-04-01 Ken Kocienda Reviewed by Darin NSURLConnectionDelegate is no longer a formal protocol. NSURLConnection no longer has a loadWithDelegate: method. Loads start implicitly at init time. Some clients have been updated to call the willSendRequest:redirectResponse: callback manually since this callback is no longer sent for initial loads. * Downloads.subproj/WebDownload.m: (-[WebDownload initWithRequest:]): (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): (-[WebDownload loadWithDelegate:]): * Misc.subproj/WebIconLoader.h: * Misc.subproj/WebIconLoader.m: (-[WebIconLoader startLoading]): * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate loadWithRequest:]): * WebView.subproj/WebMainResourceClient.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient loadWithRequest:]): (-[WebResourceDelegateProxy setDelegate:]): 2003-04-01 Darin Adler Reviewed by John. - fixed 3213918 -- REGRESSION: printing Mapquest directions, screen font is used, causing exception, crashes - fixed 3144287 -- CSS with media=print not used when printing * WebView.subproj/WebFramePrivate.m: (-[WebFrame _opened]): Don't call the reapplyStyles method directly here, use setNeedsToApplyStyles instead. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView reapplyStyles]): Pass the appropriate device type here. (-[WebHTMLView drawRect:]): Don't call setUsingPrinterFonts:NO at the end of this method if we were already using printer fonts at the start. This was the bug fix. (-[WebHTMLView _setPrinting:]): Renamed from _setUsingPrinterFonts since this now controls the styles used too, not just the fonts. (-[WebHTMLView beginDocument]): Updated for _setPrinting name change. (-[WebHTMLView endDocument]): Ditto. * WebView.subproj/WebHTMLViewPrivate.h: Renamed "usingPrinterFonts" field to "printing". 2003-04-01 Richard Williamson Fixed ~2% performance regression problem. The regression was caused by the allocation of a forwarder on every delegate callback. Modified code to only create forwarders once, and reset when delegates change. Reviewed by Ken. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]): (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): (-[WebBaseResourceHandleDelegate connection:didReceiveData:]): (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): * WebView.subproj/WebView.m: (-[WebView setWindowOperationsDelegate:]): (-[WebView setResourceLoadDelegate:]): (-[WebView setContextMenuDelegate:]): (-[WebView setPolicyDelegate:]): (-[WebView setLocationChangeDelegate:]): * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebViewPrivate dealloc]): (-[WebView _locationChangeDelegateForwarder]): (-[WebView _resourceLoadDelegateForwarder]): (-[WebView _cacheResourceLoadDelegateImplementations]): (-[WebView _resourceLoadDelegateImplementations]): (-[WebView _policyDelegateForwarder]): (-[WebView _contextMenuDelegateForwarder]): (-[WebView _windowOperationsDelegateForwarder]): (-[_WebSafeForwarder forwardInvocation:]): * API-Issues.rtf: Notes to self. 2003-04-01 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Allowed update-alex-localizable-strings to sort this file. 2003-03-31 Trey Matteson 3212724 - bookmarks and history items have screwed up designated inits and support code for: 3116315 - autocomplete needs some prioritization magic The main changes are adding and maintaining a visitCount to the HistoryItem, cleaning up the init methods of HistoryItem. Also lastVisitedDate is now set explicitly instead of automatically getting the current date. Reviewed by John. * History.subproj/WebHistory.m: (-[WebHistory addItemForURL:]): Set lastVisitedDate of new item. (-[WebHistory _itemForURLString:]): New helper routine. * History.subproj/WebHistoryItem.h: Conform to NSCopying. * History.subproj/WebHistoryItem.m: (-[WebHistoryItem init]): Behave like a designated initializer. (-[WebHistoryItem copyWithZone:]): New. (-[WebHistoryItem initWithURL:title:]): Call the designated initializer. (-[WebHistoryItem initWithURL:target:parent:title:]): Call the designated initializer. Don't blindly init lastVisitedDate. (-[WebHistoryItem setLastVisitedDate:]): Update visitCount too. (-[WebHistoryItem visitCount]): New getter. (-[WebHistoryItem setVisitCount:]): New setter. (-[WebHistoryItem _mergeAutoCompleteHints:]): Combine autocomplete info of two items. Used when one item replaces another in the history. (-[WebHistoryItem dictionaryRepresentation]): Write visitCount. (-[WebHistoryItem initFromDictionaryRepresentation:]): Read visitCount. * History.subproj/WebHistoryItemPrivate.h: * History.subproj/WebHistoryPrivate.h: * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate addItem:]): Merge autocomplete date from old item to new. (-[WebHistoryPrivate itemForURLString:]): s/entry/item/ (-[WebHistoryPrivate containsItemForURLString:]): s/entry/item/ (-[WebHistoryPrivate containsURL:]): s/entry/item/ (-[WebHistoryPrivate itemForURL:]): s/entry/item/ (-[WebHistoryPrivate _loadHistoryGuts:]): Skip history items without visitDate. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): Update last visitTime when we revisit the same URL (since no new history item is created). 2003-03-31 Richard Williamson Fixed 3213637. We weren't calling the correct delegate method, setStatus: instead of webView:setStatus: Reviewed by darin. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView status:]): 2003-03-31 Maciej Stachowiak Reviewed by Chris. - fixed 3210813 - REGRESSION: full size stock chart on etrade shows up empty after viewing mini stock chart I fixed this by adding a "negative cache" of icon URLs that loaded something but failed to yield an icon. This prevents us from asking for the site icon over and over, which was messing up the session cookie. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase init]): (-[WebIconDatabase iconForURL:withSize:cache:]): (-[WebIconDatabase _updateFileDatabase]): (-[WebIconDatabase _iconsForIconURLString:]): (-[WebIconDatabase _setHaveNoIconForIconURL:]): (-[WebIconDatabase _releaseIconForIconURLString:]): * Misc.subproj/WebIconDatabasePrivate.h: * Misc.subproj/WebIconLoader.h: * Misc.subproj/WebIconLoader.m: (-[WebIconLoader startLoading]): (-[WebIconLoader connectionDidFinishLoading:]): * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _iconLoaderReceivedPageIcon:]): 2003-03-31 Darin Adler * English.lproj/InfoPlist.strings: Changed "1.0 Beta" to "1.0 Beta 2". * WebKit.pbproj/project.pbxproj: Changed "1.0 Beta" to "1.0 Beta 2". * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. * English.lproj/Localizable.strings: Regenerated (new script, "1.0 Beta 2"). 2003-03-31 Richard Williamson Reviewed by darin. * History.subproj/WebHistory.h: Added use of WebHistoryItemsKey instead of @"Entries". * History.subproj/WebHistory.m:(-[WebHistory _sendNotification:entries:]): Use WebHistoryItemsKey as key instead of @"Entries". * History.subproj/WebHistoryItem.m: (-[WebHistoryItem init]): Fix double allocation of WebHistoryPrivate. * WebKit/WebKit.exp Added export for WebHistoryItemsKey * WebKit/API-Issues.rtf Notes. 2003-03-31 Darin Adler Reviewed by Chris. - improved default behaviors in window operations delegate * WebView.subproj/WebDefaultWindowOperationsDelegate.m: (-[WebDefaultWindowOperationsDelegate webViewShowWindowBehindFrontmost:]): Removed unused method. (-[WebDefaultWindowOperationsDelegate webViewCloseWindow:]): Added default implementation, calls close on window. (-[WebDefaultWindowOperationsDelegate webViewFocusWindow:]): Added default implementation, makeKeyAndOrderFront. (-[WebDefaultWindowOperationsDelegate webViewUnfocusWindow:]): Added default implementation, uses _cycleWindowsReversed as needed. (-[WebDefaultWindowOperationsDelegate webViewFirstResponderInWindow:]): Added default implementation, calls firstResponder. (-[WebDefaultWindowOperationsDelegate webView:makeFirstResponderInWindow:]): Added default implementation, calls makeFirstResponder. (-[WebDefaultWindowOperationsDelegate webViewIsResizable:]): Added default implementation, calls showsResizeIndicator. (-[WebDefaultWindowOperationsDelegate webView:setResizable:]): Added default implementation, calls setShowsResizeIndicator. (-[WebDefaultWindowOperationsDelegate webView:setFrame:]): Use display:YES, not display:NO. (-[WebDefaultWindowOperationsDelegate webViewFrame:]): Return NSZeroRect if window is nil instead of random garbage. (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): Use display:YES, not display:NO. (-[WebDefaultWindowOperationsDelegate webViewContentRect:]): Return NSZeroRect if window is nil instead of random garbage. (-[WebDefaultWindowOperationsDelegate webView: runJavaScriptAlertPanelWithMessage:]): Added a FIXME because we should have a default implementation here. (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptConfirmPanelWithMessage:]): Ditto. (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]): Put a default implementation here. (-[WebDefaultWindowOperationsDelegate webView:runOpenPanelForFileButtonWithResultListener:]): Added a FIXME because we should have a default implementation here. 2003-03-29 Chris Blumenberg Fixed: 3178058 - Plug-ins are stopped/reloaded when switching tabs Made the "Enable plug-ins" preference toggle in real-time again. No events including null events are sent when a plug-in is in a non-frontmost tab. This causes Flash movies to pause (which is nice) and QT movies to continue to play. Reviewed by darin. * Plugins.subproj/WebBaseNetscapePluginView.h: * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): use the current window, clip out the plug-in when not in an actual window (-[WebBaseNetscapePluginView restorePortState:]): use the current window (-[WebBaseNetscapePluginView sendEvent:]): added asserts (-[WebBaseNetscapePluginView sendActivateEvent:]): tweak (-[WebBaseNetscapePluginView sendNullEvent]): tweak (-[WebBaseNetscapePluginView restartNullEvents]): tweak (-[WebBaseNetscapePluginView isInResponderChain]): tweak (-[WebBaseNetscapePluginView performKeyEquivalent:]): tweak (-[WebBaseNetscapePluginView canStart]): new, implemented by subclasses (-[WebBaseNetscapePluginView didStart]): new, implemented by subclasses (-[WebBaseNetscapePluginView addWindowObservers]): new (-[WebBaseNetscapePluginView removeWindowObservers]): new (-[WebBaseNetscapePluginView start]): check pref, call canStart, addWindowObservers and didStart (-[WebBaseNetscapePluginView stop]): call removeWindowObservers (-[WebBaseNetscapePluginView currentWindow]): new, returns the actual window else the host window (-[WebBaseNetscapePluginView initWithFrame:]): observer pref change notifications (-[WebBaseNetscapePluginView dealloc]): call removeObserver (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): stop if there is no host window (-[WebBaseNetscapePluginView viewDidMoveToWindow]): start if we moved to a window (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]): stop if there will be no windows (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]): start if there is a window (-[WebBaseNetscapePluginView preferencesHaveChanged:]): renamed, start or stop (-[WebBaseNetscapePluginView destroyStream:reason:]): tweak (-[NSData _web_locationAfterFirstBlankLine]): tweak * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView initWithFrame:]): call setAutoresizingMask here (-[WebNetscapePluginDocumentView canStart]): new, return YES if there is a data source (-[WebNetscapePluginDocumentView didStart]): redeliver the stream if there is any data (-[WebNetscapePluginDocumentView setDataSource:]): start if there is a current window (-[WebNetscapePluginDocumentView layout]): no need to call setWindow, this is done in the superclass (-[WebNetscapePluginDocumentView viewWillMoveToHostWindow:]): forward to super to make compiler happy (-[WebNetscapePluginDocumentView viewDidMoveToHostWindow]): forward to super to make compiler happy * Plugins.subproj/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView didStart]): start the load (-[WebNetscapePluginEmbeddedView dataSource]): tweak * WebView.subproj/WebDocument.h: added viewWillMoveToHostWindow: and viewDidMoveToHostWindow * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _viewWillMoveToHostWindow:]): forward to document view and subframes (-[WebFrame _viewDidMoveToHostWindow]): forward to document view and subframes * WebView.subproj/WebHTMLView.m: (-[WebHTMLView viewWillMoveToHostWindow:]): forward to plug-in views (-[WebHTMLView viewDidMoveToHostWindow]): forward to plug-in views (-[NSArray _web_makePluginViewsPerformSelector:withObject:]): new * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _reset]): don't stop plug-ins here. WebBaseNetscapePluginView can handle that * WebView.subproj/WebImageView.m: (-[WebImageView viewWillMoveToHostWindow:]): implement new WebDocumentView methods (-[WebImageView viewDidMoveToHostWindow]): implement new WebDocumentView methods * WebView.subproj/WebTextView.m: (-[WebTextView viewWillMoveToHostWindow:]): implement new WebDocumentView methods (-[WebTextView viewDidMoveToHostWindow]): implement new WebDocumentView methods * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (-[WebView setHostWindow:]): new (-[WebView hostWindow]): new * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebViewPrivate dealloc]): release the host window 2003-03-31 Darin Adler Reviewed by John. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge nextKeyViewOutsideWebFrameViews]): Get next key view from WebView, only using the top level WebFrameView if the WebView doesn't have one set (for compatibility in case some of our current WebKit clients are using this). (-[WebBridge previousKeyViewOutsideWebFrameViews]): Ditto. 2003-03-31 Darin Adler Reviewed by John. - fixed 3211730 -- REGRESSION: Flash spawns blank page then loads new page inside banner itself * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]): Load the request in the frame we found or created, not always in our own frame (oops!). - other changes * History.subproj/WebHistory.h: Update comments to all say "Item" instead of "Entry". They didn't match the method names any more. * WebView.subproj/WebView.m: (-[WebView acceptsFirstResponder]): Return YES. (-[WebView becomeFirstResponder]): Pass first responder on to the WebFrameView in the same way the WebFrameView passes it on to the document view. 2003-03-30 Maciej Stachowiak Reviewed by Darin. - fixed 3204257 - CNN's 'war on iraq' ticker stops on mouseover * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _updateMouseoverWithEvent:]): When leaving an HTML view, tell it that the mouse moved outside everything in the view, even accounting for scrolled off portions (otherwise khtml gets confused). This makes cross-frame mouse enter/leave work properly. (-[WebHTMLView _clearLastHitViewIfSelf]): Method to clear last hit view, so we don't need to retain it. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView dealloc]): Call _clearLastHitViewIfSelf. 2003-03-28 Richard Williamson Fix typo in comments that broke headerdoc. * WebView.subproj/WebWindowOperationsDelegate.h: 2003-03-28 Ken Kocienda Reviewed by John Imports NSURLConnection private header to access NSURLConnection code that did not make the API cut. * WebView.subproj/WebBaseResourceHandleDelegate.m: * WebView.subproj/WebMainResourceClient.m: 2003-03-28 Ken Kocienda Reviewed by Trey NSURLConnection class method changed name: canInitWithRequest: -> canHandleRequest: Moved to API-approved model for synchronous loads. Removed fixme I put in yesterday having to do with reposting form data. The feature is fully functional again. * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:fromItem:withLoadType:]): (-[WebFrame _continueAfterNavigationPolicy:]): 2003-03-28 Ken Kocienda Reviewed by Darin Cosmetic change. Instances of 'resource' as a local variable name have been changed to 'connection'. Some other changes related to this cosmetic cleanup were done as well. As part of this change, I needed to change some 'connection' method arguments to 'con' to avoid the name conflict now that instance variables are named .connection'. * Downloads.subproj/WebDownload.m: (-[WebDownloadPrivate dealloc]): (-[WebDownload initWithRequest:]): (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]): (-[WebDownload loadWithDelegate:]): (-[WebDownload _downloadEnded]): (-[WebDownload _cancelWithError:]): * Downloads.subproj/WebDownloadPrivate.h: * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream connection:didReceiveResponse:]): (-[WebNetscapePluginStream connection:didReceiveData:]): (-[WebNetscapePluginStream connectionDidFinishLoading:]): (-[WebNetscapePluginStream connection:didFailLoadingWithError:]): * WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]): (-[WebSubresourceClient connection:didReceiveResponse:]): (-[WebSubresourceClient connection:didReceiveData:]): (-[WebSubresourceClient connectionDidFinishLoading:]): (-[WebSubresourceClient connection:didFailLoadingWithError:]): * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate _releaseResources]): (-[WebBaseResourceHandleDelegate startLoading:]): (-[WebBaseResourceHandleDelegate loadWithRequest:]): (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): (-[WebBaseResourceHandleDelegate connection:didReceiveData:]): (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]): (-[WebBaseResourceHandleDelegate cancelWithError:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:]): (-[WebMainResourceClient cancelWithError:]): (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient connection:didReceiveResponse:]): (-[WebMainResourceClient connection:didReceiveData:]): (-[WebMainResourceClient connectionDidFinishLoading:]): (-[WebMainResourceClient connection:didFailLoadingWithError:]): (-[WebMainResourceClient startLoading:]): 2003-03-28 Ken Kocienda Reviewed by Darin Changed names for URL connection callback methods to use the API-approved names. No functional changes. * Downloads.subproj/WebDownload.h: * Downloads.subproj/WebDownload.m: (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): (-[WebDownload connection:willSendRequest:redirectResponse:]): (-[WebDownload connection:didReceiveResponse:]): (-[WebDownload connection:didReceiveData:]): (-[WebDownload connectionDidFinishLoading:]): (-[WebDownload connection:didFailLoadingWithError:]): * Misc.subproj/WebIconLoader.m: (-[WebIconLoader connectionDidFinishLoading:]): (-[WebIconLoader connection:willSendRequest:redirectResponse:]): (-[WebIconLoader connection:didReceiveResponse:]): (-[WebIconLoader connection:didReceiveData:]): (-[WebIconLoader connection:didFailLoadingWithError:]): * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream connection:didReceiveResponse:]): (-[WebNetscapePluginStream connection:didReceiveData:]): (-[WebNetscapePluginStream connectionDidFinishLoading:]): (-[WebNetscapePluginStream connection:didFailLoadingWithError:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): * WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]): (-[WebSubresourceClient connection:didReceiveResponse:]): (-[WebSubresourceClient connection:didReceiveData:]): (-[WebSubresourceClient connectionDidFinishLoading:]): (-[WebSubresourceClient connection:didFailLoadingWithError:]): * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): (-[WebBaseResourceHandleDelegate connection:didReceiveData:]): (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]): * WebView.subproj/WebDefaultResourceLoadDelegate.m: (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:]): (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient connection:didReceiveResponse:]): (-[WebMainResourceClient connection:didReceiveData:]): (-[WebMainResourceClient connectionDidFinishLoading:]): (-[WebMainResourceClient connection:didFailLoadingWithError:]): (-[WebMainResourceClient startLoading:]): (-[WebResourceDelegateProxy connection:willSendRequest:redirectResponse:]): (-[WebResourceDelegateProxy connection:didReceiveResponse:]): (-[WebResourceDelegateProxy connection:didReceiveData:]): (-[WebResourceDelegateProxy connectionDidFinishLoading:]): (-[WebResourceDelegateProxy connection:didFailLoadingWithError:]): * WebView.subproj/WebResourceLoadDelegate.h: 2003-03-27 Chris Blumenberg Left out a "!" in my last check-in. * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]): 2003-03-27 Chris Blumenberg - Allow Netscape plug-ins that don't have resource files to load in Safari. - Added more error handling when loading plug-ins. Reviewed by darin. * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]): 2003-03-27 Maciej Stachowiak Reviewed by Darin. - fixed 3192344 - nil-deref in KWin::info scrolling amazon while other shopping tabs load - fixed 3098365 - Default window size changes as a result of popup windows - fixed 3189291 - javascript window.close() closes window, not just originating tab * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setWindowIsResizable:]): New bridge method, implemented by calling window operations delegate. (-[WebBridge windowIsResizable]): Likewise. (-[WebBridge firstResponder]): Likewise. (-[WebBridge makeFirstResponder:]): Likewise. (-[WebBridge closeWindow]): Likewise. 2003-03-27 Ken Kocienda Reviewed by Darin Changed WebResource to NSURLConnection. Some other "supporting" names changed as well. Note that there are no functional modifications, only name changes. * Downloads.subproj/WebDownload.m: (-[WebDownload initWithRequest:]): (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]): (-[WebDownload loadWithDelegate:]): (-[WebDownload resource:willSendRequest:]): (-[WebDownload resource:didReceiveResponse:]): (-[WebDownload resource:didReceiveData:]): (-[WebDownload resourceDidFinishLoading:]): (-[WebDownload resource:didFailLoadingWithError:]): * Downloads.subproj/WebDownloadPrivate.h: * Misc.subproj/WebIconLoader.h: * Misc.subproj/WebIconLoader.m: (-[WebIconLoader startLoading]): (-[WebIconLoader resourceDidFinishLoading:]): (-[WebIconLoader resource:willSendRequest:]): (-[WebIconLoader resource:didReceiveResponse:]): (-[WebIconLoader resource:didReceiveData:]): (-[WebIconLoader resource:didFailLoadingWithError:]): * Plugins.subproj/WebNetscapePluginStream.h: * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): (-[WebNetscapePluginStream resource:didReceiveResponse:]): (-[WebNetscapePluginStream resource:didReceiveData:]): (-[WebNetscapePluginStream resourceDidFinishLoading:]): (-[WebNetscapePluginStream resource:didFailLoadingWithError:]): * WebCoreSupport.subproj/WebBridge.m: * WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient resource:willSendRequest:]): (-[WebSubresourceClient resource:didReceiveResponse:]): (-[WebSubresourceClient resource:didReceiveData:]): (-[WebSubresourceClient resourceDidFinishLoading:]): (-[WebSubresourceClient resource:didFailLoadingWithError:]): * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate loadWithRequest:]): (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): (-[WebBaseResourceHandleDelegate resource:didReceiveData:]): (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]): (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]): * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: * WebView.subproj/WebDataSourcePrivate.m: * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): * WebView.subproj/WebDefaultResourceLoadDelegate.m: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueAfterNavigationPolicy:]): (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): * WebView.subproj/WebMainResourceClient.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient resource:willSendRequest:]): (-[WebMainResourceClient resource:didReceiveResponse:]): (-[WebMainResourceClient resource:didReceiveData:]): (-[WebMainResourceClient resourceDidFinishLoading:]): (-[WebMainResourceClient resource:didFailLoadingWithError:]): (-[WebResourceDelegateProxy setDelegate:]): (-[WebResourceDelegateProxy resource:willSendRequest:]): (-[WebResourceDelegateProxy resource:didReceiveResponse:]): (-[WebResourceDelegateProxy resource:didReceiveData:]): (-[WebResourceDelegateProxy resourceDidFinishLoading:]): (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]): * WebView.subproj/WebPolicyDelegate.h: * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: * WebView.subproj/WebViewPrivate.m: 2003-03-27 Richard Williamson API change: WebHistory initWithFile: -> initWithContentsOfURL: Reviewed by Ken. * History.subproj/WebHistory.h: * History.subproj/WebHistory.m: (-[WebHistory initWithContentsOfURL:]): (-[WebHistory URL]): * History.subproj/WebHistoryPrivate.h: * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate initWithContentsOfURL:]): (-[WebHistoryPrivate dealloc]): (-[WebHistoryPrivate _loadHistoryGuts:]): (-[WebHistoryPrivate loadHistory]): (-[WebHistoryPrivate _saveHistoryGuts:]): (-[WebHistoryPrivate URL]): (-[WebHistoryPrivate saveHistory]): 2003-03-27 Darin Adler Reviewed by Shelley. - fixed 3157067 -- Pier1.com doesn't load; Microsoft VBScript runtime error in user-agent checking code Besides this fix, I also filed an evangelism bug, bug 3210612. * WebView.subproj/WebUserAgentSpoofTable.gperf: Added pier1.com. * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated. 2003-03-27 Ken Kocienda Reviewed by Trey Moved to final NSURLResponse and NSHTTPURLResponse API. * Downloads.subproj/WebDownload.m: * Misc.subproj/WebNSURLResponseExtras.m: (-[NSURLResponse suggestedFilenameForSaving]): (-[NSHTTPURLResponse suggestedFilenameForSaving]): * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream setResponse:]): * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _representationClass]): (-[WebDataSource _commitIfReady:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _opened]): (-[WebFrame _loadItem:fromItem:withLoadType:]): * WebView.subproj/WebFrameViewPrivate.m: (-[WebFrameView _makeDocumentViewForDataSource:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient checkContentPolicyForResponse:]): (-[WebMainResourceClient resource:didReceiveResponse:]): (-[WebMainResourceClient startLoading:]): * WebView.subproj/WebTextRepresentation.m: (-[WebTextRepresentation setDataSource:]): * WebView.subproj/WebTextView.m: (-[WebTextView dataSourceUpdated:]): === Safari-69 === 2003-03-26 Richard Williamson File name change WebPluginError.[hm] -> WebPlugInError.[hm] * Misc.subproj/WebKit.h: * Plugins.subproj/WebNullPluginView.m: * Plugins.subproj/WebPlugInError.h: * Plugins.subproj/WebPluginError.h: Removed. * Plugins.subproj/WebPluginError.m: Removed. * Plugins.subproj/WebPluginErrorPrivate.h: * WebKit.pbproj/project.pbxproj: 2003-03-26 Richard Williamson WebPreferences API changes: JavaScriptCanOpenWindowsAutomatically -> javaScriptCanOpenWindowsAutomatically setJavaScriptCanOpenWindowsAutomatically -> setJavaScriptCanOpenWindowsAutomatically willLoadImagesAutomatically -> loadsImagesAutomatically setWillLoadImagesAutomatically -> setLoadsImagesAutomatically JavaEnabled -> isJavaEnabled setJavaEnabled -> setIsJavaEnabled JavaScriptEnabled -> isJavaScriptEnabled setJavaScriptEnabled -> setIsJavaScriptEnabled pluginsEnabled -> arePlugInsEnabled setPluginsEnabled -> setArePlugInsEnabled allowAnimatedImageLooping -> allowsAnimatedImageLooping setAllowAnimatedImageLooping -> setAllowsAnimatedImageLooping allowAnimatedImages -> allowsAnimatedImages setAllowAnimatedImages -> setAllowsAnimatedImages Made WebHistoryItem's ivars private. WebPluginError API changes: pluginPageURL -> plugInPageURLString contentURL -> contentURLString Reviewed by cblu. * API-Issues.rtf: * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: (-[WebHistoryItemPrivate dealloc]): (-[WebHistoryItem init]): (-[WebHistoryItem dealloc]): (-[WebHistoryItem URLString]): (-[WebHistoryItem originalURLString]): (-[WebHistoryItem title]): (-[WebHistoryItem setDisplayTitle:]): (-[WebHistoryItem icon]): (-[WebHistoryItem lastVisitedDate]): (-[WebHistoryItem hash]): (-[WebHistoryItem anchor]): (-[WebHistoryItem isEqual:]): (-[WebHistoryItem description]): (-[WebHistoryItem _retainIconInDatabase:]): (-[WebHistoryItem initWithURL:target:parent:title:]): (-[WebHistoryItem URL]): (-[WebHistoryItem target]): (-[WebHistoryItem parent]): (-[WebHistoryItem setURL:]): (-[WebHistoryItem setOriginalURLString:]): (-[WebHistoryItem setTitle:]): (-[WebHistoryItem setTarget:]): (-[WebHistoryItem setParent:]): (-[WebHistoryItem setLastVisitedDate:]): (-[WebHistoryItem documentState]): (-[WebHistoryItem scrollPoint]): (-[WebHistoryItem setScrollPoint:]): (-[WebHistoryItem setAnchor:]): (-[WebHistoryItem isTargetItem]): (-[WebHistoryItem setIsTargetItem:]): (-[WebHistoryItem _recurseToFindTargetItem]): (-[WebHistoryItem targetItem]): (-[WebHistoryItem formData]): (-[WebHistoryItem setFormData:]): (-[WebHistoryItem formContentType]): (-[WebHistoryItem setFormContentType:]): (-[WebHistoryItem formReferrer]): (-[WebHistoryItem setFormReferrer:]): (-[WebHistoryItem children]): (-[WebHistoryItem addChildItem:]): (-[WebHistoryItem childItemWithName:]): (-[WebHistoryItem dictionaryRepresentation]): (-[WebHistoryItem initFromDictionaryRepresentation:]): (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]): (-[WebHistoryItem alwaysAttemptToUsePageCache]): (-[WebHistoryItem _scheduleRelease]): (-[WebHistoryItem setHasPageCache:]): (-[WebHistoryItem pageCache]): * Plugins.subproj/WebPluginError.h: * Plugins.subproj/WebPluginError.m: (-[WebPlugInError plugInPageURLString]): * WebView.subproj/WebPreferences.h: * WebView.subproj/WebPreferences.m: (-[WebPreferences isJavaEnabled]): (-[WebPreferences setIsJavaEnabled:]): (-[WebPreferences isJavaScriptEnabled]): (-[WebPreferences setIsJavaScriptEnabled:]): (-[WebPreferences javaScriptCanOpenWindowsAutomatically]): (-[WebPreferences arePlugInsEnabled]): (-[WebPreferences setArePlugInsEnabled:]): (-[WebPreferences allowsAnimatedImages]): (-[WebPreferences allowsAnimatedImageLooping]): (-[WebPreferences setAllowsAnimatedImageLooping:]): (-[WebPreferences setLoadsImagesAutomatically:]): (-[WebPreferences loadsImagesAutomatically]): * WebView.subproj/WebViewPrivate.m: (-[WebView _updateWebCoreSettingsFromPreferences:]): 2003-03-26 Ken Kocienda Reviewed by Darin Changed WebResponse to NSURLResponse. Some other "supporting" names changed as well. Note that there are no functional modifications, only name changes. * Downloads.subproj/WebDownload.h: * Downloads.subproj/WebDownload.m: (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]): (-[WebDownload _setResponse:]): (-[WebDownload resource:didReceiveResponse:]): * Downloads.subproj/WebDownloadPrivate.h: * Misc.subproj/WebIconLoader.m: (-[WebIconLoader resource:didReceiveResponse:]): * Misc.subproj/WebKit.h: * Plugins.subproj/WebBaseNetscapePluginStream.h: * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream setResponse:]): * Plugins.subproj/WebNetscapePluginDocumentView.m: * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream resource:didReceiveResponse:]): * WebCoreSupport.subproj/WebBridge.m: * WebCoreSupport.subproj/WebSubresourceClient.h: * WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient resource:didReceiveResponse:]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: (-[WebDataSource response]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setResponse:]): (-[WebDataSource _commitIfReady:]): (-[WebDataSource _addResponse:]): * WebView.subproj/WebDefaultPolicyDelegate.m: * WebView.subproj/WebDefaultResourceLoadDelegate.m: (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _opened]): * WebView.subproj/WebFrameViewPrivate.m: * WebView.subproj/WebHTMLRepresentation.m: * WebView.subproj/WebMainResourceClient.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient continueAfterContentPolicy:]): (-[WebMainResourceClient checkContentPolicyForResponse:]): (-[WebMainResourceClient resource:didReceiveResponse:]): (-[WebMainResourceClient startLoading:]): (-[WebResourceDelegateProxy resource:didReceiveResponse:]): * WebView.subproj/WebPolicyDelegate.h: * WebView.subproj/WebResourceLoadDelegate.h: * WebView.subproj/WebTextRepresentation.m: * WebView.subproj/WebTextView.m: 2003-03-26 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 2003-03-26 Darin Adler Reviewed by Trey. - fixed 3209091 -- REGRESSION: WebFrameView leak (world leak) * WebView.subproj/WebView.m: (-[WebView _commonInitialization:frameName:groupName:]): Use copy, not retain, on an incoming NSString parameter. (-[WebView initWithFrame:frameName:groupName:]): Release the WebFrameView after setting it up. - other changes * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Put the bug workaround here inside an ifdef so we don't compile it in on Panther. 2003-03-26 Chris Blumenberg Use the private _cfBundle method on NSBundle so we only create 1 bundle per plug-in package class. Reviewed by trey. * Plugins.subproj/WebBasePluginPackage.h: * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage initWithPath:]): (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]): (-[WebBasePluginPackage dealloc]): * Plugins.subproj/WebNetscapePluginPackage.h: * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage openResourceFile]): (-[WebNetscapePluginPackage closeResourceFile:]): (-[WebNetscapePluginPackage getPluginInfoFromPLists]): (-[WebNetscapePluginPackage initWithPath:]): (-[WebNetscapePluginPackage load]): (-[WebNetscapePluginPackage unload]): * Plugins.subproj/WebPluginPackage.m: (-[WebPluginPackage initWithPath:]): (-[WebPluginPackage viewFactory]): (-[WebPluginPackage load]): (-[WebPluginPackage isLoaded]): 2003-03-26 Ken Kocienda Reviewed by Maciej Finished conversion to NSMutableURLRequest. HTTP-specific mutator methods are now properly placed on an HTTP category of NSMutableURLRequest. All client code has been updated to use NSMutableURLRequest where appropriate. * Misc.subproj/WebIconLoader.m: (-[WebIconLoader startLoading]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient resource:willSendRequest:]): 2003-03-25 Richard Williamson Changed use of plugin to plugIn in our public API as instructed by those that must be obeyed. Reviewed by Trey. Changed userStyleSheetLocation to take/pass an NSURL. Reviewed by Chris * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): * Plugins.subproj/WebNullPluginView.h: * Plugins.subproj/WebNullPluginView.m: (-[WebNullPluginView viewDidMoveToWindow]): * Plugins.subproj/WebPluginError.h: * Plugins.subproj/WebPluginError.m: (-[WebPlugInError plugInPageURL]): (-[WebPlugInError plugInName]): * Plugins.subproj/WebPluginErrorPrivate.h: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): * WebView.subproj/WebDefaultResourceLoadDelegate.m: (-[WebDefaultResourceLoadDelegate webView:plugInFailedWithError:dataSource:]): * WebView.subproj/WebPreferences.h: * WebView.subproj/WebPreferences.m: (-[WebPreferences userStyleSheetLocation]): (-[WebPreferences setUserStyleSheetLocation:]): * WebView.subproj/WebResourceLoadDelegate.h: * WebView.subproj/WebViewPrivate.m: (-[WebView _updateWebCoreSettingsFromPreferences:]): * API-Issues.rtf: notes to self 2003-03-25 Chris Blumenberg Fixed: 3135385 - many file types don't work with the QuickTime plugin in Safari Reviewed by trey. * Plugins.subproj/WebBasePluginPackage.h: * Plugins.subproj/WebBasePluginPackage.m: (+[WebBasePluginPackage pluginWithPath:]): tweak (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): moved up from WebNetscapePluginPackage (-[WebBasePluginPackage initWithPath:]): retain path, create bundle so subclasses don't have to do this work (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]): was getMIMEInformation from WebPluginPackage (-[WebBasePluginPackage dealloc]): release the bundle (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]): tweak * Plugins.subproj/WebNetscapePluginPackage.h: * Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage preferredLocalizationName]): new (-[WebNetscapePluginPackage openResourceFile]): tweak (-[WebNetscapePluginPackage closeResourceFile:]): tweak (-[WebNetscapePluginPackage stringForStringListID:andIndex:]): tweak (-[WebNetscapePluginPackage getPluginInfoFromResources]): was getMIMEInformation (-[WebNetscapePluginPackage pListForPath:createFile:]): new, calls BP_CreatePluginMIMETypesPreferences if createFile==YES (-[WebNetscapePluginPackage getPluginInfoFromPLists]): calls getPluginInfoFromBundleAndMIMEDictionary with the MIME dictionary from the user's home dir. (-[WebNetscapePluginPackage initWithPath:]): have the superclass do some initialization, call getPluginInfoFromPLists and/or getPluginInfoFromResources (-[WebNetscapePluginPackage executableType]): tweak (-[WebNetscapePluginPackage load]): get the BP_CreatePluginMIMETypesPreferences symbol (-[WebNetscapePluginPackage unload]): tweak (-[WebNetscapePluginPackage dealloc]): tweak * Plugins.subproj/WebPluginPackage.h: * Plugins.subproj/WebPluginPackage.m: (-[WebPluginPackage initWithPath:]): have the superclass do some initialization, call getPluginInfoFromBundleAndMIMEDictionary (-[WebPluginPackage viewFactory]): tweak (-[WebPluginPackage load]): call principalClass (-[WebPluginPackage isLoaded]): tweak * Plugins.subproj/npapi.h: added declaration for the BP_CreatePluginMIMETypesPreferences function pointer. 2003-03-25 John Sullivan - WebKit part of fix for 3141794 -- No scroll bar for the "collections" column of the bookmarks window Reviewed by Darin. * WebView.subproj/WebDynamicScrollBarsView.h: replaced disallowsScrolling boolean ivar with separate booleans for disallowHorizontalScrolling and disallowVerticalScrolling * WebView.subproj/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]): take the two disallow booleans into account separately (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]), (-[WebDynamicScrollBarsView allowsHorizontalScrolling]), (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]), (-[WebDynamicScrollBarsView allowsVerticalScrolling]): new methods, do the obvious (-[WebDynamicScrollBarsView setAllowsScrolling:]): changed to set both ivars (-[WebDynamicScrollBarsView allowsScrolling]): changed to return YES if scrolling is allowed in either direction * WebKit.exp: exported symbol for WebDynamicScrollBarsView class name 2003-03-25 Ken Kocienda Reviewed by Richard Fixed a bug that could occur in the new immutable/mutable request scheme. When opening a javascript window, it was possible for a request passed as a method argument to be released during the course of a method, particularly after that request was passed to willSendRequest:. The solution is to ask the data source for its current request rather than using the one stored in the method argument. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient startLoading:]): 2003-03-24 Trey Matteson Pass -seg_addr_table_filename to ld. This makes our frameworks in SYMROOT actually work for symbol resolution because they will have the correct prebinding address. It also fixes obscure B&I problems with prebinding reported by Matt Reda. Note the reason all this is tricky for our projects is that we have a different install location for Jaguar and Panther. The purpose of this arg is to declare at link time our eventual location, which allows the prebinding address to be found in /AppleInternal/Developer/seg_addr_table. We use a funky back-tick expression within OTHER_LDFLAGS to get a conditional value depending on the build train we are in. This can all go away once we only build on Panther and don't embed the frameworks inside the Safari.app wrapper. In addition I fixed the OTHER_LDFLAGS settings in our build styles to be additive instead of overriding, so we have the args we used for B&I in force when building outside of B&I. Reviewed by Maciej. * WebKit.pbproj/project.pbxproj: 2003-03-25 Ken Kocienda Reviewed by Darin Updated to use NSMutableURLRequest where appropriate. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView requestWithURLCString:]): (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithRequest:]): (-[WebDataSource request]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setURL:]): * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): (-[WebFrame reload]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:fromItem:withLoadType:]): (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): 2003-03-25 Darin Adler Reviewed by John. - fixed 3205745 -- WebKit.framework's Localizable.strings file contains high ASCII in the Key definition. * English.lproj/Localizable.strings: Regenerated with the new version of the extract-localizable-strings tool that uses \U syntax instead of "high ASCII". - changed cursive font back to "Apple Chancery" for now * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): Change to "Apple Chancery". * English.lproj/StringsNotToBeLocalized.txt: Update for above change. 2003-03-24 Darin Adler Reviewed by Dave. - fixed 3206803 -- REGRESSION: Lucida Handwriting font doesn't work * WebCoreSupport.subproj/WebTextRendererFactory.m: (acceptableChoice): Added. Returns NO if the weight/traits are no good. (betterChoice): Added. Returns YES if the new weight/traits are better than the old. (-[WebTextRendererFactory fontWithFamily:traits:size:]): Use the new functions to judge which font is good enough. Now it will accept an italic font if that's all we have. - fixed 3206904 -- use "Lucida Handwriting" for "cursive" so it works on systems without Classic * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): Change default from "Apple Chancery" to "Lucida Handwriting". * English.lproj/StringsNotToBeLocalized.txt: Updated for this change. 2003-03-24 Maciej Stachowiak Reviewed by Richard. - made API (actually doc-only) changes needed for 3087535 - bugzilla queries come back as downloaded files * Downloads.subproj/WebDownload.h: Documented that download:didReceiveResponse: may be sent more than once. * WebView.subproj/WebLocationChangeDelegate.h: Documented that locationChangeCommittedForDataSource: may be sent more than once. * WebView.subproj/WebPolicyDelegate.h: Documented that decideContentPolicyForMIMEType:andRequest:inFrame: may be sent more than once. * WebView.subproj/WebResourceLoadDelegate.h: Documented that resource:didReceiveResponse:fromDataSource: may be sent more than once. 2003-03-24 Maciej Stachowiak Reviewed by Richard. - fixed 3083339 - significant top and side margin appended to new windows Part of the fix involves adding new window operation delegate methods. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setWindowFrame:]): Tweaked code a bit. (-[WebBridge windowFrame]): Added. (-[WebBridge setWindowContentRect:]): Added. (-[WebBridge windowContentRect]): Added. * WebView.subproj/WebDefaultWindowOperationsDelegate.m: (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): Implemented. (-[WebDefaultWindowOperationsDelegate webViewContentRect:]): Likewise. * WebView.subproj/WebWindowOperationsDelegate.h: 2003-03-24 Chris Blumenberg Fixed: 3155489 - Seed: PostScript files display instead of downloading, often as a blank page Fixed: 3106251 - quicken file not downloaded, can't save manually Reviewed by trey. * WebView.subproj/WebDataSourcePrivate.m: (+[WebDataSource _repTypes]): call [WebImageView supportedImageMIMETypes] * WebView.subproj/WebFrameViewPrivate.m: (+[WebFrameView _viewTypes]): call [WebImageView supportedImageMIMETypes] * WebView.subproj/WebImageView.h: * WebView.subproj/WebImageView.m: (+[WebImageView initialize]): was -initialize (oops) (+[WebImageView unsupportedImageMIMETypes]): new, AppKit images that we shouldn't display inline, includes ps and pdf (+[WebImageView supportedImageMIMETypes]): new, was in WebViewPrivate * WebView.subproj/WebTextView.h: * WebView.subproj/WebTextView.m: (+[WebTextView unsupportedTextMIMETypes]): renamed, added text/qif (quicken) * WebView.subproj/WebView.m: (+[WebView canShowMIMEType:]): call [WebTextView unsupportedTextMIMETypes] * WebView.subproj/WebViewPrivate.h: removed _supportedImageMIMETypes * WebView.subproj/WebViewPrivate.m: removed _supportedImageMIMETypes 2003-03-24 Ken Kocienda Reviewed by hyatt. Moved closer to target API for NSURLRequest. Merged in final names for immutable and mutable versions of this class and its HTTP category. The next step will be to actually make the split between immutable/mutable variants of NSURLRequest. In WebKit, this amounts to name changes only. * Misc.subproj/WebIconLoader.m: (-[WebIconLoader startLoading]): * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): (-[WebBridge incomingReferrer]): * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): * WebView.subproj/WebDataSourcePrivate.m: * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]): * WebView.subproj/WebFrame.m: (-[WebFrame reload]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem]): (-[WebFrame _loadItem:fromItem:withLoadType:]): (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient resource:willSendRequest:]): 2003-03-22 Darin Adler Reviewed by John. - fixed 3203869 -- Monaco 9 looks different in Safari than in TextEdit (uses outline instead of bitmap) * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]): Pass usingPrinterFont:NO, since this is used exclusively for on-screen text, not printing. * Misc.subproj/WebStringTruncator.m: (truncateString): Ditto. * WebCoreSupport.subproj/WebTextRenderer.h: Add usingPrinterFont boolean field and parameter to init. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:forScreen:]): Add usingPrinterFont parameter, and get the screen font if it's NO, also store the boolean for later use. (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding: attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]): Pass the usingPrinterFont parameter through when getting a substitute font. * WebCoreSupport.subproj/WebTextRendererFactory.h: Add separate caches for screen and printing text renderers. Add usingPrinterFont parameter to our rendererWithFont: method (the one inherited from WebCore still has no parameter). * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory init]): Create both caches. (-[WebTextRendererFactory dealloc]): Release both caches. (-[WebTextRendererFactory rendererWithFont:]): Call the new rendererWithFont:usingPrinterFont: method, passing usingPrinterFonts from the WebCore side. Thus any fonts fetched by WebCore during printing are printing fonts, and otherwise they are screen fonts. (-[WebTextRendererFactory rendererWithFont:usingPrinterFont:]): Added. Has the code from the old rendererWithFont: method, but passes the usingPrinterFont parameter through to the WebTextRenderer init method. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]): Don't set unused canDragTo and canDragFrom fields. (-[WebHTMLView drawRect:]): Call -[WebTextRendererFactory setUsingPrinterFonts:] here if we are printing, as indicated by the usingPrinterFonts field. The reason we do this only inside drawRect is so we don't affect redraws of other HTML views that are not being printed that might be in "needs display" state when printing began. (-[WebHTMLView _setUsingPrinterFonts:]): Added. Calls _setUsingPrinterFonts on all WebHTMLViews inside this one, then does the work for this one. Uses the frame hierarchy rather than the view hierarchy, but either would work. If printer font state is changing, then sets the WebTextRendererFactory mode, then forces a layout and application of styles, but without triggering display. (-[WebHTMLView beginDocument]): Do an explicit display so this view does not have to be displayed while it is in "use printer fonts" mode. Then call _setUsingPrinterFonts:YES so that drawRect will use printer fonts, and also that the WebCore data structures and layout will be updated to reflect printer fonts as opposed to screen fonts. (-[WebHTMLView endDocument]): Call _setUsingPrinterFonts:NO to restore things to normal after printing. * WebView.subproj/WebHTMLViewPrivate.h: Removed unused canDragTo, canDragFrom, and liveAllowsScrolling fields. Added usingPrinterFonts field. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 2003-03-24 Ken Kocienda Reviewed by Darin Removed now-obsolete WebResponseCachePolicy enum. Once the new cache API is ready, there will be new features to replace what this enum provided. Seeing as how this enum was largely unused, there is no impact associated with removing it now. * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): 2003-03-24 Ken Kocienda Reviewed by John Cleaned up some missed WebRequest -> NSURLRequest name conversions. * WebView.subproj/WebFramePrivate.m 2003-03-24 Ken Kocienda Reviewed by John Changed WebRequest to NSURLRequest. Several other names, like some constants whose names were based on WebRequest, changed as well. * Downloads.subproj/WebDownload.h: * Downloads.subproj/WebDownload.m: (-[WebDownload initWithRequest:]): (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]): (-[WebDownload _setRequest:]): (-[WebDownload resource:willSendRequest:]): * Downloads.subproj/WebDownloadPrivate.h: * Misc.subproj/WebIconLoader.m: (-[WebIconLoader startLoading]): (-[WebIconLoader resource:willSendRequest:]): * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView requestWithURLCString:]): (-[WebBaseNetscapePluginView loadPluginRequest:]): (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): (-[WebBaseNetscapePluginView getURL:target:]): (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): (-[WebPluginRequest initWithRequest:frameName:notifyData:]): (-[WebPluginRequest request]): * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h: * Plugins.subproj/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]): * Plugins.subproj/WebNetscapePluginStream.h: * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): * Plugins.subproj/WebPluginController.m: (-[WebPluginController showURL:inFrame:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): (-[WebBridge isReloading]): (-[WebBridge loadEmptyDocumentSynchronously]): * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): (-[WebSubresourceClient resource:willSendRequest:]): * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate startLoading:]): (-[WebBaseResourceHandleDelegate loadWithRequest:]): (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithRequest:]): (-[WebDataSource initialRequest]): (-[WebDataSource request]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setURL:]): (-[WebDataSource _setRequest:]): (-[WebDataSource _originalRequest]): (-[WebDataSource _lastCheckedRequest]): (-[WebDataSource _setLastCheckedRequest:]): * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]): * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): (-[WebDefaultPolicyDelegate webView:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]): * WebView.subproj/WebDefaultResourceLoadDelegate.m: (-[WebDefaultResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]): (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:fromDataSource:]): * WebView.subproj/WebDefaultWindowOperationsDelegate.m: * WebView.subproj/WebFrame.h: * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): (-[WebFrame reload]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem]): (-[WebFrame _loadItem:fromItem:withLoadType:]): (-[WebFrame _loadRequest:triggeringAction:loadType:formState:]): (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): (-[WebFrame _continueAfterNewWindowPolicy:]): (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): (-[WebFrame _continueAfterNavigationPolicy:]): (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]): (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): (-[WebFrame _loadRequest:inFrameNamed:]): * WebView.subproj/WebFrameView.m: (-[WebFrameView concludeDragOperation:]): * WebView.subproj/WebImageRepresentation.m: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]): (-[WebMainResourceClient resource:willSendRequest:]): (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient startLoading:]): (-[WebResourceDelegateProxy resource:willSendRequest:]): * WebView.subproj/WebPolicyDelegate.h: * WebView.subproj/WebResourceLoadDelegate.h: * WebView.subproj/WebView.m: (-[WebView takeStringURLFrom:]): * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebView _downloadURL:toDirectory:]): (-[WebView _openNewWindowWithRequest:]): * WebView.subproj/WebWindowOperationsDelegate.h: 2003-03-21 Chris Blumenberg Fixed: 3081681 - text/calendar should be downloaded instead of displayed Fixed: 3177603 - vCards appear in browser, not downloaded Reviewed by darin. * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (+[WebDataSource _representationClassForMIMEType:]): was _canShowMIMEType * WebView.subproj/WebFrameViewPrivate.h: * WebView.subproj/WebFrameViewPrivate.m: (+[WebFrameView _viewClassForMIMEType:]): was _canShowMIMEType * WebView.subproj/WebTextView.h: * WebView.subproj/WebTextView.m: (+[WebTextView unshowableMIMETypes]): new, returns text types that shouldn't be shown * WebView.subproj/WebView.m: (+[WebView canShowMIMEType:]): call unshowableMIMETypes 2003-03-20 Richard Williamson Use "Item" consistently in the WebHistory and WebBackForwardList. Change createSharedHistoryWithFile: to setSharedHistory: Make the various page cache methods per WebBackForwardList instead of global. Reviewed by gramps. * History.subproj/WebBackForwardList.h: * History.subproj/WebBackForwardList.m: (-[WebBackForwardListPrivate dealloc]): (-[WebBackForwardList init]): (-[WebBackForwardList dealloc]): (-[WebBackForwardList goBack]): (-[WebBackForwardList goForward]): (-[WebBackForwardList goToItem:]): (-[WebBackForwardList backItem]): (-[WebBackForwardList currentItem]): (-[WebBackForwardList forwardItem]): (-[WebBackForwardList containsItem:]): (-[WebBackForwardList maximumSize]): (-[WebBackForwardList setMaximumSize:]): (-[WebBackForwardList description]): (-[WebBackForwardList clearPageCache]): (-[WebBackForwardList setPageCacheSize:]): (-[WebBackForwardList pageCacheSize]): (-[WebBackForwardList setUsesPageCache:]): (-[WebBackForwardList usesPageCache]): (-[WebBackForwardList backListCount]): (-[WebBackForwardList forwardListCount]): (-[WebBackForwardList itemAtIndex:]): * History.subproj/WebHistory.h: * History.subproj/WebHistory.m: (-[_WebCoreHistoryProvider containsItemForURLString:]): (+[WebHistory setSharedHistory:]): (-[WebHistory addItemForURL:]): (-[WebHistory addItem:]): (-[WebHistory removeItem:]): (-[WebHistory removeItems:]): (-[WebHistory removeAllItems]): (-[WebHistory addItems:]): (-[WebHistory orderedItemsLastVisitedOnDay:]): (-[WebHistory containsItemForURLString:]): (-[WebHistory itemForURL:]): * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryPrivate.h: * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate insertItem:atDateIndex:]): (-[WebHistoryPrivate removeItemForURLString:]): (-[WebHistoryPrivate addItem:]): (-[WebHistoryPrivate removeItem:]): (-[WebHistoryPrivate removeItems:]): (-[WebHistoryPrivate removeAllItems]): (-[WebHistoryPrivate addItems:]): (-[WebHistoryPrivate orderedItemsLastVisitedOnDay:]): (-[WebHistoryPrivate containsItemForURLString:]): (-[WebHistoryPrivate itemForURL:]): (-[WebHistoryPrivate _loadHistoryGuts:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge goBackOrForward:]): * WebKit.exp: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setTitle:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addBackForwardItemClippedAtTarget:]): (-[WebFrame _transitionToCommitted:]): (-[WebFrame _canCachePage]): (-[WebFrame _purgePageCache]): (-[WebFrame _goToItem:withLoadType:]): (-[WebFrame _resetBackForwardListToCurrent]): * WebView.subproj/WebLocationChangeDelegate.h: * WebView.subproj/WebResourceLoadDelegate.h: * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (-[WebView _commonInitialization:frameName:groupName:]): (-[WebView setMaintainsBackForwardList:]): (-[WebView goBack]): (-[WebView goForward]): 2003-03-20 Chris Blumenberg Properly handle file URL directory errors. Reviewed by trey. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _iconForFileURL:withSize:]): when file URL has no path, return generic file icon * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient interruptForPolicyChangeError]): set the URL, don't set it to nil! 2003-03-20 Vicki Murley don't include WebFoundation.h Reviewed by cblu. * Plugins.subproj/WebBaseNetscapePluginStream.m: * Plugins.subproj/WebNetscapePluginRepresentation.m: * Plugins.subproj/WebNetscapePluginStream.m: === Safari-68 === 2003-03-20 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 2003-03-19 Ed Voas voas@apple.com Reviewed by Richard. React to WebView API changes. Redo HIWebView API. * Carbon.subproj/HIWebView.h: * Carbon.subproj/HIWebView.m: (if): (switch): * Carbon.subproj/HIWebViewPriv.h: Removed. * WebKit.exp: * WebKit.pbproj/project.pbxproj: 2003-03-19 Richard Williamson Removed initWithView:* constructors from WebView. New designated initializer for WebView is initWithFrame:frameName:groupName: Reviewed by cblu & ed. * Carbon.subproj/HIWebView.m: * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (-[WebView init]): (-[WebView initWithFrame:]): 2003-03-19 Richard Williamson Rename WebControllerPolicyDelegate*.[hm] to WebPolicyDelegate*.[hm] Reviewed by trey. * API-Issues.rtf: * Misc.subproj/WebKit.h: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebControllerPolicyDelegate.h: Removed. * WebView.subproj/WebControllerPolicyDelegate.m: Removed. * WebView.subproj/WebControllerPolicyDelegatePrivate.h: Removed. * WebView.subproj/WebDataSourcePrivate.m: * WebView.subproj/WebDefaultContextMenuDelegate.m: * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: * WebView.subproj/WebFrameView.h: * WebView.subproj/WebHTMLViewPrivate.m: * WebView.subproj/WebMainResourceClient.m: * WebView.subproj/WebPolicyDelegate.m: * WebView.subproj/WebPolicyDelegatePrivate.h: * WebView.subproj/WebView.m: * WebView.subproj/WebViewPrivate.h: 2003-03-19 Darin Adler Reviewed by John. - fixed 3202780 -- REGRESSION: progress bar, stop button, both get stuck in "loading" state (bartsoft.com) * WebView.subproj/WebDataSource.m: (-[WebDataSource isLoading]): Add back the "is this page complete" check, so that subresource loads don't make us think we're loading again, once the page is complete. On the other hand, frames must still be checked independent of the "is this page complete" flag to avoid reintroducing bug 3200611. 2003-03-19 Ed Voas voas@apple.com Reviewed by Richard. Got it working in non-compositing mode as well, so in theory it can work inside a PowerPlant application as well. It's a bit of what I'd consider a hack, but it's pretty straightforward. * Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter setViewsNeedDisplay:]): * Carbon.subproj/HIViewAdapter.h: * Carbon.subproj/HIViewAdapter.m: (+[HIViewAdapter bindHIViewToNSView:nsView:]): (-[HIViewAdapter setNeedsDisplay:]): (-[HIViewAdapter setNeedsDisplayInRect:]): (SetViewNeedsDisplay): * Carbon.subproj/HIWebView.m: (if): 2003-03-18 Maciej Stachowiak Reviewed by Trey. - fixed 3127431 - bring the window with the named frame to the front * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge focusWindow]): Tell the window operations delegate to focus. (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): If this navigation is meant for a different frame, focus its window. (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Likewise. 2003-03-18 Trey Matteson 3077223 full keyboard UI navigation fails in authentication sheet Hook up the views in this panel into a useful nextKeyView cycle. Reviewed by Maciej. * Panels.subproj/English.lproj/WebAuthenticationPanel.nib: 2003-03-17 Trey Matteson Support for saving passwords on forms-based logins. Biggest change is that the willSubmitForm: message is async to allow a sheet to be presented. Also fixed @interface.*{ so prepare-change-log can swallow WebFramePrivate.m. Reviewed by Maciej. * WebView.subproj/WebControllerPolicyDelegate.m: (-[WebPolicyDecisionListener continue]): The decision listener also implements WebFormSubmissionListener, to share some other impl. * WebView.subproj/WebControllerPolicyDelegatePrivate.h: * WebView.subproj/WebFormDelegate.h: * WebView.subproj/WebFormDelegate.m: (-[WebFormDelegate frame:willSubmitForm:withValues:submissionListener:]): Take listener param for async API. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Latent bug. Don't call willSubmitForm if no values are being submitted. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Latent bug. Don't call willSubmitForm if no values are being submitted. (-[WebFrame _continueAfterWillSubmitForm:]): Continuation code for after FormDelegate is done with willSubmitForm. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Pass new listener arg to willSubmitForm. * WebView.subproj/WebHTMLRepresentation.h: * WebView.subproj/WebHTMLRepresentation.m: Nuke deadwood formIsLoginForm. (-[WebHTMLRepresentation elementIsPassword:]): Just pass through glue over the bridge. 2003-03-18 Richard Williamson Another rename WebController*.[hm] to WebView*.[hm] Reviewed by darin. * Carbon.subproj/HIWebView.h: * Misc.subproj/WebKit.h: * Misc.subproj/WebNSPasteboardExtras.m: * Panels.subproj/WebStandardPanelsPrivate.h: * Plugins.subproj/WebBaseNetscapePluginView.m: * Plugins.subproj/WebNetscapePluginDocumentView.m: * Plugins.subproj/WebNetscapePluginEmbeddedView.m: * Plugins.subproj/WebNetscapePluginStream.m: * Plugins.subproj/WebNullPluginView.m: * Plugins.subproj/WebPluginController.m: * WebCoreSupport.subproj/WebBridge.m: * WebCoreSupport.subproj/WebSubresourceClient.m: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebBaseResourceHandleDelegate.m: * WebView.subproj/WebController.h: Removed. * WebView.subproj/WebController.m: Removed. * WebView.subproj/WebControllerPrivate.h: Removed. * WebView.subproj/WebControllerPrivate.m: Removed. * WebView.subproj/WebDataSource.m: * WebView.subproj/WebDataSourcePrivate.m: * WebView.subproj/WebDefaultContextMenuDelegate.m: * WebView.subproj/WebDefaultPolicyDelegate.m: * WebView.subproj/WebDefaultResourceLoadDelegate.m: * WebView.subproj/WebDefaultWindowOperationsDelegate.m: * WebView.subproj/WebFrame.m: * WebView.subproj/WebFramePrivate.m: * WebView.subproj/WebFrameView.m: * WebView.subproj/WebFrameViewPrivate.m: * WebView.subproj/WebHTMLView.m: * WebView.subproj/WebHTMLViewPrivate.m: * WebView.subproj/WebImageView.m: * WebView.subproj/WebMainResourceClient.m: * WebView.subproj/WebTextView.m: * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: 2003-03-18 Richard Williamson Renamed WebView*.[hm] to WebFrameView*.[hm] * Misc.subproj/WebKit.h: * Misc.subproj/WebNSViewExtras.m: * Panels.subproj/WebStandardPanels.m: * Plugins.subproj/WebBaseNetscapePluginView.m: * Plugins.subproj/WebNetscapePluginDocumentView.m: * Plugins.subproj/WebNetscapePluginEmbeddedView.m: * Plugins.subproj/WebNetscapePluginRepresentation.m: * Plugins.subproj/WebNullPluginView.m: * Plugins.subproj/WebPluginController.m: * Plugins.subproj/WebPluginDatabase.m: * WebCoreSupport.subproj/WebBridge.m: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebController.m: * WebView.subproj/WebControllerPrivate.m: * WebView.subproj/WebDataSourcePrivate.m: * WebView.subproj/WebDebugDOMNode.m: * WebView.subproj/WebDefaultContextMenuDelegate.m: * WebView.subproj/WebFrame.m: * WebView.subproj/WebFramePrivate.m: * WebView.subproj/WebFrameView.m: * WebView.subproj/WebFrameViewPrivate.h: * WebView.subproj/WebFrameViewPrivate.m: * WebView.subproj/WebHTMLView.m: * WebView.subproj/WebHTMLViewPrivate.m: * WebView.subproj/WebImageView.m: * WebView.subproj/WebMainResourceClient.m: * WebView.subproj/WebRenderNode.m: * WebView.subproj/WebTextView.m: * WebView.subproj/WebView.h: Removed. * WebView.subproj/WebView.m: Removed. * WebView.subproj/WebViewPrivate.h: Removed. * WebView.subproj/WebViewPrivate.m: Removed. 2003-03-18 Richard Williamson Stage 2 of WebController to WebView renaming. Reviewed by hyatt. * API-Issues.rtf: * Carbon.subproj/HIWebView.h: * Carbon.subproj/HIWebView.m: * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_bestURL]): * Panels.subproj/WebStandardPanels.m: (-[WebStandardPanels _didStartLoadingURL:inController:]): (-[WebStandardPanels _didStopLoadingURL:inController:]): (-[WebStandardPanels frontmostWindowLoadingURL:]): * Panels.subproj/WebStandardPanelsPrivate.h: * Plugins.subproj/WebBaseNetscapePluginView.h: * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView controller]): (-[WebBaseNetscapePluginView loadPluginRequest:]): * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): * Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation isPluginViewStarted]): (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): * Plugins.subproj/WebNullPluginView.m: (-[WebNullPluginView viewDidMoveToWindow]): * Plugins.subproj/WebPluginController.m: (-[WebPluginController showStatus:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge mainFrame]): (-[WebBridge createWindowWithURL:frameName:]): (-[WebBridge showWindow]): (-[WebBridge areToolbarsVisible]): (-[WebBridge setToolbarsVisible:]): (-[WebBridge areScrollbarsVisible]): (-[WebBridge setScrollbarsVisible:]): (-[WebBridge isStatusBarVisible]): (-[WebBridge setStatusBarVisible:]): (-[WebBridge setWindowFrame:]): (-[WebBridge window]): (-[WebBridge runJavaScriptAlertPanelWithMessage:]): (-[WebBridge runJavaScriptConfirmPanelWithMessage:]): (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]): (-[WebBridge runOpenPanelForFileButtonWithResultListener:]): (-[WebBridge setStatusText:]): (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): (-[WebBridge setWebFrame:]): (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): (-[WebBridge userAgentForURL:]): (-[WebBridge nextKeyViewOutsideWebFrameViews]): (-[WebBridge previousKeyViewOutsideWebFrameViews]): (-[WebBridge defersLoading]): (-[WebBridge setDefersLoading:]): (-[WebBridge setNeedsReapplyStyles]): (-[WebBridge setNeedsLayout]): (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): (-[WebBridge handleMouseDragged:]): (-[WebBridge mayStartDragWithMouseDragged:]): (-[WebBridge historyLength]): (-[WebBridge goBackOrForward:]): (formDelegate): * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): * WebKit.exp: * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): (-[WebBaseResourceHandleDelegate resource:didReceiveData:]): (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]): (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]): (-[WebBaseResourceHandleDelegate cancelWithError:]): * WebView.subproj/WebContextMenuDelegate.h: * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (-[WebView _commonInitialization:frameName:groupName:]): (-[WebView initWithFrame:]): (-[WebView supportsTextEncoding]): (-[WebView userAgentForURL:]): * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebViewPrivate _clearControllerReferences:]): (+[WebView canShowFile:]): (+[WebView suggestedFileExtensionForMIMEType:]): (-[WebView _createFrameNamed:inParent:allowsScrolling:]): (-[WebView _findFrameNamed:]): (-[WebView _openNewWindowWithRequest:]): (-[WebView _menuForElement:]): (-[WebView _mouseDidMoveOverElement:modifierFlags:]): (-[WebView _frameForView:fromFrame:]): * WebView.subproj/WebControllerSets.h: * WebView.subproj/WebControllerSets.m: (+[WebControllerSets addController:toSetNamed:]): (+[WebControllerSets removeController:fromSetNamed:]): * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _controller]): (-[WebDataSource _setController:]): (-[WebDataSource _startLoading:]): (-[WebDataSource _setTitle:]): (-[WebDataSource _setRequest:]): (-[WebDataSource _layoutChildren]): (+[WebDataSource _repTypes]): (-[WebDataSource _receivedData:]): (-[WebDataSource _updateIconDatabaseWithURL:]): * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]): (-[WebDefaultContextMenuDelegate downloadURL:]): * WebView.subproj/WebDefaultLocationChangeDelegate.m: (-[WebDefaultLocationChangeDelegate webView:locationChangeStartedForDataSource:]): (-[WebDefaultLocationChangeDelegate webView:serverRedirectedForDataSource:]): (-[WebDefaultLocationChangeDelegate webView:locationChangeCommittedForDataSource:]): (-[WebDefaultLocationChangeDelegate webView:receivedPageTitle:forDataSource:]): (-[WebDefaultLocationChangeDelegate webView:receivedPageIcon:forDataSource:]): (-[WebDefaultLocationChangeDelegate webView:locationChangeDone:forDataSource:]): (-[WebDefaultLocationChangeDelegate webView:willCloseLocationForDataSource:]): (-[WebDefaultLocationChangeDelegate webView:locationChangedWithinPageForDataSource:]): (-[WebDefaultLocationChangeDelegate webView:clientWillRedirectTo:delay:fireDate:forFrame:]): (-[WebDefaultLocationChangeDelegate webView:clientRedirectCancelledForFrame:]): * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:inFrame:]): (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): (-[WebDefaultPolicyDelegate webView:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]): * WebView.subproj/WebDefaultResourceLoadDelegate.m: (-[WebDefaultResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]): (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:fromDataSource:]): (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]): (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]): (-[WebDefaultResourceLoadDelegate webView:resource:didFinishLoadingFromDataSource:]): (-[WebDefaultResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]): (-[WebDefaultResourceLoadDelegate webView:pluginFailedWithError:dataSource:]): * WebView.subproj/WebDefaultWindowOperationsDelegate.m: (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptConfirmPanelWithMessage:]): (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]): (-[WebDefaultWindowOperationsDelegate webView:runOpenPanelForFileButtonWithResultListener:]): * WebView.subproj/WebFrame.h: * WebView.subproj/WebFrame.m: (-[WebFrame init]): (-[WebFrame initWithName:webFrameView:webView:]): (-[WebFrame frameView]): (-[WebFrame webView]): (-[WebFrame findFrameNamed:]): (+[WebFrame registerViewClass:representationClass:forMIMEType:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (if): (switch): * WebView.subproj/WebHTMLView.h: * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _controller]): * WebView.subproj/WebImageView.m: (-[WebImageView controller]): (-[WebImageView menuForEvent:]): * WebView.subproj/WebLocationChangeDelegate.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient checkContentPolicyForResponse:]): * WebView.subproj/WebResourceLoadDelegate.h: * WebView.subproj/WebTextView.m: (-[WebTextView menuForEvent:]): * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (-[WebFrameView setAllowsScrolling:]): (-[WebFrameView allowsScrolling]): (-[WebFrameView scrollView]): (-[WebFrameView documentView]): (-[WebFrameView drawRect:]): (-[WebFrameView setFrameSize:]): * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebFrameView _controller]): (-[WebFrameView _setDocumentView:]): (-[WebFrameView _setController:]): (-[WebFrameView _contentView]): (-[WebFrameView _verticalKeyboardScrollAmount]): (-[WebFrameView _horizontalKeyboardScrollAmount]): (-[WebFrameView _scrollToBottomLeft]): (+[WebFrameView _viewTypes]): * WebView.subproj/WebWindowOperationsDelegate.h: 2003-03-18 Darin Adler Reviewed by Richard. - fixed 3187143 -- when a font-family has many variants, Safari chooses the wrong one * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fontWithFamily:traits:size:]): Changed the algorithm here in two ways. 1) Pick the family member with matching traits that has a weight closest to 5, the standard weight; the old code picked the first family member with matching traits. 2) Match traits based on a mask of which traits are the important ones. The old code matched traits based on a rule of "if the trait bit is 1 it matters, otherwise don't care". 2003-03-18 Darin Adler Reviewed by Richard. - fixed 3194756 -- REGRESSION: Geneva bold yields Geneva plain, used to yield Helvetica bold (apple.com) * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fontWithFamily:traits:size:]): Remove the first call to NSFontManager before we do our searching algorithm. We always need to do the searching, because NSFontManager uses a different set of rules. 2003-03-17 Chris Blumenberg Fixed: 3200647 - File I/O related download errors just says "error" Reviewed by darin. * Downloads.subproj/WebDownload.m: (+[WebDownloadPrivate initialize]): call _registerWebKitErrors * English.lproj/Localizable.strings: * Misc.subproj/WebKitErrors.h: cleaned-up, removed unused errors * Misc.subproj/WebKitErrors.m: (+[WebError _registerWebKitErrors]): (registerErrors): * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebView.m: (+[WebFrameView initialize]): call _registerWebKitErrors 2003-03-17 Darin Adler Reviewed by Chris and Richard. - fixed 3200611 -- Progress indicator in tabs not shown for subframe loads * WebView.subproj/WebDataSource.m: (-[WebDataSource isLoading]): Remove the early out for when we're in the WebFrameStateComplete state. The top frame being complete does not really tell us anything about whether subframes are complete, especially since they can have their locations changed without affecting the top level frame at all. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 2003-03-17 Chris Blumenberg Made data categories use the "_web_" prefix. Reviewed by darin. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): (-[NSData _web_startsWithBlankLine]): (-[NSData _web_locationAfterFirstBlankLine]): 2003-03-17 Chris Blumenberg Fixed: 3199105 - Accept carbon-style file URLs from plug-in POST requests Fixed: 3148767 - POST (aka Flash Remoting) doesn't work from Flash Reviewed by kocienda. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): parse headers, handle carbon POSIX paths (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): call _postURLNotify (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): call _postURLNotify (-[NSData startsWithBlankLine]): new (-[NSData locationAfterFirstBlankLine]): new 2003-03-17 Maciej Stachowiak Reviewed by Darin. - fixed 3200259 - REGRESSION: Clicking on Flash links at homestarrunner.com creates blank windows * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]): Don't always make the window, only do it if the frame doesn't already exist. Duh. 2003-03-17 Darin Adler Reviewed by Trey and Maciej. - fixed 3199154 -- REGRESSION: world leaks on any page load test * WebView.subproj/WebController.m: (-[WebController initWithView:frameName:groupName:]): Call through to initWithFrame, the designated initializer, not init. Calling [super init] results in calling our initWithFrame method, resulting in two calls to the _commonInitialization method. 2003-03-17 Maciej Stachowiak Reviewed by Trey. Adjusted for WebFoundation API changes. * Panels.subproj/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForRequest:]): 2003-03-17 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 2003-03-17 Chris Blumenberg Fixed: 3199951 - Standalone plug-in content that is cancelled doesn't restart when switching tabs Instead of creating and managing resourceData in WebMainResourceClient then passing the ownership to WebDataSource, just manage it in WebDataSource. We had the prior behavior because we didn't buffer downloads. Now, we always buffer. The fix for the bug is to retain the incomplete data even though the load ends in error. Reviewed by darin. * WebView.subproj/WebDataSource.h: updated headerdoc for the data method * WebView.subproj/WebDataSource.m: (-[WebDataSource data]): just return resourceData * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _receivedData:]): create resourceData if necessary, append data to it. * WebView.subproj/WebMainResourceClient.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient initWithDataSource:]): don't work with resourceData (-[WebMainResourceClient dealloc]): don't work with resourceData (-[WebMainResourceClient resource:didReceiveData:]): don't work with resourceData (-[WebMainResourceClient resourceDidFinishLoading:]): don't work with resourceData 2003-03-16 Trey Matteson 3198135 - need to fix our projects so SYMROOT is not stripped Tweaked stripping options: B&I build does not COPY_PHASE_STRIP. Deployment build still does. We strip manually as part of the install that we do ourselves. Reviewed by Maciej. * WebKit.pbproj/project.pbxproj: 2003-03-14 Chris Blumenberg Backed out changes to WebBaseNetscapePluginView. Unintentional commit. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): 2003-03-14 Chris Blumenberg Fixed: 3198961 - REGRESSION: Stopping load of plug-in content is not reflected in UI Reviewed by mjs. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient cancelWithError:]): call receivedError so [dataSource _receivedError:error complete:YES] is called 2003-03-14 Maciej Stachowiak Reviewed by Don. - revert premature controller --> webView renaming, it's causing problems with window opening and such. * WebView.subproj/WebDefaultWindowOperationsDelegate.m: 2003-03-14 Chris Blumenberg Fixed: 3197872 - Standalone plug-in content isn't restarted when switching tabs Fixed: 3189675 - assertion in plug-in code fails (nil window) with .swf page displaying standalone in a tab We start plug-ins when they are added to the window and stop them when they are removed. To restart a plug-in, the data stream must be redelivered. This works in the embedded plug-in case, but in the standalone plug-in case, the stream is delivered by th e machinery in WebKit. The stream is only delivered once. This fix addresses that. Reviewed by trey. * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream setResponse:]): reset the offset ivar (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): If we create a file for the plug-in, handle the case where the file is already created. * Plugins.subproj/WebBaseNetscapePluginView.h: * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView isStarted]): added so the stream knows the state of the view * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView initWithFrame:]): tweak (-[WebNetscapePluginDocumentView viewDidMoveToWindow]): call redeliverStream if we are added back to the window (-[WebNetscapePluginDocumentView setDataSource:]): only start the plug-in if we are in a window, don't assert * Plugins.subproj/WebNetscapePluginRepresentation.h: * Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation dealloc]): release the retained data source and error (-[WebNetscapePluginRepresentation setDataSource:]): retain the data source (-[WebNetscapePluginRepresentation isPluginViewStarted]): new (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): only do work if isPluginViewStarted (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): retain the error, only do work if isPluginViewStarted (-[WebNetscapePluginRepresentation finishedLoadingWithDataSource:]): only do work if isPluginViewStarted (-[WebNetscapePluginRepresentation redeliverStream]): call receivedData:: with all the received data up to this point. Call receivedError:: or finishedLoadingWithDataSource: if the load is already complete. 2003-03-13 Maciej Stachowiak Reviewed by Trey. - fixed 3188209 - REGRESSION: onmouseup handlers not running for most form elements * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton chooseButtonPressed:]): Send appropriate NSNotification. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebNSTextView mouseDown:]): Call fieldEditorDidMouseDown: on delegate, if implemented, after calling super. 2003-03-13 Richard Williamson First stage of the WebController -> WebView, WebView -> WebFrameView. This change does the WebView -> WebFrameView part of the change. Also changes WebController's inheritance. It now inherits from NSView. Also added some simple action methods to WebController (soon to be WebView) to facilitate IB hookup. Reviewed by Maciej. * Carbon.subproj/CarbonWindowAdapter.m: * Carbon.subproj/HIWebView.h: * Carbon.subproj/HIWebView.m: (if): (switch): * Carbon.subproj/HIWebViewPriv.h: * Misc.subproj/WebKitStatistics.m: (+[WebKitStatistics viewCount]): * Misc.subproj/WebKitStatisticsPrivate.h: * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_parentWebFrameView]): * Panels.subproj/WebStandardPanels.m: (-[WebStandardPanels frontmostWindowLoadingURL:]): * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView layout]): * Plugins.subproj/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView dataSource]): * Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): * Plugins.subproj/WebNullPluginView.m: (-[WebNullPluginView viewDidMoveToWindow]): * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase init]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge areScrollbarsVisible]): (-[WebBridge setScrollbarsVisible:]): (-[WebBridge window]): (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): (-[WebBridge nextKeyViewOutsideWebFrameViews]): (-[WebBridge previousKeyViewOutsideWebFrameViews]): (-[WebBridge setNeedsReapplyStyles]): (-[WebBridge setNeedsLayout]): (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): (-[WebBridge frameRequiredForMIMEType:]): (-[WebBridge handleMouseDragged:]): (-[WebBridge mayStartDragWithMouseDragged:]): * WebKit.exp: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (+[WebContentTypes canShowMIMEType:]): (-[WebController _commonInitialization:frameName:groupName:]): (-[WebController init]): (-[WebController initWithFrame:]): (-[WebController initWithView:]): (-[WebController supportsTextEncoding]): (-[WebController takeStringURLFrom:]): (-[WebController goBack:]): (-[WebController goForward:]): (-[WebController stopLoading:]): * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate _clearControllerReferences:]): (-[WebController _createFrameNamed:inParent:allowsScrolling:]): (-[WebController _frameForView:fromFrame:]): (-[WebController _frameForView:]): * WebView.subproj/WebDataSource.m: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _layoutChildren]): (-[WebDataSource _receivedData:]): * WebView.subproj/WebDebugDOMNode.h: * WebView.subproj/WebDebugDOMNode.m: (-[WebDebugDOMNode initWithWebFrameView:]): * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate controller:contextMenuItemsForElement:defaultMenuItems:]): * WebView.subproj/WebDefaultLocationChangeDelegate.m: (-[WebDefaultLocationChangeDelegate controller:locationChangeStartedForDataSource:]): (-[WebDefaultLocationChangeDelegate controller:serverRedirectedForDataSource:]): (-[WebDefaultLocationChangeDelegate controller:locationChangeCommittedForDataSource:]): (-[WebDefaultLocationChangeDelegate controller:receivedPageTitle:forDataSource:]): (-[WebDefaultLocationChangeDelegate controller:receivedPageIcon:forDataSource:]): (-[WebDefaultLocationChangeDelegate controller:locationChangeDone:forDataSource:]): (-[WebDefaultLocationChangeDelegate controller:willCloseLocationForDataSource:]): (-[WebDefaultLocationChangeDelegate controller:locationChangedWithinPageForDataSource:]): (-[WebDefaultLocationChangeDelegate controller:clientWillRedirectTo:delay:fireDate:forFrame:]): (-[WebDefaultLocationChangeDelegate controller:clientRedirectCancelledForFrame:]): * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate controller:unableToImplementPolicyWithError:inFrame:]): (-[WebDefaultPolicyDelegate controller:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): (-[WebDefaultPolicyDelegate controller:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]): * WebView.subproj/WebDefaultResourceLoadDelegate.m: (-[WebDefaultResourceLoadDelegate controller:identifierForInitialRequest:fromDataSource:]): (-[WebDefaultResourceLoadDelegate controller:resource:willSendRequest:fromDataSource:]): (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveResponse:fromDataSource:]): (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveContentLength:fromDataSource:]): (-[WebDefaultResourceLoadDelegate controller:resource:didFinishLoadingFromDataSource:]): (-[WebDefaultResourceLoadDelegate controller:resource:didFailLoadingWithError:fromDataSource:]): (-[WebDefaultResourceLoadDelegate controller:pluginFailedWithError:dataSource:]): * WebView.subproj/WebDefaultWindowOperationsDelegate.m: (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptConfirmPanelWithMessage:]): (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptTextInputPanelWithPrompt:defaultText:]): (-[WebDefaultWindowOperationsDelegate controller:runOpenPanelForFileButtonWithResultListener:]): * WebView.subproj/WebDocument.h: * WebView.subproj/WebDynamicScrollBarsView.m: * WebView.subproj/WebFrame.h: * WebView.subproj/WebFrame.m: (-[WebFrame init]): (-[WebFrame initWithName:webFrameView:controller:]): (-[WebFrame view]): (+[WebFrame registerViewClass:representationClass:forMIMEType:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (if): (switch): * WebView.subproj/WebHTMLView.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): (-[WebHTMLView draggedImage:endedAt:operation:]): (-[WebHTMLView becomeFirstResponder]): * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _controller]): (-[WebHTMLView _frame]): (-[WebHTMLView _elementAtPoint:]): * WebView.subproj/WebImageView.m: (-[WebImageView controller]): (-[WebImageView menuForEvent:]): (-[WebImageView mouseDragged:]): (-[WebImageView draggedImage:endedAt:operation:]): * WebView.subproj/WebLocationChangeDelegate.h: * WebView.subproj/WebRenderNode.h: * WebView.subproj/WebRenderNode.m: (-[WebRenderNode initWithName:position:rect:view:children:]): (-[WebRenderNode initWithWebFrameView:]): * WebView.subproj/WebResourceLoadDelegate.h: * WebView.subproj/WebTextView.m: (-[WebTextView menuForEvent:]): * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (-[WebFrameView initWithFrame:]): (-[WebFrameView dealloc]): * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: * WebView.subproj/WebWindowOperationsDelegate.h: 2003-03-13 John Sullivan Reviewed by Trey. * English.lproj/StringsNotToBeLocalized.txt: Removed all the bookmarks-related strings that I forgot to remove in my previous checkin. 2003-03-13 John Sullivan Removed all the bookmarks code from WebKit; put it in WebBrowser instead. Reviewed by Darin * Bookmarks.subproj/WebBookmark.h: Removed. * Bookmarks.subproj/WebBookmark.m: Removed. * Bookmarks.subproj/WebBookmarkGroup.h: Removed. * Bookmarks.subproj/WebBookmarkGroup.m: Removed. * Bookmarks.subproj/WebBookmarkGroupPrivate.h: Removed. * Bookmarks.subproj/WebBookmarkImporter.h: Removed. * Bookmarks.subproj/WebBookmarkImporter.m: Removed. * Bookmarks.subproj/WebBookmarkLeaf.h: Removed. * Bookmarks.subproj/WebBookmarkLeaf.m: Removed. * Bookmarks.subproj/WebBookmarkList.h: Removed. * Bookmarks.subproj/WebBookmarkList.m: Removed. * Bookmarks.subproj/WebBookmarkPrivate.h: Removed. * Bookmarks.subproj/WebBookmarkProxy.h: Removed. * Bookmarks.subproj/WebBookmarkProxy.m: Removed. * WebKit.exp: removed all bookmark-related symbols * WebKit.pbproj/project.pbxproj: updated for removed files === Safari-67 === 2003-03-12 Chris Blumenberg 3196673 - REGRESSION: Assertion failure when download fails to create file - Retain the download delegate because it will live longer than the WebController which it is an instance of. Reviewed by rjw. * Downloads.subproj/WebDownload.m: (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): call _downloadStarted (-[WebDownload loadWithDelegate:]): call _downloadStarted (-[WebDownload _downloadStarted]): renamed from _loadStarted (-[WebDownload _downloadEnded]): release delegate (-[WebDownload resource:willSendRequest:]): reordered so if we are released in this method, we never call self (-[WebDownload resourceDidFinishLoading:]): don't call _loadEnded because _downloadEnded gets called in _didCloseFile and _cancelWithError (-[WebDownload resource:didFailLoadingWithError:]): don't call _loadEnded because _downloadEnded gets called in _didCloseFile and _cancelWithError (-[WebDownload _didCloseFile:]): call _downloadEnded (-[WebDownload _cancelWithError:]): call _downloadEnded * WebView.subproj/WebController.h: mention that the download delegate gets retained. 2003-03-12 Darin Adler Reviewed by John. - fixed 3193552 -- REGRESSION: crash loading ftp directory URL - fixed minor problems with setDefersCallbacks handling and object lifetime * WebView.subproj/WebBaseResourceHandleDelegate.h: Removed now-unused cancelQuietly. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate cancel]): Changed cancel to tolerate being called when we have already cancelled. It's an error to call cancelWithError once we have cancelled. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient interruptForPolicyChangeError]): Added. New function to create the WebError object for policy change. (-[WebMainResourceClient stopLoadingForPolicyChange]): Changed to just be a call to cancelWithError:. (-[WebMainResourceClient resource:willSendRequest:]): Call setDefersCallbacks:YES here; continueAfterNavigationPolicy already takes care of setDefersCallbacks:NO, but we lost this one somewhere along the way. (-[WebMainResourceClient continueAfterContentPolicy:response:]): Changed to call receivedError: on interruptForPolicyChangeError directly. It wasn't clearer to call a method named interruptForPolicyChange. (-[WebMainResourceClient resource:didReceiveResponse:]): Don't bother calling setDefersCallbacks:YES here any more; checkContentPolicyForResponse: takes care of that so there's no need to do it here. Initialize _contentLength before calling checkContentPolicyForResponse:, since that method can result in deallocating self. 2003-03-12 John Sullivan Reviewed by Trey * English.lproj/StringsNotToBeLocalized.txt: updated for recent changes 2003-03-11 Chris Blumenberg Fixed deployment build failure. * WebView.subproj/WebFramePrivate.m: 2003-03-11 Richard Williamson Added controller: parameter to all WebControllers delegates. Reviewed by chris. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]): * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): * Plugins.subproj/WebNullPluginView.m: (-[WebNullPluginView viewDidMoveToWindow]): * Plugins.subproj/WebPluginController.m: (-[WebPluginController showStatus:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): (-[WebBridge showWindow]): (-[WebBridge areToolbarsVisible]): (-[WebBridge setToolbarsVisible:]): (-[WebBridge isStatusBarVisible]): (-[WebBridge setStatusBarVisible:]): (-[WebBridge setWindowFrame:]): (-[WebBridge runJavaScriptAlertPanelWithMessage:]): (-[WebBridge runJavaScriptConfirmPanelWithMessage:]): (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]): (-[WebBridge runOpenPanelForFileButtonWithResultListener:]): (-[WebBridge setStatusText:]): (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): * WebCoreSupport.subproj/WebSubresourceClient.m: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): (-[WebBaseResourceHandleDelegate resource:didReceiveData:]): (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]): (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]): (-[WebBaseResourceHandleDelegate cancelWithError:]): * WebView.subproj/WebContextMenuDelegate.h: * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebController _openNewWindowWithRequest:]): (-[WebController _menuForElement:]): (-[WebController _mouseDidMoveOverElement:modifierFlags:]): * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): (-[WebDataSource _setTitle:]): (-[WebDataSource _setRequest:]): (-[WebDataSource _updateIconDatabaseWithURL:]): * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate controller:contextMenuItemsForElement:defaultMenuItems:]): * WebView.subproj/WebDefaultLocationChangeDelegate.m: (-[WebDefaultLocationChangeDelegate controller:locationChangeStartedForDataSource:]): (-[WebDefaultLocationChangeDelegate controller:serverRedirectedForDataSource:]): (-[WebDefaultLocationChangeDelegate controller:locationChangeCommittedForDataSource:]): (-[WebDefaultLocationChangeDelegate controller:receivedPageTitle:forDataSource:]): (-[WebDefaultLocationChangeDelegate controller:receivedPageIcon:forDataSource:]): (-[WebDefaultLocationChangeDelegate controller:locationChangeDone:forDataSource:]): (-[WebDefaultLocationChangeDelegate controller:willCloseLocationForDataSource:]): (-[WebDefaultLocationChangeDelegate controller:locationChangedWithinPageForDataSource:]): (-[WebDefaultLocationChangeDelegate controller:clientWillRedirectTo:delay:fireDate:forFrame:]): (-[WebDefaultLocationChangeDelegate controller:clientRedirectCancelledForFrame:]): * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate controller:unableToImplementPolicy:error:forURL:inFrame:]): (-[WebDefaultPolicyDelegate controller:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): (-[WebDefaultPolicyDelegate controller:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]): * WebView.subproj/WebDefaultResourceLoadDelegate.m: (-[WebDefaultResourceLoadDelegate controller:identifierForInitialRequest:fromDataSource:]): (-[WebDefaultResourceLoadDelegate controller:resource:willSendRequest:fromDataSource:]): (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveResponse:fromDataSource:]): (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveContentLength:fromDataSource:]): (-[WebDefaultResourceLoadDelegate controller:resource:didFinishLoadingFromDataSource:]): (-[WebDefaultResourceLoadDelegate controller:resource:didFailLoadingWithError:fromDataSource:]): (-[WebDefaultResourceLoadDelegate controller:pluginFailedWithError:dataSource:]): * WebView.subproj/WebDefaultWindowOperationsDelegate.m: (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptConfirmPanelWithMessage:]): (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptTextInputPanelWithPrompt:defaultText:]): (-[WebDefaultWindowOperationsDelegate controller:runOpenPanelForFileButtonWithResultListener:]): * WebView.subproj/WebFramePrivate.m: (if): (switch): * WebView.subproj/WebLocationChangeDelegate.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]): * WebView.subproj/WebResourceLoadDelegate.h: * WebView.subproj/WebWindowOperationsDelegate.h: 2003-03-11 Maciej Stachowiak Reviewed by Richard. Final policy API changes: - changed WebPolicyDecisionListener to protocol in public API - replaced policy enum with separate methods - made content policy handling async * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebControllerPolicyDelegate.m: (-[WebPolicyDecisionListener _usePolicy:]): (-[WebPolicyDecisionListener use]): (-[WebPolicyDecisionListener ignore]): (-[WebPolicyDecisionListener download]): * WebView.subproj/WebControllerPolicyDelegatePrivate.h: * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate unableToImplementPolicyWithError:inFrame:]): (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): (-[WebDefaultPolicyDelegate decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (switch): * WebView.subproj/WebMainResourceClient.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient cancelContentPolicy]): (-[WebMainResourceClient cancel]): (-[WebMainResourceClient cancelQuietly]): (-[WebMainResourceClient cancelWithError:]): (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient continueAfterContentPolicy:]): (-[WebMainResourceClient checkContentPolicyForResponse:]): (-[WebMainResourceClient resource:didReceiveResponse:]): 2003-03-11 Darin Adler Reviewed by John. - fixed mistake in that last check-in that made Safari assert on startup with Chris's bookmarks bar * Misc.subproj/WebStringTruncator.m: (centerTruncateToBuffer): Fix logic here to not use an uninitialized variable. 2003-03-11 Darin Adler Reviewed by John. - fixed 3193213 -- assert truncatedLength+1 < STRING_BUFFER_SIZE creating tab label for firstyearibs.com - fixed 3194935 -- WebStringTruncator rightTruncateString: will break between composed characters - fixed right truncator to use interpolation algorithm rather than linear search * Misc.subproj/WebStringTruncator.m: (centerTruncateToBuffer): Changed from a class method to a plain function, and tweaked the code a bit. (rightTruncateToBuffer): Added. Like centerTruncateToBuffer, but does it on the right end instead. (stringWidth): Added. Helper function that calls the TextRenderer method with the right parameters. (truncateString): Moved all the code from centerTruncateString here, adding one new parameter, the truncate to buffer function. (+[WebStringTruncator centerTruncateString:toWidth:]): Call truncateString with the appropriate parameters. (+[WebStringTruncator centerTruncateString:toWidth:withFont:]): Ditto. (+[WebStringTruncator rightTruncateString:toWidth:withFont:]): Ditto. === Safari-66 === 2003-03-10 Maciej Stachowiak Reviewed by Dave. - fixed 3194221 - REGRESSION: search results loaded in wrong frame at directory.apple.com * WebView.subproj/WebFramePrivate.m: (_postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:): Deliver targetted form posts correctly. 2003-03-10 Darin Adler Reviewed by Maciej. - fixed 3010915 -- mouse wheel won't scroll the main document when you are over [i]frame * WebView.subproj/WebDynamicScrollBarsView.h: Made WebDynamicScrollBarsView a subclass of WebCoreScrollView instead of NSScrollView. - other changes * WebView.subproj/WebFramePrivate.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:): Fix problem where you would not get any information if the click was on a subview of the WebHTMLView, like a form control. 2003-03-10 Chris Blumenberg Fixed some download-related leaks. Primarily, we were leaking the data source that started the download. The data source is now immediately released when it becomes a download. Reviewed by darin. * Downloads.subproj/WebDownload.m: (-[WebDownloadPrivate dealloc]): release the WebResourceDelegateProxy (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): renamed, don't pass a datasource so WebDownload is completely disconnected from the that. Pass the proxy so it transfers ownership from WebMainResourceClient and it doesn' t leak when we cancel a download. (-[WebDownload _setRequest:]): added (-[WebDownload _setResponse:]): added (-[WebDownload resource:willSendRequest:]): call _setRequest (-[WebDownload resource:didReceiveResponse:]): call _setResponse * Downloads.subproj/WebDownloadPrivate.h: * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: removed notifyDelegatesOfInterruptionByPolicyChange, no longer called * WebView.subproj/WebMainResourceClient.h: made WebResourceDelegateProxy available to other classes * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:]): moved most error handling code here (-[WebMainResourceClient cancel]): stop load, call receivedError (-[WebMainResourceClient interruptForPolicyChange]): renamed, call receivedError with the policy interrupt error (-[WebMainResourceClient stopLoadingForPolicyChange]): call interruptForPolicyChange (-[WebMainResourceClient continueAfterContentPolicy:response:]): for WebPolicySave, create the download, call interruptForPolicyChange and return so the response isn't set on the superclass. (-[WebMainResourceClient resource:didFailLoadingWithError:]): call receivedError (-[WebResourceDelegateProxy setDelegate:]): don't retain the delegate (-[WebResourceDelegateProxy resourceDidFinishLoading:]): don't release the delegate (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]): don't release the delegate 2003-03-07 Maciej Stachowiak Reviewed by Richard. - fixed 3127705 - don't open new window on opt-click even if the link requests it - fixed 3143971 - cmd-click should override the target="_blank" and target="_new" (important for tabs) - removed open new window and open new window behind policies - removed [WebFrame findOrCreateFrameNamed:] from API - remved showWindowBehind from window operations delegate - added decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener: delegate method * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]): (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): (-[WebPluginRequest initWithRequest:frameName:notifyData:]): (-[WebPluginRequest dealloc]): (-[WebPluginRequest frameName]): * Plugins.subproj/WebPluginController.m: (-[WebPluginController showURL:inFrame:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebController _openNewWindowWithRequest:]): * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]): * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]): * WebView.subproj/WebFrame.h: * WebView.subproj/WebFrame.m: * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[NSObject performSelector:withObject:withObject:withObject:]): * WebView.subproj/WebWindowOperationsDelegate.h: 2003-03-07 Chris Blumenberg Updated header doc comments. * Downloads.subproj/WebDownload.h: 2003-03-07 Richard Williamson Drop mainDocumentError from WebDataSource. Combine registerView: and registerRepresentation: into one method on WebFrame. Reviewed by trey. * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase init]): * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _mainDocumentError]): * WebView.subproj/WebFrame.h: * WebView.subproj/WebFrame.m: (+[WebFrame registerViewClass:representationClass:forMIMEType:]): * WebView.subproj/WebFramePrivate.m: (switch): * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: 2003-03-07 John Sullivan WebKit part of fixes to these two synching-related bugs: 3190844 -- Bookmarks Bar and Menu collections need to be marked specially in Bookmarks file 3192197 -- Safari should write out UUID-full Bookmarks file after reading UUID-free one Reviewed by Trey * Bookmarks.subproj/WebBookmark.h: * Bookmarks.subproj/WebBookmark.m: (-[WebBookmark setUUID:]): Removed the leading underscore, made this method public. Removed unnecessary constraint that new or old UUID had to be nil; now short-circuits the no-change case. (-[WebBookmark copyWithZone:]): updated for name change (-[WebBookmark initFromDictionaryRepresentation:withGroup:]): ditto * Bookmarks.subproj/WebBookmarkGroup.h: * Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup bookmarkForUUID:]): new public method to find a bookmark from a UUID. (-[WebBookmarkGroup _addBookmark:]): updated for name change * Bookmarks.subproj/WebBookmarkPrivate.h: removed declaration for old _setUUID 2003-03-07 Darin Adler Reviewed by John. - fixed regression caused when we made the stopLoading method on WebDataSource private * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _recursiveStopLoading]): The children are frames, so we need to do stopLoading, not _stopLoading. 2003-03-07 Chris Blumenberg Fixed: 3191052 - Predetermined downloads should not be started from the browser window - Stripped the rest of WebKit of download related code. Reviewed by trey. * Downloads.subproj/WebDownload.h: Changed the download delegate method from download:didStartFromDataSource: download:didStartFromRequest:. Passing the data source wasn't that helpful. It was also quirky that the data source would sometimes be ni l. * Downloads.subproj/WebDownload.m: (-[WebDownloadPrivate dealloc]): release directory path (-[WebDownload _initWithLoadingResource:dataSource:]): call _loadStarted and _loadEnded (-[WebDownload loadWithDelegate:]): call _loadStarted (-[WebDownload _loadStarted]): set flag, retain self (-[WebDownload _loadEnded]): set flag, release self (-[WebDownload resource:willSendRequest:]): call _loadEnded if the returned request is nil (-[WebDownload resourceDidFinishLoading:]): call _loadEnded (-[WebDownload resource:didFailLoadingWithError:]): call _loadEnded (-[WebDownload _createFileIfNecessary]): handle a predetermined download directory, not path (-[WebDownload _cancelWithError:]): call _loadEnded (-[WebDownload _setDirectoryPath:]): new private method * Downloads.subproj/WebDownloadPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebController _mainReceivedError:fromDataSource:complete:]): don't call [dataSource isDownloading] (-[WebController _downloadURL:toDirectory:]): create and start a self retained WebDownload * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: removed download related methods * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: removed download related methods (-[WebDataSource _commitIfReady:]): don't call isDownloading * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): when handing off the load to the download, don't deal with the download path (-[WebMainResourceClient resource:didReceiveResponse:]): no more predetermined downloads come through here 2003-03-06 Maciej Stachowiak Reviewed by Trey. Step towards policy API changes. Remove WebPolicyNone, WebPolicyRevealInFinder, WebPolicyOpenURL and WebPolicyShow. * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): * WebView.subproj/WebFramePrivate.m: (switch): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): 2003-03-06 Richard Williamson Remove setWebView: from WebFrame. Reviewed by chris. * WebView.subproj/WebFrame.h: * WebView.subproj/WebFrame.m: (-[WebFrame initWithName:webView:controller:]): (-[WebFrame name]): 2003-03-06 Richard Williamson API changes. WebCapabilities -> WebContentTypes. Move fileExtension from WebDataSource to WebContentTypes Reviewed by chris. * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_bestURL]): * WebKit.exp: * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (+[WebContentTypes suggestedFileExtensionForMIMEType:]): (-[WebController supportsTextEncoding]): (-[WebController setCustomTextEncodingName:]): (-[WebController _mainFrameOverrideEncoding]): (-[WebController customTextEncodingName]): (-[WebController stringByEvaluatingJavaScriptFromString:]): (-[WebController userAgentForURL:]): * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: * WebView.subproj/WebDefaultPolicyDelegate.m: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): 2003-03-06 Chris Blumenberg Implemented WebDownload API. Fixed: 3118355 - Download mechanism that doesn't involve WebDataSource, WebFrame, WebController etc Fixed: 3110173 - add per-request disabling of download decoding, use to turn off when "Open Safe Files" is off Reviewed by trey, rjw, mjs. * Downloads.subproj/WebDownload.h: Tweaked comments, added new methods. * Downloads.subproj/WebDownload.m: (-[WebDownloadPrivate dealloc]): release new objects (-[WebDownload initWithRequest:]): was initWithRequest:delegate:, but found that starting the load from the init method made it tricky to do other set up work before the load started. (-[WebDownload _initWithLoadingResource:dataSource:]): private init method, "catches up" to load by sending delegate method immediately, doesn't retain the dataSource, uses it for info (-[WebDownload loadWithDelegate:]): new, starts load (-[WebDownload cancel]): cancel load with no error (-[WebDownload path]): simple getter (-[WebDownload setPath:]): implement this because WebDownload is the WebDownloadDecisionListener, call _setPath (-[WebDownload resource:willSendRequest:]): resource delegate method (-[WebDownload resource:didReceiveResponse:]): resource delegate method (-[WebDownload resource:didReceiveData:]): resource delegate method, decode and write data, cancel load if error (-[WebDownload resourceDidFinishLoading:]): resource delegate method, decode and write data if necessary, end in error if error (-[WebDownload resource:didFailLoadingWithError:]): resource delegate method, end in error (-[WebDownload _pathWithUniqueFilenameForPath:]): this work was done in _createFileIfNecessary, does what it says (-[WebDownload _createFSRefForPath:]): this work was done in _createFileIfNecessary as well, makes fileRefPtr point to a file (-[WebDownload _createFileIfNecessary]): creates file, creates temp file if path hasn't been set yet (-[WebDownload _decodeHeaderData:dataForkData:resourceForkData:]): call private method (-[WebDownload _decodeData:dataForkData:resourceForkData:]): made private, if the download is encoded, ask client if OK to decode (-[WebDownload _decodeData:]): hardly changed, don't cancel, just return error (-[WebDownload _dataIfDoneBufferingData:]): moved, not changed (-[WebDownload _finishDecoding]): hardly changed, don't cancel, just return error (-[WebDownload _writeForkData:isDataFork:]): moved, not changed (-[WebDownload _writeDataForkData:resourceForkData:]): moved, not changed (-[WebDownload _isFileClosed]): new (-[WebDownload _fileDidClose:]): new, called by the callback thread, delete file if deleteFile flag is set, report error or end successfully (-[WebDownload _closeForkAsync:]): new (-[WebDownload _closeForkSync:]): new (-[WebDownload _closeFileAsync]): new (-[WebDownload _closeFileSync]): new (-[WebDownload _deleteFileAsnyc]): new (-[WebDownload _closeAndDeleteFileAsync]): new (-[WebDownload _cancelWithError:]): kill load if there is one, report error if there is one, close and delete file is not already closed or deleted (-[WebDownload _cancelWithErrorCode:]): internal convenienve, calls _cancelWithError (-[WebDownload _setPath:]): set path, if we are already saving data to a temp path, move the file and continue downloading (-[WebDownload _currentPath]): new (-[WebDownload _errorWithCode:]): new (-[WebDownload _dataForkReferenceNumber]): added underscore (-[WebDownload _setDataForkReferenceNumber:]): added underscore (-[WebDownload _resourceForkReferenceNumber]): added underscore (-[WebDownload _setResourceForkReferenceNumber:]): added underscore (-[WebDownload _areWritesCancelled]): added underscore (-[WebDownload _setWritesCancelled:]): added underscore (-[WebDownload _encounteredCloseError]): new (-[WebDownload _setEncounteredCloseError:]): new (WriteCompletionCallback): call underscored methods (CloseCompletionCallback): call underscored methods, handle close error, don't delete file (DeleteCompletionCallback): call _currentPath * Downloads.subproj/WebDownloadPrivate.h: * WebView.subproj/WebBaseResourceHandleDelegate.h: renamed handle to resource * WebView.subproj/WebBaseResourceHandleDelegate.m: renamed handle to resource (-[WebBaseResourceHandleDelegate _releaseResources]): renamed handle to resource (-[WebBaseResourceHandleDelegate startLoading:]): renamed handle to resource (-[WebBaseResourceHandleDelegate loadWithRequest:]): renamed handle to resource (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): renamed handle to resource (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): renamed handle to resource (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): renamed handle to resource, don't handle downloads (-[WebBaseResourceHandleDelegate resource:didReceiveData:]): renamed handle to resource, don't handle downloads (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]): renamed handle to resource, don't handle downloads (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]): renamed handle to resource, don't handle downloads (-[WebBaseResourceHandleDelegate cancelWithError:]): renamed handle to resource, don't handle downloads * WebView.subproj/WebController.h: updated comments * WebView.subproj/WebController.m: (-[WebController setDownloadDelegate:]): call the ivar downloadDelegate, not downloadProgressDelegate (-[WebController downloadDelegate]): call the ivar downloadDelegate, not downloadProgressDelegate * WebView.subproj/WebControllerPolicyDelegate.h: removed saveFilenameForResponse:andRequest:, handle by WebDownload * WebView.subproj/WebControllerPrivate.h: call the ivar downloadDelegate, not downloadProgressDelegate * WebView.subproj/WebDefaultPolicyDelegate.m: removed saveFilenameForResponse:andRequest:, handle by WebDownload * WebView.subproj/WebMainResourceClient.h: added WebResourceDelegateProxy icar * WebView.subproj/WebMainResourceClient.m: remove most download related stuff (-[WebMainResourceClient initWithDataSource:]): create a WebResourceDelegateProxy which allows us to change the resource delegate (-[WebMainResourceClient dealloc]): release the proxy (-[WebMainResourceClient receivedError:complete:]): don't handle downloads (-[WebMainResourceClient continueAfterContentPolicy:response:]): pass the load off to the download (-[WebMainResourceClient resource:didReceiveResponse:]): don't handle downloads (-[WebMainResourceClient resource:didReceiveData:]): don't handle downloads (-[WebMainResourceClient resourceDidFinishLoading:]): don't handle downloads (-[WebMainResourceClient resource:didFailLoadingWithError:]): don't handle downloads (-[WebMainResourceClient startLoading:]): make the proxy the delegate (-[WebResourceDelegateProxy setDelegate:]): switches the resource delegate (-[WebResourceDelegateProxy resource:willSendRequest:]): forwards message (-[WebResourceDelegateProxy resource:didReceiveResponse:]): forwards message (-[WebResourceDelegateProxy resource:didReceiveData:]): forwards message (-[WebResourceDelegateProxy resourceDidFinishLoading:]): forwards message (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]): forwards message 2003-03-06 Richard Williamson Move tweaks to WebKit API. Removed [WebFrame setController:] from public API. Removed [WebDataSource stringWithData:] from public API. Reviewed by hyatt. * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: (-[WebDataSource mainDocumentError]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _stringWithData:]): * WebView.subproj/WebFrame.h: * WebView.subproj/WebFrame.m: * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: * WebView.subproj/WebHTMLRepresentation.m: * WebView.subproj/WebTextRepresentation.m: (-[WebTextRepresentation setDataSource:]): * WebView.subproj/WebTextView.m: (-[WebTextView dataSourceUpdated:]): 2003-03-06 Richard Williamson Tweaks to WebKit API. Dropped URL on WebDataSource. Dropped start/stop loading on WebDataSource. Drop frameForView and frameForDataSource from WebController. Moved canShowXX to WebCapabilities. Reviewed by hyatt. * Downloads.subproj/WebDownload.m: (-[WebDownload errorWithCode:]): * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_bestURL]): * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_printViewHierarchy:]): * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): * Plugins.subproj/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView dataSource]): * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): * WebKit.exp: * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (+[WebCapabilities canShowMIMEType:]): (+[WebCapabilities canShowFile:]): (-[WebController mainFrame]): * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebController _frameForDataSource:fromFrame:]): (-[WebController _frameForDataSource:]): (-[WebController _frameForView:fromFrame:]): (-[WebController _frameForView:]): * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading]): (-[WebDataSource _stopLoading]): (-[WebDataSource _stopLoadingInternal]): (-[WebDataSource _recursiveStopLoading]): (-[WebDataSource _updateIconDatabaseWithURL:]): (-[WebDataSource _loadIcon]): (-[WebDataSource _URL]): * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate openFrameInNewWindow:]): * WebView.subproj/WebDefaultPolicyDelegate.m: * WebView.subproj/WebFrame.m: (-[WebFrame stopLoading]): * WebView.subproj/WebFramePrivate.m: (if): * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frame]): (-[WebHTMLView _elementAtPoint:]): * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation setDataSource:]): * WebView.subproj/WebImageView.m: (-[WebImageView menuForEvent:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient cancel]): (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient resource:didReceiveData:]): (-[WebMainResourceClient resourceDidFinishLoading:]): * WebView.subproj/WebTextView.m: (-[WebTextView menuForEvent:]): * WebView.subproj/WebView.m: (-[WebView webFrame]): * WebView.subproj/WebViewPrivate.m: (-[WebView _isMainFrame]): 2003-03-06 Ed Voas voas@apple.com Reviewed by Richard. Don't use _HIViewSetNeedsDisplayInRect for now. Fixes Jaguar builds. * Carbon.subproj/HIViewAdapter.m: (-[HIViewAdapter setNeedsDisplay:]): (-[HIViewAdapter setNeedsDisplayInRect:]): 2003-03-05 Maciej Stachowiak Reviewed by John. Step towards policy API chantes - removed unneeded policy and URL arguments from unableToImplementPolicy: * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): 2003-03-06 Ed Voas voas@apple.com Reviewed by Richard. First cut of Carbon view support. It will need tweaking as we go, but I think I finally have all the assertions taken care of, and I also believe that I have the drawing glitches all sorted out now. * Carbon.subproj/CarbonUtils.h: Added. * Carbon.subproj/CarbonUtils.m: Added. (InitWebKitForCarbon): (PoolCleaner): (ConvertNSImageToCGImageRef): * Carbon.subproj/CarbonWindowAdapter.h: Added. * Carbon.subproj/CarbonWindowAdapter.m: Added. (+[CarbonWindowAdapter frameViewClassForStyleMask:]): (-[CarbonWindowAdapter initWithContentRect:styleMask:backing:defer:]): (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]): (-[CarbonWindowAdapter setViewsNeedDisplay:]): (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:]): (-[CarbonWindowAdapter dealloc]): (-[CarbonWindowAdapter windowRef]): (-[CarbonWindowAdapter _hasWindowRef]): (-[CarbonWindowAdapter _managesWindowRef]): (-[CarbonWindowAdapter _removeWindowRef]): (-[CarbonWindowAdapter _carbonWindowClass]): (-[CarbonWindowAdapter reconcileToCarbonWindowBounds]): (-[CarbonWindowAdapter sendSuperEvent:]): (-[CarbonWindowAdapter _cancelKey:]): (-[CarbonWindowAdapter _commonAwake]): (-[CarbonWindowAdapter _destroyRealWindow:]): (-[CarbonWindowAdapter _oldPlaceWindow:]): (-[CarbonWindowAdapter _termWindowIfOwner]): (-[CarbonWindowAdapter _windowMovedToRect:]): (-[CarbonWindowAdapter constrainFrameRect:toScreen:]): (-[CarbonWindowAdapter selectKeyViewFollowingView:]): (-[CarbonWindowAdapter selectKeyViewPrecedingView:]): (-[CarbonWindowAdapter makeKeyWindow]): (-[CarbonWindowAdapter canBecomeKeyWindow]): (-[CarbonWindowAdapter canBecomeMainWindow]): (-[CarbonWindowAdapter encodeWithCoder:]): (-[CarbonWindowAdapter initWithCoder:]): (-[CarbonWindowAdapter setContentView:]): (-[CarbonWindowAdapter worksWhenModal]): (-[CarbonWindowAdapter _setModalWindowLevel]): (-[CarbonWindowAdapter _clearModalWindowLevel]): (-[CarbonWindowAdapter carbonHICommandIDFromActionSelector:]): (-[CarbonWindowAdapter sendCarbonProcessHICommandEvent:]): (-[CarbonWindowAdapter sendCarbonUpdateHICommandStatusEvent:withMenuRef:andMenuItemIndex:]): (-[CarbonWindowAdapter _handleRootBoundsChanged]): (-[CarbonWindowAdapter _handleContentBoundsChanged]): (-[CarbonWindowAdapter _handleCarbonEvent:callRef:]): (NSCarbonWindowHandleEvent): * Carbon.subproj/CarbonWindowContentView.h: Added. * Carbon.subproj/CarbonWindowContentView.m: Added. * Carbon.subproj/CarbonWindowFrame.h: Added. * Carbon.subproj/CarbonWindowFrame.m: Added. (+[CarbonWindowFrame frameRectForContentRect:styleMask:]): (+[CarbonWindowFrame contentRectForFrameRect:styleMask:]): (+[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]): (-[CarbonWindowFrame frameRectForContentRect:styleMask:]): (-[CarbonWindowFrame contentRectForFrameRect:styleMask:]): (-[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]): (-[CarbonWindowFrame initWithFrame:styleMask:owner:]): (-[CarbonWindowFrame dealloc]): (-[CarbonWindowFrame _setFrameNeedsDisplay:]): (-[CarbonWindowFrame _setSheet:]): (-[CarbonWindowFrame _updateButtonState]): (-[CarbonWindowFrame _windowChangedKeyState]): (-[CarbonWindowFrame _showToolbarWithAnimation:]): (-[CarbonWindowFrame _hideToolbarWithAnimation:]): (-[CarbonWindowFrame closeButton]): (-[CarbonWindowFrame styleMask]): (-[CarbonWindowFrame dragRectForFrameRect:]): (-[CarbonWindowFrame isOpaque]): (-[CarbonWindowFrame minimizeButton]): (-[CarbonWindowFrame setTitle:]): (-[CarbonWindowFrame title]): (-[CarbonWindowFrame _sheetHeightAdjustment]): (-[CarbonWindowFrame _maxTitlebarTitleRect]): (-[CarbonWindowFrame _clearDragMargins]): (-[CarbonWindowFrame _resetDragMargins]): * Carbon.subproj/HIViewAdapter.h: Added. * Carbon.subproj/HIViewAdapter.m: Added. (+[HIViewAdapter bindHIViewToNSView:nsView:]): (+[HIViewAdapter getHIViewForNSView:]): (+[HIViewAdapter unbindNSView:]): (-[HIViewAdapter initWithFrame:view:]): (-[HIViewAdapter hiView]): (-[HIViewAdapter nextValidKeyView]): (-[HIViewAdapter setNeedsDisplay:]): (-[HIViewAdapter setNeedsDisplayInRect:]): (-[CarbonSheetInterceptor _orderFrontRelativeToWindow:]): (-[CarbonSheetInterceptor _orderOutRelativeToWindow:]): * Carbon.subproj/HIWebView.h: Added. * Carbon.subproj/HIWebView.m: Added. (if): (switch): * Carbon.subproj/HIWebViewPriv.h: Added. * WebKit.exp: * WebKit.pbproj/project.pbxproj: === Safari-65 === 2003-03-05 Richard Williamson API changes WebView and WebDataSource give up -(WebController *)controller. WebView gets -(WebFrame *)webFrame. Reviewed by cblu. * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): * Plugins.subproj/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView dataSource]): * Plugins.subproj/WebNullPluginView.m: (-[WebNullPluginView viewDidMoveToWindow]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge startLoadingResource:withURL:]): * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): (-[WebSubresourceClient receivedError:]): (-[WebSubresourceClient resourceDidFinishLoading:]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]): * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (-[WebController backForwardList]): (-[WebController setUsesBackForwardList:]): * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _controller]): (-[WebDataSource _receivedError:complete:]): (-[WebDataSource _loadIcon]): * WebView.subproj/WebFrame.h: * WebView.subproj/WebFramePrivate.m: (switch): * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _controller]): (-[WebHTMLView _frame]): (-[WebHTMLView _elementAtPoint:]): * WebView.subproj/WebImageView.m: (-[WebImageView controller]): (-[WebImageView menuForEvent:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]): (-[WebMainResourceClient resource:willSendRequest:]): (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]): (-[WebMainResourceClient resource:didReceiveResponse:]): (-[WebMainResourceClient resource:didReceiveData:]): (-[WebMainResourceClient resourceDidFinishLoading:]): (-[WebMainResourceClient resource:didFailLoadingWithError:]): * WebView.subproj/WebTextView.m: (-[WebTextView menuForEvent:]): * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (-[WebView webFrame]): (-[WebView concludeDragOperation:]): * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebView _controller]): 2003-03-05 Maciej Stachowiak Reviewed by Ken. * WebView.subproj/WebFramePrivate.m: (_recursiveGoToItem:fromItem:withLoadType:): Account for possibility of nil target. 2003-03-05 Maciej Stachowiak Reviewed by Darin. - fixed crash when going back due to frame name of nil since we don't force the name "_top" any more. * WebView.subproj/WebController.m: (-[WebController _goToItem:withLoadType:]): Handle nil target properly. 2003-03-05 Darin Adler Reviewed by John. - fixed 3189441 -- REGRESSION: layout tests crash building generated frame name * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addFramePathToString:]): Handle a frame name of nil here, since we don't force the name "_top" any more. 2003-03-04 Trey Matteson Support for autofill. These are just two new glue routines that call down through the bridge. They allow regexp driven binding of AB data to form elements. Reviewed by Maciej. * WebView.subproj/WebHTMLRepresentation.h: * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Call straight to bridge. (-[WebHTMLRepresentation matchLabels:againstElement:]): Call straight to bridge. 2003-03-04 Maciej Stachowiak Reinstate missing part of last checking. * WebView.subproj/WebFramePrivate.m: 2003-03-04 Maciej Stachowiak Reviewed by Trey. Added the ability to set the top-level frame name via the WebController initializer. Also made [[controller mainFrame] frameName] return the true top-level frame name instead of "_top", since that is already special-cased anywhere it needs to be. * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (-[WebController init]): Update for change to designated initializer. (-[WebController initWithView:]): New convenience initializer. (-[WebController initWithView:frameName:setName:]): Added ability to set top-level frame name. * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate dealloc]): Remove topLevelFrameNAme field. (-[WebController _setTopLevelFrameName:]): Actually set it on the top level frame, no point to keeping it here. (-[WebController _findFrameInThisWindowNamed:]): No more need to special-case top-level frame name. * WebView.subproj/WebFrame.m: (-[WebFrame initWithName:webView:controller:]): call [self _setName:] instead of [_private setName:] * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setName:]): Don't let the name get set to _blank. 2003-03-04 John Sullivan Reviewed by Darin * Misc.subproj/WebKitNSStringExtras.h: * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]): (-[NSString _web_drawAtPoint:font:textColor:): removed the unnecessary string parameter from these two NSString methods. 2003-03-04 Darin Adler Reviewed by Maciej. - got rid of some framework initialization (working on bug 3185161) * WebView.subproj/WebPreferences.m: (-[WebPreferences _postPreferencesChangesNotification]): Moved this function up. (+[WebPreferences standardPreferences]): Call _postPreferencesChangesNotification when this is made, for consistency with the old behavior. (+[WebPreferences initialize]): Changed to initialize from load, and got rid of stuff we don't want to do from inside an initialize function. 2003-03-04 Richard Williamson Remove initWithURL: and frameName from WebDataSource public API. Reviewed by trey. * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: (-[WebDataSource webFrame]): 2003-03-04 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. * English.lproj/Localizable.strings: Regenerated. 2003-03-03 Richard Williamson Switch all WebController's delegate to use informal protocols. Reviewed by trey. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView status:]): * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): * Plugins.subproj/WebNullPluginView.m: (-[WebNullPluginView viewDidMoveToWindow]): * Plugins.subproj/WebPluginController.m: (-[WebPluginController showStatus:]): * WebCoreSupport.subproj/WebBridge.h: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): (-[WebBridge showWindow]): (-[WebBridge areToolbarsVisible]): (-[WebBridge setToolbarsVisible:]): (-[WebBridge isStatusBarVisible]): (-[WebBridge setStatusBarVisible:]): (-[WebBridge setWindowFrame:]): (-[WebBridge setStatusText:]): (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): (-[WebBridge setWebFrame:]): * WebKit.exp: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate resourceLoadDelegate]): (-[WebBaseResourceHandleDelegate downloadDelegate]): (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): (-[WebBaseResourceHandleDelegate resource:didReceiveData:]): (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]): (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]): (-[WebBaseResourceHandleDelegate cancelWithError:]): (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]): * WebView.subproj/WebContextMenuDelegate.h: * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (-[WebController setWindowOperationsDelegate:]): (-[WebController windowOperationsDelegate]): (-[WebController setResourceLoadDelegate:]): (-[WebController resourceLoadDelegate]): (-[WebController setDownloadDelegate:]): (-[WebController downloadDelegate]): (-[WebController setContextMenuDelegate:]): (-[WebController contextMenuDelegate]): (-[WebController setPolicyDelegate:]): (-[WebController policyDelegate]): (-[WebController setLocationChangeDelegate:]): (-[WebController locationChangeDelegate]): (-[WebController stringByEvaluatingJavaScriptFromString:]): * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebController _openNewWindowWithRequest:behind:]): (-[WebController _menuForElement:]): (-[WebController _mouseDidMoveOverElement:modifierFlags:]): (-[WebController _locationChangeDelegateForwarder]): (-[WebController _resourceLoadDelegateForwarder]): (-[WebController _policyDelegateForwarder]): (-[WebController _contextMenuDelegateForwarder]): (-[WebController _windowOperationsDelegateForwarder]): (-[_WebSafeForwarder initWithTarget:defaultTarget:templateClass:]): (-[_WebSafeForwarder forwardInvocation:]): (-[_WebSafeForwarder methodSignatureForSelector:]): * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): (-[WebDataSource _setTitle:]): (-[WebDataSource _setRequest:]): (-[WebDataSource _updateIconDatabaseWithURL:]): * WebView.subproj/WebDefaultContextMenuDelegate.h: * WebView.subproj/WebDefaultContextMenuDelegate.m: (+[WebDefaultContextMenuDelegate sharedContextMenuDelegate]): * WebView.subproj/WebDefaultLocationChangeDelegate.h: Added. * WebView.subproj/WebDefaultLocationChangeDelegate.m: Added. (+[WebDefaultLocationChangeDelegate sharedLocationChangeDelegate]): (-[WebDefaultLocationChangeDelegate locationChangeStartedForDataSource:]): (-[WebDefaultLocationChangeDelegate serverRedirectedForDataSource:]): (-[WebDefaultLocationChangeDelegate locationChangeCommittedForDataSource:]): (-[WebDefaultLocationChangeDelegate receivedPageTitle:forDataSource:]): (-[WebDefaultLocationChangeDelegate receivedPageIcon:forDataSource:]): (-[WebDefaultLocationChangeDelegate locationChangeDone:forDataSource:]): (-[WebDefaultLocationChangeDelegate willCloseLocationForDataSource:]): (-[WebDefaultLocationChangeDelegate locationChangedWithinPageForDataSource:]): (-[WebDefaultLocationChangeDelegate clientWillRedirectTo:delay:fireDate:forFrame:]): (-[WebDefaultLocationChangeDelegate clientRedirectCancelledForFrame:]): * WebView.subproj/WebDefaultPolicyDelegate.h: * WebView.subproj/WebDefaultPolicyDelegate.m: (+[WebDefaultPolicyDelegate sharedPolicyDelegate]): * WebView.subproj/WebDefaultPolicyDelegatePrivate.h: Removed. * WebView.subproj/WebDefaultResourceLoadDelegate.h: Added. * WebView.subproj/WebDefaultResourceLoadDelegate.m: Added. (+[WebDefaultResourceLoadDelegate sharedResourceLoadDelegate]): (-[WebDefaultResourceLoadDelegate identifierForInitialRequest:fromDataSource:]): (-[WebDefaultResourceLoadDelegate resource:willSendRequest:fromDataSource:]): (-[WebDefaultResourceLoadDelegate resource:didReceiveResponse:fromDataSource:]): (-[WebDefaultResourceLoadDelegate resource:didReceiveContentLength:fromDataSource:]): (-[WebDefaultResourceLoadDelegate resource:didFinishLoadingFromDataSource:]): (-[WebDefaultResourceLoadDelegate resource:didFailLoadingWithError:fromDataSource:]): (-[WebDefaultResourceLoadDelegate pluginFailedWithError:dataSource:]): * WebView.subproj/WebDefaultWindowOperationsDelegate.h: Added. * WebView.subproj/WebDefaultWindowOperationsDelegate.m: Added. (+[WebDefaultWindowOperationsDelegate sharedWindowOperationsDelegate]): (-[WebDefaultWindowOperationsDelegate runJavaScriptConfirmPanelWithMessage:]): (-[WebDefaultWindowOperationsDelegate runJavaScriptTextInputPanelWithPrompt:defaultText:]): (-[WebDefaultWindowOperationsDelegate runOpenPanelForFileButtonWithResultListener:]): * WebView.subproj/WebFrame.m: (-[WebFrame initWithName:webView:controller:]): (-[WebFrame findOrCreateFrameNamed:]): * WebView.subproj/WebFramePrivate.m: (if): (switch): * WebView.subproj/WebLocationChangeDelegate.h: * WebView.subproj/WebLocationChangeDelegate.m: Removed. * WebView.subproj/WebMainResourceClient.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]): * WebView.subproj/WebResourceLoadDelegate.h: * WebView.subproj/WebWindowOperationsDelegate.h: 2003-03-03 Darin Adler Reviewed by Richard. - simplified the custom user agent and text encoding methods as per request from documentation group * WebView.subproj/WebController.h: Removed hasCustomUserAgent, resetUserAgent, hasCustomTextEncoding, and resetTextEncoding. Updated comments to indicate what nil means. * WebView.subproj/WebController.m: (-[WebController setCustomUserAgent:]): Remove assertion, allow nil. (-[WebController customUserAgent]): Remove nil check. (-[WebController setCustomTextEncodingName:]): Remove assertion, allow nil, and do an == check along with the isEqualToString: check to handle the nil case. (-[WebController customTextEncodingName]): Remove nil check. 2003-03-01 Maciej Stachowiak Reviewed by Darin. - fixed 3163855 - Need control over certain potential dialogs/sheets * WebCoreSupport.subproj/WebBridge.h: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge runJavaScriptAlertPanelWithMessage:]): Moved here from view factory. Call the bridge instead of popping up the dialog. (-[WebBridge runJavaScriptConfirmPanelWithMessage:]): Likewise. (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]): Likewise. (-[WebBridge fileButton]): Moved here from view factory, so we can pass the bridge to the button. (-[WebBridge runOpenPanelForFileButtonWithResultListener:]): Call the delegate. * WebCoreSupport.subproj/WebFileButton.h: * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton initWithBridge:]): New method so this object knows about the bridge. (-[WebFileButton beginSheet]): Instead of popping up the sheet directly, call the bridge (which will call the delegate). (-[WebFileButton chooseFilename:]): Update for the new filename. (-[WebFileButton cancel]): Do nothing. * WebCoreSupport.subproj/WebViewFactory.m: Removed some methods. * WebKit.exp: Export .objc_class_WebJavaScriptTextInputPanel (for now). * WebKit.pbproj/project.pbxproj: Export WebJavaScriptTextInputPanel.h (for now). * WebView.subproj/WebWindowOperationsDelegate.h: Added new methods. 2003-03-01 Richard Williamson Reviewed by Chris & Darin. Fixed frameRequiredForMIMEType: to correctly check for BOTH netscape plugins and cocoa plugins. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameRequiredForMIMEType:]): Made WebPluginViewFactory.h private (SPI) to provide access to plugin package keys. * WebKit.pbproj/project.pbxproj: 2003-02-28 Richard Williamson Make WebDOM* classes private instead of public. This change was made before but the project file must have been accidentally overwritten. Make the WebPlugin* classes private. * WebKit.pbproj/project.pbxproj: 7003-02-28 Trey Matteson Various support for autofill/autocomplete. We receive a form along with the formValues from WC on submit, which we just pass along to the FormDelegate. As part of this we store the values and the form together in a new private WebFormState class. Lots of glue for passing this around instead of just the values dict. Send willCloseLocationForDataSource when we are finally through with a page. Reviewed by Darin. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:reload:triggeringEvent:form:formValues:]): Pass along form along with values (-[WebBridge postWithURL:data:contentType:triggeringEvent:form:formValues:]): Pass along form along with values * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady:]): Call frame to send willCloseLocationForDataSource. * WebView.subproj/WebFormDelegate.h: * WebView.subproj/WebFormDelegate.m: (-[WebFormDelegate frame:willSubmitForm:withValues:]): Pass form along with values * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): Pass FormState instead of just values. (-[WebFrame reload]): Pass FormState instead of just values. * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: <> Lots of routines were we pass FormState instead of the form values dict -([WebFrame _closeOldDataSources]): New, sends willCloseLocation for whole frame tree. New, trivial, WebFormState class. * WebView.subproj/WebHTMLRepresentation.h: * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation formIsLoginForm:]): Changed to take form instead of form field. (-[WebHTMLRepresentation formForElement:]): New, just pass through bridge. (-[WebHTMLRepresentation controlsInForm:]): New, just pass through bridge. * WebView.subproj/WebLocationChangeDelegate.h: Add willCloseLocationForDataSource. * WebView.subproj/WebLocationChangeDelegate.m: (-[WebLocationChangeDelegate willCloseLocationForDataSource:]): Default impl. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]): Pass FormState instead of just values. (-[WebMainResourceClient resource:willSendRequest:]): Pass FormState instead of just values. 2003-02-28 Maciej Stachowiak Reviewed by Trey. - fixed 3180170 - filepile.com does not work correctly I fixed this by making referrer work correctly for targetted cross-frame and cross-window links. It is still not working right for JavaScript window.open though. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): Set referrer. (-[WebBridge loadURL:referrer:reload:triggeringEvent:formValues:]): Pass referrer along to frame. (-[WebBridge postWithURL:referrer:data:contentType:triggeringEvent:formValues:]): Likewise. * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:fromItem:withLoadType:]): Pass referrer. (-[WebFrame _loadURL:referrer:loadType:triggeringEvent:formValues:]): Use passed-in referrer (link could have been clicked in another frame). (-[WebFrame _loadURL:intoChild:]): Pass referrer. (-[WebFrame _postWithURL:referrer:data:contentType:triggeringEvent:formValues:]): Use passed-in referrer. 2003-02-28 Darin Adler Reviewed by Trey. - fixed 3183575 -- casuses infinite refresh & crash The page had history.forward(1) which was causing us to reload. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge goBackOrForward:]): Handle edge cases by checking backListCount and forwardListCount at this level. Be sure to do nothing when we are already on the right page. * History.subproj/WebBackForwardList.h: Added forwardListCount, updated comment for entryAtIndex. * History.subproj/WebBackForwardList.m: (-[WebBackForwardList forwardListCount]): Added. (-[WebBackForwardList entryAtIndex:]): Return nil for out of range indices. 2003-02-27 Maciej Stachowiak Reviewed by Richard. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge window]): Avoid calling removed call. * WebView.subproj/WebView.m: Remove override of window method. * WebView.subproj/WebWindowOperationsDelegate.h: Adjust for new API. === Safari-64 === === Safari-63 === 2003-02-26 Maciej Stachowiak Reviewed by Dave. - fixed reproducible hang at http://asp.eltonsoft.dk/cast/get.asp?cat=Quicktime WebKit's processing time was O(N^3) in the number of frames. Improved it to O(N^2) by storing frame pointer directly in WebDataSource instead of linear scan. Could still be improved more. * WebView.subproj/WebDataSource.m: (-[WebDataSource webFrame]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _stopLoadingWithError:]): (-[WebDataSource _setWebFrame:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]): (-[WebFrame _setDataSource:]): (-[WebFrame _transitionToCommitted:]): (-[WebFrame _isLoadComplete]): (-[WebFrame _clearProvisionalDataSource]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]): (-[WebFrame _loadDataSource:withLoadType:formValues:]): (-[WebFrame _setProvisionalDataSource:]): 2003-02-26 Richard Williamson Fixed 3102760. Removed WebDocumentDragSettings from API. Reviewed by Chris. * WebView.subproj/WebDocument.h: * WebView.subproj/WebHTMLView.h: * WebView.subproj/WebHTMLView.m: * WebView.subproj/WebImageView.h: * WebView.subproj/WebImageView.m: (-[WebImageView initWithFrame:]): (-[WebImageView mouseDragged:]): * WebView.subproj/WebTextView.h: * WebView.subproj/WebTextView.m: (-[WebTextView initWithFrame:]): (-[WebTextView layout]): 2003-02-25 David Hyatt Fix for bug #3181249. Ensure the padding argument gets passed through properly (instead of just passing 0). Reviewed by darin * WebCoreSupport.subproj/WebTextRenderer.m: 2003-02-25 John Sullivan WebKit part of fix for 3181290 -- need call to reload all bookmarks from disk, for synching's sake. I ended up not adding a new call, but making the existing loadBookmarkGroup work better when called after the initial load. It wasn't doing anything wrong before; it just wasn't passing along enough information to clients to enable them to do the right thing. Reviewed by Trey * Bookmarks.subproj/WebBookmarkGroup.h: new extern NSStrings WebBookmarksWillBeReloadedNotification and WebBookmarksWereReloadedNotification * Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup _sendNotification:forBookmark:children:]): soften assert so it doesn't fire on the new cases. (-[WebBookmarkGroup _bookmarksWillBeReloaded]): send WebBookmarksWillBeReloadedNotification (-[WebBookmarkGroup _bookmarksWereReloaded]): send WebBookmarksWereReloadedNotification (-[WebBookmarkGroup _loadBookmarkGroupGuts]): bracket the load with the new notification-sending calls * WebKit.exp: add the two new extern NSStrings 2003-02-25 Darin Adler Reviewed by John. - fixed 3176962 -- add KHTML somewhere in the user agent string * English.lproj/StringsNotToBeLocalized.txt: Change "(like Gecko)" to "(KHTML, like Gecko)". * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]): Ditto. 2003-02-20 Chris Blumenberg Added _web_superviewOfClass:stoppingAtClass:. Climbs up hierarchy and returns nil when stoppingAtClass is hit. Reviewed by darin. * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_superviewOfClass:stoppingAtClass:]): (-[NSView _web_superviewOfClass:]): 2003-02-20 Ken Kocienda Reviewed by David Modified to use new WebFoundation API. Though there seem to be many changes, they are all "uninteresting" in that the changes only moved code to use new method and class names. * Downloads.subproj/WebDownload.h: * Downloads.subproj/WebDownload.m: (-[WebDownload initWithRequest:delegate:]): (-[WebDownload _initWithLoadingHandle:request:response:delegate:]): (-[WebDownload createFileIfNecessary]): * Downloads.subproj/WebDownloadPrivate.h: * Misc.subproj/WebIconLoader.h: * Misc.subproj/WebIconLoader.m: (-[WebIconLoader startLoading]): (-[WebIconLoader resourceDidFinishLoading:]): (-[WebIconLoader resource:willSendRequest:]): (-[WebIconLoader resource:didReceiveResponse:]): (-[WebIconLoader resource:didReceiveData:]): (-[WebIconLoader resource:didFailLoadingWithError:]): * Misc.subproj/WebResourceResponseExtras.h: * Misc.subproj/WebResourceResponseExtras.m: (-[WebHTTPResponse suggestedFilenameForSaving]): * Plugins.subproj/WebBaseNetscapePluginStream.h: * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream setResponse:]): * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendEvent:]): (-[WebBaseNetscapePluginView requestWithURLCString:]): (-[WebBaseNetscapePluginView loadPluginRequest:]): (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): (-[WebBaseNetscapePluginView getURL:target:]): (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): (-[WebPluginRequest initWithRequest:frame:notifyData:]): (-[WebPluginRequest request]): * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h: * Plugins.subproj/WebNetscapePluginDocumentView.m: * Plugins.subproj/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]): * Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): * Plugins.subproj/WebNetscapePluginStream.h: * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): (-[WebNetscapePluginStream resource:didReceiveResponse:]): (-[WebNetscapePluginStream resource:didReceiveData:]): (-[WebNetscapePluginStream resourceDidFinishLoading:]): (-[WebNetscapePluginStream resource:didFailLoadingWithError:]): * Plugins.subproj/WebPluginController.m: (-[WebPluginController showURL:inFrame:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): (-[WebBridge defersLoading]): (-[WebBridge setDefersLoading:]): (-[WebBridge loadEmptyDocumentSynchronously]): * WebCoreSupport.subproj/WebCookieAdapter.m: (-[WebCookieAdapter cookiesForURL:]): (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]): * WebCoreSupport.subproj/WebSubresourceClient.h: * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): (-[WebSubresourceClient resource:willSendRequest:]): (-[WebSubresourceClient resource:didReceiveResponse:]): (-[WebSubresourceClient resource:didReceiveData:]): (-[WebSubresourceClient resourceDidFinishLoading:]): (-[WebSubresourceClient resource:didFailLoadingWithError:]): * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate startLoading:]): (-[WebBaseResourceHandleDelegate loadWithRequest:]): (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): (-[WebBaseResourceHandleDelegate resource:didReceiveData:]): (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]): (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]): (-[WebBaseResourceHandleDelegate cancelledError]): * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (-[WebResourceLoadDelegate identifierForInitialRequest:fromDataSource:]): (-[WebResourceLoadDelegate resource:willSendRequest:fromDataSource:]): (-[WebResourceLoadDelegate resource:didReceiveResponse:fromDataSource:]): * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebController _downloadURL:toDirectory:]): (-[WebController defersCallbacks]): (-[WebController setDefersCallbacks:]): (-[WebController _openNewWindowWithRequest:behind:]): * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithURL:]): (-[WebDataSource initWithRequest:]): (-[WebDataSource initialRequest]): (-[WebDataSource request]): (-[WebDataSource response]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _addSubresourceClient:]): (-[WebDataSource _stopLoading]): (-[WebDataSource _setURL:]): (-[WebDataSource _setRequest:]): (-[WebDataSource _setResponse:]): (-[WebDataSource _commitIfReady:]): (-[WebDataSource _defersCallbacksChanged]): (-[WebDataSource _originalRequest]): (-[WebDataSource _lastCheckedRequest]): (-[WebDataSource _setLastCheckedRequest:]): (-[WebDataSource _addResponse:]): * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]): (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]): * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate savePathForResponse:andRequest:]): (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): * WebView.subproj/WebFrame.h: * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): (-[WebFrame reload]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem]): (-[WebFrame _opened]): (-[WebFrame _loadItem:fromItem:withLoadType:]): (-[WebFrame _loadRequest:triggeringAction:loadType:formValues:]): (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formValues:andCall:withSelector:]): (-[WebFrame _continueAfterNavigationPolicy:]): (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formValues:]): (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): (-[WebFrame _loadURL:loadType:triggeringEvent:formValues:]): (-[WebFrame _postWithURL:data:contentType:triggeringEvent:formValues:]): (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]): (-[WebFrame _downloadRequest:toDirectory:]): * WebView.subproj/WebHTMLRepresentation.m: * WebView.subproj/WebMainResourceClient.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterNavigationPolicy:formValues:]): (-[WebMainResourceClient resource:willSendRequest:]): (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]): (-[WebMainResourceClient resource:didReceiveResponse:]): (-[WebMainResourceClient resource:didReceiveData:]): (-[WebMainResourceClient resourceDidFinishLoading:]): (-[WebMainResourceClient resource:didFailLoadingWithError:]): (-[WebMainResourceClient startLoading:]): * WebView.subproj/WebResourceLoadDelegate.h: * WebView.subproj/WebTextRepresentation.m: * WebView.subproj/WebTextView.m: * WebView.subproj/WebView.m: (-[WebView concludeDragOperation:]): * WebView.subproj/WebViewPrivate.m: * WebView.subproj/WebWindowOperationsDelegate.h: 2003-02-18 Maciej Stachowiak Reviewed by Chris. Merged changes from Safari-58-1-branch. 2003-02-11 Richard Williamson Add import of CGFontCache.h, which is no longer included by CoreGraphicsPrivate.h. Reviewed by Vicki. * WebCoreSupport.subproj/WebTextRendererFactory.m: 2003-02-11 Maciej Stachowiak Reviewed by Darin. * WebCoreSupport.subproj/WebTextRenderer.m: Change (void **) cast to (void *) for compatibility with the latest Panther. 2003-02-11 Maciej Stachowiak Reviewed by Trey. * WebKit.pbproj/project.pbxproj: Add /System/Library/PrivateFrameworks === Safari-62 === 2003-02-17 Ken Kocienda Reviewed by Trey Rolled in documentation changes from Peter Kelly, our tech writer. * History.subproj/WebBackForwardList.h * History.subproj/WebHistory.h * Misc.subproj/WebKitErrors.h * Misc.subproj/WebResourceResponseExtras.h * Panels.subproj/WebStandardPanels.h * Plugins.subproj/WebPluginError.h * WebView.subproj/WebContextMenuDelegate.h * WebView.subproj/WebController.h * WebView.subproj/WebControllerPolicyDelegate.h * WebView.subproj/WebDataSource.h * WebView.subproj/WebDefaultPolicyDelegate.h * WebView.subproj/WebDocument.h * WebView.subproj/WebFrame.h * WebView.subproj/WebPreferences.h * WebView.subproj/WebResourceLoadDelegate.h * WebView.subproj/WebView.h * WebView.subproj/WebWindowOperationsDelegate.h 2003-02-13 Trey Matteson 2943514 hide the cursor when using the arrow keys to scroll Reviewed by Darin * WebView.subproj/WebView.m: (-[WebView keyDown:]): Hide that cursor. 2003-02-16 Chris Blumenberg Added debug method that can be used inside of gdb to examine an image. Needed this many times. Reviewed by darin. * Misc.subproj/WebNSImageExtras.h: * Misc.subproj/WebNSImageExtras.m: (-[NSImage _web_saveAndOpen]): 2003-02-15 Darin Adler * English.lproj/Localizable.strings: Regenerated. 2003-02-14 David Hyatt Patch to the drawLine function for the inline box model landing. Reviewed by kocienda * WebCoreSupport.subproj/WebTextRenderer.m: 2003-02-13 Trey Matteson First checkin for working forms autocomplete. This level mostly just has glue to go from app to WC through the bridge. WebHTMLReo exports some new SPI to get the element of a view, and then to get some HTML-level properties of that element. Reviewed by Chris * Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup _saveBookmarkGroupGuts]): Don't dump entire bookmark dict in the log. * WebKit.exp: New class used by app, objc_class_name_WebHTMLRepresentation. * WebView.subproj/WebHTMLRepresentation.h: * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation elementForView:]): New SPI. (-[WebHTMLRepresentation elementDoesAutoComplete:]): New SPI. (-[WebHTMLRepresentation elementIsInLoginForm:]): New SPI. 2003-02-13 Chris Blumenberg Fixed WebKit typos found by Peter Wilson. Reviewed by darin. * Misc.subproj/WebKitErrors.h: * Misc.subproj/WebKitErrors.m: (categoryInitialize): Error should be WebErrorDescriptionCannotFindApplicationForURL not WebErrorDescriptionCannotNotFindApplicationForURL * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call findOrCreateFrameNamed * Plugins.subproj/WebPluginController.m: (-[WebPluginController showURL:inFrame:]): call findOrCreateFrameNamed * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge findOrCreateFrameNamed:]): call findOrCreateFrameNamed * WebView.subproj/WebFrame.h: * WebView.subproj/WebFrame.m: (-[WebFrame findOrCreateFrameNamed:]): fixed name * WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueAfterNavigationPolicy:]): use WebErrorDescriptionCannotFindApplicationForURL * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): use WebErrorDescriptionCannotFindApplicationForURL * WebView.subproj/WebView.h: * WebView.subproj/WebView.m: (-[WebView setAllowsScrolling:]): cast to WebDynamicScrollBarsView (-[WebView allowsScrolling]): cast to WebDynamicScrollBarsView (-[WebView frameScrollView]): return NSScrollView * WebView.subproj/WebViewPrivate.m: (-[WebView _setDocumentView:]): cast to WebDynamicScrollBarsView 2003-02-12 Chris Blumenberg - Moved the WebKit error registration out of WebView because apps that use WebKit but not WebView might need to use WebKit errors (like my test app for WebDownload). - Added file close and file move errors (needed for WebDownload). Reviewed by kocienda. * English.lproj/Localizable.strings: Localize file close and file move errors. * Misc.subproj/WebKitErrors.h: Added file close and file move errors. * Misc.subproj/WebKitErrors.m: Added. (+[WebError initialize]): register the errors here * WebKit.exp: Export the WebDownload class (forgot to do this earlier). * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebView.m: don't register the errors here 2003-02-12 Darin Adler Reviewed by Ken. - fixed 3158484 -- after submission failure, submitting a second time doesn't work * WebView.subproj/WebDataSourcePrivate.h: Added _receivedError:complete: method. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _receivedError:complete:]): Added, parallel to _receivedData and _finishedLoading. Calls the new bridge method didNotOpenURL: for cases where we fail before committing (which calls openURL). Note that we can't use our own _bridge method because it asserts that we have committed to prevent accidental misuse. Also make the call on the controller that used to be done directly by the client. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:complete:]): Call the new -[WebDataSource _receivedError:complete:] rather than calling the controller directly. 2003-02-11 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 2003-02-11 Darin Adler Reviewed by Ed. - applied a fixed version of Ed Voas's change to make plug-ins position correctly inside Carbon metal windows; should have no effect on Safari * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): Don't assume that the Cocoa concept of the content view matches up with the Carbon concept of where the port is positioned. Instead, convert coordinates to border view coordinates, then back to Carbon content coordinates by using the delta between the port bounds and the port's pixmap bounds. Bug 3160710 was caused by an older version of this patch implicitly assuming the port bounds always had (0,0) for top left. 2003-02-11 Trey Matteson Set -seg1addr in our build styles, but not for the B&I build. This makes our SYMROOTS from B&I usable to determine symbols from crash logs from the field. Also nuked DeploymentFat build style. Reviewed by Ken. * WebKit.pbproj/project.pbxproj: 2003-02-10 Chris Blumenberg Added HeaderDoc comments for WebDownload and WebPluginError. Reviewed by rjw. * Downloads.subproj/WebDownload.h: * Plugins.subproj/WebPluginError.h: 2003-02-10 Trey Matteson Following the recent fix for ensuring that we always have a FormDelegate, when we need a default policy delegate we use a shared one instead of allocing a new one each time, which then would leak. This included getting rid of the initWithWebController: method in the WebDefaultPolicyDelegate API. The arg was not used. Reviewed by Richard * WebKit.pbproj/project.pbxproj: new private header * WebView.subproj/WebController.m: (-[WebController policyDelegate]): use shared delegate if none set * WebView.subproj/WebDefaultPolicyDelegate.h: * WebView.subproj/WebDefaultPolicyDelegate.m: (+[WebDefaultPolicyDelegate _sharedWebPolicyDelegate]): return shared instance * WebView.subproj/WebDefaultPolicyDelegatePrivate.h: Added. * WebView.subproj/WebFormDelegate.m: (+[WebFormDelegate _sharedWebFormDelegate]): Trivial renaming of static. 2003-02-10 Richard Williamson Update API issues document. * API-Issues.rtf: 2003-02-10 Chris Blumenberg Fixed: 3168888 - REGRESSION: many downloads fail (due to -36 error from write) Reviewed by darin. * Downloads.subproj/WebDownload.m: (-[WebDownload writeForkData:isDataFork:]): 2003-02-10 Trey Matteson Make sure we have a FormsDelegate installed with NOP behavior if our client does not set one. Editing forms was broken for Ed by the introduction of the new FormDelegate. Reviewed by Darin. * WebKit.pbproj/project.pbxproj: Added new header file. * WebView.subproj/WebControllerPrivate.m: (-[WebController _formDelegate]): Use shared delegate if none set yet. * WebView.subproj/WebFormDelegatePrivate.h: New header. * WebView.subproj/WebFormDelegate.h: Nit cleanup. * WebView.subproj/WebFormDelegate.m: (+[WebFormDelegate _sharedWebFormDelegate]): New method to return a shared NOP implementation. 2003-02-07 Richard Williamson Changes to support per WebController preferences. Reviewed by Maciej and Ken. * WebView.subproj/WebController.m: (-[WebController setPreferences:]): * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate init]): (-[WebControllerPrivate dealloc]): (-[WebController _setFormDelegate:]): (-[WebController _formDelegate]): (-[WebController _settings]): (-[WebController _updateWebCoreSettingsFromPreferences:]): (-[WebController _releaseUserAgentStrings]): (-[WebController _preferencesChangedNotification:]): * WebView.subproj/WebFrame.m: (-[WebFrame initWithName:webView:controller:]): * WebView.subproj/WebPreferences.h: * WebView.subproj/WebPreferences.m: (-[WebPreferences _postPreferencesChangesNotification]): (+[WebPreferences load]): (-[WebPreferences _stringValueForKey:]): (-[WebPreferences _setStringValue:forKey:]): (-[WebPreferences _integerValueForKey:]): (-[WebPreferences _setIntegerValue:forKey:]): (-[WebPreferences _boolValueForKey:]): (-[WebPreferences _setBoolValue:forKey:]): (-[WebPreferences standardFontFamily]): (-[WebPreferences setStandardFontFamily:]): (-[WebPreferences fixedFontFamily]): (-[WebPreferences setFixedFontFamily:]): (-[WebPreferences serifFontFamily]): (-[WebPreferences setSerifFontFamily:]): (-[WebPreferences sansSerifFontFamily]): (-[WebPreferences setSansSerifFontFamily:]): (-[WebPreferences cursiveFontFamily]): (-[WebPreferences setCursiveFontFamily:]): (-[WebPreferences fantasyFontFamily]): (-[WebPreferences setFantasyFontFamily:]): (-[WebPreferences defaultFontSize]): (-[WebPreferences setDefaultFontSize:]): (-[WebPreferences defaultFixedFontSize]): (-[WebPreferences setDefaultFixedFontSize:]): (-[WebPreferences minimumFontSize]): (-[WebPreferences setMinimumFontSize:]): (-[WebPreferences defaultTextEncodingName]): (-[WebPreferences setDefaultTextEncodingName:]): (-[WebPreferences userStyleSheetEnabled]): (-[WebPreferences setUserStyleSheetEnabled:]): (-[WebPreferences userStyleSheetLocation]): (-[WebPreferences setUserStyleSheetLocation:]): (-[WebPreferences JavaEnabled]): (-[WebPreferences setJavaEnabled:]): (-[WebPreferences JavaScriptEnabled]): (-[WebPreferences setJavaScriptEnabled:]): (-[WebPreferences JavaScriptCanOpenWindowsAutomatically]): (-[WebPreferences setJavaScriptCanOpenWindowsAutomatically:]): (-[WebPreferences pluginsEnabled]): (-[WebPreferences setPluginsEnabled:]): (-[WebPreferences allowAnimatedImages]): (-[WebPreferences allowAnimatedImageLooping]): (-[WebPreferences setAllowAnimatedImageLooping:]): (-[WebPreferences setWillLoadImagesAutomatically:]): (-[WebPreferences willLoadImagesAutomatically]): (-[WebPreferences _initialTimedLayoutDelay]): (-[WebPreferences _initialTimedLayoutSize]): (-[WebPreferences _pageCacheSize]): (-[WebPreferences _objectCacheSize]): (-[WebPreferences _initialTimedLayoutEnabled]): (-[WebPreferences _resourceTimedLayoutDelay]): (-[WebPreferences _resourceTimedLayoutEnabled]): * WebView.subproj/WebPreferencesPrivate.h: 2003-02-06 Chris Blumenberg - Made WebDownload.h a public header. - Added stubs for the new methods. - Moved all private methods to the WebPrivate category. - Added FIXMEs for things that needed to be removed or implemented. Reviewed by rjw. * Downloads.subproj/WebDownload.h: * Downloads.subproj/WebDownload.m: (-[WebDownload initWithRequest:delegate:]): (-[WebDownload dealloc]): (-[WebDownload cancel]): (-[WebDownload _initWithLoadingHandle:request:response:delegate:]): (-[WebDownload initWithDataSource:]): (-[WebDownload receivedData:]): (-[WebDownload finishedLoading]): (-[WebDownload decodeHeaderData:dataForkData:resourceForkData:]): (-[WebDownload decodeData:dataForkData:resourceForkData:]): (-[WebDownload createFileIfNecessary]): (-[WebDownload writeDataForkData:resourceForkData:]): (-[WebDownload dataIfDoneBufferingData:]): (-[WebDownload decodeData:]): (-[WebDownload finishDecoding]): * Downloads.subproj/WebDownloadPrivate.h: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebMainResourceClient.m: 2003-02-06 Chris Blumenberg Renamed WebDownloadHandler to WebDownload. Made ivars of WebDownload private. Reviewed by kocienda. * Downloads.subproj/WebDownload.h: Added. * Downloads.subproj/WebDownload.m: Added. (-[WebDownloadPrivate init]): (-[WebDownloadPrivate dealloc]): (-[WebDownload initWithDataSource:]): (-[WebDownload dealloc]): (-[WebDownload decodeHeaderData:dataForkData:resourceForkData:]): (-[WebDownload decodeData:dataForkData:resourceForkData:]): (-[WebDownload closeFork:deleteFile:]): (-[WebDownload closeFileAndDelete:]): (-[WebDownload closeFile]): (-[WebDownload cleanUpAfterFailure]): (-[WebDownload createFileIfNecessary]): (-[WebDownload writeDataForkData:resourceForkData:]): (-[WebDownload dataIfDoneBufferingData:]): (-[WebDownload decodeData:]): (-[WebDownload receivedData:]): (-[WebDownload finishDecoding]): (-[WebDownload finishedLoading]): (-[WebDownload cancel]): (-[WebDownload path]): (-[WebDownload writeForkData:isDataFork:]): (-[WebDownload errorWithCode:]): (-[WebDownload cancelWithError:]): (-[WebDownload dataForkReferenceNumber]): (-[WebDownload setDataForkReferenceNumber:]): (-[WebDownload resourceForkReferenceNumber]): (-[WebDownload setResourceForkReferenceNumber:]): (-[WebDownload areWritesCancelled]): (-[WebDownload setWritesCancelled:]): (WriteCompletionCallback): (CloseCompletionCallback): (DeleteCompletionCallback): * Downloads.subproj/WebDownloadHandler.h: Removed. * Downloads.subproj/WebDownloadHandler.m: Removed. * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebController.h: * WebView.subproj/WebDataSource.m: * WebView.subproj/WebDataSourcePrivate.m: * WebView.subproj/WebMainResourceClient.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient dealloc]): (-[WebMainResourceClient download]): (-[WebMainResourceClient isDownload]): (-[WebMainResourceClient receivedError:complete:]): (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient handle:didReceiveData:]): (-[WebMainResourceClient handleDidFinishLoading:]): 2003-02-06 Chris Blumenberg Fixed: 3125067 - Investigate performance implications of writing download file data Reviewed by trey, rjw, darin. * Downloads.subproj/WebDownloadHandler.h: * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler closeFileAndDelete:]): close the file asynchronously (-[WebDownloadHandler closeFile]): call closeFileAndDelete:NO (-[WebDownloadHandler cleanUpAfterFailure]): call closeFileAndDelete:YES (-[WebDownloadHandler writeDataForkData:resourceForkData:]): call writeForkData:isDataFork: (-[WebDownloadHandler path]): new (-[WebDownloadHandler writeForkData:isDataFork:]): writes file asynchronously (-[WebDownloadHandler errorWithCode:]): moved (-[WebDownloadHandler cancelWithError:]): new, stops load with error (-[WebDownloadHandler dataForkReferenceNumber]): new (-[WebDownloadHandler setDataForkReferenceNumber:]): new (-[WebDownloadHandler resourceForkReferenceNumber]): new (-[WebDownloadHandler setResourceForkReferenceNumber:]): new (WriteCompletionCallback): new (CloseCompletionCallback): new, removes file if necessary (DeleteCompletionCallback): new, * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _stopLoadingWithError:]): new 2003-02-06 Trey Matteson 3137647 - ad frames get their own history entries at channels.netscape.com 3133844 - 2 items in back list at http://www.kiup-bank.com/personal/main01.html Move logic for deciding on "quick redirect" down to WebCore, where we really know what case we're in instead of having to guess from the params we were receiving. Reviewed by Maciej, Darin. * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): Fix build error (URL vs String) * WebView.subproj/WebFramePrivate.h: Nuke Completing state. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToLayoutAcceptable]): Nuke Completing state. (-[WebFrame _transitionToCommitted:]): Nuke Completing state. (-[WebFrame _isLoadComplete]): Nuke Completing state. (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]): Just obey lockHistory param when deciding whether we are doing a "client redirect" instead of previous guesswork. 2003-02-06 Richard Williamson Rename WebError to WebKitError. Reviewed by maciej. * API-Issues.rtf: * Bookmarks.subproj/WebBookmarkImporter.m: (-[WebBookmarkImporter initWithPath:]): * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler createFileIfNecessary]): (-[WebDownloadHandler writeDataForkData:resourceForkData:]): (-[WebDownloadHandler decodeData:]): (-[WebDownloadHandler finishedLoading]): * Misc.subproj/WebKitErrors.h: * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueAfterNavigationPolicy:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): (-[WebMainResourceClient continueAfterContentPolicy:response:]): * WebView.subproj/WebView.m: (+[WebView initialize]): 2003-02-05 Chris Blumenberg Comment should have been "Made WebPluginError constructors private." * ChangeLog: 2003-02-05 Chris Blumenberg WebKit API clean-up: - Added enum to WebContextMenuDelegate that is the menu item tag of the menu items passed in the default menu item array. - WebPluginError should return URL strings. - Made WebPluginError constructors private. Reviewed by rjw. * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): * Plugins.subproj/WebPluginError.h: * Plugins.subproj/WebPluginError.m: (-[WebPluginError pluginPageURL]): * Plugins.subproj/WebPluginErrorPrivate.h: Added. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebContextMenuDelegate.h: * WebView.subproj/WebDefaultContextMenuDelegate.h: * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate menuItemWithTag:]): (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]): 2003-02-04 Trey Matteson WC now tells us the form values being submitted with a get/post. We forward this info to a new WebFormDelegate method. Most of this change is just glue passing the formValues through all our layers. Reviewed by Maciej * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:reload:triggeringEvent:formValues:]) Pass along formValues. (-[WebBridge postWithURL:data:contentType:triggeringEvent:formValues:]): Pass along formValues. * WebKit.pbproj/project.pbxproj: Reorder previously added files. * WebView.subproj/WebControllerPolicyDelegate.m: Fix latent copy/paste error where two keys had the same underlying string value! * WebView.subproj/WebFormDelegate.h: Declare new delegate method. * WebView.subproj/WebFormDelegate.m: (-[WebFormDelegate frame:willSubmitFormWithValues:]): NOP impl of new method. * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): Pass nil formValues. (-[WebFrame reload]): Pass nil formValues. * WebView.subproj/WebFramePrivate.h: New ivar to hold form values while waiting for the policy delegate response. * WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): ASSERT new ivar is nil. (-[WebFrame _loadItem:fromItem:withLoadType:]): Pass nil formValues. (-[WebFrame _loadRequest:triggeringAction:loadType:formValues:]): Pass along formValues. (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): Pass nil formValues to continuation method. (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formValues:andCall:withSelector:]): Stash formValues before calling policy delegate. (-[WebFrame _continueAfterNavigationPolicy:]): Resurrect formValues after calling policy delegate, pass to continuation method. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formValues:]): Bail on nil request instead of shouldContinue=NO (-[WebFrame _loadURL:loadType:triggeringEvent:formValues:]): Pass formValues along. (-[WebFrame _loadURL:intoChild:]): Pass nil formValues. (-[WebFrame _postWithURL:data:contentType:triggeringEvent:formValues:]): Pass formValues along. (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): Pass nil formValues. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]): Bail on nil request instead of shouldContinue=NO. Call new FormDelegate method. (-[WebFrame _loadDataSource:withLoadType:formValues:]): Pass formValues along. (-[WebFrame _downloadRequest:toDirectory:]): Pass nil formValues. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterNavigationPolicy:formValues:]): Bail on nil request instead of shouldContinue=NO (-[WebMainResourceClient handle:willSendRequest:]): Pass nil formValues. 2003-02-05 Richard Williamson WebHistory* API clenaup. Reviewed by Chris. * Bookmarks.subproj/WebBookmarkLeaf.m: * History.subproj/WebHistory.h: * History.subproj/WebHistory.m: * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: (-[WebHistoryItem title]): (-[WebHistoryItem setDisplayTitle:]): (-[WebHistoryItem hash]): (-[WebHistoryItem anchor]): (-[WebHistoryItem isEqual:]): (-[WebHistoryItem description]): (-[WebHistoryItem _retainIconInDatabase:]): (+[WebHistoryItem entryWithURL:]): (-[WebHistoryItem initWithURL:title:]): (-[WebHistoryItem initWithURL:target:parent:title:]): (-[WebHistoryItem URL]): (-[WebHistoryItem target]): (-[WebHistoryItem parent]): (-[WebHistoryItem dictionaryRepresentation]): (-[WebHistoryItem initFromDictionaryRepresentation:]): * History.subproj/WebHistoryItemPrivate.h: * History.subproj/WebHistoryPrivate.h: * History.subproj/WebHistoryPrivate.m: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (-[WebController setPreferences:]): (-[WebController preferences]): * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate dealloc]): * WebView.subproj/WebDataSourcePrivate.m: * WebView.subproj/WebFramePrivate.m: 2003-02-05 Richard Williamson Cleanup public WebHistory API, stage 1. Reviewed by trey. * History.subproj/WebHistory.h: * History.subproj/WebHistory.m: (-[_WebCoreHistoryProvider initWithHistory:]): (-[_WebCoreHistoryProvider containsEntryForURLString:]): (-[_WebCoreHistoryProvider dealloc]): (+[WebHistory sharedHistory]): (+[WebHistory createSharedHistoryWithFile:]): * History.subproj/WebHistoryPrivate.h: * History.subproj/WebHistoryPrivate.m: 2003-02-04 Maciej Stachowiak Reviewed by Darin. * WebKit.pbproj/project.pbxproj: Updated to build the framework standalone instead of embedded when doing a B&I build for Panther. 2003-02-04 Chris Blumenberg Fixed: 3163879 - receivedPageIcon:forDataSource: always sends nil image Reviewed by rjw. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _updateIconDatabaseWithURL:]): 2003-02-04 Darin Adler Reviewed by Ken. - fixed 3135388 -- encoding changes do not affect text in form elements The problem was that form data was being saved and restored, and in the case of buttons, the form data was the incorrectly decoded button label. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToLayoutAcceptable]): Remove the default: case so we get a warning if we omit one of the enum values from this switch statement. (-[WebFrame _transitionToCommitted:]): Move the WebFrameLoadTypeReloadAllowingStaleData case up so it's right next to the case it should be merged with. (-[WebFrame _isLoadComplete]): Remove the default: case so we get a warning if we omit one of enum values from this switch statement. (-[WebFrame _itemForRestoringDocState]): Replace the if statement with a switch statement. Include WebFrameLoadTypeReloadAllowingStaleData, which fixes the bug. 2003-02-03 Richard Williamson Fixed headerdoc type. * WebView.subproj/WebDocument.h: 2003-02-03 Richard Williamson Support for new canProvideDocumentSource and documentSource API. Updated all the representations. Added support to show for RTF source. Moved WebKitInitializeUnicode to to early class. This was necessary because WebCore may use the unicode property functions before WebTextRenderer gets initialized. Ensured guarantee that identifierForInitialRequest:fromDataSource: is called with the first initial request. Reviewed by maciej. * Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation canProvideDocumentSource]): (-[WebNetscapePluginRepresentation documentSource]): * WebCoreSupport.subproj/WebTextRenderer.m: * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setIdentifier:]): * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithRequest:]): (-[WebDataSource controller]): (-[WebDataSource initialRequest]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _startLoading:]): (-[WebDataSource _originalRequest]): * WebView.subproj/WebDocument.h: * WebView.subproj/WebHTMLRepresentation.h: * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): (-[WebHTMLRepresentation canProvideDocumentSource]): * WebView.subproj/WebHTMLView.m: (+[WebHTMLView initialize]): * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation canProvideDocumentSource]): (-[WebImageRepresentation documentSource]): * WebView.subproj/WebTextRepresentation.h: * WebView.subproj/WebTextRepresentation.m: (-[WebTextRepresentation dealloc]): (-[WebTextRepresentation setDataSource:]): (-[WebTextRepresentation finishedLoadingWithDataSource:]): (-[WebTextRepresentation canProvideDocumentSource]): (-[WebTextRepresentation documentSource]): 2003-02-03 Chris Blumenberg Fixed: 3163073 - SECURITY: Need to check if filename in encoded download is safe Reviewed by kocienda, darin, mjs. * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler createFileIfNecessary]): call _web_filenameByFixingIllegalCharacters on the encoded filename 2003-02-01 Maciej Stachowiak Reviewed by Darin and Ken. - fixed 3162581 - 56 debug: Assertion failure displaying pop-up menu while downloading * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveResponse:]): No need to assert that the controller is not deferred if this is a handle being used for a download. (-[WebMainResourceClient handle:didReceiveData:]): Likewise. (-[WebMainResourceClient handleDidFinishLoading:]): Likewise. (-[WebMainResourceClient handle:didFailLoadingWithError:]): Likewise. 2003-01-31 Trey Matteson New plumbing for autofill/autocomplete. WebBrowser receives controlText delegate messages from our form widgets. Should result in no behavior change. New private API is exposed for the app to set a WebFormDelegate. Reviewed by Richard * WebCoreSupport.subproj/WebBridge.m: Pass msgs from WC on to the controller's FormDelegate. (formDelegate): Little utility function. (-[WebBridge controlTextDidBeginEditing:]): (-[WebBridge controlTextDidEndEditing:]): (-[WebBridge controlTextDidChange:]): (-[WebBridge control:textShouldBeginEditing:]): (-[WebBridge control:textShouldEndEditing:]): (-[WebBridge control:didFailToFormatString:errorDescription:]): (-[WebBridge control:didFailToValidatePartialString:errorDescription:]): (-[WebBridge control:isValidObject:]): (-[WebBridge control:textView:doCommandBySelector:]): * WebKit.exp: New class exported. * WebKit.pbproj/project.pbxproj: New WebFormDelegate files. * WebView.subproj/WebControllerPrivate.h: API to set/get FormDelegate. * WebView.subproj/WebControllerPrivate.m: (-[WebController _setFormDelegate:]): simple setter (-[WebController _formDelegate]): simple getter * WebView.subproj/WebFormDelegate.h: Added. * WebView.subproj/WebFormDelegate.m: Added. NOP impls for all these delegate methods. (-[WebFormDelegate controlTextDidBeginEditing:inFrame:]): (-[WebFormDelegate controlTextDidEndEditing:inFrame:]): (-[WebFormDelegate controlTextDidChange:inFrame:]): (-[WebFormDelegate control:textShouldBeginEditing:inFrame:]): (-[WebFormDelegate control:textShouldEndEditing:inFrame:]): (-[WebFormDelegate control:didFailToFormatString:errorDescription:inFrame:]): (-[WebFormDelegate control:didFailToValidatePartialString:errorDescription:inFrame:]): (-[WebFormDelegate control:isValidObject:inFrame:]): (-[WebFormDelegate control:textView:doCommandBySelector:inFrame:]): 2003-01-31 Chris Blumenberg * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. * WebView.subproj/WebController.m: fixed key value 2003-01-31 Chris Blumenberg Fixed : 3155148 - image shown when dragging gets size from image file, not size as used on page Reviewed by darin. * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragPromisedImage:rect:URL:fileType:title:event:]): take a rect so we know the original size and origin * WebKit.exp: added WebElementImageRectKey * WebView.subproj/WebController.h: WebElementImageRectKey * WebView.subproj/WebController.m: WebElementImageRectKey * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _handleMouseDragged:]): call _web_dragPromisedImage with WebElementImageRect * WebView.subproj/WebImageView.m: (-[WebImageView menuForEvent:]): provide the WebElementImageRect since we do this for other image elements (-[WebImageView mouseDragged:]): call _web_dragPromisedImage with [self bounds] === Safari-55 === 2003-01-30 Chris Blumenberg Backed out my fix for 3161102. Richard and I found problems the fix. 3161102 turns out to not be an issue. Reviewed by rjw. * History.subproj/WebHistoryItem.m: (+[WebHistoryItem _releaseAllPendingPageCaches]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView windowWillClose:]): 2003-01-30 Chris Blumenberg Fixed: 3161102 - Avoid retain cycles by destroying plug-ins in the page cache before dealloc Reviewed by rjw. * History.subproj/WebHistoryItem.m: (+[WebHistoryItem _releaseAllPendingPageCaches]): iterate over all of the plug-ins and call destroy * WebView.subproj/WebHTMLView.m: (-[WebHTMLView windowWillClose:]): clear page cache 2003-01-30 Chris Blumenberg Fixed: 3160464 - Slideback sometimes happens twice Because we start drags in mouseDragged (which AppKit says we shouldn't), we get mouseDragged events after a drag (image, link, text etc) has ended. We also get mouseDragged events after we've sent the fake mouseUp to WebCore. That is probably bad for unknown reasons. Reviewed by darin. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDown:]): set ignoringMouseDraggedEvents to NO (-[WebHTMLView mouseDragged:]): check ignoringMouseDraggedEvents (-[WebHTMLView draggedImage:endedAt:operation:]): set ignoringMouseDraggedEvents to NO * WebView.subproj/WebHTMLViewPrivate.h: added ignoringMouseDraggedEvents 2003-01-30 Darin Adler Reviewed by John. - fixed 3160710 -- REGRESSION: bizrate.com front page ad in wrong position The new code to compute port coordinates was screwing up somehow. I had to roll it out and we'll have to try again to fix the problem Ed was fixing. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): Roll back changes between 1.45 and 1.47. 2003-01-29 Darin Adler Reviewed by John. - fixed 3158624 -- crash reentering WebBaseNetscapePluginView removeTrackingRect closing window * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView removeTrackingRect]): Set tracking tag to 0 before releasing the window to prevent reentering. 2003-01-29 Ken Kocienda Reviewed by Darin. Fix for this bug: Radar 3142818 (Downloading many items quickly can cause future page loads to fail) The issue was with a mismatch between different object's idea about whether callbacks were being deferred. I have simplified the code in this area somewhat, and I have added some asserts to make sure that callbacks are not sent when deferalls are on. More work will need to be done in callback deferral-land, however. This change fixes the bug, but it may not be a good long-term fix. I will file a bug on the need for this additonal work. * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate defersCallbacks]): Added method. * WebView.subproj/WebMainResourceClient.h: Removed unneeded defersBeforeCheckingPolicy flag. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterNavigationPolicy:request:]): Unconditionally set callback deferrals to NO. (-[WebMainResourceClient handle:willSendRequest:]): Remove all callback deferral code here. (-[WebMainResourceClient continueAfterContentPolicy:response:]): Unconditionally set callback deferrals to NO. (-[WebMainResourceClient handle:didReceiveResponse:]): Assert that the handle argument to this method, the client (self), and the data source's controller all are not deferring callbacks. Unconditionally set callback deferrals to YES. (-[WebMainResourceClient handle:didReceiveData:]): Ditto (-[WebMainResourceClient handleDidFinishLoading:]): Ditto (-[WebMainResourceClient handle:didFailLoadingWithError:]): Ditto 2003-01-29 John Sullivan - fixed 3160116 -- REGRESSION:leak in WebBookmarkLeaf at startup Reviewed by Darin * Bookmarks.subproj/WebBookmarkLeaf.m: (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]): don't leak the _entry that was created in initWithURLString:title:group: 2003-01-29 Trey Matteson 3159750 - REGRESSION: cursor is I-beam when over a standalone image We now reset the cursor to arrow before switching doc views. Also, made various replacements of "id " with "NSView < WebDocumentView> *" to get better compile time checking. Reviewed by Darin. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _makeDocumentView]): Use NSView* (-[WebFrame _transitionToCommitted:]): Use NSView* * WebView.subproj/WebViewPrivate.h: Use NSView* * WebView.subproj/WebViewPrivate.m: (-[WebView _setDocumentView:]): Use NSView*. Reset cursor. (-[WebView _makeDocumentViewForDataSource:]): Use NSView* 2003-01-29 Chris Blumenberg 3159529 - REGRESSION: URLs with no path are saved as "-.html" Reviewed by darin, trey, kocienda. * Misc.subproj/WebResourceResponseExtras.m: (-[NSURL _web_suggestedFilenameForSavingWithMIMEType:]): Don't use the lastPathComponent if it is "/". 2003-01-28 Trey Matteson Removing ERROR() that isn't an error, left over from the Safari-48 download firedrill. Reviewed by Chris. * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler cleanUpAfterFailure]): Don't ERROR if we are asked to cleanup a file and there is nothing to cleanup. This can happen in the rare case of the download being canceled before the first byte arrives, and we deal properly, no ERROR. 2003-01-28 Chris Blumenberg Fixed: 3150856 - crash with full-size plugins in frame or iframe Reviewed by darin. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView start]): added assert * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): added assert * WebView.subproj/WebFramePrivate.m: (-[WebFrame _makeDocumentView]): Don't call setDataSource here because the view is not in the view hierarchy at this point. * WebView.subproj/WebViewPrivate.m: (-[WebView _makeDocumentViewForDataSource:]): Call setDataSource on the document view after it has been placed in the view hierarchy. This what we for the top-level view, so should do this for views in subframes as well. 2003-01-28 Chris Blumenberg Fixed: 3156172 - No filename correction when downloading images via drag & drop Reviewed by mjs, john, trey. * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebController _downloadURL:]): call _downloadURL:toDirectory: (-[WebController _downloadURL:toDirectory:]): call -[WebFrame _downloadRequest:toDirectory:] * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): release the download directory (-[WebDataSource _setDownloadDirectory:]): new (-[WebDataSource _downloadDirectory]): new * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _downloadRequest:toDirectory:]): renamed * WebView.subproj/WebHTMLView.m: (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call -[WebController _downloadURL:toDirectory:] * WebView.subproj/WebImageView.m: (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): call -[WebController _downloadURL:toDirectory:] * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the data source has a download directory, use it plus the filename from the response as download path 2003-01-28 Trey Matteson 2940179 - Arrow cursor should change to link cursor after click of link in non-frontmost window 3158240 - cursor does not track when switching from panels to safari windows Two changes here: First, we post fake mousemoved events to get the cursor fixed up without checking if the mouse is down (WC deals with that now). That fixes 2940179, because the button is down when we get notified of becoming key. Second, we observe key window instead of main window notifications everywhere, so we update the cursor when clicking between a panel and our doc windows. Reviewed by Darin. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addMouseMovedObserver]): s/main/key/g (-[WebHTMLView addWindowObservers]): s/main/key/g (-[WebHTMLView removeWindowObservers]): s/main/key/g (-[WebHTMLView windowDidBecomeKey:]): s/main/key/g (-[WebHTMLView windowDidResignKey:]): s/main/key/g * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frameOrBoundsChanged]): Always post mousemoved event. 2003-01-28 John Sullivan - fixed 3158304 -- Assertion failure cancelling "Add Bookmark" or deleting newly-created bookmarks Reviewed by Darin * Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup _bookmark:changedUUIDFrom:to:]): new method that notifies group when a bookmark that's already in a group changes its UUID -- the UUID to bookmark dictionary updates for this change. * Bookmarks.subproj/WebBookmarkGroupPrivate.h: private declaration for this method * Bookmarks.subproj/WebBookmark.m: (-[WebBookmark _setUUID:]): notify group when UUID changes (-[WebBookmark UUID]): ditto 2003-01-28 Darin Adler Reviewed by Ken. - fixed 3156197 -- leak in -[WebBookmarkList initFromDictionaryRepresentation:withGroup:] * Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]): Fixed storage leak by not allocating the list here, because [self init] will be called and that will allocate the list. 2003-01-26 Maciej Stachowiak Reviewed by Darin and Ken. * English.lproj/StringsNotToBeLocalized.txt: Removed unused exception. 2003-01-27 Chris Blumenberg Fixed: 3156230 - REGRESSION: Java 141: Safari Does Not Stop Applets When Browser Window Closes Reviewed by dave. * Plugins.subproj/WebPluginController.h: * Plugins.subproj/WebPluginController.m: (-[WebPluginController destroyAllPlugins]): renamed from HTMLViewWillBeDeallocated because it may get called before the dealloc * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addWindowObservers]): observe NSWindowWillCloseNotification (-[WebHTMLView removeWindowObservers]): remove observer for NSWindowWillCloseNotification (-[WebHTMLView windowWillClose:]): call destroyAllPlugins * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLViewPrivate dealloc]): call destroyAllPlugins 2003-01-27 Richard Williamson Fixed 3139909. Fake the resource load delegate messages (minus willSendRequest) when a page is loaded from a the page cache. Reviewed by john. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _addResponse:]): (-[WebDataSource _responses]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _opened]): 2003-01-27 Trey Matteson 3157104 - reproducible assert in _continueFragmentScrollAfterNavigationPolicy Remove assertion, and it turns out the existing code will handle the case. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): 2003-01-27 Richard Williamson Make emptying the page cache synchronous when "Empty Cache" is selected from menu. More bulletproofing to ensure that 3155781 doesn't happen. Reviewed by trey. * History.subproj/WebBackForwardList.m: (-[WebBackForwardList clearPageCache]): 2003-01-27 Chris Blumenberg Fixed: 3156235 - change throttle for plug-in null events to 50 frames per second (when frontmost) Reviewed by dave. * Plugins.subproj/WebBaseNetscapePluginView.m: 2003-01-27 Richard Williamson Fixed 3151241. Cleanly handle nil return from resource:willSendRequest:fromDataSource:. Reviewed by trey. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): (-[WebBaseResourceHandleDelegate handleDidFinishLoading:]): (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]): (-[WebBaseResourceHandleDelegate cancelWithError:]): * WebView.subproj/WebControllerPrivate.m: (-[WebController _mainReceivedError:fromDataSource:complete:]): 2003-01-27 John Sullivan - fixed 3156744 -- REGRESSION: Renaming bookmarks dragged into bookmark bar does not work at first Reviewed by Darin * Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList insertChild:atIndex:]): was adding self to its own group (a no-op), instead of adding the new child to self's group. This was a typo from the refactoring to fix 3152427. 2003-01-27 Chris Blumenberg * English.lproj/StringsNotToBeLocalized.txt: Updated for changes I previously made. 2003-01-26 Chris Blumenberg Fixed: 3156725 - Partially selected links show extra underlining when dragged Reviewed by darin. * WebCoreSupport.subproj/WebTextRenderer.m: (drawLineForCharacters...): don't ignore "from" "to" parameters 2003-01-25 Darin Adler Reviewed by Maciej. - fixed 3126211 -- "go back" buttons that use "history.go(-1)" doesn't work (verizonwireless.com is an example) Implemented new bridge functions for use by the history object. * History.subproj/WebBackForwardList.h: Added backListCount and entryAtIndex:. * History.subproj/WebBackForwardList.m: (-[WebBackForwardList backListCount]): Added. (-[WebBackForwardList entryAtIndex:]): Added. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge historyLength]): Added. Calls backListCount. (-[WebBridge goBackOrForward:]): Added. Calls entryAtIndex: and then goBackOrForwardToItem:. 2003-01-25 Chris Blumenberg Fixed: 3153605 - Drag image when dragging text should be the actual text Reviewed by darin. * Misc.subproj/WebNSImageExtras.m: (-[NSImage _web_dissolveToFraction:]): handle non-flipped images * Misc.subproj/WebNSViewExtras.h: moved some constants around * Misc.subproj/WebNSViewExtras.m: * Resources/text_clipping.tiff: Removed. * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _handleMouseDragged:]): cleaned-up, get text drag image from WebCore 2003-01-25 Darin Adler * Plugins.subproj/WebBaseNetscapePluginView.m: Replace some tabs with spaces. 2003-01-24 Richard Williamson Cleaned up some stray comments. Reviewed by kocienda. * Misc.subproj/WebUnicode.m: (getShape): (nextChar): (glyphVariantLogical): (shapedString): 2003-01-24 Trey Matteson Chris pointed out a FIXME that led to a more contained way to make sure the cursor is correct during and after image/text/URL dragging. Reviewed by Chris. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView draggedImage:endedAt:operation:]): No need to reset the cursor at the end of dragging. WC deals with it. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _handleMouseDragged:]): No need to set the cursor to arrow, WC deals with it. 2003-01-24 Darin Adler Reviewed by Dave. - fixed 3142852 -- frame content repeatedly requested * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge incomingReferrer]): Added a way to get the referrer across the bridge, needed for bug fix. 2003-01-24 Ed Voas Reviewed by Darin. Netscape plugins were being improperly positioned. I noticed this when I put the web view into a window with borders around it (Carbon metal window, but I would imagine Cocoa metal would do it too). * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): 2003-01-23 Trey Matteson 3155162 - cursor changes to I-beam after dragging image 3154468 - no mouseup event comes through after text snippet drag During AK dragging the system takes over the event stream and we never get any mouse move or up events. It also changes the cursor behind out back. When done cached state that thinks it knows the current cursor is wrong. The fix is that after the drag we reset the cursor and synthesize a mouseup event, which then sets the cursor based on what we're really over. Reviewed by Darin. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView draggedImage:endedAt:operation:]): After the drag, reset the cursor, fake up a mouseup event. 2003-01-24 John Sullivan Reviewed by Trey * WebView.subproj/WebHTMLView.m: (-[WebHTMLView takeFindStringFromSelection:]): Now uses new _web_setFindPasteboardString:withOwner: to share code. 2003-01-24 John Sullivan Reviewed by Trey * Misc.subproj/WebNSPasteboardExtras.h: * Misc.subproj/WebNSPasteboardExtras.m: (+[NSPasteboard _web_setFindPasteboardString:withOwner:]): New method to put text on the Find pasteboard. 2003-01-23 Maciej Stachowiak Reviewed by Trey. * WebView.subproj/WebController.h: Remove unneeded declaration in sample code. 2003-01-23 Chris Blumenberg Made WebTextView use the same format for context menus as the rest of WebKit. Implemented "Copy" context menu. Reviewed by john. * English.lproj/Localizable.strings: * WebView.subproj/WebControllerPrivate.m: (-[WebController _menuForElement:]): tweak. * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]): added "Copy" context menu. * WebView.subproj/WebImageView.m: (-[WebImageView menuForEvent:]): added asserts * WebView.subproj/WebTextView.m: (-[WebTextView menuForEvent:]): implemented 2003-01-23 Maciej Stachowiak Reviewed by Darin. * WebView.subproj/WebController.m: Add missing static. 2003-01-23 Darin Adler Reviewed by John. * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder fileAttributes]): * Downloads.subproj/WebMacBinaryDecoder.m: (-[WebMacBinaryDecoder fileAttributes]): Use "FinderFlags" instead of "FinderInfo" as appropriate, since these are just the Finder flags, not all the Finder info. * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler createFileIfNecessary]): * Misc.subproj/WebNSWorkspaceExtras.m: (-[NSWorkspace _web_noteFileChangedAtPath:]): * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage openResourceFile]): (-[WebNetscapePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): (-[WebNetscapePluginPackage load]): Use fileSystemRepresentation instead of fileSystemRepresentationWithPath: because it's simpler and there's no good reason to use the other one. * WebView.subproj/WebUserAgentSpoofTable.gperf: Improved one of the motivating comments. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. === Safari-54 === 2003-01-22 Chris Blumenberg Fixed problem where we weren't stopping the Java plug-in. This problem was introduced on Jan. 1 when the ownership of the WebPluginController was moved from WebFrame to WebDataSource. This change moves the WebPluginController to the WebHTMLView. Why this change? - The state of the plug-ins (currently only the Java plug-in) completely relies on the state of the WebHTMLView, not on the state of the WebDataSource. - WebHTMLView and WebDataSource are usually coupled via WebView and WebFrame, but not always. In a transitional state, the WebHTMLView may not be up to date with the WebDataSource. - WebPluginController controls an array of views. It makes more sense for this object to be owned by a view (WebHTMLView) not a model. Reviewed by darin. * Plugins.subproj/WebPluginController.h: * Plugins.subproj/WebPluginController.m: (-[WebPluginController initWithHTMLView:]): renamed, take the HTML view (-[WebPluginController addPlugin:]): use the HTML view (-[WebPluginController HTMLViewWillBeDeallocated]): renamed (-[WebPluginController showURL:inFrame:]): use the HTML view (-[WebPluginController showStatus:]): use the HTML view * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): get the plug-in controller from the HTML view * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): removed calls to plug-in controller * WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]): create plug-in controller (-[WebHTMLView viewWillMoveToWindow:]): get plug-in controller from self, data source won't be accessible here since we don't have a superview (-[WebHTMLView viewDidMoveToWindow]): get plug-in controller from self (-[WebHTMLView addSubview:]): get plug-in controller from self * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLViewPrivate dealloc]): release plug-in controller (-[WebHTMLView _pluginController]): added 2003-01-22 John Sullivan - fixed 3152427 -- Need unique IDs for bookmarks, for synching's sake Bookmarks now have a UUID string so that each can maintain its identity even in the face of multi-machine synching. One known loose end is written up in 3153832 (unique IDs in bookmarks aren't preserved correctly after copy/paste). This should be good enough now for the iSynch folks to start implementing the bookmarks-synching conduit. I also did some cleanup in this area to share more code and handle init methods more cleanly, inspired by earlier feedback from Trey and Darin. Reviewed by Trey and Darin * Bookmarks.subproj/WebBookmark.h: new _UUID ivar, UUID declaration * Bookmarks.subproj/WebBookmarkPrivate.h: new _setUUID and _hasUUID declarations * Bookmarks.subproj/WebBookmark.m: (-[WebBookmark dealloc]): assert that group is nil here; release _UUID (-[WebBookmark copyWithZone:]): implement the code shared by each subclass; formerly had no implementation. (-[WebBookmark _setUUID:]): private method to set the UUID (-[WebBookmark UUID]): public method to get the UUID; this lazily creates the UUID. (-[WebBookmark _hasUUID]): private method to check whether there's a UUID without creating one by side effect (as calling -[WebBookmark UUID] would) (-[WebBookmark initFromDictionaryRepresentation:withGroup:]): implement the code shared by each subclass; formerly had no implementation. (-[WebBookmark dictionaryRepresentation]): implement the code shared by each subclass; formerly had no implementation. * Bookmarks.subproj/WebBookmarkGroup.h: new _bookmarksByUUID ivar * Bookmarks.subproj/WebBookmarkGroupPrivate.h: declarations for new methods _addBookmark: and _removeBookmark: * Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup init]): new method, just complains that you should have called initWithFile: instead. (-[WebBookmarkGroup initWithFile:]): create _bookmarksByUUID (-[WebBookmarkGroup dealloc]): release _bookmarksByUUID (-[WebBookmarkGroup _addBookmark:]): new method, if bookmark has UUID, adds it to table, and recursively processes children the same way (-[WebBookmarkGroup _removeBookmark:]): new method, if bookmark has UUID, removes it from table, and recursively processes children the same way (-[WebBookmarkGroup _setTopBookmark:]): replace [bookmark setGroup:group] with [group _addBookmark:bookmark] so it runs through the UUID code (-[WebBookmarkGroup _bookmarkChildren:wereRemovedFromParent:]): retitled this from "wereRemovedToParent" * Bookmarks.subproj/WebBookmarkLeaf.m: (-[WebBookmarkLeaf init]): now calls initWithURLString:title:group with nil parameters so that there's a designated initializer (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]): rewritten to do only the subclasses' part now (-[WebBookmarkLeaf dictionaryRepresentation]): rewritten to do only the subclasses' part now (-[WebBookmarkLeaf copyWithZone:]): rewritten to do only the subclasses' part now * Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList init]): now calls initWithTitle:group with nil parameters so that there's a designated initializer (-[WebBookmarkList initWithTitle:group:]): replace [bookmark setGroup:group] with [group _addBookmark:bookmark] so it runs through the UUID code (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]): rewritten to do only the subclasses' part now (-[WebBookmarkList dictionaryRepresentation]): rewritten to do only the subclasses' part now (-[WebBookmarkList copyWithZone:]): rewritten to do only the subclasses' part now (-[WebBookmarkList _setGroup:]): removed this override, which used to do the recursion to set the group of children; this recursion is now done by -[WebBookmarkGroup _addBookmark:] and _removeBookmark: (-[WebBookmarkList removeChild:]): wereRemovedToParent -> wereRemovedFromParent (-[WebBookmarkList insertChild:atIndex:]): replace [bookmark setGroup:group] with [group _addBookmark:bookmark] so it runs through the UUID code * Bookmarks.subproj/WebBookmarkProxy.m: (-[WebBookmarkProxy init]): now calls initWithTitle:group with nil parameters so that there's a designated initializer (-[WebBookmarkProxy initWithTitle:group:]): replace [bookmark setGroup:group] with [group _addBookmark:bookmark] so it runs through the UUID code (-[WebBookmarkProxy initFromDictionaryRepresentation:withGroup:]): rewritten to do only the subclasses' part now (-[WebBookmarkProxy dictionaryRepresentation]): rewritten to do only the subclasses' part now (-[WebBookmarkProxy copyWithZone:]): rewritten to do only the subclasses' part now 2003-01-22 Darin Adler Reviewed by Maciej. - fixed 3153673 -- spoof as MacIE to get into http://www.mazdausa.com - fixed 3153678 -- spoof as MacIE for http://wap.sonyericsson.com/ * WebView.subproj/WebUserAgentSpoofTable.gperf: Add the two new entries. Also reorganize existing entries a bit. 2003-01-22 Chris Blumenberg Removed comment that I added by mistake. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView draggingSourceOperationMaskForLocal:]): 2003-01-22 Chris Blumenberg Fixed: 3153651 - text dragging does not work to Terminal Reviewed by trey. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Terminal only accepts the drag if one of the operations is generic. Made the operation both generic and copy. 2003-01-21 Chris Blumenberg Added support for text dragging. Reviewed by dave. * Resources/text_clipping.tiff: Added. Temp drag image until we can create an image of the selected text. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge mayStartDragWithMouseDraggedEvent:]): renamed, we now ask if OK to drag during the drag * WebKit.exp: renamed element key for selected text * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebController.h: renamed element key for selected text * WebView.subproj/WebController.m: renamed element key for selected text * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _handleMouseDragged:]): added support for text dragging (-[WebHTMLView _mayStartDragWithMouseDragged:]): renamed, we now ask if OK to drag during the drag 2003-01-20 Maciej Stachowiak Reviewed by Trey. - fixed 3132120 - onchange handler not firing on mac.com webmail * WebView.subproj/WebHTMLViewPrivate.m: (-[WebNSTextView resignFirstResponder]): If we really resign first responder, and our delegate responds to filedWillBecomeFirstResponder, then call that method. (-[WebNSTextView becomeFirstResponder]): If we really become first responder, and our delegate responds to filedWillBecomeFirstResponder, then call that method. 2003-01-20 Trey Matteson Nit fix to remove a dead "cursor" ivar found while grepping. Reviewed by Richard. * WebView.subproj/WebDynamicScrollBarsView.h: * WebView.subproj/WebDynamicScrollBarsView.m: 2003-01-18 Maciej Stachowiak Reviewed by John. - fixed 3123041 - VIP: Spewage at bottom of oregonlive.com and other similar pages * WebView.subproj/WebUserAgentSpoofTable.gperf: Added nj.com to spoof list below oregonlive.com (which was already in there). Added comment explaining the need to spoof a bit more. * WebView.subproj/WebUserAgentSpoofTable.c: (hash): (_web_findSpoofTableEntry): Regenerated. 2003-01-17 Chris Blumenberg Fixed: 3143656 - crash in MIMETypeForFile when a large QT movie is dragged over window Reviewed by darin. * WebView.subproj/WebControllerPrivate.m: (+[WebController _MIMETypeForFile:]): rewrote, now calls _web_guessedMIMEType 2003-01-17 Darin Adler - compressed all our non-compressed TIFF files * Resources/nullplugin.tiff: * Resources/url_icon.tiff: 2003-01-16 Darin Adler * WebView.subproj/WebController.h: Fixed a comment that was out of date. 2003-01-16 Chris Blumenberg Fixed comment. * Plugins.subproj/WebBaseNetscapePluginView.m: 2003-01-16 Chris Blumenberg Fixed: 3125743 - right-click doesn't count as ctrl-click in Flash AppKit doesn't call mouseDown or mouseUp on right-click. Simulate control-click mouseDown and mouseUp so plug-ins get the right-click event as they do in Carbon Reviewed by darin. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView rightMouseDown:]): (-[WebBaseNetscapePluginView rightMouseUp:]): 2003-01-16 Darin Adler Reviewed by John. - added an API for dumping the external representation of the render tree for testing * Misc.subproj/WebCoreStatistics.h: Added renderTreeAsExternalRepresentation. * Misc.subproj/WebCoreStatistics.m: (-[WebFrame renderTreeAsExternalRepresentation]): Added. - removed remnants of an earlier more-naive cut at this same sort of thing * Misc.subproj/WebTestController.h: Removed. * Misc.subproj/WebTestController.m: Removed. * WebKit.exp: Removed WebTestController. * WebKit.pbproj/project.pbxproj: Removed WebTestController. - other changes * WebCoreSupport.subproj/WebBridge.m: Had added new copyright date to touch a file. That's not needed any more, but the date should be updated anyway. === Safari-52 === 2003-01-15 Maciej Stachowiak Reviewed by Darin. - fixed 3143418 - controller assert in WebStandardPanels _didStartLoadingURL - fixed 3141212 - crash in kjs garbage collection (contextimp mark) * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge startLoadingResource:withURL:]): If the data source doesn't have a controller, then block the load. 2003-01-15 Darin Adler Reviewed by Ken. - fixed problem where Content-Type was going into WebCore with suffixes like "charset" * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady:]): Pass in contentType from the response, rather than the "Content-Type" header. Also pass in the refresh header separately. * English.lproj/StringsNotToBeLocalized.txt: Updated for above change. 2003-01-13 Maciej Stachowiak Reviewed by Darin, Dave and Trey, and given the seal of approval by Don. Use new safer file removal call that does not handle directories. * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler cleanUpAfterFailure]): Use _web_removeFileOnlyAtPath: * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream dealloc]): Use _web_removeFileOnlyAtPath: (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Use _web_removeFileOnlyAtPath: 2003-01-14 Darin Adler Reviewed by Dave. * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Fixed uninitialized variable warning so builds work again. * WebView.subproj/WebDataSourcePrivate.m: (+[WebDataSource _repTypes]): Added "application/xml". * WebView.subproj/WebViewPrivate.m: (+[WebView _viewTypes]): Added "application/xml". * English.lproj/Localizable.strings: Regenerated. * English.lproj/StringsNotToBeLocalized.txt: Updated for above change. 2003-01-13 Darin Adler Reviewed by Trey, John, and Maciej, and given the seal of approval by Don. - fixed 3143317 -- plug-in supplied URLs cause correspondingly named files in /tmp to be deleted - fixed 3143330 -- plug-in supplied URLs can overwrite files used in other windows by same plug-in * Plugins.subproj/WebBaseNetscapePluginStream.h: Make path be a char * rather than an NSString. * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream dealloc]): Use unlink() to delete the temporary file we made. Since we created the file, we know it doesn't have any fancy stuff like a resource fork. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Create the file with mkstemp instead of trying to come up with our own filename. This eliminates the need to delete an old file (because we are guaranteed the file is new) and also mkstemp opens the file for us, so we just need to write the contents. * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes. - unrelated change to help with other bug analysis * WebView.subproj/WebBaseResourceHandleDelegate.m: Added assertions. 2003-01-12 Chris Blumenberg Fix for checking and creating proper download filenames. Reviewed by mjs, kocienda, trey. * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebControllerPolicyDelegate.h: changes for renamed savePathForResponse:andRequest: method * WebView.subproj/WebDefaultPolicyDelegate.m: changes for renamed savePathForResponse:andRequest: method (-[WebDefaultPolicyDelegate savePathForResponse:andRequest:]): renamed * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): changes for renamed savePathForResponse:andRequest: method 2003-01-12 Darin Adler Reviewed by John. - fixed 3144882 -- pretend to be WinIE for abcnews.com * WebView.subproj/WebControllerPrivate.h: Add an enum, UserAgentStringType, with values Safari, MacIE, and WinIE. Also add NumUserAgentStringTypes and turn the userAgent and userAgentWhenPretendingToBeMacIE strings into an array indexed by type. * WebView.subproj/WebController.m: (-[WebController setApplicationNameForUserAgent:]): Use a loop to discard the user agent strings, since we have an array now. (-[WebController userAgentForURL:]): Change user agent algorithm to check two strings rather than once against the spoof table, allowing two dots in the "domain name", which is needed for "abcnews.go.com". Get a user agent string type from the table rather than just a boolean "pretend to be MacIE". Store a string per type rather than one for normalcy and one for MacIE. Add a case for WinIE to the user agent computations. * English.lproj/StringsNotToBeLocalized.txt: Update for change above. * WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate dealloc]): Use a loop to discard the user agent strings, since we have an array now. (-[WebController _defaultsDidChange]): Ditto. * WebView.subproj/WebUserAgentSpoofTable.gperf: Add a UserAgentStringType field to the struct. Add MacIE to each existing table entry, and add a new one that says WinIE for abcnews.go.com. * Makefile.am: Pass "-F ,0" to gperf so that we don't get warnings compiling empty entries in the hash table. * WebView.subproj/WebUserAgentSpoofTable.c: Re-generated. - other changes * WebView.subproj/WebHTMLView.m: Removed some old, dead, #if 0'd code. 2003-01-11 Darin Adler Reviewed by John. - fixed 3144479 -- put TITLE from links in status bar * WebKit.exp: Add _WebElementLinkTitleKey and also sort this file. * WebCoreSupport.subproj/WebImageRenderer.m: Need to touch a file to get the above to have any effect, so update the copyright date here. 2003-01-09 Darin Adler * WebKit.pbproj/project.pbxproj: Add the year 2003, remove CFBundleIconFile, bump marketing version to 0.8.1 and version to 52u to keep up with the branch, remove CFHumanReadableCopyright, remove NSPrincipalClass. * English.lproj/InfoPlist.strings: Updated to match above changes. 2003-01-09 Darin Adler Reviewed by Maciej. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 2003-01-09 Richard Williamson Fixed 3143361. This was a regression introduced with some image rendering optimizations. Don't bypass the tiling code path if the image needs to be rendered out-of-phase. Reviewed by hyatt. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer tileInRect:fromPoint:]): 2003-01-09 Darin Adler Reviewed by Chris. - second pass on 3143332 - we still need a test case to be sure this is right * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Check for "/". Also report the failure instead of just hanging on forever. 2003-01-09 Darin Adler Reviewed by Richard. - fixed 3143332 -- if path returned is empty string (or "." or "..") it will trash the /tmp symlink * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Check for empty string, ".", and "..", and don't create files by those names. 2003-01-09 Trey Matteson 3143294 - need short-term bulletproofing of download code against bad filenames We protect against a download location that is not an absolute path. Reviewed by Darin * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): Bail on download if we don't have a abs path to write to. 2003-01-08 Trey Matteson 3142201 - home directory nuked during power download session We add checks for various error cases that could combine to cause this problem. While we never got a reproducible case, we are confident that this is the only file removal done in the download code, and its ability to wreak havoc has been clipped. Reviewed by Richard. * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler cleanUpAfterFailure]): Only nuke the partial download if in fact we created a new download file. Never nuke a directory. (-[WebDownloadHandler createFileIfNecessary]): Don't add "." to the foo-1 filenames we generate if the original filename doesn't have any extension. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): If the policyDelegate gives us a nil filename, just stop the whole load, instead of trying to overwrite the user's home directory. 2003-01-08 Chris Blumenberg Fixed: 3111432 - Support OBJECT tags with type text/plain or text/html Reviewed by dave. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameRequiredForMIMEType:]): added, returns YES for non-plug-in views 2003-01-08 Chris Blumenberg FIXED: 3128098 - flash performance weak!!! Reviewed by darin. * Plugins.subproj/WebBaseNetscapePluginView.m: Don't throttle plug-in when in an active window. 2003-01-03 Richard Williamson Fixed 3139129. Added application/xhtml+xml to list of supported type. Reviewed by gramps. * WebView.subproj/WebDataSourcePrivate.m: (+[WebDataSource _repTypes]): * WebView.subproj/WebViewPrivate.m: (+[WebView _viewTypes]): 2003-01-03 Richard Williamson Support for fixes to 3138743, 3138678. Added isFontFixedPitch used to determine if font is fixed pitch. Makes use of appkit private _isFakeFixedPitch (detects courier and monoca). Updated our fakey test to use the appkit's version. Reviewed by darin. * WebCoreSupport.subproj/WebTextRenderer.m: * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory isFontFixedPitch:]): 2003-01-03 Darin Adler Reviewed by Chris. - fixed leak of WebIconLoader observed using leaks tool * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): Tell the icon loader to stop loading. Add a FIXME asking why we had to do this to fix the leak. (-[WebDataSource _loadIcon]): Add an assertion. 2003-01-03 Richard Williamson Fix to 3131226. Don't force a layout when the document view is set on the page's scrollview. A layout would occur indirectly as a result of reflectScrolledClipView: being called when the document view was set. The khtmlpart/khtmlview/WebHTMLView would be out of sync at this point and a layout would have unintended and incorrect side effects. Reviewed by Darin (and tested by John). * WebView.subproj/WebDynamicScrollBarsView.h: * WebView.subproj/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]): * WebView.subproj/WebViewPrivate.m: (-[WebView _setDocumentView:]): === Alexander-48 === 2003-01-02 Richard Williamson Increase the minimum font size to 9pt. This bounds the lower size of the sizes array used for named sizes. Net effect is to increase xx-small from 8pt to 9pt. xx-small is used by www.microsoft.com. Reviewed by hyatt. * WebView.subproj/WebPreferences.m: (+[WebPreferences load]): 2003-01-02 Darin Adler Reviewed by Don. - at Scott and Don's request, roll out small text anti-aliasing cutoff Turns out this makes small text look worse, not better. We're not going to respect this setting, and in Panther AppKit will almost certainly be changed not to either. * WebCoreSupport.subproj/WebTextRenderer.m: Rolled out yesterday's change using CVS. 2003-01-02 Darin Adler Reviewed by John and Don. - fixed 3137661 -- REGRESSION: autoscroll selection is broken The new logic in WebCore is slightly pickier, and can't abide a mouse-moved event coming in during a drag. Unfortunately, we were sending a fake mouse-moved event during a drag, so lets not do that. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDown:]): Cancel any scheduled fake mouse-moved event. (-[WebHTMLView mouseUp:]): Send a fake mouse-moved event because we didn't update during the drag. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frameOrBoundsChanged]): Don't schedule a fake mouse-moved event if the mouse is down, because that means we are in the middle of a drag. 2003-01-02 Darin Adler Reviewed by John and Ken. - fixed 3135548 -- exception in Internet Explorer bookmark import code at first startup * Bookmarks.subproj/WebBookmarkImporter.m: (_breakStringIntoLines): Break lines before a
or . (_HREFTextFromSpec): Rewrite to simplify, search in a case-insensitive manner. (-[WebBookmarkImporter initWithPath:]): Change prefix checks to be case-insensitive. Don't discard folders altogether if the name can't be parsed as that would mess up nesting w.r.t the next . Make the handling robust so we misparse, but don't crash the whole application by raising an exception. * English.lproj/StringsNotToBeLocalized.txt: Updated for this change and recent changes. 2003-01-01 Richard Williamson Obey the font smoothing size preference (3137618). Reviewed by Don and Darin. * WebCoreSupport.subproj/WebTextRenderer.m: 2002-12-31 Maciej Stachowiak Reviewed by Darin. - fixed 3130831 - HOMEPAGE: JavaScript that tries to intercept onmousedown fails, image gets dragged instead - fixed 3125554 - while dragging to select text in a nested frame, you can start dragging a link or image * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge handleMouseDragged:]): New method; call through the WebHTMLView. (-[WebBridge mayStartDragWithMouseDown:]): Likewise. (-[WebBridge handleAutoscrollForMouseDragged:]): Likewise. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDragged:]): Instead of doing drag handling here, just pass the event to WebCore. (-[WebHTMLView draggedImage:endedAt:operation:]): Send a fake mousemove event instead of sending the current event (likely a mouse up as if it were a mouse move). * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLViewPrivate dealloc]): Release drag element if any. (-[WebHTMLView _dragImageForElement:]): New method. Split out the code to make the special drag image for links. (-[WebHTMLView _handleMouseDragged:]): Move all the drag handling here. This method will get called only if WebCore hasn't blocked default drag handling. (-[WebHTMLView _handleAutoscrollForMouseDragged:]): Do autoscroll. Autoscroll is still lame, we need a timer. (-[WebHTMLView _mayStartDragWithMouseDown:]): Determine if the element is a link or image and so may be dragged; remember the drag element. 2003-01-01 Richard Williamson Correct fix for 3137430 that doesn't always effectively disable the cache. Reviewed by kocienda. * History.subproj/WebHistoryItem.m: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): 2003-01-01 Richard Williamson Don't reset the cookie policy URL if it has already been set. Fixes to 3109590. Reviewed by Maciej. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): 2003-01-01 Richard Williamson Don't attempt to restore page from page cache if the cache doesn't contain valid page state. This may happen after a redirect. Fixes 3137430. Reviewed by kocienda. * History.subproj/WebHistoryItem.m: 2002-12-31 Darin Adler Reviewed by Trey. - fixed 3137287 -- REGRESSION: Java applets don't work when you go back to them (Java 1.4.1 plug-in) By attaching the plug-in controller to the frame, we run into trouble. It really needs to be attached to the data source, which has the right lifetime and is kept around in the page cache. * Plugins.subproj/WebPluginController.h: Keep a reference to a data source, not a frame. Add a new _started variable. Rename addPluginView: to addPlugin:, get rid of didAddPluginView:, replace destroyAllPlugins with dataSourceWillBeDeallocated, add startAllPlugins and stopAllPlugins. * Plugins.subproj/WebPluginController.m: (-[WebPluginController initWithDataSource:]): Store a data source reference, not a frame reference. Don't bother registering for the window will close notification, WebHTMLView handles that fine. (-[WebPluginController startAllPlugins]): Do nothing if they are already started, call pluginStart on each otherwise. (-[WebPluginController stopAllPlugins]): Do nothing if they are not started, call pluginStop on each otherwise. (-[WebPluginController addPlugin:]): Initialize the plugin if it's not already in our list. Also start it if we are in "started" mode. (-[WebPluginController dataSourceWillBeDeallocated]): Stop all the plugins, then destroy them. Also nil out the fields of the object. This is always called before the controller is released so we don't need to override dealloc. (-[WebPluginController showURL:inFrame:]): Added error checking and changed now that we start with a data source. (-[WebPluginController showStatus:]): Ditto. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): Use the data source, not the view. Don't add the plugin here, wait until we are ready to start. * WebView.subproj/WebDataSourcePrivate.h: Store a pointer to the plug-in controller here. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): Tell the plug-in controller to go away. (-[WebDataSource _makeHandleDelegates:deferCallbacks:]): Remove unused empty method. (-[WebDataSource _pluginController]): Create a plug-in controller if needed. * WebView.subproj/WebFramePrivate.h: Remove plug-in controller code. * WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): Remove plug-in controller code. (-[WebFrame _detachFromParent]): Remove plug-in controller code. (-[WebFrame _transitionToCommitted:]): Remove plug-in controller code. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView viewWillMoveToWindow:]): Stop plug-ins when view moves out of a window. This includes the case when the window is being destroyed. (-[WebHTMLView viewDidMoveToWindow]): Start plug-ins when view moves into a window. (-[WebHTMLView addSubview:]): Add plug-ins to the controller as they are added to us. * WebView.subproj/WebController.m: Added now-needed include due to header change. * WebView.subproj/WebDefaultContextMenuDelegate.m: Ditto. === Alexander-47 === 2002-12-30 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 2002-12-30 Trey Matteson 3137110 - REGRESSION: calls from 2nd and subsequent instances of Java 1.4.1 plug-in seem to be ignored We had previously made changes to "numb" a plugin controller after its frame was tossed or changed content. We now finish the job by making sure a new controller is created when we go to a new page with plugins. To so this we release the old controller whenever we flush the plugins from a page. Reviewed by Maciej. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]): Call newly factored code. (-[WebFrame _transitionToCommitted:]): Call newly factored code. (-[WebFrame _destroyPluginController]): New method to tear down plugins. 2002-12-30 Trey Matteson 3135025 - Assertion failure in _transitionToCommitted on espn nba scoreboard For blank pages we decided that there would be no b/f entry. This means that subframes within such pages (created via doc.write()), should not try to make WebHistoryItems, since they have no parent items to attach them to. Reviewed by Darin. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): Don't make a history item for a subframe it the parent frame has no item. 2002-12-30 Trey Matteson 3135779 - REGRESSION: reproducible assertion failure, going back from ~orubin to the main spies.com page 3136218 - REGRESSION: Assertion failure in _restoreScrollPosition running browser buster Both were caused by subtle interactions between new code for short-circuiting loading of blank pages, and the WebHistoryItem manipulations we do for b/f and reload of child frames. Reviewed by Maciej * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadURL:intoChild:]): Setup provisional or current item before jumping into the real work of loading the URL. (-[WebFrame _restoreScrollPosition]): Tweaked to make the assertion message clearer. 2002-12-30 Darin Adler Reviewed by Don and Ken. - fixed 3136797 -- crash when Adobe SVG Viewer plug-in puts up modal dialog * Plugins.subproj/WebBaseNetscapePluginView.h: Add inSetWindow boolean. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendEvent:]): Don't send any events to a plug-in while it's inside NPP_SetWindow. We don't want to implement more general reentrancy protection, because it could cause trouble for plugins that can handle it correctly, but it's unlikely that any legitimate use would require reentrant calls while inside NPP_SetWindow, and that's the case that crashes for the SVG viewer plug-in when it presents its registration dialog. (-[WebBaseNetscapePluginView setWindow]): Set boolean. 2002-12-29 Darin Adler Reviewed by Don. - fixed 3103287 -- body of page not rendered (page uses JavaScript trick to be both a frameset and a frame) Our self-reference checks prevented this page from working. I just removed the WebKit one, since it was really just working around a problem with the WebCore one that I fixed (didn't ignore #xxx suffixes). * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Remove self-reference check. 2002-12-29 Darin Adler Reviewed by Don. - fixed 3136801 -- scrolling a page that contains a QuickTime movie leaves garbage behind * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView tellQuickTimeToChill]): Added. Calls a QuickDraw SPI CallDrawingNotifications to let QuickTime know it should take a nature break. (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Call tellQuickTimeToChill. (-[WebBaseNetscapePluginView viewHasMoved:]): Call tellQuickTimeToChill. 2002-12-29 Darin Adler Reviewed by Don. - follow-on to my fix for 3125877 that fixes a crash I observed when a plug-in fails to NPP_New I filed bug 3136870 about the fact that we don't do a good job reporting the error. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendEvent:]): Return quietly if this is called when the plug-in is not started rather than asserting (and doing bad things on Deployment). (-[WebBaseNetscapePluginView setWindow]): Ditto. (-[WebBaseNetscapePluginView viewHasMoved:]): Just call setWindow since it now checks isStarted. 2002-12-29 Darin Adler Reviewed by Don. - fixed 3120630 -- spacebar scrolls the page as well as pausing the QuickTime movie Imitate Mozilla and OmniWeb by not propagating keyboard events after passing them to plug-ins regardless of what the plug-in returns, rather than imitating MacIE, which looks at the return value from NPP_HandleEvent. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView keyUp:]): Remove call to super, add comment. (-[WebBaseNetscapePluginView keyDown:]): Ditto. 2002-12-29 Darin Adler Reviewed by Ken and Don. - fixed 3136120 -- much content missing at www.olympic.org This site gives modern CSS to "Internet Explorer" or "Netscape 6". Since we are neither of those, we need to pretend to be one or the other. So we add olympic.org to our MacIE spoofing list. * WebView.subproj/WebUserAgentSpoofTable.gperf: Add olympic.org to the list of pages that give us better CSS if we claim to be Internet Explorer. * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated. === Alexander-46 === 2002-12-28 Ken Kocienda Reviewed by Gramps and Richard Fix for this bug: Radar 3112233 (400 response when attaching files at mail.yahoo.com) I added the MIMETypeForPath method which accesses the WebFoundation mime file map we maintain. KHTML can now access this map by using the bridge. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge MIMETypeForPath:]) 2002-12-28 Darin Adler Reviewed by Gramps and Ken Checked in by Ken - fixed 3125877 -- RealPlayer plug-in doesn't work in Safari * Plugins.subproj/WebBaseNetscapePluginView.h: Remove some methods that don't have any need to be public, getCarbonEvent:, sendEvent:, sendUpdateEvent, setUpWindowAndPort. Make setWindow public. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): Added. This replaces the old setUpWindowAndPort. Besides setting up the port and the window, it also sets up the port's origin, clip, visible, and update regions properly, and sets the current port. In the case of an update event, we have extra work to do, which was formerly done in drawRect:. (-[WebBaseNetscapePluginView saveAndSetPortState]): Calls saveAndSetPortStateForUpdate:NO. (-[WebBaseNetscapePluginView restorePortState:]): Undoes the port state changes done by the saveAndSetPortState calls. (-[WebBaseNetscapePluginView sendEvent:]): Call saveAndSetPortStateForUpdate: before sending the event to the plug-in. This is the core of fixing the bug. We need to have the port set up properly. Specifically, RealPlayer depended on the port's origin being set and the update region being set. Also added a "draw green" debugging aid to builds without NDEBUG set. (-[WebBaseNetscapePluginView sendNullEvent]): Update text of a FIXME. (-[WebBaseNetscapePluginView setWindow]): Call the new saveAndSetPortState method instead of the old setUpWindowAndPort method. (-[WebBaseNetscapePluginView drawRect:]): Remove bug workarounds that are now inside the saveAndSetPortStateForUpdate: method. (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Add missing call to super. (-[WebBaseNetscapePluginView windowBecameKey:]): Don't send an update event to the plugin directly. Instead mark this view as needing display so we'll get a drawRect later. (-[WebBaseNetscapePluginView windowResignedKey:]): Ditto. (-[WebBaseNetscapePluginView requestWithURLCString:]): Corrected handling of URLs. Absolute URLs are handled by the relative URL function, so there's no need to do an explicit check. Also use requestWithURL instead of doing a three-method dance that does the same thing. (-[WebBaseNetscapePluginView invalidateRect:]): Use setNeedsDisplayInRect: to schedule redrawing rather than forcing an update right away by doing a sendUpdateEvent directly. (-[WebBaseNetscapePluginView invalidateRegion:]): Ditto. (-[WebBaseNetscapePluginView forceRedraw]): Use setNeedsDisplay: and displayIfNeeded to do the drawing through the view system instead of doing a sendUpdateEvent directly. * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView layout]): Do a setWindow rather than a setUpWindowAndPort when the size of the view changes. This matches what other browsers do and extends the bug fix for the Java plug-in to the resize case as well as the scrolling case. * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]): Remove RealPlayer antibodies. 2002-12-27 Darin Adler Reviewed by Don. - fixed 3136206 -- Can't display images in Ambrosia Software image viewer WebKit wasn't creating the frames correctly when they weren't HTML. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _makeDocumentView]): Added. Calls the WebView to make the document view and then installs the new view, as WebHTMLView used to do. (-[WebFrame _transitionToCommitted:]): Call _makeDocumentView instead of calling WebView directly. These are all the calls to _makeDocumentViewForDataSource:. * WebView.subproj/WebViewPrivate.h: Add return value to _makeDocumentViewForDataSource:. * WebView.subproj/WebViewPrivate.m: (-[WebView _makeDocumentViewForDataSource:]): Return the newly-created view. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView setDataSource:]): Removed the code here since it's done by WebFrame now. 2002-12-25 Darin Adler Reviewed by Don. - fixed 3133611 -- Java "ticker" applet renders badly when scrolling page * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView viewHasMoved:]): Call setWindow so we make a call to the plugin each time it moves, rather than just adjusting the data structure we had passed to it earlier. 2002-12-24 Darin Adler Reviewed by Richard and Don. - fixed 3132192 -- HOMEPAGE: Quicktime plug in with AVI content brings Plug-ins not found panel * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): Lower-case the key before searching for it. This is needed for both MIME types and extensions, since we want case insensitive comparison in both cases. === Alexander-45 === 2002-12-23 Ken Kocienda Reviewed by Darin and Gramps Workaround for this bug: Radar 3134219 (MPEG-4 files don't work with the QuickTime plugin in Safari, work fine in Mozilla, IE) For beta 1, when getting the MIME information for the QuickTime plugin, we directly insert the information to handle MP4. In the future, we will use the additional plugin entry points to dynamically load this information from the plugin itself. * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage getMIMEInformation]) 2002-12-23 Darin Adler Reviewed by John and Don. - fixed 3134282 -- REGRESSION: text encoding setting reverts when you go to a new location * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): Propagate an override encoding if there was an existing data source and it had an override encoding. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadRequest:triggeringAction:loadType:]): Ditto. === Alexander-44 === 2002-12-20 Trey Matteson Do not add empty URLs to the back forward list. Reviewed by Richard, Darin * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): 2002-12-20 Trey Matteson 3133829 - crash leaving page with a running applet This fixes some holes in how we teardown plugins. An additional fix is expected from Mike Hay to finish the issue. (3133981) Reviewed by Richard * Plugins.subproj/WebPluginController.m: (-[WebPluginController destroyAllPlugins]): frame=nil, so we don't do any more messaging back to WK after this step. (-[WebPluginController showURL:inFrame:]): bail if !frame (-[WebPluginController showStatus:]): bail if !frame * WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]): destroy plugins here. We were only doing it in the non-frame case. === Alexander-43 === 2002-12-20 Trey Matteson 3131841 - crash when switching encodings on a page with frames Reviewed by rjw * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): Create a docView in the LoadStale case, like every other kind of load does. 2002-12-20 Richard Williamson Fixed 3133261. This fix really has two parts. This first part is here in WebTextRenderer. The second part adds some width caching to RenderText. I was using a stack allocated array, this would blow out the stack for large strings. Reviewed by john. * WebCoreSupport.subproj/WebTextRenderer.m: 2002-12-20 Trey Matteson We now build with symbols the B&I. Deployment builds are without symbols, so it is easy to generate a non-huge app as a one-off. Reviewed by Darin * WebKit.pbproj/project.pbxproj: === Alexander-42 === 2002-12-19 John Sullivan - WebKit part of fix for 3124949 -- Alexander recreates the default set of bookmarks every time a separate app copy is launched Reviewed by Darin * Bookmarks.subproj/WebBookmarkGroup.h: new _tag ivar and -tag method. * Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup dealloc]): release _tag (-[WebBookmarkGroup tag]): return _tag (-[WebBookmarkGroup _loadBookmarkGroupGuts]): read _tag from the dictionary in the file (or leave it at nil if there's no value in the file). * English.lproj/StringsNotToBeLocalized.txt: kept this file up to date 2002-12-19 Darin Adler Reviewed by John. - corrected the name of a method that was leading to trouble elsewhere * WebView.subproj/WebDataSource.h: Change fileType to fileExtension for clarity. * WebView.subproj/WebDataSource.m: (-[WebDataSource fileExtension]): Ditto. === Alexander-41 === 2002-12-19 Darin Adler Reviewed by John. - probably fixed 3129395 -- Reproducible crash when running a javascript at www.scenespot.org * WebCoreSupport.subproj/WebViewFactory.m: (-[WebViewFactory runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]): Close the window. Before we relied on it being released which was bad. But it's not clear this actually was the cause of the bug. 2002-12-19 Darin Adler Reviewed by Chris. - fixed 31323455 -- REGRESSION: Crash in plugin code closing popup window on lordoftherings.net * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendEvent:]): Added an assert. (-[WebBaseNetscapePluginView setWindow]): Added an assert. (-[WebBaseNetscapePluginView stop]): Cancel perform requests, now that we are using them for URL navigation. (-[WebBaseNetscapePluginView frameStateChanged:]): Only notify if the plugin is still running. (-[WebBaseNetscapePluginView loadPluginRequest:]): Added. Does the actual load at idle time. Also fixed to only notify if plugin is loaded. Added a number of FIXMEs for other problems here. Also send JavaScript to the appropriate frame, not always the top level. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use loadPluginRequest: to do the request after a delay. Also remove the special cases for special frame names; they were trying to avoid calling a plugin that has gone away, but we do that a better way now. (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): Added logging. (-[WebBaseNetscapePluginView status:]): Use Windows Latin-1 rather than MacRoman for messages. I guess we should test later to find out which is used by MacIE and conform to that, but for now this seems like a better default. (-[WebPluginRequest initWithRequest:frame:notifyData:]): Added. (-[WebPluginRequest dealloc]): Added. (-[WebPluginRequest request]): Added. (-[WebPluginRequest webFrame]): Added. (-[WebPluginRequest notifyData]): Added. 2002-12-18 Darin Adler Reviewed by Chris. - fixed fix for 3132056 -- Supply Finder bits for decoded BinHex files * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder decodeHeader]): Mask off fewer Finder flag bits. Use the same mask as for MacBinary, in fact. 2002-12-18 Darin Adler Reviewed by Richard. - fixed 3127490 -- pages w/frames sometimes show up blank * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): Updated the optimization where we draw the entire view if we did a layout so that it works properly for the case where the clip is narrower because of the parent WebHTMLView. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. === Alexander-40 === 2002-12-18 Trey Matteson 3098388 - Pressing the back button goes back two levels at allmusic.com I rewrote the logic we use to decide whether a given redirect should be treated as part of the previous navigation. We make use of WebCore's lockHistory setting, the delay time and the frame state. Reviewed by Darin. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:]): Pass lockHistory up to the frame. * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]): New logic. No quick summary, best to read the code. 2002-12-18 Chris Blumenberg Reject the RealPlayer plug-in because we know it doesn't work. Reviewed by sullivan. * English.lproj/StringsNotToBeLocalized.txt: * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]): reject the RealPlayer plug-in 2002-12-18 Maciej Stachowiak Reviewed by John. - fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements * English.lproj/InfoPlist.strings: 2002-12-18 Richard Williamson Fixed 3129951. Don't allow pages that are stopping to enter the page cache. (Fixed yesterday, forgot to checkin.) Reviewed by trey. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): 2002-12-18 Maciej Stachowiak Reviewed by Darin and Trey. - fixed 3124933 - abcnews.com leads to empty window with sheet complaining about javascript: URL - fixed 3091248 - picture does not show up in window from epinions - made "about:blank" load synchronously, which I'm told is required by some sites. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): If the URL is nil or empty, pass a nil request - otherwise WebBrowser will try to load it, resulting in an extra back/forward list entry. (-[WebBridge loadEmptyDocumentSynchronously]): Tell the frame to load a request with an empty URL - this will cause a synchronous load of an empty html document * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate loadWithRequest:]): Split off startLoading: part of method to allow behavior to be subclassed. (-[WebBaseResourceHandleDelegate startLoading:]): * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady:]): Lie and claim the URL is "about:blank" if it's really empty to avoid confusing WebCore. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): Don't put the empty URL in global history. (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]): Don't check policy if URL is empty - this is likely to confuse the client and we know what the right behavior here is. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient startLoading:]): Try to load "about:blank" and the empty URL synchronously, bypassing WebFoundation. (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto. (-[WebMainResourceClient setDefersCallbacks:]): Ditto. * English.lproj/StringsNotToBeLocalized.txt: Updated. 2002-12-18 Chris Blumenberg Fixed: 2862385 - need to pass browser's user agent and version to plug-ins Added some more error checking to the plug-in code Reviewed by trey. * Plugins.subproj/WebBaseNetscapePluginView.h: * Plugins.subproj/WebBaseNetscapePluginView.m: (+[WebBaseNetscapePluginView setCurrentPluginView:]): new, sets a global variable for the current plug-in (+[WebBaseNetscapePluginView currentPluginView]): new, returns the current plug-in (-[WebBaseNetscapePluginView start]): check if NPP_New fails, return NO if it does, set the current plug-in view. Currently, this is the only place we need to do this. (-[WebBaseNetscapePluginView userAgent]): made instance-specific because it depends on the plug-in view's WebController * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h: * Plugins.subproj/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]): don't start the stream is start fails * Plugins.subproj/npapi.m: (NPN_MemAlloc): tweak (NPN_RequestRead): tweak (pluginViewForInstance): returns the instance's plug-in view if it has one, if not, return the current plug-in view (NPN_GetURLNotify): get the instance from pluginViewForInstance (NPN_GetURL): (NPN_PostURLNotify): (NPN_PostURL): (NPN_NewStream): (NPN_Write): (NPN_DestroyStream): (NPN_UserAgent): (NPN_Status): (NPN_InvalidateRect): (NPN_InvalidateRegion): (NPN_ForceRedraw): (NPN_GetValue): (NPN_SetValue): (NPN_GetJavaEnv): (NPN_GetJavaPeer): 2002-12-18 Richard Williamson Fixed 3109590. We now set the cookie policy URL to a frame's URL if the contents of the frame changes as a result of user action. The site mentioned is this bug branded a service by wrapping it in their own frameset. That frameset had a different domain than the service, so our cookie policy prevented cookies from being set. Reviewed by trey. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:fromItem:withLoadType:]): (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]): 2002-12-18 Chris Blumenberg Fixed: 3131714 - System becomes unresponsive while downloading While downloading a file, Safari and the Finder take up 30%-40% of the CPU each. This is happening because for every chunk of data we write to disk, we call -[NSWorkspace noteFileSystemChanged:]. noteFileSystemChanged is inefficient. It calls 2 AppleEven ts each with 60 timeouts. The event also cause the Finder to do a lot of work. We should: - Send 1 AppleEvent ourselves with no timeout since we don't care about the reply - Call the notification/event less often. The only benefit of sending the event for every chunk written is that the file size updates in the Finder. Not worth the performance impact. Reviewed by kocienda. * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler cleanUpAfterFailure]): call _web_noteFileChangedAtPath (-[WebDownloadHandler createFileIfNecessary]): call _web_noteFileChangedAtPath (-[WebDownloadHandler writeDataForkData:resourceForkData:]): don't call noteFileSystemChanged (-[WebDownloadHandler finishedLoading]): call _web_noteFileChangedAtPath * Misc.subproj/WebNSWorkspaceExtras.h: Added. * Misc.subproj/WebNSWorkspaceExtras.m: Added. (-[NSWorkspace _web_noteFileChangedAtPath:]): Notifies the Finder (or any other app that cares) that we added, removed or changed the attributes of a file. This method is better than calling noteFileSystemChanged: because noteFileSystemChanged: se nds 2 apple events both with a 60 second timeout. This method returns immediately. * WebKit.pbproj/project.pbxproj: 2002-12-18 Darin Adler Reviewed by Maciej. - fixed 3098293 -- Shockwave plug-in doesn't work The problem is that the Shockwave plug-in depends on being able to do LMGetCurApRefNum and then do a PBGetFCBInfoSync on the result, and if it gets an error it will refuse to initialize. * Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage initialize]): Supply a bogus CurApRefNum. Do it only if CurApRefNum is -1, so we don't screw things up if we are used in a Carbon application. 2002-12-17 Darin Adler Reviewed by Trey. * WebKit.pbproj/project.pbxproj: Remove signature. * WebView.subproj/WebController.m: Turn off inlining so we can build even on the compiler that warns about static data in inline functions. 2002-12-17 John Sullivan - fixed 2895826 -- ICON: Need a "no plug-in" icon * Resources/nullplugin.tiff: new plug-in icon. Blue 3-D lego with question marks. 2002-12-17 Richard Williamson Added support for Aki's 20% boost to line height. This is done with a horrible hack and should be removed when 3129490 is fixed. Reviewed by hyatt. * WebCoreSupport.subproj/WebTextRenderer.m: === Alexander-39 === === Alexander-38 === 2002-12-17 Richard Williamson Fixed 3127932. Added WebFrameLoadTypeReloadAllowingStaleData to cases that do not get cached in the b/f cache. Reviewed by trey. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): 2002-12-17 Richard Williamson Fixed 3128794. Use CG directy to get font metrics rather than the appkit. The appkit has a bug (3129490) that sometimes causes line height to be 20% too large. Reviewed by hyatt. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:]): (-[WebTextRenderer ascent]): (-[WebTextRenderer descent]): (-[WebTextRenderer lineSpacing]): 2002-12-17 Trey Matteson Reworking the code to update the page icon led me to roll the WebIconDB API for URL to NSString. In addition, the vestigial "Site" was removed. Everything below is renaming, except where noted. Reviewed by Darin * English.lproj/StringsNotToBeLocalized.txt: * History.subproj/WebHistoryItem.m: (-[WebHistoryItem _retainIconInDatabase:]): (-[WebHistoryItem icon]): * Misc.subproj/WebIconDatabase.h: * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase init]): (-[WebIconDatabase iconForURL:withSize:cache:]): Use _web_isFileURL. (-[WebIconDatabase iconForURL:withSize:]): (-[WebIconDatabase retainIconForURL:]): (-[WebIconDatabase releaseIconForURL:]): (-[WebIconDatabase _iconDictionariesAreGood]): (-[WebIconDatabase _loadIconDictionaries]): (-[WebIconDatabase _updateFileDatabase]): (-[WebIconDatabase _iconForFileURL:withSize:]): Cons up a NSURL to get the path. Test explicitly for .htm and .html suffixes. (-[WebIconDatabase _setIcon:forIconURL:]): (-[WebIconDatabase _setIconURL:forURL:]): (-[WebIconDatabase _releaseIconForIconURLString:]): (-[WebIconDatabase _retainFutureIconForURL:]): (-[WebIconDatabase _releaseFutureIconForURL:]): (-[WebIconDatabase _sendNotificationForURL:]): * Misc.subproj/WebIconDatabasePrivate.h: * Misc.subproj/WebIconLoader.m: (-[WebIconLoader handleDidFinishLoading:]): * WebKit.exp: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _updateIconDatabaseWithURL:]): (-[WebDataSource _loadIcon]): 2002-12-17 Chris Blumenberg Fixed: 3113073 - link on http://studio.adobe.com/explore/ redirects to not found page in Alex Reviewed by darin. * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_bestURL]): don't trim whitespace because _web_URLWithString does this for us * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView pluginURLFromCString:]): tweak 2002-12-17 John Sullivan - to help with performance of various bookmark operations, added a call that returns the internal array of children, to complement the safer call that returns a copy. Reviewed by Darin * Bookmarks.subproj/WebBookmark.h: commented -children and new -rawChildren * Bookmarks.subproj/WebBookmark.m: (-[WebBookmark rawChildren]): new method, returns nil at this level. (-[WebBookmark contentMatches:]): use -rawChildren instead of -children * Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList rawChildren]): new method, returns internal array without copying 2002-12-16 Darin Adler Reviewed by Don and Maciej. * WebView.subproj/WebUserAgentSpoofTable.gperf: Added a couple of new domains to the list we spoof as Mac IE, and added comments. * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated. * WebKit.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2 2002-12-16 Chris Blumenberg Fixed: 3129503 - Crash cancelling download after closing browser window that started download Reviewed by rjw. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setLoading:]): Added comment about our tragic dependence on a non-retained reference to the controller. (-[WebDataSource _recursiveStopLoading]): Call webFrame before calling _stopLoading because we release the controller in _stopLoading and we depend on it in webFrame. === Alexander-37 === 2002-12-16 Maciej Stachowiak Reviewed by no one but it's just a version bump. * WebKit.pbproj/project.pbxproj: Bump version to 37u3 2002-12-16 Darin Adler Reviewed by Maciej. - fixed 3128858 -- Supply Finder bits for decoded BinHex files * Downloads.subproj/WebBinHexDecoder.h: Add a _finderFlags field. * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder decodeHeader]): Decode Finder flags. (-[WebBinHexDecoder fileAttributes]): Put Finder flags in dictionary. * Downloads.subproj/WebMacBinaryDecoder.m: Tweaked things for no good reason. (It is good to always import your own header first as a check that it's self-sufficient). * WebKit.pbproj/project.pbxproj: Let Electron wipe the slate clean of pre-Electron iniquity. 2002-12-15 Chris Blumenberg Fixed: 3094928 - Apply Finder bits to decoded downloads Reviewed by darin. * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler createFileIfNecessary]): call _web_createFileAtPath:contents:attributes: so we set Finder bits * Downloads.subproj/WebMacBinaryDecoder.h: * Downloads.subproj/WebMacBinaryDecoder.m: (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]): save Finder bits (-[WebMacBinaryDecoder fileAttributes]): return Finder bits === WebKit-37u2 === 2002-12-15 Maciej Stachowiak Reviewed by Darin. - fixed likely B&I build problem. * WebKit.pbproj/project.pbxproj: Get at other frameworks in B&I build. Bump version to 37u2. 2002-12-15 Darin Adler Reviewed by Dave. - implemented user-agent spoofing as described in bug 3044569 * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]): Find the suffix of the host name that contains exactly one dot, lower-case it, and look it up in the user-agent spoof table. For now, anything in the table pretends to be MacIE. Don't fret that this table is simple. We will complicate it as needed. The technique is flexible, even though it may not look it now. * WebView.subproj/WebControllerPrivate.h: Add userAgentWhenPretendingToBeMacIE field. * WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate dealloc]): Release userAgentWhenPretendingToBeMacIE. (-[WebController _defaultsDidChange]): Release and nil userAgentWhenPretendingToBeMacIE. * Makefile.am: Added rules to build WebUserAgentSpoofTable.c using gperf. * WebView.subproj/WebUserAgentSpoofTable.c: Added. Generated file. * WebView.subproj/WebUserAgentSpoofTable.gperf: Added. Table * English.lproj/StringsNotToBeLocalized.txt: Update for above changes. - fixed a crash I saw in a simplistic way * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]): Don't assert if the webFrame is nil, just return a partial dictionary. 2002-12-15 Darin Adler Reviewed by Trey. - fixed 3128260 -- REGRESSION: context menus in frames are always the generic page menu * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]): Check the control key in the mouse down event. If it's down, then do no magic. 2002-12-15 Darin Adler Reviewed by Dave. - fixed 3128651 -- REGRESSION: Mouse wheeling is busted on frames pages * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]): Only do the hitTest magic for left mouse downs; the rest of the clicks end up going to the correct view anyway, without our help. This makes this stop making trouble for the scroll wheel events. 2002-12-14 Don Melton Fixed 3127173 -- REGRESSION: fboweb.com renders incorrectly Reviewed by darin * English.lproj/StringsNotToBeLocalized.txt: * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]): Changed "PPC" in our user agent string to "PPC Mac OS X" in order to match Mozilla and make the silly server-side user agent string checking work at fboweb.com. Actually, just "PPC " would work fine at fboweb.com. Go figure. 2002-12-13 Darin Adler Reviewed by Don. * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]): Add "(like Gecko)" string and change "WebKit" to "AppleWebKit". * English.lproj/StringsNotToBeLocalized.txt: Update for these changes. * Misc.subproj/WebUnicode.h: No need for & 0xFF since we cast to unsigned char. 2002-12-13 John Sullivan - WebKit part of fix for 3028061 -- visiting a bookmarked site that now has a site icon will not update bookmark's icon No longer store the icon in the WebHistoryItem, since there's no mechanism for keeping it fresh and telling interested clients when it changes. Instead, the latest icon is always returned from the icon database, and it's up to clients to get a fresh one when they notice that the icon for a URL has been updated. Reviewed by Darin * History.subproj/WebHistoryItem.h: remove _icon and _loadedIcon ivars * History.subproj/WebHistoryItem.m: (-[WebHistoryItem dealloc]): don't release _icon (-[WebHistoryItem icon]): just return fresh icon from database, don't store (-[WebHistoryItem setURL:]): don't set _loadedIcon to NO === Alexander-37u1 === 2002-12-13 Darin Adler Reviewed by Maciej. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 2002-12-13 Trey Matteson 3108976 - assert _private provisionalItem in -[WebFrame(WebPrivate) _transitionToCommitted 3108865 - frames not maintained going back at directory.apple.com Both bugs are fixed by the same small change. We no longer try to inherit loadType across redirects. Instead we just make sure the right thing happens in _transitionToCommitted: for redirects in the loadType=Standard case. 3122721 - History stores both original and redirected sites Easy fix while in the neighborhood. We just don't add to History when doing a redirect. Reviewed by rjw * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): On redirect, update the URL of the frame's current item, not the current item in the b/f list. Also do not add to history on redirect. (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Cut out funny business that tried to guess when to inherit loadtype across redirects. 2002-12-13 Richard Williamson Fixed 3127225. Scale page cache based on available memory. Also added support for setting WebCore object cache size via a preference. Fixed 3126267. Increase CG glyph cache size if font smoothing is turned on. Reviewed by gramps. * History.subproj/WebBackForwardList.m: (+[WebBackForwardList pageCacheSize]): * Misc.subproj/WebKitLogging.h: * Misc.subproj/WebKitLogging.m: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge getObjectCacheSize]): * WebCoreSupport.subproj/WebTextRendererFactory.m: (getAppDefaultValue): (getUserDefaultValue): (getLCDScaleParameters): * WebView.subproj/WebPreferences.m: (+[WebPreferences load]): (-[WebPreferences _pageCacheSize]): (-[WebPreferences _objectCacheSize]): * WebView.subproj/WebPreferencesPrivate.h: 2002-12-13 Chris Blumenberg Fixed: 3105486 - c|net news.com site seems to have lost its favicon again Reviewed by darin. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _updateFileDatabase]): Only save icons with a size of 16 x 16 since that's the only size we use. 2002-12-13 Chris Blumenberg Catch NULL status strings passed to NPN_Status. Reviewed by darin. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView status:]): check the incoming string before calling [NSString stringWithCString] 2002-12-12 Trey Matteson 3117101 - PLT slows down as history fills up I saw a 3% sloth effect from a huge (100k) history. This change cut that cost in half. I think we still have a marginally measurable cost for our worst practical case. Reviewed by rjw * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate insertEntry:atDateIndex:]): Comment. (-[WebHistoryPrivate removeEntryForURLString:]): Use removeIdentical instead of remove, since we don't need to do all the equals comparisons. 2002-12-12 Richard Williamson Changes to fix 3116584. Reviewed by hyatt. Changes to support emptying the page cache from the "Empty Cache" menu. Reviewed by trey. * ChangeLog: * History.subproj/WebBackForwardList.h: * History.subproj/WebBackForwardList.m: (-[WebBackForwardList clearPageCache]): * History.subproj/WebHistoryItem.m: (+[WebHistoryItem _scheduleReleaseTimer]): (-[WebHistoryItem _scheduleRelease]): (+[WebHistoryItem _releasePageCache:]): (-[WebHistoryItem setHasPageCache:]): * WebCoreSupport.subproj/WebTextRenderer.m: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _opened]): 2002-12-12 Richard Williamson Fixed 3119693. Restore scroll position when going back to item in b/f cache. Reviewed by trey. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _opened]): === Alexander-36 === 2002-12-12 Richard Williamson Change relating to 3083287. This doesn't fix the problem but flips the geometry calcs to get most incremental images to draw correctly. .mac now slideshows draw with the incorrect sliding behavior while loading. 3083287 has been moved to 0.9/1. Reviewed by darin. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): 2002-12-12 Trey Matteson Fixed 3094525 - Need to use SPI to fix flipped drag image problem We call the new SPI. I also had to rework the dissolve steps to get it to non flip the image in Panther in millions (but leave the old code for the Jaguar case). Reviewed by cblu * Misc.subproj/WebNSImageExtras.m: (+[NSImage load]): Call the SPI. (-[NSImage _web_dissolveToFraction:]): Add new way of building the image for Panther. 2002-12-12 Darin Adler Reviewed by Maciej. - fixed most likely cause of 3125565 -- 2% regression running the PLT for uncached loads Don't recompute the user agent when it doesn't change. It almost never changes. * WebView.subproj/WebController.m: (-[WebController initWithView:controllerSetName:]): Add observer so we know when defaults change. (-[WebController dealloc]): Remove observer. (-[WebController setApplicationNameForUserAgent:]): Clear out computed user agent to force it to be recomputed later. (-[WebController applicationNameForUserAgent]): Just retain since we copied when we stored it so we know it's not mutable. (-[WebController customUserAgent]): Ditto. (-[WebController userAgentForURL:]): Use the cached user agent if it's good. Otherwise compute and cache the user agent string. This means that we will almost never recompute it. * WebView.subproj/WebControllerPrivate.h: Add userAgent field to cache in. * WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate dealloc]): Release userAgent. (-[WebController _defaultsDidChange]): Release and nil userAgent. 2002-12-12 Darin Adler Reviewed by Maciej. - fixed 3125504 -- REGRESSION: Selection not working correctly for text area on http://glish.com/css/7.asp The problem is that the text area lost its first responder status because WebHTMLView took the click, and NSWindow wanted WebHTMLView to become first responder too. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView acceptsFirstResponder]): Don't allow the NSWindow to make this the first responder during the early part of mouseDown event handling. But do allow anyone else to make this the first responder, for example from keyboard events, or from calls back from WebCore once we begin mouse-down event handling. 2002-12-12 Darin Adler Reviewed by Maciej and Richard. - fixed reentrancy crash I ran into while debugging infinite recursion bugs * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _updateMouseoverWithFakeEvent]): Added. Does part of what _frameOrBoundsChanged did. (-[WebHTMLView _frameOrBoundsChanged]): Schedule the mouseover update to happen soon, rather than doing it right away. If we do it right away, we might reenter because sending a mouse moved event can result in another layout since mouse moved events are the same as mouse dragged events in KHTML. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView viewWillMoveToWindow:]): Cancel the scheduled mouseover update. * WebKit.pbproj/project.pbxproj: Electron uber alles. 2002-12-12 Richard Williamson Fixed 3125585. One click crasher option clicking on any link. Added additional check to curtail overly zealous ASSERT. Reviewed by mjs. * WebView.subproj/WebControllerPrivate.m: (-[WebController _mainReceivedError:fromDataSource:complete:]): 2002-12-11 Richard Williamson Fixed 3125425. Just call super if view isn't in view heirarchy, rather than asserting. The assert was firing because NSText was trying to perform a background layout on an item view that was moved to the page cache. Reviewed by gramps. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView visibleRect]): 2002-12-11 Richard Williamson Fixed 3124121, 3124716 (and other dupes). Regressions related to b/f crash. Reviewed by hyatt. * ChangeLog: * History.subproj/WebHistoryItem.m: (-[WebHistoryItem _scheduleRelease]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge saveDocumentToPageCache:]): * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): 2002-12-11 Richard Williamson Fixed 3123375. Provide SPI to release all pending page caches Reviewed by kocienda. * History.subproj/WebBackForwardList.m: * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: * History.subproj/WebHistoryItemPrivate.h: Added. * WebCoreSupport.subproj/WebBridge.m: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebFramePrivate.m: 2002-12-11 Darin Adler Reviewed by Richard. - fixed 3124837 -- Crash trying to handle weird javascript URL in page address field * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use the new _web_scriptIfJavaScriptURL to simplify the check for JavaScript URLs, and to use a more tolerant unescaper. * English.lproj/StringsNotToBeLocalized.txt: Updated. 2002-12-11 Darin Adler Reviewed by John. - turned on the mechanism that passes events through WebCore, now that it's working better * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]): Moved this function in here. Rewrote it. It has a new feature where you can set a global and do a normal hit test, needed for the mouse-moved handling below. Also, for efficiency, it does the actual hit testing of itself, rather than calling super, which recurses, and ignoring the result. The sum total is that it always returns self for mouse-moved events, so we pass them all over the bridge at the topmost frame. (-[WebHTMLView _updateMouseoverWithEvent:]): * WebView.subproj/WebHTMLView.m: Moved hitTest: out of here. 2002-12-11 John Sullivan - fixed 3124640 -- Crash importing IE Favorites if there are no IE favorites Reviewed by Darin * Bookmarks.subproj/WebBookmarkImporter.m: (-[WebBookmarkImporter initWithPath:]): use alloc/init instead of autoreleasing constructor for error since it's kept around until dealloc. 2002-12-11 Darin Adler Reviewed by John. - fixed 3117611 -- REGRESSION: exception in mouseoverTextForElement with accented characters in status * WebView.subproj/WebHTMLViewPrivate.m: (-[NSMutableDictionary _web_setObjectIfNotNil:forKey:]): Remove the object from the dictionary rather than just leaving the dictionary alone if it's nil. This is needed since we now are reusing an already-existing dictionary. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 2002-12-11 Chris Blumenberg Fixed: 3118430 - crash / loop trying to copy url of link to clipboard Fixed: 3122585 - REGRESSION: dragging links to the desktop or a Finder window does not do anything Reviewed by john. We were reusing the drag types from the previous drag pasteboard. For example, we would declare image types when dragging URLs. This would confuse the Finder, so location files weren't being created. This would occasional cause us to crash because we wer en't providing the declared data. * Misc.subproj/WebNSPasteboardExtras.h: * Misc.subproj/WebNSPasteboardExtras.m: (+[NSPasteboard _web_dragTypesForURL]): Added more types that we handle (-[NSPasteboard _web_writeURL:andTitle:withOwner:declareTypes:]): declares the provided types, writes URL and title (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): call _web_writeURL:andTitle:withOwner:types: with _web_dragTypesForURL * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragPromisedImage:origin:URL:fileType:title:event:]): call _web_writeURL:andTitle:withOwner: types: plus images types 2002-12-10 Trey Matteson 3092966 - going back goes to different page (can't go back to a POST page) 3123450 - if the user refuses a navigation, the b/f menus is wrong We will rePOST data upon back/forward/refresh if our caches fail us. The policy delegate gets a crack at confirming this operation. Latent bugs where the policy delegate was double queried are fixed. A bug in the b/f cursor when a page failed to load is fixed. Reviewed by Maciej. * English.lproj/StringsNotToBeLocalized.txt: Usual suspects. * History.subproj/WebHistoryItem.h: Add state for reposting forms. * History.subproj/WebHistoryItem.m: Boilerplate changes for new state. (-[WebHistoryItem dealloc]): (-[WebHistoryItem setFormData:]): (-[WebHistoryItem setFormContentType:]): (-[WebHistoryItem formData]): (-[WebHistoryItem formContentType]): (-[WebHistoryItem description]): * WebView.subproj/WebController.m: (-[WebController _goToItem:withLoadType:]): Tighten up an assert as I clarified an assumption as I worked through this task. * WebView.subproj/WebControllerPolicyDelegate.h: New WebNavigationType's for back/forward, refresh, and repost. * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): Eliminate extra copy of a request. (-[WebFrame reload]): Eliminate extra copy of a request. Setup triggeringAction properly if we're about to rePOST. * WebView.subproj/WebFramePrivate.h: Started moving some private methods into the .m file. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem]): Save form state with history items. (-[WebFrame _isLoadComplete]): Fix up b/f cursor on page error before commit succeeds. (-[WebFrame _loadItem:fromItem:withLoadType:]): Set up request to rePOST if that's what the HistoryItem demands. Add call to _addExtraFieldsToRequest so we don't do a double query of the policy delegate. Pre-flight the form post vs. WF cache to setup triggering action properly. (-[WebFrame _actionInformationForLoadType:isFormSubmission:event:originalURL:]): New utility method to help build action dict. (-[WebFrame _continueAfterNavigationPolicy:]): Comment only. (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Call new utility method instead (just code factoring). (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]): Call new utility method instead (just code factoring). Add call to _addExtraFieldsToRequest so we don't do a double query of the policy delegate. (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): Whitespace only. (-[WebFrame _resetBackForwardListToCurrent]): Utility routine to fix up b/f cursor on page error. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): Fix up b/f cursor on page error before commit succeeds. 2002-12-10 Darin Adler Reviewed by Maciej. - fixed 3124302 -- REGRESSION: Can't use directory.apple.com because frame resize bar intercepts mouse clicks * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]): Don't steal clicks for views that are inside nested WebViews. This isn't the real fix, but it's good enough for now. The real fix will be in WebCore. 2002-12-10 Darin Adler - fixed fix for 3124081 -- REGRESSION: partial progress is left in address field after download Reviewed by Chris. Need to move it down one line so the data source is clear before callback. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): Do the _clearProvisionalDataSource before the locationChangeDone: callback. 2002-12-10 John Sullivan Fixed more "Alexander"s that were lurking in places I forgot to look before. Reviewed by Darin * Makefile.am: "rm -rf $(SYMROOTS)/Safari.app/Frameworks/WebKit.framework" 2002-12-10 Darin Adler - fixed 3124081 -- REGRESSION: partial progress is left in address field after download Reviewed by Chris. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): Put in code to call the locationChangeDone: method on the location change delegate if keepLoading is YES. Since the data source is not finished loading WebFrame won't do it. 2002-12-10 Chris Blumenberg Fixed: 3124079 - REGRESSION: Downloads never complete Reviewed by darin. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handleDidFinishLoading:]): release and set to nil the download handler after calling [super handleDidFinishLoading:h] 2002-12-10 Richard Williamson Fixed 3115427. Page now draws instantly instead of 20 seconds. I added the substitution font we get from the appkit to the character to glyph cache. Fixed early return optimization from letter forming function. It was too eager to return! Reviewed by mjs. * Misc.subproj/WebUnicode.m: (shapedString): * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRenderer.m: (glyphForCharacter): (glyphForUnicodeCharacter): (widthForGlyph): (widthForCharacter): (_fontContainsString): (-[WebTextRenderer substituteFontForString:families:]): (-[WebTextRenderer _computeWidthForSpace]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]): (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): (-[WebTextRenderer updateGlyphEntryForCharacter:glyphID:font:]): (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): (-[WebTextRenderer extendGlyphToWidthMapToInclude:]): 2002-12-10 John Sullivan - tweaked the API of WebBookmarkImporter while implementing real "Import IE Favorites" UI Reviewed by Ken * Bookmarks.subproj/WebBookmarkImporter.h: fixed a typo in a constant * Bookmarks.subproj/WebBookmarkImporter.m: (-[WebBookmarkImporter initWithPath:]): Don't pass a group here. This method now creates the topBookmark (as it was doing before) but does not attempt to insert it anywhere. It's up to the client to fetch the topBookmark and do something with it. Also, don't name the new folder here; leave that to the caller also. * English.lproj/Localizable.strings: kept this file up to date 2002-12-10 Darin Adler Reviewed by John. - fixed 3108912 -- onclick handlers not supported on form elements * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]): Take over hit testing so that all clicks on subviews are handled by the WebHTMLView. WebCore now handles getting the mouse events to the subviews after passing the events through the DOM. 2002-12-09 Maciej Stachowiak Reviewed by Trey. - fixed 3123057 - SJ: DHTML doesn't always work on http://www.pixar.com/howwedoit/ * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Treat a click on a link to the same URL with an anchor as a scroll to anchor, not a same URL load. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Avoid adding the same anchor URL to the back/forward list many times. 2002-12-09 Darin Adler Reviewed by Maciej. - fixed 3028664 -- change user agent string to include application name and version * WebView.subproj/WebController.m: (-[WebController setApplicationNameForUserAgent:]): Remove locking, unneeded since we changed how WebFoundation handles user agent. (-[WebController setCustomUserAgent:]): Ditto. (-[WebController resetUserAgent]): Ditto. (-[WebController userAgentForURL:]): Remove locking. Also add new algorithm for computing the user agent which takes the preferred language into account, and incorporates the WebKit version and the application name. * WebView.subproj/WebControllerPrivate.h: No need for a lock. * WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate init]): Don't create a lock. (-[WebControllerPrivate dealloc]): Don't release a lock. * WebKit.pbproj/project.pbxproj: Bump versions to 0.8 and 35u. * English.lproj/InfoPlist.strings: In here too. * English.lproj/StringsNotToBeLocalized.txt: Updated for these and other recent changes. 2002-12-09 Richard Williamson Many changes for b/f list. 1. Always attempt to cache snap back items. 2. Lazily release resources from page cache. This garners gains on the PLT (and presumably iBench) tests, both for uncached. 3. Set the page cache size to 4 (+ snap back items). After releasing resources we hover around 28MB footprint. Closing windows releases all resources. 4. Turn on the back/forward cache by default. The menu item still allows you to toggle b/f on and off. Useful when conducting speed comparison in the PLT. 5. Addition of lazy update to PLT memory statistics to show footprint after lazy release of page cache resources. 6. Delayed to leak detector to account for lazy release of resources. 7. A change when saving a page to back/forward cache to clear and restore the documents root renderer. Without this fix pages would appear to 'flicker' more when content arrived. 8. A change to ensure a layout when restoring a page from the b/f cache. Without this fix scrollbars wouldn't appear correctly. 9. A change to ensure that khtmlview layout and paint timers are unscheduled when a page is placed in the b/f cache. 10. A fix to decouple of khtmlview from it's part when placed in the b/f cache. This fixed a crash caused by inappropriate deference of the part when a page cache item was released. 11. A comment in KHTMLPageCache.h explaining the that our page cache is not the same as the khtml page cache. (Their cache just cached the html source.) 12. Reapply styles when loading page from cache. This ensures that visited link get the appropriate style. Reviewed by kocienda. * History.subproj/WebBackForwardList.m: (+[WebBackForwardList pageCacheSize]): (+[WebBackForwardList setUsesPageCache:]): (+[WebBackForwardList usesPageCache]): * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]): (-[WebHistoryItem alwaysAttemptToUsePageCache]): (+[WebHistoryItem _invalidateReleaseTimer]): (-[WebHistoryItem _scheduleRelease]): (+[WebHistoryItem _releaseAllPendingPageCaches]): (-[WebHistoryItem _releasePageCache:]): (-[WebHistoryItem setHasPageCache:]): (-[WebWindowWatcher windowWillClose:]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): (-[WebDataSource _commitIfReady:]): (-[WebDataSource _loadingFromPageCache]): * WebView.subproj/WebDynamicScrollBarsView.h: * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _purgePageCache]): (+[WebFrame _timeOfLastCompletedLoad]): (-[WebFrame _setState:]): (-[WebFrame _opened]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): * WebView.subproj/WebPreferences.m: (+[WebPreferences load]): 2002-12-09 Darin Adler Reviewed by Chris. - fixed 3122608 -- REGRESSION: Downloads can't be cancelled When I fixed the leak for other categories of policy interruption, I messed things up for downloads. Added new parameters to handle this right. * WebView.subproj/WebBaseResourceHandleDelegate.h: Remove isDownload flag. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate isDownload]): Return NO, override in subclass. (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]): Call isDownload method instead of looking at flag directly. * WebView.subproj/WebControllerPrivate.h: Add complete: parameter to _mainReceivedError:. * WebView.subproj/WebControllerPrivate.m: (-[WebController _mainReceivedError:fromDataSource:complete:]): If complete is NO, then don't mark the primary load as complete. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient isDownload]): Added. Returns YES if downloadHandler is non-nil. (-[WebMainResourceClient receivedError:complete:]): Added complete parameter. Call the _setPrimaryLoadComplete: method in the download case (fixes a possible leak), and pass the complete parameter through to the controller. (-[WebMainResourceClient cancel]): Pass complete:YES. (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): Added the keepLoading flag, and pass complete:!keepLoading. (-[WebMainResourceClient stopLoadingForPolicyChange]): Pass keepLoading:NO. (-[WebMainResourceClient continueAfterContentPolicy:response:]): Pass keepLoading:YES, and remove the call to the now-obsolete setIsDownload:. (-[WebMainResourceClient handle:didFailLoadingWithError:]): Pass complete:YES. 2002-12-08 Darin Adler Reviewed by Don and Dave. - fixed 3120578 -- REGRESSION: going to about:blank creates null view This part of the fix makes sure that a renderer is created, even when there are no bytes of data passed through. This makes the empty document about:blank case work just like the "document with just whitespace in it case". There's another part of the fix in WebCore that takes care of the remaining problem. * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Call receivedData:withDataSource: on the bridge with nil for the data. It would be even more elegant to add a new call for the case where we finish, but it's not necessary, since the existing receivedData: call does all the right things if passed nil. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _finishedLoading]): Call finishedLoadingWithDataSource: here, to make sure it's done after committing. This parallels what we already do for the didReceiveData call. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handleDidFinishLoading:]): Remove the call to finishedLoadingWithDataSource: because it's handled by _finishedLoading now. This parallels what we already do for the didReceiveData call. - fixed long standing problem where resizing could make you see a "null view" * WebView.subproj/WebView.m: (-[WebView drawRect:]): Add a "paint cyan" feature in development builds. Null view problems are particularly hard to debug without something like this, and we don't care if development builds are slightly slower. No change in deployment. (-[WebView setFrameSize:]): Tell the scroll view to draw the background if we are resized. We can't do our "let the old bits show through" thing any more if we have to redraw because of resizing. - other changes * WebKit.pbproj/project.pbxproj: Remove the old -DAPPLE_CHANGES and -DHAVE_CONFIG_H that we once needed when WebKit used to compile C++ headers from the KHTML part of WebCore. We haven't needed those for ages. Also sort things a bit, using the new Electron feature for sorting lists of files alphabetically, and some by hand. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 2002-12-08 Chris Blumenberg Fixed: 3121627 - REGRESSION: partial progress is left in address field after download Reviewed by: darin In WebMainResourceClient, make sure to always call receivedError before _clearProvisionalDataSource so that receivedError works. This is done in multiple places, so I factored this out into one method interuptForPolicyChange. * WebView.subproj/WebControllerPrivate.m: (-[WebController _mainReceivedError:fromDataSource:]): added asserts for nil error, dataSource and frame * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient interruptForPolicyChange]): renamed from notifyDelegatesOfInterruptionByPolicyChange because it now also sets the provisionalDataSource on the frame to nil. (-[WebMainResourceClient stopLoadingForPolicyChange]): call interruptForPolicyChange, stop load (-[WebMainResourceClient continueAfterContentPolicy:response:]): call interruptForPolicyChange 2002-12-06 Trey Matteson Clean up some printfs. Use WebKitLogPageCache for page cache info. Reviewed by: rjw * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): (-[WebFrame _purgePageCache]): (-[WebFrame _setState:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): 2002-12-06 Trey Matteson 3118584 - implement desired behavior for load - reload - b/f 3119241 - page cache needs to be refreshed after reload 3118096 - isTargetItem:NO saved to disk with every bookmark The most noticeable changes are the addition of the "Same" loadType, and that reload does not restore form state. 3119241 was noticed in passing, and is related. 3118096 is a nit with a possible small perf benefit. Reviewed by: rjw * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: (-[WebHistoryItem dealloc]): New originalURL field. (-[WebHistoryItem originalURL]): New getter. (-[WebHistoryItem setOriginalURL:]): New setter. (-[WebHistoryItem dictionaryRepresentation]): Dont save isTarget. (-[WebHistoryItem initFromDictionaryRepresentation:]): Dont save isTarget. * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): Test for going to same URL, invoke loadTypeSame case. * WebView.subproj/WebFramePrivate.h: Add loadTypeSame * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addBackForwardItemClippedAtTarget:]): Remove a line of dead code. (-[WebFrame _createItem]): Set originalURL when item is created. (-[WebFrame _transitionToCommitted:]): For loadTypeSame, clear page cache (-[WebFrame _purgePageCache]): Added logging. (-[WebFrame _setState:]): Don't add to page cache if doing a reload. (-[WebFrame _isLoadComplete]): LoadTypeSame is a NOP. (-[WebFrame _loadItem:fromItem:withLoadType:]): LoadTypeSame is an ASSERT. (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): In the LoadTypeSame case load from origin and never do anchor nav. If asked to load the same URL, invoke LoadTypeSame case. (-[WebFrame _loadURL:intoChild:]): Latent bug: WebFrameLoadTypeReloadAllowingStaleData should restore child frame content like reload does. (-[WebFrame _itemForRestoringDocState]): Prevent form state restore on reload and loadSame. (-[WebFrame _shouldTreatURLAsSameAsCurrent:]): New utility function. 2002-12-06 Maciej Stachowiak Reviewed by: Darin Adler - made framework embedding work correctly with buildit * WebKit.pbproj/project.pbxproj: Give framework a relative install path, don't install it the normal way, and copy it manually to /AppleInternal/Library/Frameworks if installing. Also look for other frameworks in ${DSTROOT}/AppleInternal/Library/Frameworks. 2002-12-05 Darin Adler Reviewed by Trey. - fixed 3103691 -- assertion in WebHTMLView addMouseMovedObserver at versiontracker * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addMouseMovedObserver]): Instead of asserting, do the checks here to determine if the observer should be installed. (-[WebHTMLView viewDidMoveToWindow]): Remove checks, since addMouseMovedObserver now checks. (-[WebHTMLView windowDidBecomeMain:]): Remove checks, since addMouseMovedObserver now checks. 2002-12-05 Richard Williamson Don't ceil spaces if not a fixed pitch font. This make sites that have hard coded block widths have less wrapping beyond what the designer expected. Fixes 3117225. Reviewed by: mjs * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRenderer.m: (widthForGlyph): (-[WebTextRenderer _computeWidthForSpace]): (-[WebTextRenderer initWithFont:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]): 2002-12-05 Chris Blumenberg Added WebDocumentText protocol. Made WebHTMLView and WebTextView implement it. Reviewed by: rjw * WebView.subproj/WebController.m: (-[WebController supportsTextEncoding]): check if protocol is WebDocumentText * WebView.subproj/WebDocument.h: * WebView.subproj/WebHTMLView.h: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hasSelection]): call selectedString (-[WebHTMLView takeFindStringFromSelection:]): call selectedString (-[WebHTMLView selectAll:]): call selectAll (-[WebHTMLView string]): part of WebDocumentText protocol (-[WebHTMLView attributedString]): part of WebDocumentText protocol (-[WebHTMLView selectedString]): part of WebDocumentText protocol (-[WebHTMLView selectedAttributedString]): part of WebDocumentText protocol (-[WebHTMLView selectAll]): part of WebDocumentText protocol (-[WebHTMLView deselectAll]): part of WebDocumentText protocol * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _writeSelectionToPasteboard:]): call selectedAttributedString * WebView.subproj/WebTextView.h: * WebView.subproj/WebTextView.m: (-[WebTextView string]): part of WebDocumentText protocol (-[WebTextView attributedString]): part of WebDocumentText protocol (-[WebTextView selectedString]): part of WebDocumentText protocol (-[WebTextView selectedAttributedString]): part of WebDocumentText protocol (-[WebTextView selectAll]): part of WebDocumentText protocol (-[WebTextView deselectAll]): part of WebDocumentText protocol 2002-12-05 Darin Adler Reviewed by Richard. - fixed 3107240 -- world leak: reproducible, trying to open TIFF file * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient notifyDelegatesOfInterruptionByPolicyChange]): Send error to the delegate using receivedError: rather than directly. This results in the frame properly stopping the load and fixes the leak. 2002-12-05 Darin Adler Reviewed by Chris. * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler initWithDataSource:]): Add WebGZipDecoder to the list. * Downloads.subproj/WebGZipDecoder.h: Finished this. * Downloads.subproj/WebGZipDecoder.m: Finished this. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 2002-12-05 Maciej Stachowiak Reviewed by: Darin * English.lproj/InfoPlist.strings: removed letters from CFBundleShortVersionString to make buildit happy. === Alexander-35 === 2002-12-05 Darin Adler Reviewed by Ken. - fixed 3118647 -- REGRESSION: click policy no longer works * WebView.subproj/WebFramePrivate.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Allow mouse up events too. Those are usually the ones that trigger navigation. 2002-12-04 Darin Adler Reviewed by Maciej. - fixed assert when you choose an item from a menu, for example, and that navigates * WebView.subproj/WebFramePrivate.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): If the event is over some other element, just don't include the element info. 2002-12-04 Chris Blumenberg Fixed: 3116294 - Need "Reload" feature in Downloads window Reviewed by: rjw * WebKit.pbproj/project.pbxproj: made WebFramePrivate.h private so that WebBrowser can call _downloadRequest:toPath: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadDataSource:withLoadType:]): commented out assert that complains about lack of WebView. Long-term solution is to catch this earlier and have a lone datasource download mechanism 3118355. 2002-12-04 Trey Matteson 3097585 - Crash in -[WebFrame(WebPrivate) _isLoadComplete] at result of google image search The root of this problem was that we would detach child frames by calling detach on them all, then clearing the whole array. This would fail because detaching a frame might have to stop a load, which calls checkLoadComplete, which visits the entire frame tree. But if a previously detached child is still sitting in that tree, we end up with an assertion failure. The solution is to remove the kids as they are detached. Reviewed by: Darin Adler * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem]): Method rename (a nit I missed from an earlier change) (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Method rename (-[WebFrame _detachChildren]): new method to do detaching right (-[WebFrame _detachFromParent]): call new method (-[WebFrame _setDataSource:]): call new method (-[WebFrame _transitionToCommitted:]): Method rename 2002-12-04 Darin Adler Reviewed by Trey and Maciej. - fixed 3117558 -- Assertion failure in KWQKHTMLPart::slotData after typing "amazon.com" twice - update NSEvent handling in preparation for NSView mouse event handling going through WebCore * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:fromItem:withLoadType:]): Added FIXME comments about matching the _loadURL case more closely. (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Only use the event if it's a mouse down event. This prevents trouble when we have other kinds of events coming through. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Call the new scrollToAnchorWithURL: instead of openURL:. This fixes the assertion failure in the bug above. (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Update checks here to more closely match the ones in KHTMLPart::openURL that we are replacing. Add more comments. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]): Function to intercept all clicks at the WebHTMLView level, disabled for now because we are not yet ready. - started a gzip download decoder, not yet hooked up * Downloads.subproj/WebGZipDecoder.h: Added. * Downloads.subproj/WebGZipDecoder.m: Added. * WebKit.pbproj/project.pbxproj: Add WebGZipDecoder and zlib. - other changes * Panels.subproj/WebAuthenticationPanel.m: Fixed screwed-up indentation. 2002-12-04 Richard Williamson Cache the fallback font in the same way we cache other fonts. Reviewed by: Darin * WebCoreSupport.subproj/WebTextRendererFactory.h: * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fallbackFontWithTraits:size:]): (-[WebTextRendererFactory fontWithFamilies:traits:size:]): (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]): 2002-12-04 Richard Williamson Fixed massive performance regression. We were leaking WebFontCacheKey. Added a cache of missing fonts to avoid expensive appkit lookup. Reviewed by: Maciej * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]): (-[WebTextRendererFactory cachedFontFromFamilies:traits:size:]): 2002-12-03 Darin Adler - fixed 3117193 -- REGRESSION: Hang on Hixie's weblog Reviewed by Maciej. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer substituteFontForString:families:]): Do the operation on the whole string at once instead of a character at a time. I decided to do this rather than correct the bug in the character-at-a-time version. == Rolled over to ChangeLog-2002-12-03 ==