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 Safari 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, but 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 Reviewed by me. 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 Reviewed by me * 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. Reviewed by me. * 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 Reviewed by me 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. Reviewed by NOBODY (OOPS!). * 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. Reviewed by me. * 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] Reviewed by me (I'm bad, it's just a file rename). * 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. Reviewed by me. * 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. Reviewed by me. * 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. Reviewed by me. * 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. Reviewed by me. * 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 unk nown 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. Reviewed by me. * 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 ==