Timeline
Feb 13, 2002:
- 8:19 PM Changeset in webkit [621] by
-
- 5 edits in trunk/WebCore
Use NSSwitchButton for check boxes.
- 7:18 PM Changeset in webkit [620] by
-
- 11 edits in trunk/WebKit
Fixed cleanup problem.
- 7:18 PM Changeset in webkit [619] by
-
- 5 edits in trunk/WebCore
Removed dead code.
- 11:14 AM Changeset in webkit [618] by
-
- 10 edits in trunk
Fixed a bug where the QT Plug-in would complain about not using QT 5. This was because sometimes I wasn't passing a mime type to the plug-in
- 10:27 AM Changeset in webkit [617] by
-
- 1 edit in trunk/WebKit/Misc.subproj/WebFileDatabase.m
2002-02-13 Kenneth Kocienda <kocienda@apple.com>
Cleaned up IFURLHandle and IFHTTPURLHandle init interfaces, making them attribute-based.
Made URL handle classes immutable.
Made additions to C glue to match changes made in Objective-C code.
Added more FIXME bug lines.
Cleaned up cache interfaces so their names are more consistent.
- CacheLoader.subproj/IFHTTPURLHandle.h:
- CacheLoader.subproj/IFHTTPURLHandle.m: (+[IFHTTPURLHandle canInitWithURL:]), (+[IFHTTPURLHandle canonicalizeURL:]), (-[IFHTTPURLHandle initWithURL:]), (-[IFHTTPURLHandle initWithURL:cached:]), (-[IFHTTPURLHandle requestHeaders]), (-[IFHTTPURLHandle requestData]), (-[IFHTTPURLHandle responseHeaders]), (-[IFHTTPURLHandle contentLengthReceived]), (-[IFHTTPURLHandle percentComplete]):
- CacheLoader.subproj/IFHTTPURLHandleC.h:
- CacheLoader.subproj/IFHTTPURLHandleC.m: (IFHTTPURLHandleCreate), (IFHTTPURLHandleGetRequestHeaders), (IFHTTPURLHandleGetResponseHeaders):
- CacheLoader.subproj/IFHTTPURLProtocolHandler.h:
- CacheLoader.subproj/IFHTTPURLProtocolHandler.m: (-[IFHTTPURLProtocolHandler initWithURLLoad:]), (-[IFHTTPURLProtocolHandler beginLoadInBackground]):
- CacheLoader.subproj/IFURLCache.h:
- CacheLoader.subproj/IFURLCache.m: (-[IFURLCache setObject:forURL:attributes:expiry:]), (-[IFURLCache setObject:forURL:]), (-[IFURLCache currentUsage]):
- CacheLoader.subproj/IFURLDiskCache.m: (-[IFURLDiskCache setObject:forURL:]), (-[IFURLDiskCache clearCache]), (-[IFURLDiskCache setSizeLimit:]), (-[IFURLDiskCache usage]):
- CacheLoader.subproj/IFURLHandle.h:
- CacheLoader.subproj/IFURLHandle.m: (+[IFURLHandle canonicalizeURL:]), (-[IFURLHandle initWithURL:]), (-[IFURLHandle initWithURL:cached:]), (-[IFURLHandle flushCachedData]), (-[IFURLHandle canonicalURL]), (-[IFURLHandle attributes]), (-[IFURLHandle failureReason]), (-[IFURLHandle dealloc]):
- CacheLoader.subproj/IFURLHandleC.h:
- CacheLoader.subproj/IFURLHandleC.m: (IFURLHandleCreate), (IFURLHandleGetCanonicalURL), (IFURLHandleGetAttributes):
- CacheLoader.subproj/IFURLLoad.h:
- CacheLoader.subproj/IFURLLoad.m: (+[IFURLLoad shutdown]), (-[IFURLLoad succeeded]), (-[IFURLLoad failedWithResultCode:]), (-[IFURLLoad beginOriginLoad]), (-[IFURLLoad didBeginLoading]), (-[IFURLLoad cancel]), (-[IFURLLoad updateStatistics]), (+[IFURLLoad IFURLLoadCacheCheckerRun:]):
- CacheLoader.subproj/IFURLLoadManager.h:
- CacheLoader.subproj/IFURLLoadManager.m: (-[IFURLLoadManager requestWithURLHandle:]), (-[IFURLLoadManager cancelRequestWithURLHandle:]), (-[IFURLLoadManager cancelAllRequestsWithURL:]), (-[IFURLLoadManager cancelAllRequestsInGroup:]), (-[IFURLLoadManager objectForURL:]), (-[IFURLLoadManager setObject:forURL:attributes:expiry:]), (-[IFURLLoadManager clearAllCaches]), (-[IFURLLoadManager handleURLLoadedResourceData:]):
- CacheLoader.subproj/IFURLMemoryCache.m: (-[IFURLMemoryCache containsURL:]):
- CacheLoader.subproj/WCURLHandleGlue.m: (WCURLHandleCreate):
- Database.subproj/IFNDBMDatabase.m: (-[IFNDBMDatabase setObject:forKey:]), (-[IFNDBMDatabase removeObjectForKey:]), (-[IFNDBMDatabase objectForKey:]):
- Database.subproj/IFURLFileDatabase.m: (-[IFURLFileDatabase setObject:forKey:]), (-[IFURLFileDatabase objectForKey:]), (-[IFURLFileDatabase keys]):
- Misc.subproj/IFCWrapperHacks.h:
- Misc.subproj/IFMutableDataPrivate.h:
- Misc.subproj/IFMutableDataPrivate.m:
- WebFoundation.pbproj/project.pbxproj:
Feb 12, 2002:
- 7:05 PM Changeset in webkit [616] by
-
- 14 edits in trunk
Removed some KWQ code from kdelibs. Fixed a bug where OBJECT tags weren't working. Added multiple stream capability for plugins
- 6:16 PM Changeset in webkit [615] by
-
- 30 edits in trunk/WebCore
Made basic forms work.
- 6:16 PM Changeset in webkit [614] by
-
- 12 edits in trunk/WebKit
Made basic forms works.
- 3:46 AM Changeset in webkit [613] by
-
- 8 edits in trunk/WebCore
WebFoundation:
Implement "file:" URL scheme. Also, fix up a few bugs this turned up.
Implement new IFURLHandle and IFURLProtocolHandler subclasses for
`file:'. The protocol handler creates a new thread for each file
load which could be considered somewhat excessive, but
definitively avoids blocking, and allows for cancellation. Run
loop sources are used to report success or failure, to avoid
destroying the protocol handler before its work is done.
- CacheLoader.subproj/IFFileURLHandle.h:
- CacheLoader.subproj/IFFileURLHandle.m: (+[IFFileURLHandle canInitWithURL:]):
- CacheLoader.subproj/IFFileURLProtocolHandler.h:
- CacheLoader.subproj/IFFileURLProtocolHandler.m: (+[IFFileURLProtocolHandler canInitWithURL:]), (-[IFFileURLProtocolHandler initWithURLLoad:]), (-[IFFileURLProtocolHandler dealloc]), (-[IFFileURLProtocolHandler fileLoadThread]), (-[IFFileURLProtocolHandler sendLoadNotification]), (fileLoadThreadStart), (fileProtocolHandlerCopyDescription), (sendFinishedMessage), (-[IFFileURLProtocolHandler beginLoadInBackground]), (-[IFFileURLProtocolHandler endLoadInBackground]):
Stick to
http:' andhttps:' URIs instead of accepting all:
- CacheLoader.subproj/IFHTTPURLHandle.m: (+[IFHTTPURLHandle canInitWithURL:]):
- CacheLoader.subproj/IFHTTPURLProtocolHandler.m: (+[IFHTTPURLProtocolHandler canInitWithURL:]):
Register subclasses for `file:':
- CacheLoader.subproj/IFURLHandle.m: (+[IFURLHandle initialize]):
- CacheLoader.subproj/IFURLProtocolHandler.m: (+[IFURLProtocolHandler initialize]):
- CacheLoader.subproj/IFURLLoad.m: (-[IFURLLoad beginOriginLoad]): Lock the IFURLLoad object while kicking off the protocol handler and examining the status code, otherwise a really fast protocol handler can report completion and therefore destroy this load object before it can look at the status. This leads to what we technically refer to as "crashy crashy".
- WebFoundation.pbproj/project.pbxproj: Add new files to build.
WebCore:
Make some tweaks to glue together KDE's and CF's concepts of URLs
a bit better. In particular, CF thinks "file:/some/path" is an
invalid URL, while KDE thinks this is the canonical form for a
file URL.
- src/kwq/KWQKHTMLPart.mm: (KHTMLPart::openURL), (KHTMLPart::closeURL), (KHTMLPart::checkCompleted):
- src/kwq/KWQKjobclasses.mm:
- 12:46 AM Changeset in webkit [612] by
-
- 28 edits13 adds in trunk/WebCore
- borrowed-classes.txt: Stopped borrowing QVector, QList, QCollection and QTL.
Extended tests for QList, QSortedList (to test QList::sort more
thoroughly) and QVector. Especially excercise autodeletion
semantics and corner cases more thoroughly.
- Tests/qt/qlist-test.chk:
- Tests/qt/qlist-test.cpp: (operator<<), (main):
- Tests/qt/qsortedlist-test.chk:
- Tests/qt/qsortedlist-test.cpp: (main):
- Tests/qt/qvector-test.chk:
- Tests/qt/qvector-test.cpp: (operator<<), (printVectorNullTolerant), (main):
- Tests/qt/qmap-test.cpp (CheckRedBlackRules): Tweak a bit to violate QMap's abstraction for glass-box testing.
WebCore:
Reimplemented QList, QVector and QCollection from
scratch. Implemented copy-on-write optimization for QMap.
Minimally reimplement QCollection.
- src/kwq/qt/qcollection.h:
- src/kwq/KWQCollection.mm: (QCollection::QCollection), (QCollection::operator=), (QCollection::~QCollection), (QCollection::autoDelete), (QCollection::setAutoDelete):
- src/kwq/qt/qdict.h, src/kwq/qt/qptrdict.h: Include qcollection.h, not _qcollection.h
Reimplement QList as a doubly-linked list.
- src/kwq/qt/qlist.h:
- src/kwq/KWQListImpl.h:
- src/kwq/KWQListImpl.mm: (KWQListImpl::KWQListPrivate::copyList), (KWQListImpl::KWQListPrivate::KWQListPrivate), (KWQListImpl::KWQListPrivate::~KWQListPrivate), (KWQListIteratorImpl::KWQListIteratorPrivate::KWQListIteratorPrivate), (KWQListImpl::KWQListImpl), (KWQListImpl::~KWQListImpl), (KWQListImpl::isEmpty), (KWQListImpl::count), (KWQListImpl::clear), (KWQListImpl::sort), (KWQListImpl::at), (KWQListImpl::insert), (KWQListImpl::remove), (KWQListImpl::removeFirst), (KWQListImpl::removeLast), (KWQListImpl::removeRef), (KWQListImpl::getLast), (KWQListImpl::current), (KWQListImpl::first), (KWQListImpl::last), (KWQListImpl::next), (KWQListImpl::prev), (KWQListImpl::take), (KWQListImpl::append), (KWQListImpl::prepend), (KWQListImpl::containsRef), (KWQListImpl::assign), (KWQListImpl::addIterator), (KWQListImpl::removeIterator), (KWQListIteratorImpl::KWQListIteratorImpl), (KWQListIteratorImpl::~KWQListIteratorImpl), (KWQListIteratorImpl::count), (KWQListIteratorImpl::toFirst), (KWQListIteratorImpl::toLast), (KWQListIteratorImpl::current), (KWQListIteratorImpl::operator--), (KWQListIteratorImpl::operator++), (KWQListIteratorImpl::operator=):
Reimplement QVector in terms of CFArray.
- src/kwq/qt/qvector.h:
- src/kwq/KWQVectorImpl.h:
- src/kwq/KWQVectorImpl.mm: (KWQVectorImpl::KWQVectorPrivate::KWQVectorPrivate), (KWQVectorImpl::KWQVectorPrivate::~KWQVectorPrivate), (KWQVectorImpl::KWQVectorImpl), (KWQVectorImpl::~KWQVectorImpl), (KWQVectorImpl::clear), (KWQVectorImpl::isEmpty), (KWQVectorImpl::count), (KWQVectorImpl::size), (KWQVectorImpl::remove), (KWQVectorImpl::resize), (KWQVectorImpl::insert), (KWQVectorImpl::at), (KWQVectorImpl::assign), (KWQVectorImpl::KWQVectorImpl::swap):
Implemented copy-on-write optimization for QMap. This had the
pleasant side effect of improving the separation between pointer
manipulation and key/value manipulation.
- src/kwq/qt/qmap.h:
- src/kwq/KWQMapImpl.h:
- src/kwq/KWQMapImpl.mm: (KWQMapImpl::KWQMapPrivate::KWQMapPrivate), (KWQMapImpl::KWQMapPrivate::~KWQMapPrivate), (KWQMapImpl::KWQMapImpl), (KWQMapImpl::~KWQMapImpl), (KWQMapImpl::copyOnWrite), (KWQMapImpl::copyTree), (KWQMapImpl::rebalanceAfterInsert), (KWQMapImpl::rebalanceAfterRemove), (KWQMapImpl::findInternal), (KWQMapImpl::insertInternal), (KWQMapImpl::removeInternal), (KWQMapImpl::swap), (KWQMapImpl::countInternal), (KWQMapImpl::clearInternal), (KWQMapImpl::beginInternal), (KWQMapImpl::endInternal):
- src/kwq/Makefile.am: Add new files to build.
- src/kdelibs/khtml/rendering/render_text.cpp (TextSlaveArray::findFirstMatching): Fix two places where the KDE code was depending on implementation details of QVector.
Feb 11, 2002:
- 8:32 PM Changeset in webkit [611] by
-
- 4 edits in trunk/WebKit
Fixed bug where clicking on empty browser page would crash. This could
happen when the start page was empty, or failed to load.
- WebView.subproj/IFWebView.mm: (-[IFWebView mouseUp:]), (-[IFWebView mouseDown:]): Checked for nil widget before dispatching mouse events.
- 3:34 PM Changeset in webkit [610] by
-
- 1 edit in trunk/WebKit/Misc.subproj/WebFileDatabase.m
2002-02-11 Kenneth Kocienda <kocienda@apple.com>
Removed a bunch of logging messages to reduce the spamage.
- CacheLoader.subproj/IFHTTPURLHandle.h:
- CacheLoader.subproj/IFHTTPURLHandle.m: (-[IFHTTPURLHandle initWithURL:flags:group:requestMethod:requestDataDict:]), (-[IFHTTPURLHandle initWithURL:flags:group:requestMethod:requestData:]), (-[IFHTTPURLHandle setRequestData:]):
- CacheLoader.subproj/IFURLMemoryCache.m: (-[IFURLMemoryCache objectForURL:]):
- Database.subproj/IFURLFileDatabase.m: (-[IFURLFileDatabase setObject:forKey:]):
- Misc.subproj/IFMutableData.m: (-[IFMutableData getBytes:length:]), (-[IFMutableData getBytes:range:]), (-[IFMutableData subdataWithRange:]):
- Misc.subproj/IFMutableDataPrivate.m: (-[IFMutableData createBlockForRange:buffer:]), (-[IFMutableData dataObjectsGreaterThanMatchedOffset:]), (-[IFMutableData byteBlocksForRange:]), (-[IFMutableData bytesInRange:]):
- Misc.subproj/IFNSFileManagerExtensions.m: (-[NSFileManager createIntermediateDirectoriesForPath:attributes:]):
- WebFoundation.pbproj/project.pbxproj:
- 11:05 AM Changeset in webkit [609] by
-
- 4 adds in trunk/WebKit/Misc.subproj
2002-02-11 Kenneth Kocienda <kocienda@apple.com>
Added new files.
- CacheLoader.subproj/IFCachedObject.h:
- CacheLoader.subproj/IFCachedObject.m:
- CacheLoader.subproj/IFURLCacheLoaderConstants.h:
- CacheLoader.subproj/IFURLCacheLoaderConstants.m:
Changed setRequestData to return BOOL to reflect fact that it might fail given
the state of the handle.
- CacheLoader.subproj/IFHTTPURLHandle.h:
- CacheLoader.subproj/IFHTTPURLHandle.m: (-[IFHTTPURLHandle setRequestData:]):
Added setResponseHeaders method, and cleaned up code that actually reads the
stream to set headers.
- CacheLoader.subproj/IFHTTPURLProtocolHandler.m: (-[IFHTTPURLProtocolHandler endLoadInBackground]), (-[IFHTTPURLProtocolHandler performHTTPHeaderRead:]), (-[IFHTTPURLProtocolHandler setResponseHeaders:]):
Modified class so that it is smart about attributes associated with cached data
and not just the data itself. Added IFURLCacheObject class to help out with this.
Tweaked cache object accessor interface.
- CacheLoader.subproj/IFURLCache.h:
- CacheLoader.subproj/IFURLCache.m: (-[IFURLCache objectForURL:]), (-[IFURLCache cacheObject:forURL:withAttributes:untilDate:]), (-[IFURLCache cacheObject:forURL:]), (-[IFURLCache setSizeLimit:]), (-[IFURLCache initWithSizeLimit:]):
- CacheLoader.subproj/IFURLCacheObject.h:
- CacheLoader.subproj/IFURLCacheObject.m: (+[IFURLCacheObject URLCacheObject:url:attributes:expiry:]), (-[IFURLCacheObject initWithCoder:]), (-[IFURLCacheObject encodeWithCoder:]), (-[IFURLCacheObject object]), (-[IFURLCacheObject url]), (-[IFURLCacheObject attributes]), (-[IFURLCacheObject expiry]), (-[IFURLCacheObject dealloc]):
Changed on-disk cache location from a URL to a path.
Added implementation of disk caching with a file-per-URL database as the backing store.
- CacheLoader.subproj/IFURLDiskCache.h:
- CacheLoader.subproj/IFURLDiskCache.m: (-[IFURLDiskCache initWithSizeLimit:]), (-[IFURLDiskCache initWithSizeLimit:path:]), (-[IFURLDiskCache objectForURL:]), (-[IFURLDiskCache cacheObject:forURL:]), (-[IFURLDiskCache containsURL:]), (-[IFURLDiskCache invalidateURL:]):
Removed fromStream:(CFReadStreamRef)stream from interface. The need to pass this has been
obsoleted by the creation of protocol handler classes.
Fixed a bug that assumed we always get back a no-copy data object from the network. The
disk cache does not return such objects.
- CacheLoader.subproj/IFURLHandle.h:
- CacheLoader.subproj/IFURLHandle.m: (+[IFURLHandle initialize]), (-[IFURLHandle didLoadData:]), (-[IFURLHandle notifyClientsDidLoadData]):
- CacheLoader.subproj/IFURLHandleC.h:
- CacheLoader.subproj/IFURLHandleC.m: (IFURLHandleDidLoadData):
- CacheLoader.subproj/IFURLHandleConstants.h:
Much work to support the on-disk cache, and returning attributes with cached objects.
- CacheLoader.subproj/IFURLLoad.h:
- CacheLoader.subproj/IFURLLoad.m: (-[IFURLLoad initWithURL:flags:]), (-[IFURLLoad setResourceData:]), (-[IFURLLoad updateHandlesWithData]), (-[IFURLLoad cleanup]), (+[IFURLLoad IFURLLoadCacheCheckerRun:]):
- CacheLoader.subproj/IFURLLoadManager.h:
- CacheLoader.subproj/IFURLLoadManager.m: (-[IFURLLoadManager initWithDefaultStack]), (-[IFURLLoadManager cacheObjectForURL:]), (-[IFURLLoadManager cacheObject:forURL:withAttributes:untilDate:]), (-[IFURLLoadManager handleURLLoadDone:]), (-[IFURLLoadManager handleURLLoadedResourceData:]):
Changed internal IFMemoryCacheObject so that it subclasses the new IFCacheObject.
Now supports returning attributes with cached objects.
- CacheLoader.subproj/IFURLMemoryCache.m: (+[IFMemoryCacheObject memoryCacheObjectWithObject:url:attributes:expiry:]), (-[IFMemoryCacheObject setExpiration:]), (-[IFMemoryCacheObject expire]), (-[IFMemoryCacheObject isExpired]), (-[IFMemoryCacheObject dealloc]), (-[IFURLMemoryCache truncateToSizeLimit]), (-[IFURLMemoryCache objectForURL:]):
Added database subproj.
- Database.subproj/IFDatabase.h:
- Database.subproj/IFDatabase.m: (-[IFDatabase setObject:forKey:]), (-[IFDatabase removeObjectForKey:]), (-[IFDatabase objectForKey:]), (-[IFDatabase keys]), (-[IFDatabase count]), (-[IFDatabase initWithPath:]), (-[IFDatabase dealloc]), (-[IFDatabase open]), (-[IFDatabase close]), (-[IFDatabase sync]), (-[IFDatabase path]), (-[IFDatabase isOpen]):
- Database.subproj/IFNDBMDatabase.h:
- Database.subproj/IFNDBMDatabase.m: (-[IFNDBMDatabase initWithPath:]), (-[IFNDBMDatabase dealloc]), (-[IFNDBMDatabase setObject:forKey:]), (-[IFNDBMDatabase removeObjectForKey:]), (-[IFNDBMDatabase objectForKey:]), (-[IFNDBMDatabase keys]), (-[IFNDBMDatabase open]), (-[IFNDBMDatabase close]), (-[IFNDBMDatabase sync]):
- Database.subproj/IFURLFileDatabase.h:
- Database.subproj/IFURLFileDatabase.m: (+[IFURLFileDatabase initialize]), (-[IFURLFileDatabase initWithPath:]), (-[IFURLFileDatabase dealloc]), (+[IFURLFileDatabase uniqueFilePathForKey:]), (-[IFURLFileDatabase setObject:forKey:]), (-[IFURLFileDatabase removeObjectForKey:]), (-[IFURLFileDatabase objectForKey:]), (-[IFURLFileDatabase keys]), (-[IFURLFileDatabase open]), (-[IFURLFileDatabase close]), (-[IFURLFileDatabase sync]):
- Misc.subproj/IFMutableDataPrivate.m: (-[IFData initWithBytes:length:copy:freeWhenDone:bytesAreVM:]):
Added class.
- Misc.subproj/IFNSFileManagerExtensions.h:
- Misc.subproj/IFNSFileManagerExtensions.m: (-[NSFileManager createDirectoryAtPathWithIntermediateDirectories:attributes:]), (-[NSFileManager createFileAtPathWithIntermediateDirectories:contents:attributes:directoryAttribut es:]), (-[NSFileManager createIntermediateDirectoriesForPath:attributes:]):
Removed obsoleted IFContentType.
- Misc.subproj/WebFoundation.h:
- WebFoundation.pbproj/project.pbxproj: