Timeline
Nov 1, 2002:
- 10:46 PM Changeset in webkit [2539] by
-
- 3 edits in trunk/WebKit
- Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendEvent:]): Fixed uninitialized variable problem.
- 6:16 PM Changeset in webkit [2538] by
-
- 5 edits in trunk/WebCore
- applied the same "subclass responsibility" pattern here as in some of the other WebCore classes
- kwq/WebCoreImageRendererFactory.h: Move the subclass responsibility into a protocol.
- kwq/WebCoreImageRendererFactory.m: Remove now-unneeded stubs.
- 6:12 PM Changeset in webkit [2537] by
-
- 9 edits in trunk/WebKit
- fixed 3090239 -- crash on window close
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]): Nil out the bridge and release it so we don't close the URL twice.
- fixed 3058598 -- animated gif animates repeatedly in Alex, but only once in other browsers
- WebCoreSupport.subproj/WebImageRenderer.h: Added fields used by bug workaround.
- WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer blockHasGIFExtensionSignature:length:]): Helper method for bug workaround. (-[WebImageRenderer checkDataForGIFExtensionSignature:]): Checks incoming data for the GIF extension signatures. (-[WebImageRenderer initWithData:]): Override to call checkDataForGIFExtensionSignature. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Call checkDataForGIFExtensionSignature. (-[WebImageRenderer repetitionCount]): Return 1 if we were going to return 0, but we didn't see a GIF extension signature. This workaround can be removed once we require a system new enough to have the bug fix for bug 3090341. (-[WebImageRenderer nextFrame:]): Stop on last frame, don't wrap around to first.
- WebCoreSupport.subproj/WebImageRendererFactory.h: Update for changes to WebCore.
- WebCoreSupport.subproj/WebImageRendererFactory.m: Tweaks.
- WebView.subproj/WebImageRepresentation.m: Update imports.
- WebView.subproj/WebImageView.m: Update imports.
- 5:16 PM Changeset in webkit [2536] by
-
- 10 edits in trunk
i Implemented rendering of diacriticals.
- Misc.subproj/WebUnicode.h:
- Misc.subproj/WebUnicode.m: (_unicodeDigitValue): (_unicodeCategory): (_unicodeDirection): (_unicodeJoining): (_unicodeDecompositionTag): (_unicodeMirrored): (_unicodeCombiningClass): (_unicodeLower): (_unicodeUpper):
- WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]): (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
Removed old implementation.
- kwq/KWQChar.mm: (QChar::direction):
Renamed JoiningCenter -> JoiningCausing.
- kwq/WebCoreUnicode.h:
- 5:10 PM Changeset in webkit [2535] by
-
- 7 edits in trunk
- kjs/object.cpp: Make the same change Maciej just did, but to the other constructor right next to the one he changed.
WebFoundation:
- English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
WebKit:
- English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
- 4:28 PM Changeset in webkit [2534] by
-
- 8 edits in trunk/WebCore
- fixed 3062598 -- meta refresh of 0.1s fails
KHTML was using an integer for the delay.
- khtml/khtml_part.h: Make scheduleRedirection take a double.
- khtml/khtmlpart_p.h: Make m_delayRedirect be a double.
- khtml/khtml_part.cpp: (KHTMLPart::slotData): Use a double when parsing meta refresh. (KHTMLPart::checkCompleted): Cast to int when passing to timer start. (KHTMLPart::scheduleRedirection): Cast to int when passing to timer start; also check for absurd values and do nothing. (KHTMLPart::slotParentCompleted): Cast to int when passing to timer start.
- khtml/xml/dom_docimpl.cpp: (DocumentImpl::processHttpEquiv): Use a double when parsing meta refresh.
- kwq/KWQKDebug.h: Add overloads for unsigned int and double to keep us compiling now that we use a double in one place.
- 4:13 PM Changeset in webkit [2533] by
-
- 9 edits in trunk/WebKit
WebKit:
Check that the plug-in is loaded before calling it.
- Plugins.subproj/WebBaseNetscapePluginStream.h:
- Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream dealloc]): (-[WebBaseNetscapePluginStream setPluginPointer:]): (-[WebBaseNetscapePluginStream setResponse:]): (-[WebBaseNetscapePluginStream receivedData:]): (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
- Plugins.subproj/WebBasePluginPackage.h:
- Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage isLoaded]):
- Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]):
- Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage isLoaded]):
- Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
WebBrowser:
Use the display name of the dataSource not the document when reporting plug-in errors.
- LoadProgressMonitor.m: (-[LoadProgressMonitor pluginFailedWithError:dataSource:]):
- 3:17 PM Changeset in webkit [2532] by
-
- 16 edits2 adds in trunk/WebKit
WebFoundation:
- Misc.subproj/WebError.m:
WebKit:
- Moved plug-in error handling to WebResourceLoadDelegate
- Report plug-in load failure, java load failure, and plug-in not found errors.
- Added WebPluginError, subclass of WebError.
- Attempted fix: 3090675 - Standalone WMP (Window Media Player) content crashes Alexander
- English.lproj/Localizable.strings:
- Misc.subproj/WebKitErrors.h:
- Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendEvent:]): don't send event to null function
- Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): report plug-in load failure
- Plugins.subproj/WebNullPluginView.h:
- Plugins.subproj/WebNullPluginView.m: take a WebPluginError (-[WebNullPluginView dealloc]): (-[WebNullPluginView viewDidMoveToWindow]):
- Plugins.subproj/WebPluginError.h: Added.
- Plugins.subproj/WebPluginError.m: Added. (-[WebPluginErrorPrivate dealloc]): (-[WebPluginError dealloc]): (-[WebPluginError pluginPageURL]): (-[WebPluginError pluginName]): (-[WebPluginError MIMEType]):
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): report plug-in load failure (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): report plug-in load failure
- WebKit.pbproj/project.pbxproj:
- WebView.subproj/WebController.m: (-[WebResourceLoadDelegate pluginFailedWithError:dataSource:]): added, does nothing
- WebView.subproj/WebControllerPolicyDelegate.h:
- WebView.subproj/WebResourceLoadDelegate.h:
- WebView.subproj/WebView.m: (+[WebView initialize]): added new error strings
WebBrowser:
- Moved plug-in error handling to WebResourceLoadDelegate
- BrowserWebController.m:
- English.lproj/Localizable.strings:
- LoadProgressMonitor.m: (-[LoadProgressMonitor pluginNotFoundSheetEnded:returnCode:contextInfo:]): (-[LoadProgressMonitor pluginFailedWithError:dataSource:]): display special sheets for new errors.
- 3:00 PM Changeset in webkit [2531] by
-
- 4 edits in trunk/WebCore
- fixed 3090249 -- random crash on page load
- fixed 3090286 -- assert _job in KWQResourceLoader cancel
- kwq/KWQResourceLoader.mm: (-[KWQResourceLoader cancel]): This function needs to handle the case where the load is already cancelled. I think this also caused Avie's crash.
- 2:09 PM Changeset in webkit [2530] by
-
- 5 edits in trunk/WebKit
WebKit:
- some weaning of WebBookmark API from WebBookmarkGroup
- Bookmarks.subproj/WebBookmark.m: (-[WebBookmark dealloc]): set group to nil instead of asserting that it's non-nil
- Bookmarks.subproj/WebBookmarkGroup.h: removed obsolete ivar _bookmarksByID
- Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup initWithFile:]): removed obsolete ivar _bookmarksByID (-[WebBookmarkGroup dealloc]): removed obsolete ivar _bookmarksByID (-[WebBookmarkGroup removeBookmark:]): removed this unnecessary method; callers need to use [[bookmark parent] removeChild:bookmark] instead
WebBrowser:
- fixed bug Darin found in my recent checkin that caused rearranging bookmarks in toolbar to fail an assertion in [WebBookmarkGroup removeBookmark:]
- fixed a leak I found in the process (bookmark rearranged in toolbar would leak)
- BookmarksController.m: (-[BookmarksController updateBookmarkSources]): use [[bookmark parent] removeChild:bookmark] instead of now-obsolete [[bookmark group] removeBookmark:bookmark]
- BookmarksViewController.m: (-[BookmarksViewController removeBookmarks:]), (-[BookmarksViewController redoRemoveBookmarks:]), (-[BookmarksViewController undoNewBookmark:]), (-[BookmarksViewController moveBookmarks:toNewFolder:]): use [[bookmark parent] removeChild:bookmark] instead of now-obsolete [[bookmark group] removeBookmark:bookmark]
- BrowserWebBookmarkExtras.m: (-[WebBookmark deleteWithUndo]): use [[bookmark parent] removeChild:bookmark] instead of now-obsolete [[bookmark group] removeBookmark:bookmark]
- FavoriteButton.m: (-[FavoriteButton draggedImage:endedAt:operation:]): don't use undoable delete in the drag-to-rearrange case; added FIXME explaining why
- FavoritesBar.m: (-[FavoritesBar deleteFavoritesWithURLsMatchingBookmarks:]), (-[FavoritesBar titleChangeSheetDidEnd:returnCode:contextInfo:]): use [[bookmark parent] removeChild:bookmark] instead of now-obsolete [[bookmark group] removeBookmark:bookmark] (-[FavoritesBar performDragOperation:]): autorelease the copy of the bookmark in the dragged FavoriteButton
- 12:45 PM Changeset in webkit [2529] by
-
- 7 edits in trunk/WebKit
Moved involved code for loading URLs from WebBridge up to WebFrame, with a little
consolidation along the way. I need to get all this stuff in one place in prep
for doing back-forward properly with frames. There should be no change in
functionality as a result of these changes.
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:reload:]): (-[WebBridge postWithURL:data:contentType:]): (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Much of the guts of these is moved to WebFramePrivate.
- WebView.subproj/WebDataSourcePrivate.h:
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setIsClientRedirect:]): (-[WebDataSource _isClientRedirect]): Keep state of whether we're processing a redirect in DataSource. I had previously to do this with a loadType, but that failed because cliRedir is orthogonal.
- WebView.subproj/WebFramePrivate.h: WebFrameLoadTypeClientRedirect is gone.
- WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate init]): Initialize loadType explicitly. (-[WebFrame _transitionToCommitted]): Test [dataSource _isClientRedirect] instead of looking at loadType. (-[WebFrame _isLoadComplete]): Nuke WebFrameLoadTypeClientRedirect (-[WebFrame _goToItem:withFrameLoadType:]): Nuke WebFrameLoadTypeClientRedirect. (-[WebFrame _loadRequest:]): Helper method moved from WebBridge. (-[WebFrame _loadURL:loadType:clientRedirect:]): Core impl moved up from WebBridge. (-[WebFrame _postWithURL:data:contentType:]): Core impl moved up from WebBridge.
- 11:51 AM Changeset in webkit [2528] by
-
- 4 edits in trunk/WebKit
- implemented loop counts
- WebCoreSupport.subproj/WebImageRenderer.h: Added repetitionsComplete field.
- WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer repetitionCount]): Get NSImageLoopCount. (-[WebImageRenderer nextFrame:]): Check repetitionCount and stop once we hit it.
Oct 31, 2002:
- 5:15 PM Changeset in webkit [2527] by
-
- 9 edits in trunk/WebCore
- fixed huge leak when doing page load test
- khtml/ecma/kjs_binding.h:
- khtml/ecma/kjs_binding.cpp: Remove ScriptInterpreter::mark(). We don't want to mark the elements of m_domObjects, because we don't want to keep them around the entire lifetime of the interpreter. This is fine because we already have forgetDOMObject(), which takes care of when they are deallocated.
- khtml/ecma/kjs_dom.cpp:
- khtml/ecma/kjs_dom.h:
- khtml/ecma/kjs_html.cpp:
- khtml/ecma/kjs_html.h: Changed lots of parameters to pass by const reference for a bit of a code size and performance gain.
- 5:10 PM Changeset in webkit [2526] by
-
- 3 edits in trunk/WebKit
- WebView.subproj/WebFrame.m: (-[WebFrame setController:]): Add an assert, hoping to catch a reported bug earlier or disprove one theory.
- 2:59 PM Changeset in webkit [2525] by
-
- 10 edits in trunk/WebKit
Added API to support 3072505 - SnapBack for user-entered page address
Refixed 3041616 - Extra page added in back button history
Previous fix was stepped on by a later checkin. Re-established that fix, then
went on to make sure we have the final URL and title in the BF item in the
case of a client redirect. Also handles redirects that happen within frames.
Fixed 3078560 - div added to "back" list
- History.subproj/WebBackForwardList.h:
- History.subproj/WebBackForwardList.m: (-[WebBackForwardList containsEntry:]): Added new API for 3072505.
- WebCoreSupport.subproj/WebBridge.h:
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge reportClientRedirectTo:delay:fireDate:]): (-[WebBridge reportClientRedirectCancelled]): (-[WebBridge loadURL:reload:]): Added logging. Renamed flag. Establish the right loadtype and set BF items from the old dataSource onto the new dataSource in the case of a client redirect.
- WebView.subproj/WebDataSourcePrivate.h:
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setRequest:]): Add logging. (-[WebDataSource _addBackForwardItem:]): (-[WebDataSource _addBackForwardItems:]): (-[WebDataSource _backForwardItems]): New setters/getters to support setting up the new dataSource of a client redirect.
- WebView.subproj/WebFramePrivate.h: New loadType WebFrameLoadTypeClientRedirect.
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]): Update the URL in the BF list in the client redirect case. (-[WebFrame _isLoadComplete]): NOP case for WebFrameLoadTypeClientRedirect (-[WebFrame _goToItem:withFrameLoadType:]): ASSERT_NOT_REACHED case for WebFrameLoadTypeClientRedirect
- 2:15 PM Changeset in webkit [2524] by
-
- 9 edits in trunk
Corrected extern definitions of lookup tables.
- Misc.subproj/WebUnicode.h:
- Misc.subproj/WebUnicode.m: (_unicodeDirection):
- WebCoreSupport.subproj/WebTextRenderer.m: (+[WebTextRenderer initialize]):
Turned on use of lookup tables.
- kwq/KWQChar.mm: (QChar::direction): (QChar::mirrored): (QChar::mirroredChar):
- 12:27 PM Changeset in webkit [2523] by
-
- 4 edits in trunk/JavaScriptCore
- fixed 3082660 - REGRESSION: one ListImp leaks opening/closing nearly empty web page
- kjs/object.cpp: Set gc allowed on freshly created ListImp, since there is no List wrapper for it.
- 11:12 AM Changeset in webkit [2522] by
-
- 5 edits in trunk/JavaScriptCore
- kjs/grammar.y: Fix the APPLE_CHANGES thing here too.
- kjs/grammar.cpp: Regenerated this file.
- 10:43 AM Changeset in webkit [2521] by
-
- 5 edits in trunk/WebCore
- fixed 3075803 - yahoo customize layout - delete, ordering of items doesn't work
- khtml/html/html_formimpl.h:
- khtml/html/html_formimpl.cpp: (HTMLSelectElementImpl::recalcStyle): New method to insure the select element updates if the contents of the option subelements are changed.
- 10:05 AM Changeset in webkit [2520]
-
- 3 copies in tags/Alexander-30
This commit was manufactured by cvs2svn to create tag 'Alexander-30'.
- 10:05 AM Changeset in webkit [2519] by
-
- 9 edits in trunk
Alex-30 version markers
Oct 30, 2002:
- 9:26 PM Changeset in webkit [2518] by
-
- 1 edit in trunk/WebCore/khtml/rendering/render_form.cpp
Revert accidentally committed change.
- 9:20 PM Changeset in webkit [2517] by
-
- 5 edits in trunk/WebCore
- fixed 3049853 - Javascript: setInterval incorrectly acts as single shot
- kwq/KWQObject.mm: (QObject::startTimer): Set a recurring timer instead of single-shot, to match QObject semantics.
- 6:42 PM Changeset in webkit [2516] by
-
- 1 edit in trunk/WebKit/Misc.subproj/WebUnicode.m
Fixed stupid compile problem.
- 6:23 PM Changeset in webkit [2515] by
-
- 12 edits5 adds in trunk
More work on bidi and contextual forms.
Table lookup code for unicode characters attributes.
- Misc.subproj/WebUnicode.h: Added.
- Misc.subproj/WebUnicode.m: Added. (_unicodeDigitValue): (_unicodeCategory): (_unicodeDirection): (_unicodeJoining): (_unicodeDecompositionTag): (_unicodeMirrored): (_unicodeMirroredChar): (_unicodeCombiningClass): (_unicodeLower): (_unicodeUpper): (WebKitInitializeUnicode):
- Misc.subproj/WebUnicodeTables.m: Added.
- WebKit.pbproj/project.pbxproj:
Additional logging parameter.
- Misc.subproj/WebKitLogging.h:
- Misc.subproj/WebKitLogging.m:
More work on bidi and contextual forms.
Table lookup code is up in WebKit. Function
pointers are used to isolate WebCore from private
implementation in WebKit. Needs to be fast, so
the usual ObjC abstraction won't work.
- WebCore.exp:
- WebCore.pbproj/project.pbxproj:
- kwq/KWQChar.mm: (QChar::direction):
- kwq/KWQString.h:
- kwq/WebCoreUnicode.cpp: Added.
- kwq/WebCoreUnicode.h: Added.
- 6:15 PM Changeset in webkit [2514] by
-
- 7 edits in trunk/WebKit
WebKit:
Pass WebResourceRequest rather than just NSURL to URL policy
delegate method.
- WebView.subproj/WebControllerPolicyDelegate.h:
- WebView.subproj/WebDefaultPolicyDelegate.h:
- WebView.subproj/WebDefaultPolicyDelegate.m: (+[WebDefaultPolicyDelegate defaultURLPolicyForRequest:]): (-[WebDefaultPolicyDelegate URLPolicyForRequest:inFrame:]):
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _shouldShowRequest:]):
WebBrowser:
Adjust for WebKit API change.
- BrowserDocument.m: (-[BrowserDocument _goToURL:referrer:withFallbackURLs:]):
- BrowserWebController.m: (-[BrowserWebController URLPolicyForRequest:inFrame:]):
- 2:50 PM Changeset in webkit [2513] by
-
- 4 edits in trunk/WebCore
- fixed crash when you open an empty window and just hit tab, tab, tab
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::nextKeyViewInFrame): Check for nil.
- 2:19 PM Changeset in webkit [2512] by
-
- 3 edits in trunk/WebKit
WebFoundation:
- English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
WebKit:
- English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
WebBrowser:
- English.lproj/Localizable.strings: Regenerated this file.
- 12:15 PM Changeset in webkit [2511] by
-
- 4 edits in trunk/JavaScriptCore
- fixed 3073230 -- Alex is doing file I/O when executing JavaScript by asking for localtime
I fixed this by using Core Foundation time functions instead.
- kjs/date_object.cpp: (tmUsingCF): Function that uses Core Foundation to get the time and then puts it into a tm struct. (gmtimeUsingCF): Function used instead of gmtime (used a macro to make the substitution). (localtimeUsingCF): Function used instead of localtime (used a macro to make the substitution).
- 11:34 AM Changeset in webkit [2510] by
-
- 3 edits in trunk/WebKit
Fixed: 3088122 - Assertion failure/crash closing window with QuickTime streaming in
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setMainDocumentError:]): call receivedError on the representation.
- 11:17 AM Changeset in webkit [2509] by
-
- 4 edits in trunk/WebKit
- fixed memory leaks in plugin package creation code
- Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]): Rearrange this code, and make sure that it does a [self release] if it's going to return nil instead of self. (-[WebNetscapePluginPackage unload]): Set bundle to 0 when we release it. (-[WebNetscapePluginPackage dealloc]): Release the bundle if it's not 0.
- Plugins.subproj/WebPluginPackage.m: (-[WebPluginPackage initWithPath:]): Rearrange this code, and make sure that it does a [self release] if it's going to return nil instead of self.
- 9:51 AM Changeset in webkit [2508] by
-
- 7 edits2 adds in trunk/WebCore
- fixed 3083982 -- Logging into AOL gives null view, crash
I fixed the crash part. Not the "gives null view" part.
The key was to disentangle the references and lifetimes of the transfer job class,
and the resource loader object that KWQ uses to connect it with WebKit.
- kwq/KWQKJobClasses.h: Change the job to keep a loader reference, not a handle reference. The job needs to inform the loader when it's being deallocated.
- kwq/KWQKJobClasses.mm: Use jobWillBeDeallocated instead of cancel when the job is deallocated.
- kwq/KWQLoader.mm: (KWQServeRequest): Use KWQResourceLoader, now with a home in a separate file.
- kwq/KWQResourceLoader.h: Added.
- kwq/KWQResourceLoader.mm: Added.
- WebCore.pbproj/project.pbxproj: Added KWQResourceLoader files.
- 8:19 AM Changeset in webkit [2507] by
-
- 15 edits in trunk
WebCore:
- fixed 3086564 -- REGRESSION: meta-refresh to the same page doesn't refresh
The key is to get args.reload passed through to the bridge.
- kwq/WebCoreBridge.h: Add reload parameter to loadURL:.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURL): Pass NO for reload. (KWQKHTMLPart::openURLRequest): Pass args.reload for reload. (KWQKHTMLPart::urlSelected): Pass args.reload for reload. (KWQKHTMLPart::submitForm): Pass args.reload for reload.
- fixed a memory problem with the use of NSBrowser in KWQListBox
- fixed 2863040 -- multiple default items in select list not selected
Switched to use NSTableView instead of NSBrowser. This should also create
a measurable speedup due to other changes to this class.
- kwq/KWQListBox.h: Remove firstItem(), the insertItem() that takes a QListBoxItem parameter, and deleteItems(). Add _items, _width, and _widthGood. Removed _head. Removed the QListBoxItem and QListBoxText classes.
- kwq/KWQListBox.mm: (QListBox::QListBox): Create a KWQListBoxScrollView and put an NSTableView inside it. Also create an NSMutableArray to hold the items. (QListBox::~QListBox): Disconnect the table view from the delegate before releasing it. Also release the items array. (QListBox::count): Return the array count. (QListBox::clear): Do a reloadData here instead of loadColumnZero. (QListBox::setSelectionMode): Update for table view. (QListBox::insertItem): Update for table view. (QListBox::insertGroupLabel): Just calls insertItem for now. (QListBox::endBatchInsert): Update for table view. (QListBox::setSelected): Update for table view, including support for multiple selection. (QListBox::isSelected): Update for table view. (QListBox::sizeForNumberOfLines): Use the table view cell for width, and cache it so we don't have to measure all the strings over and over again. (-[KWQListBoxScrollView setFrameSize:]): Resize the table view column whenever the entire scroll view is resized. (-[KWQListBoxTableViewDelegate initWithListBox:]): Store box pointer and pointer to items array. (-[KWQListBoxTableViewDelegate numberOfRowsInTableView:]): Return count. (-[KWQListBoxTableViewDelegate tableView:objectValueForTableColumn:row:]): Get the data from the items array. (-[KWQListBoxTableViewDelegate tableViewSelectionDidChange:]): Call both the selection-changed signal and the clicked signal.
- khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement): Get rid of the one place here that gets at a list box item by calling a KWQ function insertGroupLabel instead of making a QListBoxText. Also call beginBatchInsert() before clear() for a slight additional speed boost.
- fixed 3067572 -- javascript: URLs typed into page address field or bookmarks don't work in empty window
We needed a document for DOM, so we make a dummy one. This works for an empty
window, and also for a window with non-HTML content.
- kwq/KWQKHTMLPart.h: Added createDummyDocument().
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::createDummyDocument): Create an empty DOM document if there isn't one already.
- kwq/WebCoreBridge.mm: (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:]): Call the new createDummyDocument() instead of checking and doing nothing if there is no document present when this is called.
- other stuff
- kwq/WebCoreBridge.mm: (-[WebCoreBridge DOMDocument]): Removed a stray printf.
- kwq/KWQTextArea.mm: Tweaked code a little.
WebKit:
- fixed 3086564 -- REGRESSION: meta-refresh to the same page doesn't refresh
The key is to respect the new reload: parameter from the bridge.
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:reload:]): Don't ever treat a reload as a redirect. Set the cache policy to WebRequestCachePolicyLoadFromOrigin if it's a reload.
- fixed 3087214 -- REGRESSION: <WebKit/WebKit.h> contains #import of non-existent header
- Misc.subproj/WebKit.h: Removed import of WebControllerSets.h, which is private.
- 1:43 AM Changeset in webkit [2506] by
-
- 10 edits in trunk/WebKit
WebKit:
Another step towards the policy API change - add request argument
to file URL policy and remove isDirectory argument.
- WebView.subproj/WebControllerPolicyDelegate.h:
- WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate fileURLPolicyForMIMEType:andRequest:inFrame:]):
- WebView.subproj/WebFrame.m: (-[WebFrame setProvisionalDataSource:]):
- WebView.subproj/WebFramePrivate.h:
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _shouldShowRequest:]):
- WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:willSendRequest:]):
WebBrowser:
Adjust for API change.
- BrowserWebController.m: (-[BrowserWebController fileURLPolicyForMIMEType:andRequest:inFrame:]):
Oct 29, 2002:
- 11:58 PM Changeset in webkit [2505] by
-
- 7 edits in trunk/WebKit
WebKit:
First step towards policy API change. Pass request instead of URL
to content policy delegate method.
- WebView.subproj/WebControllerPolicyDelegate.h:
- WebView.subproj/WebDefaultPolicyDelegate.m:
- WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveResponse:]):
WebBrowser:
First step towards policy API change. Pass request instead of URL
to content policy delegate method.
- BrowserWebController.m: (-[BrowserWebController contentPolicyForResponse:andRequest:inFrame:withContentPolicy:]):
- 11:55 PM Changeset in webkit [2504] by
-
- 6 edits in trunk/WebKit
- fixed 3087548 - REGRESSION: two windows open for netflix confirmation
- WebView.subproj/WebControllerPrivate.h:
- WebView.subproj/WebControllerPrivate.m: (-[WebController _findFrameInThisWindowNamed:]): Added this function back, and added check for top-level frame name. (-[WebController _findFrameNamed:]): Use _findFrameInThisWindowNamed: to make sure top-level frame names get checked.
- 8:50 PM Changeset in webkit [2503] by
-
- 3 edits6 adds2 deletes in trunk/WebKit
Created Downloads.subproj to hold the to-be-implemented download decoders.
- Downloads.subproj/WebDownloadDecoder.h: Added.
- Downloads.subproj/WebDownloadHandler.h: Added.
- Downloads.subproj/WebDownloadHandler.m: Added. (-[WebDownloadHandler initWithDataSource:]): (-[WebDownloadHandler dealloc]): (-[WebDownloadHandler errorWithCode:]): (-[WebDownloadHandler receivedResponse:]): (-[WebDownloadHandler receivedData:]): (-[WebDownloadHandler finishedLoading]): (-[WebDownloadHandler cancel]):
- Misc.subproj/WebDownloadHandler.h: Removed.
- Misc.subproj/WebDownloadHandler.m: Removed.
- WebKit.pbproj/project.pbxproj:
Oct 28, 2002:
- 11:05 PM Changeset in webkit [2502] by
-
- 4 edits in trunk/WebCore
- khtml/khtml_part.cpp: (KHTMLPart::checkCompleted): Update so it handles nil for the view.
- 10:51 PM Changeset in webkit [2501] by
-
- 15 edits in trunk/WebCore
- fixed 3070484 -- icon rollovers are very slow on Mac OS X website
The problem was simply that the part didn't know it was complete.
To let it know, I hooked up some loader signals, and now it works.
- khtml/khtml_part.cpp: (KHTMLPart::init): Create the KWQKHTMLPart a little earlier so we have a chance to initialize the cache before it's used. (KHTMLPart::slotLoaderRequestStarted): Take this out of ifdefs. (KHTMLPart::slotLoaderRequestDone): Ditto.
- khtml/misc/loader.h: Add a KWQLoader pointer to the loader.
- khtml/misc/loader.cpp: (Loader::Loader): Create a KWQLoader; (Loader::~Loader): Destroy the KWQLoader. (Loader::load): Take out ifdefs around code that emits requestStarted.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): Call Cache::init().
- kwq/KWQLoader.h: Add a class KWQLoader, with three signals in it.
- kwq/KWQLoader.mm: (KWQLoader::KWQLoader): Initialize the three signals.
- kwq/KWQSignalStubs.mm: (Loader::requestDone): Emit the signal using KWQLoader. (Loader::requestFailed): Ditto. (Loader::requestStarted): Ditto.
- kwq/KWQSlot.h: Add an overload for slots with loader and cached object parameters so we can handle the new slots.
- kwq/KWQSlot.mm: (KWQSlot::KWQSlot): Added slotLoaderRequestDone and slotLoaderRequestStarted. (KWQSlot::call): Added the new overload to handle those two signals.
- kwq/KWQSignal.h: Add an overload for signals with loader and cached object parameters so we can handle the new signals.
- kwq/KWQSignal.mm: (KWQSignal::call): Ditto.
- kwq/KWQObject.mm: (QObject::connect): Remove the special casing that prevents complaints about slotLoaderRequestDone and slotLoaderRequestStarted, since we support those now.
- 9:29 PM Changeset in webkit [2500] by
-
- 3 edits in trunk/WebKit
- fixed crash I just introduced
- Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase init]): Remove the release call here. When I added the autorelease, I didn't realize that the caller was doing a release.
- 5:49 PM Changeset in webkit [2499] by
-
- 4 edits in trunk/WebKit
Fixed 3041616 - Extra page added in back button history
Client-side redirects would always put an extra item in the backforward list.
According to Darin this is a regression all the way back from functionality moving
from WebBrowser to WebKit.
- WebCoreSupport.subproj/WebBridge.h: Added state to know if we're doing an "internal" type of load
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge reportClientRedirectTo:delay:fireDate:]): Set internalLoad bit if delay==0 (-[WebBridge reportClientRedirectCancelled]): Clear internalLoad (-[WebBridge loadURL:]): Set frame's loadType if doing an internal load (similar to what we do when loading child frames)
- 5:18 PM Changeset in webkit [2498] by
-
- 14 edits in trunk
WebFoundation:
- fixed storage leak of WebFileDatabaseOp objects
- Database.subproj/WebFileDatabase.m: (-[WebFileDatabase setObject:forKey:]): Release op so it doesn't leak. (-[WebFileDatabase removeObjectForKey:]): Release op so it doesn't leak. (-[WebFileDatabase lazySync:]): Retain op before removing it from the list, since we want to work with it a bit before releasing it.
WebCore:
- fixed storage leak of items in QListBox
- kwq/KWQListBox.h: Added private deleteItems method.
- kwq/KWQListBox.mm: (QListBox::~QListBox): Call deleteItems(). (QListBox::deleteItems): Move the code to delete all the items here from clear(), since clear() is not called on destruction. (QListBox::clear): Call deleteItems().
WebKit:
- fixed storage leak of WebNetscapePluginPackage objects
- Plugins.subproj/WebBasePluginPackage.m: (+[WebBasePluginPackage pluginWithPath:]): Add missing autorelease.
- Plugins.subproj/WebBasePluginPackage.h:
- Plugins.subproj/WebPluginController.h:
- Plugins.subproj/WebPluginController.m:
- Plugins.subproj/WebPluginPackage.h:
- Plugins.subproj/WebPluginPackage.m: Not MyCompanyName, but rather Apple Computer.
- 4:48 PM Changeset in webkit [2497] by
-
- 4 edits in trunk/WebCore
Lowercase the text encoding name.
- kwq/KWQCharsets.mm: (KWQCFStringEncodingFromIANACharsetName):
- 3:16 PM Changeset in webkit [2496] by
-
- 14 edits in trunk/WebKit
WebFoundation:
- fixed bug that caused us to leak one block sometimes when we called WebCallFromCFRunLoop
- Misc.subproj/WebCFRunLoopExtras.m: (WebCallFromCFRunLoop): Initialize refCount to 0.
WebKit:
- fixed bug that caused us to leak all WebResourceHandles used for subresources
- WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient dealloc]): Remove bogus "currentURL == nil" assert. (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Use the new loadWithRequest: call instead of making handle and doing loadWithDelegate:. This is where the leak was, because no one ever released the handle, but releasing it right away would be too soon.
- WebView.subproj/WebBaseResourceHandleDelegate.h: Added defersCallbacks field, loadWithRequest: method, and setDefersCallbacks: method. Removed handle method.
- WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate loadWithRequest:]): New method. Sets up the handle, set the defersCallbacks state on it, and calls loadWithDelegate:. (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): Stores defersCallbacks state, and also sets it on the handle, if any. (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): Remove code to set up the handle, since we now do that at loadWithRequest: time.
- WebView.subproj/WebDataSourcePrivate.h: Remove mainHandle field.
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): Don't release mainHandle. (-[WebDataSource _setPrimaryLoadComplete:]): Ditto. (-[WebDataSource _startLoading]): Use loadWithRequest: on the client, no need to deal with the handle directly at all. (-[WebDataSource _addSubresourceClient:]): Call setDefersCallbacks: on the client. (-[WebDataSource _defersCallbacksChanged]): Ditto.
- WebView.subproj/WebControllerPrivate.m: Remove unneeded include.
- WebView.subproj/WebMainResourceClient.m: Ditto.
- 2:22 PM Changeset in webkit [2495] by
-
- 4 edits in trunk/WebCore
Fixed 3086188 - REGRESSION: Justified text is broken
Bogus special case for DirW(hite)S(pace). This
should be correctly detected by CF, but is not.
Revert to explicit checking for ' ' character. This'll
work most of the time. All the more reason to do
our own unicode attribute database.
- kwq/KWQChar.mm: (QChar::direction):
- 1:59 PM Changeset in webkit [2494] by
-
- 12 edits in trunk
WebCore:
Fixed: 3056726 - View Source window always displays the source in current system encoding
Fixed: 3019352 - Text encoding is not handled when viewing plain text
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (+[WebCoreBridge stringWithData:textEncoding:]): added, creates a string with data using the WebCore's decoding logic. (+[WebCoreBridge stringWithData:textEncodingName:]): added, calls stringWithData:textEncoding: after getting the encoding for a text encoding name
WebKit:
Fixed: 3056726 - View Source window always displays the source in current system encoding
Fixed: 3019352 - Text encoding is not handled when viewing plain text
- WebView.subproj/WebDataSource.h:
- WebView.subproj/WebDataSource.m: (-[WebDataSource stringWithData:]): added, creates a string using the specified encoding.
- WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation documentSource]): uses the bridge specified encoding when creating the string
- WebView.subproj/WebTextView.h:
- WebView.subproj/WebTextView.m: (-[WebTextView dataSourceUpdated:]): use stringWithData: (-[WebTextView supportsTextEncoding]): Yup
- 1:28 PM Changeset in webkit [2493] by
-
- 5 edits in trunk/WebCore
- khtml/html/htmlparser.cpp:
(KHTMLParser::insertNode):
- khtml/html/htmltokenizer.cpp:
(HTMLTokenizer::write):
Backed our Dave's whitespace hack because it was adding newlines, i.e.
vertical margins, to web pages all over.
- 12:51 PM Changeset in webkit [2492] by
-
- 3 edits in trunk/WebKit
Fixed crasher.
- WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
- 12:40 PM Changeset in webkit [2491] by
-
- 4 edits in trunk/WebKit
WebKit:
- Bookmarks.subproj/WebBookmark.h:
- Bookmarks.subproj/WebBookmark.m: (-[WebBookmark contentMatches:]): new method, returns YES if two bookmarks are the same, ignoring group and parent.
WebBrowser:
- fixed 3083274 -- Add preference for separating/consolidating contents of Bookmarks Toolbar and Menu
- fixed 3083277 -- Add preferences for showing Address Book and Rendezvous items in Bookmarks menu
Also made Bookmarks menu update only when it is about to be pulled
down (like History menu), rather than every time bookmarks change.
- Defaults.plist,
- PreferenceKeys.h: Add new preference keys with default values: BookmarksMenuAndToolbarAreSame, BookmarksMenuIncludesAddressBook, and BookmarksMenuIncludesRendezvous. Also #defined BrowserPreferenceValueChangedNotification, which is sent when certain preference values change.
- Preferences.subproj/GeneralPreferences.h:
- Preferences.subproj/GeneralPreferences.m: (-[GeneralPreferences sendChangeNotificationForPreferenceKey:]): new method, sends BrowserPreferenceValueChangedNotification with a particular preference key's name in the userInfo (-[GeneralPreferences toggleBookmarksMenuAndToolbarAreSame:]), (-[GeneralPreferences toggleBookmarksMenuIncludesRendezvous:]), (-[GeneralPreferences toggleBookmarksMenuIncludesAddressBook:]): Set the appropriate preference, and call sendChangeNotificationForPreferenceKey (-[GeneralPreferences initializeFromDefaults]): Set the initial state for the new checkboxes.
- Preferences.subproj/English.lproj/GeneralPreferences.nib: Added checkboxes for the three new preferences. With Ron Brannan's help, the text is decent, but the General Preferences panel is now much taller than the others; we'll probably need a reorganization soon.
- BookmarkSource.h: added bookmarkSourceImage, setBookmarkSourceMenu:, and bookmarkSourceMenuTitle to the BookmarkSource protocol.
- GlobalHistory.h: removed setHistoryMenu: and historyMenu
- GlobalHistory.m: (-[GlobalHistory dealloc]): change setHistoryMenu to setBookmarkSourceMenu (-[GlobalHistory bookmarkSourceImage]): new method, returns little clock image (-[GlobalHistory setBookmarkSourceMenu:]): new name for setHistoryMenu (-[GlobalHistory bookmarkSourceMenuTitle]): new method, returns nil here since history uses an existing top-level menu
- AppController.m: (-[AppController applicationDidFinishLaunching:]): use -[GlobalHistory setBookmarkSourceMenu:] instead of obsolete -[GlobalHistory setHistoryMenu:]
- ABHomePagesController.h:
- ABHomePagesController.m: (-[ABHomePagesController dealloc]): call setBookmarkSourceMenu:nil (-[ABHomePagesController refreshContents]): set _menuGood to NO (-[ABHomePagesController updateMenu]): new method, make menu contents match address book contents (if !_menuGood) (-[ABHomePagesController setBookmarkSourceMenu:]): new method, set up menuUpdater (-[ABHomePagesController bookmarkSourceMenuTitle]): new method, return "Address Book" (-[ABHomePagesController bookmarkSourceImage]): new method, return little address book image
- RendezvousController.h:
- RendezvousController.m: (-[RendezvousController dealloc]): call setBookmarkSourceMenu:nil (-[RendezvousController sendContentsChangedNotification]): set _menuGood to NO (-[RendezvousController updateMenu]): new method, make menu contents match Rendezvous list (if !_menuGood) (-[RendezvousController setBookmarkSourceMenu:]): new method, set up menuUpdater (-[RendezvousController bookmarkSourceMenuTitle]): new method, return "Rendezvous" (-[RendezvousController bookmarkSourceImage]): new method, return little Rendezvous logo image
- BookmarksController.h: now implements MenuUpdaterDelegate protocol and updates the Bookmarks menu only when it's about to be shown rather than when any bookmarks change.
- BookmarksController.m: (-[BookmarksController imageForBookmark:]): get bookmark source images using BookmarkSource protocol rather than hardwiring here (-[BookmarksController _removeAllBookmarksFromMenu]): renamed from _removeBookmarksFromMenu for some nitpicky reason (-[BookmarksController bookmarkSource:setShouldIncludeSubmenu:]): new method, creates submenu for bookmark source if appropriate (-[BookmarksController addSpecialBookmarkSourcesToMenu]): new method, checks preferences and calls bookmarkSource:setShouldIncludeSubmenu: for Rendezvous and AddressBook (-[BookmarksController updateMenu]): renamed from _updateBookmarksInMenu (now it's the MenuUpdaterDelegate method); do nothing if _menuGood, otherwise remove all bookmarks, then add them back in. (-[BookmarksController _receivedBookmarksChangedNotification:]): set _menuGood to NO rather than updating bookmarks immediately (-[BookmarksController receivedBrowserPreferenceValueChangedNotification:]): new method, do the appropriate updating based on which preference changed (-[BookmarksController addBookmarksMenuUpdater]): new method, broken out only so it could be called after a delay, since awakeFromNib is slightly too early (-[BookmarksController awakeFromNib]): set up menu updater (after delay); observe BrowserPreferenceValueChangedNotification (-[BookmarksController dealloc]): remove menu updater (-[BookmarksController bookmarkSourceForProxyIdentifier:]): new method, moved here from BookmarksViewController; converts a string identifier into an object implementing <BookmarkSource> (-[BookmarksController addUniqueBookmarksFrom:to:]): new method, used to consolidate toolbar and menu contents when the pref is set that way. (-[BookmarksController updateBookmarkSources]): renamed from _blessOrCreateSpecialFolders, now it is also called in response to a change to BookmarksMenuAndToolbarAreSamePreferenceKey; handle making menu initially be a copy of toolbar, or consolidating the two, depending on pref value.
- BookmarksViewController.m: (-[BookmarksViewController bookmarkSourceContentsChanged:]), (-[BookmarksViewController refreshContents]), (-[BookmarksViewController bookmarksFromContentItems:]), (-[BookmarksViewController bookmarkFromContentItem:]), (-[BookmarksViewController canDeleteFromSelectedBookmarkSource]), (-[BookmarksViewController child:ofContentItem:]), (-[BookmarksViewController isContentItemExpandable:]), (-[BookmarksViewController numberOfChildrenOfContentItem:]), (-[BookmarksViewController titleStringForContentItem:]), (-[BookmarksViewController addressStringForContentItem:]), (-[BookmarksViewController imageForContentItem:]), (-[BookmarksViewController deleteContentItems:]): Updated to call bookmarkSourceForProxyIdentifier on [BookmarksController sharedController] rather than self.
- FavoriteButton.m: (-[FavoriteButton determineDragOperation:]): use -[WebBookmark contentMatches:] instead of (deleted) [FavoriteButton bookmarkMatches:]
- English.lproj/Localizable.strings,
- English.lproj/StringsNotToBeLocalized.txt: kept localizations up to date
- 10:49 AM Changeset in webkit [2490] by
-
- 7 edits in trunk/WebKit
WebKit:
Finished 2998200 - access to most-recent in submenu of back & forward buttons
- WebView.subproj/WebDataSourcePrivate.h: The BF items we are going to and from were moved here from WebFrame because of timing problems among multiple data sources when using the BF buttons during a load. In addition, the datasource has a list of relevant BF items for which it keeps their titles up to date.
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): Free new state. (-[WebDataSource _setTitle:]): Update titles of BF items. (-[WebDataSource _provisionalBackForwardItem]): (-[WebDataSource _setProvisionalBackForwardItem:]): (-[WebDataSource _previousBackForwardItem]): (-[WebDataSource _setPreviousBackForwardItem:]): (-[WebDataSource _addBackForwardItem:]): Maintain new state. (-[WebDataSource _commitIfReady]): Free up previous and provisional BF items after commit.
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:]): Add the new BF item to the datasource. (-[WebBridge saveDocumentState:]): Use the right BF item to save the doc state.
- WebView.subproj/WebFramePrivate.h: Previous and provisional BF are moved to datasource.
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]): Use provisional BF from datasource to set position in BF list. Add new BF item to datasource. (-[WebFrame _isLoadComplete]): (-[WebFrame _checkLoadComplete]): Comments, whitespace. (-[WebFrame _goToItem:withFrameLoadType:]): Set item we will use to saveDocState at commit time.
WebBrowser:
Finished 2998200 - access to most-recent in submenu of back & forward buttons
- BrowserDocument.m: (-[BrowserDocument _addItem:toMenu:]): Center-truncate menu items to reasonable width
- Defaults.plist: Set Back-forward max size to 200.
- 10:48 AM Changeset in webkit [2489] by
-
- 4 edits in trunk/WebCore
Tests:
- WebFoundation-Misc/ifnsurlextensions-test.chk: Update WebNSURLExtras tests for recently-implemented ftp URL canonicalization.
WebFoundation:
- fixed 3015800 -- bad URL error - unescaped # in URL
Actually this has to be fixed both here and in KURL.
- Misc.subproj/WebNSURLExtras.m: (StringByAddingPercentEscapes): Escape "#" characters too. (URLStringByAddingPercentEscapes): Change the code so that it specifically makes an exception for the first "#" character in the string. I guess that it should really be the first "#" in the path, but that would be a lot harder. (+[NSURL _web_URLWithString:relativeToURL:]): Cite the new CFURL bug I filed.
WebCore:
- fixed 3015800 -- bad URL error - unescaped # in URL
Actually this has to be fixed both here and in NSURLExtras.
- kwq/KWQKURL.mm: Set the "BadChar" flag for "#" so we escape any "#" characters we see after the first one.