Timeline
May 14, 2002:
- 8:35 PM Changeset in webkit [1152] by
-
- 14 edits in trunk/WebKit
Work to support copying bookmarks, needed for drag & drop
in Bookmarks window.
- Bookmarks.subproj/IFBookmark.h: Make IFBookmark conform to NSCopying.
- Bookmarks.subproj/IFBookmark.m: (-[IFBookmark copyWithZone:]): insist that subclasses implement this.
- Bookmarks.subproj/IFBookmarkGroup.h:
- Bookmarks.subproj/IFBookmarkGroup.m: (-[IFBookmarkGroup insertBookmark:atIndex:ofBookmark:]): Removed this unnecessary method.
- Bookmarks.subproj/IFBookmarkLeaf.m: (-[IFBookmarkLeaf copyWithZone:]): New method.
- Bookmarks.subproj/IFBookmarkList.m: (-[IFBookmarkList copyWithZone:]): New method.
Fixed 2921730 -- Can't rearrange bookmarks in Bookmarks window
You can now drag and drop willy-nilly in the Bookmarks window to
rearrange items. It's currently using a private pasteboard type,
so you can't drop items from elsewhere or drag the bookmarks out
of the list. I know of one bug (dropping an item inside itself
makes it poof into nothingness) which I'll write up in a moment.
- BookmarksController.m: (-[BookmarksController windowDidLoad]): register for our dragged type. (-[BookmarksController _anyAncestorOfRow:inArray:]): New helper method, used to avoid copying a folder deep and some of its children at the same time. (-[BookmarksController outlineView:writeItems:toPasteboard:]): Write list of rows to pasteboard, after eliminating items whose ancestors are also in set. (-[BookmarksController outlineView:validateDrop:proposedItem:proposedChildIndex:]): Move a drop on a leaf bookmark to be after the leaf bookmark. (-[BookmarksController outlineView:acceptDrop:item:childIndex:]): Do the move, by inserting copies of the moved items and then removing the originals.
- OutlineViewPlus.m: (-[OutlineViewPlus setAcceptsFirstMouse:]): (-[OutlineViewPlus acceptsFirstMouse:]): Removed debugging messages I accidentally left in here.
- 7:32 PM Changeset in webkit [1151] by
-
- 4 edits in trunk/WebKit
Fixed exception in log code.
- 6:59 PM Changeset in webkit [1150] by
-
- 15 edits in trunk
Fixed 2926153, not getting correct messages after cancel.
Fixed leak of mouse events (Darin wanted this ASAP).
Added another symbol for stack based event constructor.
Change to support onLoad.
- 5:19 PM Changeset in webkit [1149] by
-
- 15 edits in trunk
WebCore:
Changed slotData to slotData(NSString *encoding, const char *bytes, int length)
- khtml/khtml_part.h:
- kwq/KWQKHTMLPart.mm: (KHTMLPart::slotData):
- libwebcore.exp:
WebKit:
Removed retain of the URL handle. This was causing everything to leak.
- WebView.subproj/IFMainURLHandleClient.h:
- WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient initWithDataSource:part:]): (-[IFMainURLHandleClient dealloc]): (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): (-[IFMainURLHandleClient processData:isComplete:]):
- 5:08 PM Changeset in webkit [1148] by
-
- 4 edits in trunk/WebKit
- WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]): Remove code that makes us the first responder. That's up to the higher levels, not the web view.
- 1:53 PM Changeset in webkit [1147] by
-
- 4 edits in trunk/WebCore
Fixed 2925291 -- CSS2 test page causes infinite recursion, crash
- khtml/rendering/render_container.cpp: (RenderContainer::addChild): Add code to detect the case of a render object that uses text cell style but is not itself a text style, and make sure we don't try to nest such an object inside an infinite number of tables.
- 12:16 PM Changeset in webkit [1146] by
-
- 4 edits in trunk/WebKit
- History.subproj/IFURIEntry.h: Oops, deleted the prototype for setLastVisitedDate accidentally, which made Jersey sad.
- 11:07 AM Changeset in webkit [1145] by
-
- 9 edits1 delete in trunk/WebKit
Fixed 2919027 -- Need to remove unused code in WebKit/History.subproj
- History.subproj/IFAttributedURL.h: Removed.
- History.subproj/IFBackForwardList.h: Removed large #ifdef.
- History.subproj/IFURIEntry.h,
- History.subproj/IFURIEntry.m: Removed all mention of unused fields comment, creationDate, modificationDate
- WebKit.pbproj/project.pbxproj: Updated for removed file.
- 6:52 AM Changeset in webkit [1144] by
-
- 5 edits in trunk/WebCore
- kwq/KWQListImpl.mm: (KWQListIteratorImpl::KWQListIteratorImpl): Add a missing check for a null pointer.
- kwq/KWQGuardedPtr.mm: (KWQGuardedPtrBase::KWQGuardedPtrBase): Remove an unnecessary call to "toFirst", because new iterators already default to pointing to the first element of the list.
May 13, 2002:
- 11:16 PM Changeset in webkit [1143] by
-
- 4 edits in trunk/WebCore
- kwq/KWQListImpl.mm: (KWQListImpl::~KWQListImpl): Detach all the iterators from the list when the list is destroyed. I thought this was done before, but it seems not.
- 10:43 PM Changeset in webkit [1142] by
-
- 16 edits in trunk/WebKit
Added support for setting the content policy on the location change handler
and data source at any time instead of depending on an immediate response.
- WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController haveContentPolicy:andPath:forLocationChangeHandler:]):
- WebView.subproj/IFMainURLHandleClient.h:
- WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient initWithDataSource:part:]): (-[IFMainURLHandleClient dealloc]): (-[IFMainURLHandleClient setContentPolicy:]): (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): (-[IFMainURLHandleClient processData:isComplete:]):
- WebView.subproj/IFWebController.h:
- WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setContentPolicy:]):
- WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]):
- 7:57 PM Changeset in webkit [1141] by
-
- 13 edits in trunk/WebCore
Fixed bug 2922884 (JavaScript object leak creating Image object from JavaScript).
There was a reference loop created when a document contained a variable that
referenced an image, because images held references to the document; the C++
kind that do not participate in the JavaScript garbage collection.
- khtml/ecma/kjs_html.h: Use a QGuardedPtr to the DocumentImpl instead of using a Document object.
- khtml/ecma/kjs_html.cpp: (Image::tryPut): Change because the "doc" pointer is now a pointer to the DocumentImpl, not the Document. Also check for 0, since it's now a QGuardedPtr that can become 0. (Image::Image): Newly out of line. Changed because the "doc" pointer is now a pointer to the DocumentImpl, not the Document.
Since the solution used QGuardedPtr, I had to implement it.
- kwq/qt/qguardedptr.h: Put the implementation in a new KWQGuardedPtrBase class, with only the bare minimum in a template. This new implementation uses iterators on a QPtrList, which means there's not much code needed.
- kwq/KWQGuardedPtr.mm: (KWQGuardedPtrBase::KWQGuardedPtrBase): Rewrite to use a QPtrListIterator to a dummy list in the QObject. This reuses code nicely, but a custom-coded solution would be a bit more efficient.
- kwq/qt/qobject.h:
- kwq/KWQObject.mm: (QObject::QObject): Create the one-element list that's used by the QGuardedPtr instances.
Since the above code needed to copy a QPtrListIterator, I needed to support that.
- kwq/qt/qlist.h: Move the iterator's copy constructor out of the private part, and implement it. This class was strange in that it has a public assignment operator, but a private unimplemented copy constructor. Implementing it was trivial, though, so this was no obstacle.
- 7:56 PM Changeset in webkit [1140] by
-
- 4 edits in trunk/JavaScriptCore
- kjs/value.h: Fix comment typos.
- 7:30 PM Changeset in webkit [1139] by
-
- 3 edits in trunk/WebKit
- Makefile.am: Make WebCore precompiled headers depend on config.h to fix build breakage from last change.
WebKit:
- WebKitPrefix.h: Gratuitous change to make the prefix file rebuild.
- 5:27 PM Changeset in webkit [1138] by
-
- 5 edits2 deletes in trunk/WebCore
Removed libjpeg dependency. Turns out we don't need it.
- configure.in: Don't check for libjpeg.
- Updates/update: Don't bother with the libjpeg update.
- Updates/install-libjpeg.sh: Removed.
WebCore:
Removed libjpeg dependency. Turns out we don't need it.
- Makefile.am: Remove -ljpeg from link line.
- khtml/misc/loader_jpeg.cpp: Removed.
- khtml/misc/loader_jpeg.h: Removed.
- khtml/misc/Makefile.am: Remve loader_jpeg from build.
- 11:22 AM Changeset in webkit [1137] by
-
- 11 edits in trunk/WebKit
- WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController URLPolicyForURL:]):
Use [IFURLHandle canInitWithURL] instead of hard-coded URL schemes.
- WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
- WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- WebView.subproj/IFWebDataSourcePrivate.h:
- WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate init]): (-[IFWebDataSource _setDownloadPath:]):
Removed _contentPolicy as contentPolicy is public.
Initialize contentPolicy in [IFWebDataSourcePrivate init].
May 10, 2002:
- 4:08 PM Changeset in webkit [1136] by
-
- 4 edits in trunk/WebCore
Made log output match webkit logging.
- 4:07 PM Changeset in webkit [1135] by
-
- 8 edits1 add in trunk/WebKit
Logging changes.
- 3:28 PM Changeset in webkit [1134] by
-
- 13 edits in trunk
WebKit:
Added support for non-html non-file URL data sources.
Added the init methods below. Removed initWithHandle.
- WebView.subproj/IFWebDataSource.h:
- WebView.subproj/IFWebDataSource.mm: (IFWebDataSourceMake): (-[IFWebDataSource initWithURL:]): (-[IFWebDataSource initWithURL:attributes:]): (-[IFWebDataSource startLoading:]):
WebCore:
Changed WCIFWebDataSourceMake to wrap around [IFWebDataSource initWithUR
L: attributes: flags:]
instead of initWithHandle.
- kwq/KWQKHTMLPart.mm: (KHTMLPart::requestFrame): (KHTMLPart::submitForm):
- kwq/WCWebDataSource.h:
- libwebcore.exp:
- 3:16 PM Changeset in webkit [1133] by
-
- 3 edits in trunk/WebCore
Fixed 2923728 (ellipsizing text method is taking a lot of CPU time) by writing a
new string truncator that uses fast text measurement.
- AppController.m: (-[AppController awakeFromNib]): Remove _setUpStringTruncator.
- BrowserDocument.h: Remove _cachedPageName; it was not doing any good.
- BrowserDocument.m: (-[BrowserDocument dealloc]): No need to release _cachedPageName. (-[BrowserDocument pageName]): No need to use _cachedPageName. (-[BrowserDocument _updateWindowTitles]): Name change.
- StringTruncator.h: Rewrite. Only the name is the same.
- StringTruncator.m: (+[StringTruncator centerTruncateString:length:omitCount:toBuffer:]): Does the work of removing the middle of a string. (+[StringTruncator centerTruncateString:toWidth:]): Convenience cover version that uses the menu font. (+[StringTruncator centerTruncateString:toWidth:withFont:]): The code to do the truncating.
- TextCell.m: (-[TextCell drawInteriorWithFrame:inView:]): Use the new truncator interface that takes a font, not the old one that took an attributes dictionary.
- WebBrowser.pbproj/project.pbxproj: Some little tweak.
- 3:11 PM Changeset in webkit [1132] by
-
- 11 edits in trunk/WebKit
- WebCoreSupport.subproj/IFTextRenderer.h: Moved most of the stuff from here into the .m file so this header can be included by clients. Also added floatWidthForCharacters:length:.
- WebCoreSupport.subproj/IFTextRenderer.m: (freeWidthMap): Check for NULL. (freeGlyphMap): Check for NULL. (-[IFTextRenderer slowFloatWidthForCharacters:length:]): Renamed, and made it return the float. (-[IFTextRenderer floatWidthForCharacters:length:]): Renamed, and made it return the float. (-[IFTextRenderer widthForCharacters:length:]): Do rounding here.
- WebCoreSupport.subproj/IFTextRendererFactory.h:
- WebCoreSupport.subproj/IFTextRendererFactory.m: Make the interface slightly easier to use by using the specific types.
- WebKit.pbproj/project.pbxproj: Exported the headers.
- 2:51 PM Changeset in webkit [1131] by
-
- 5 edits in trunk/WebKit
2002-05-10 Kenneth Kocienda <kocienda@apple.com>
Fixed build breakage caused by my previous checkin.
- WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:])
- 2:25 PM Changeset in webkit [1130] by
-
- 8 edits1 add in trunk/WebKit
Fixed 2922756 (@ image in History window is a little too tall)
Fixed 2923790 (bookmark folders need folder icons)
- Resources/bookmark_folder.tiff: New image (small folder, copied from elsewhere)
- Resources/url_icon.tiff: Shrunk this one a little bit.
- Bookmarks.subproj/IFBookmarkList.m: (-[IFBookmarkList image]): Return the default image if no custom image is set.
- History.subproj/IFURIEntry.m: (-[IFURIEntry image]): If the default image's file isn't found, don't try to create an NSImage, because it will come out horribly broken and evil if you do (I ran into this while adding the bookmark folder image; most of Alexander's menus did not appear at all because the bookmark folder image was using a bogus NSImage).
- WebKit.pbproj/project.pbxproj: Updated for new files.
Fixed 2922745 (Bookmark and History window should use same font size)
Fixed 2923792 (All buttons in Bookmarks window look the same)
- Resources/Images/new_bookmark.tiff: Added.
- Resources/Images/new_folder.tiff: Added.
- Resources/Images/pencil.tiff: Added. New images for buttons in Bookmarks window. new_folder was stolen from Finder; pencil was stolen from Mail; new_bookmark is a Sullivan Original™.
- AppController.m: (-[AppController _addBookmarksToMenu]): (-[AppController _updateBookmarksInMenu]): Remove count of bookmarks from debug timing message since it wasn't counting deep.
- BookmarksController.m: (-[BookmarksController toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:]): Use the right images for the right buttons.
- English.lproj/Bookmarks.nib: Change the font size to match History window.
- WebBrowser.pbproj/project.pbxproj: Updated for new files.
- 2:07 PM Changeset in webkit [1129] by
-
- 8 edits in trunk/WebKit
2002-05-10 Kenneth Kocienda <kocienda@apple.com>
Reviewed by: Maciej Stachowiak
WebFoundation:
This set of changes enhances the IFError object with two new pieces of
information:
1) An error domain, to help separate error codes from different
sources that may overlap
2) An indicator of whether the error should be treated as "terminal" by
code that receives and handles the error.
I have added a couple of other cleanups in this class, as described by
the bugs noted below.
The other code in this set of changes was modified to use the new interface
and features of IFError.
Fixes for these four bugs:
Radar 2923998 (Change IFError private data into a pointer to a private data object)
Radar 2924002 (IFError should include an error domain)
Radar 2924013 (IFError initialization is not threadsafe)
Radar 2924280 (IFError should contain a new field which tells whether the error is terminal)
- CacheLoader.subproj/IFFileURLProtocolHandler.m: (-[IFFileURLProtocolHandler fileLoadThread])
- CacheLoader.subproj/IFHTTPURLProtocolHandler.m: (-[IFHTTPURLProtocolHandler continueBeginLoadInBackgroundAfterCreatingHTTPRequest]) (-[IFHTTPURLProtocolHandler retryWithRedirectedURL:]) (-[IFHTTPURLProtocolHandler handleReadStreamEvent:event:]) (-[IFHTTPURLProtocolHandler performHTTPHeaderRead:]) (-[IFHTTPURLProtocolHandler determineErrorAndFail])
- CacheLoader.subproj/IFURLCacheLoaderConstants.:h
- CacheLoader.subproj/IFURLHandle.m: (-[IFURLHandle _backgroundLoadFailedWithResultCode:inDomain:isTerminal:]) (-[IFURLHandle _setError:]) (-[IFURLHandle _notifyClientsDidFailLoading])
- CacheLoader.subproj/IFURLHandleC.h:
- CacheLoader.subproj/IFURLHandleC.m: (IFURLHandleBackgroundLoadFailedWithResultCode)
- CacheLoader.subproj/IFURLHandlePrivate.h:
- CacheLoader.subproj/IFURLLoad.h:
- CacheLoader.subproj/IFURLLoad.m: (-[IFURLLoad failedWithResultCode:inDomain:isTerminal:]) (-[IFURLLoad scheduleOriginLoad]) (-[IFURLLoad beginOriginLoad]) (_loadSweeper)
- Misc.subproj/IFError.h:
- Misc.subproj/IFError.m: (-[IFErrorPrivate dealloc]) (classInitialize) (+[IFError errorWithCode:inDomain:failingURL:isTerminal:]) (-[IFError initWithErrorCode:inDomain:failingURL:isTerminal:]) (-[IFError dealloc]) (-[IFError errorCode]) (-[IFError errorDomain]) (-[IFError terminalError]) (-[IFError errorDescription]) (-[IFError failingURL]) (-[IFError description])
WebKit:
This code was modified to use the new interface and features of IFError.
These features and changes are described in these four bug reports:
Radar 2923998 (Change IFError private data into a pointer to a private data object)
Radar 2924002 (IFError should include an error domain)
Radar 2924013 (IFError initialization is not threadsafe)
Radar 2924280 (IFError should contain a new field which tells whether the error is terminal)
- Plugins.subproj/IFPluginView.mm: (-[IFPluginView IFURLHandle:resourceDidFailLoadingWithResult:])
- WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]) (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:])
- WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:])
- 1:52 PM Changeset in webkit [1128]
-
- 1 copy2 deletes in tags/JavaScriptCore-4
This commit was manufactured by cvs2svn to create tag
'JavaScriptCore-4'.
- 1:52 PM Changeset in webkit [1127] by
-
- 5 edits in trunk/JavaScriptCore
JavaScriptCore-4
- 9:41 AM Changeset in webkit [1126] by
-
- 9 edits in trunk/JavaScriptCore
Reviewed by: Ken Kocienda and Darin Adler
Fixed the following bug:
Radar 2890573 - JavaScriptCore needs to be thread-safe
Actually this is only a weak form of thread-safety - you can safely
use different interpreters from different threads at the same
time. If you try to use a single interpreter object from multiple
threads, you need to provide your own locking.
- kjs/collector.h, kjs/collector.cpp: (Collector::lock, Collector::unlock): Trivial implementation of a recursive mutex. (Collector::allocate): Lock around the body of this function. (Collector::collect): Likewise. (Collector::finalCheck): Likewise. (Collector::numInterpreters): Likewise. (Collector::numGCNotAllowedObjects): Likewise. (Collector::numReferencedObjects): Likewise.
- kjs/internal.cpp: (Parser::parse): use a mutex to lock around the whole parse, since it uses a bunch of global state. (InterpreterImp::InterpreterImp): Grab the Collector lock here, both the mutually exclude calls to the body of this function, and to protect the s_hook static member which the collector pokes at. (InterpreterImp::clear): Likewise.
- kjs/ustring.cpp: (statBufferKeyCleanup, statBufferKeyInit, UString::ascii): Convert use of static variable
- kjs/value.cpp: (ValueImp::ValueImp, ValueImp::mark, ValueImp::marked, ValueImp::setGcAllowed): Grab the GC lock around any flag changes.