mjs [Fri, 29 Mar 2002 01:10:39 +0000 (01:10 +0000)]
Top level:
Fix the regression tests:
* Tests/WebFoundation-Misc/ifnsthreadextensions-test.chk,
Tests/WebFoundation-Misc/ifnsthreadextensions-test.m:
(-[ThreadTest run:], main): Don't
* Tests/harness.c: (runtest): Make leaks count as failures again.
* Tests/libiftest/IFCheckLeaks.c: (IFCheckLeaksAtExitHandler):
Exclude the leak in +[NSUserDefaults standardDefaults]
* Tests/qt/qlist-test.chk, Tests/qt/qlist-test.cpp: (main): Fix a
leak in this test program.
* Tests/test.list: Fix path to JavaScript test.
JavaScriptCore:
* kjs/kjs-test.chk: Update output for new test results.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@883
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 29 Mar 2002 00:50:00 +0000 (00:50 +0000)]
Fix Radar
2890340 (JavaScript doesn't work)
* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::executeScript): Implement
the other overloaded version of this function. This is needed for
JavaScript to work.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@882
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 28 Mar 2002 23:18:24 +0000 (23:18 +0000)]
New private interface for getting at the cache.
* Misc.subproj/IFCache.h: New.
* Misc.subproj/IFCache.mm: New.
* WebKit.pbproj/project.pbxproj: Added IFCache files.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@881
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 28 Mar 2002 23:17:15 +0000 (23:17 +0000)]
* src/kdelibs/khtml/misc/loader.h: Added API for looking at the contents of the
cache, flushing the cache, and disabling the cache.
* src/kwq/KWQKloader.mm: (Cache::requestImage): Don't cache if disabled.
(Cache::requestStyleSheet): Don't cache if disabled.
(Cache::requestScript): Don't cache if disabled.
(Cache::flush): Simplify ifdefs.
(Cache::getStatistics), (Cache::flushAll), (Cache::setCacheDisabled): New.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@880
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 28 Mar 2002 19:12:44 +0000 (19:12 +0000)]
* WebView.subproj/IFBaseWebController.mm:
(-[IFBaseWebController locationChangeDone:forFrame:]): Remove log of errors
loading now that we have the activity viewer.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@879
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 28 Mar 2002 19:03:28 +0000 (19:03 +0000)]
Modified the initial layout policy. We now try to layout as close
as possible to WebKitInitialTimedLayoutDelay seconds after the
load was started, not after the provisional-to-committed transition.
If the time to the provisional-to-committed transition exceeds
WebKitInitialTimedLayoutDelay we layout immediately.
Fixed crasher. Removed unnecessary cleanup to widget that was called after the
widget was already disposed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@878
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Thu, 28 Mar 2002 17:36:41 +0000 (17:36 +0000)]
* History.subproj/IFWebHistoryPrivate.m:
(-[IFWebHistoryPrivate _loadHistoryGuts:]):
Made this more robust about bad data from the disk file. I
don't know how bad data could get into the disk file in normal
use, but it seems to have happened to Richard.
* AppController.m: (-[AppController menuTitleForURL:withTitle:]),
(-[AppController _menuTitleForURIEntry:]), (-[AppController
insertHistoryEntry:intoMenu:atIndex:]): Added asserts in various
places to catch bad callers earlier.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@877
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 28 Mar 2002 03:36:43 +0000 (03:36 +0000)]
Private preferences.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@876
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 28 Mar 2002 03:35:22 +0000 (03:35 +0000)]
Added initial-layout-after-delay-if-not-layed-out-yet feature.
Turned on live layout when font size or type is changed.
Removed problematic code. Not sure why it was necessary. For now
it prevents crasher.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@875
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 28 Mar 2002 01:25:03 +0000 (01:25 +0000)]
* src/kwq/KWQListImpl.mm: (KWQListImpl::insert): Fix disastrous name
collision which could lead to infinite loops.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@874
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 28 Mar 2002 01:11:11 +0000 (01:11 +0000)]
* src/kwq/KWQCString.mm: (QCString::isEmpty): The || should be &&.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@873
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 28 Mar 2002 00:55:36 +0000 (00:55 +0000)]
* src/kdelibs/khtml/css/css_valueimpl.cpp:
(FontFamilyValueImpl::FontFamilyValueImpl): Disable misguided font matching
code in khtml.
* src/kwq/KWQFont.mm: (QFont::getFont): Change the fallback so that it uses
the default font family, but the other settings as requested, rather than
using the default font.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@872
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 27 Mar 2002 21:54:03 +0000 (21:54 +0000)]
2002-03-27 Kenneth Kocienda <kocienda@apple.com>
Changed loadProgress->bytesSoFar to use [sender contentLengthReceived]
instead of the size of the chunk that was delivered in the callback.
This makes the activity window data more correct than it was.
WebCore:
* src/kwq/KWQKloader.mm: (-[URLLoadClient
IFURLHandle:resourceDataDidBecomeAvailable:]):
WebKit:
* WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
IFURLHandle:resourceDataDidBecomeAvailable:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@871
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Wed, 27 Mar 2002 21:52:46 +0000 (21:52 +0000)]
2002-03-27 Chris Blumenberg <cblu@apple.com>
Now setting the modifier bit for the activate and cursor events.
* Plugins.subproj/IFPluginView.h:
* Plugins.subproj/IFPluginView.mm: (-[IFPluginView drawRect:]), (-[IFPluginView
windowBecameKey:]), (-[IFPluginView windowResignedKey:]), (-[IFPluginView
mouseEntered:]), (-[IFPluginView mouseExited:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@870
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 27 Mar 2002 16:23:53 +0000 (16:23 +0000)]
* NSStringBrowserAdditions.m: (+[NSString urlStringWithUserTypedString:]):
Add ".com" to the end if there's no ".". Add "file:" to the beginning if the
thing begins with a "/".
* Preferences.subproj/TextPreferences.m:
(-[TextPreferences initializeFromDefaults]): Switch back to serif font, since
using Luicida Grande was exposing some font bugs.
* WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Switch back
to serif font, since using Luicida Grande was exposing some font bugs.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@868
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 27 Mar 2002 15:59:46 +0000 (15:59 +0000)]
* src/kdelibs/khtml/ecma/Makefile.am: Get the create_hash_table tool
from JavaScriptCore. We might need a better way to handle this later.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@867
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Wed, 27 Mar 2002 04:19:29 +0000 (04:19 +0000)]
top level:
* configure.in: Remove WebCore/src/kjs and add JavaScriptCore to
build.
JavaScriptCore:
Set up kjs to build by itself into libJavaScriptCore.dylib.
* .cvsignore: Added.
* Makefile.am: Added.
* dummy.cpp: Added.
* kjs/.cvsignore: Added.
WebCore:
Removed kjs from here - it's now been moved to JavaScriptCore at
the top level.
* src/Makefile.am: Don't link libkjs.o.
* src/kdelibs/Makefile.am: Remove kjs from subdirs.
* src/kdelibs/kjs/.cvsignore: Removed.
* src/kdelibs/kjs/Makefile.am: Removed.
* src/kdelibs/kjs/array_object.cpp: Removed.
* src/kdelibs/kjs/array_object.h: Removed.
* src/kdelibs/kjs/bool_object.cpp: Removed.
* src/kdelibs/kjs/bool_object.h: Removed.
* src/kdelibs/kjs/collector.cpp: Removed.
* src/kdelibs/kjs/collector.h: Removed.
* src/kdelibs/kjs/create_hash_table: Removed.
* src/kdelibs/kjs/date_object.cpp: Removed.
* src/kdelibs/kjs/date_object.h: Removed.
* src/kdelibs/kjs/debugger.cpp: Removed.
* src/kdelibs/kjs/debugger.h: Removed.
* src/kdelibs/kjs/error_object.cpp: Removed.
* src/kdelibs/kjs/error_object.h: Removed.
* src/kdelibs/kjs/function.cpp: Removed.
* src/kdelibs/kjs/function.h: Removed.
* src/kdelibs/kjs/function_object.cpp: Removed.
* src/kdelibs/kjs/function_object.h: Removed.
* src/kdelibs/kjs/grammar.y: Removed.
* src/kdelibs/kjs/internal.cpp: Removed.
* src/kdelibs/kjs/internal.h: Removed.
* src/kdelibs/kjs/interpreter.cpp: Removed.
* src/kdelibs/kjs/interpreter.h: Removed.
* src/kdelibs/kjs/keywords.table: Removed.
* src/kdelibs/kjs/kjs-test: Removed.
* src/kdelibs/kjs/kjs-test.chk: Removed.
* src/kdelibs/kjs/lexer.cpp: Removed.
* src/kdelibs/kjs/lexer.h: Removed.
* src/kdelibs/kjs/lookup.cpp: Removed.
* src/kdelibs/kjs/lookup.h: Removed.
* src/kdelibs/kjs/math_object.cpp: Removed.
* src/kdelibs/kjs/math_object.h: Removed.
* src/kdelibs/kjs/nodes.cpp: Removed.
* src/kdelibs/kjs/nodes.h: Removed.
* src/kdelibs/kjs/nodes2string.cpp: Removed.
* src/kdelibs/kjs/number_object.cpp: Removed.
* src/kdelibs/kjs/number_object.h: Removed.
* src/kdelibs/kjs/object.cpp: Removed.
* src/kdelibs/kjs/object.h: Removed.
* src/kdelibs/kjs/object_object.cpp: Removed.
* src/kdelibs/kjs/object_object.h: Removed.
* src/kdelibs/kjs/operations.cpp: Removed.
* src/kdelibs/kjs/operations.h: Removed.
* src/kdelibs/kjs/property_map.cpp: Removed.
* src/kdelibs/kjs/property_map.h: Removed.
* src/kdelibs/kjs/regexp.cpp: Removed.
* src/kdelibs/kjs/regexp.h: Removed.
* src/kdelibs/kjs/regexp_object.cpp: Removed.
* src/kdelibs/kjs/regexp_object.h: Removed.
* src/kdelibs/kjs/string_object.cpp: Removed.
* src/kdelibs/kjs/string_object.h: Removed.
* src/kdelibs/kjs/test.js: Removed.
* src/kdelibs/kjs/testkjs.cpp: Removed.
* src/kdelibs/kjs/types.cpp: Removed.
* src/kdelibs/kjs/types.h: Removed.
* src/kdelibs/kjs/ustring.cpp: Removed.
* src/kdelibs/kjs/ustring.h: Removed.
* src/kdelibs/kjs/value.cpp: Removed.
* src/kdelibs/kjs/value.h: Removed.
WebKit:
* WebKit.pbproj/project.pbxproj: Fixed to build with standalone
libJavaScriptCore.dylib.
WebBrowser:
* WebBrowser.pbproj/project.pbxproj: Include libJavaScriptCore.dylib
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@866
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Wed, 27 Mar 2002 00:54:46 +0000 (00:54 +0000)]
Top level:
Removed all the borrowed Qt code.
* Makefile.am: Don't bother to reconfigure when ChangeLog changes.
* acconfig.h: Remove BORROWED #defines.
* borrowed-classes.txt: Removed.
* configure.in: Remove setting of unused flags.
WebCore:
Removed all the borrowed Qt code.
* src/kwq/KWQGlobal.mm: Renamed from qt/_qglobal.cpp to avoid
confusion about the borrowedness status of this file.
* src/kwq/Makefile.am: Removed references to kde and qt
subdirectories.
* src/kwq/kde/.cvsignore: Removed.
* src/kwq/kde/Makefile.am: Removed.
* src/kwq/kde/_kurl.cpp: Removed.
* src/kwq/kde/_kurl.h: Removed.
* src/kwq/qt/Makefile.am: Removed.
* src/kwq/qt/_qarray.h: Removed.
* src/kwq/qt/_qbuffer.cpp: Removed.
* src/kwq/qt/_qbuffer.h: Removed.
* src/kwq/qt/_qcollection.cpp: Removed.
* src/kwq/qt/_qcollection.h: Removed.
* src/kwq/qt/_qcolor.h: Removed.
* src/kwq/qt/_qcstring.cpp: Removed.
* src/kwq/qt/_qcstring.h: Removed.
* src/kwq/qt/_qdatetime.cpp: Removed.
* src/kwq/qt/_qdatetime.h: Removed.
* src/kwq/qt/_qdict.h: Removed.
* src/kwq/qt/_qdir.cpp: Removed.
* src/kwq/qt/_qdir.h: Removed.
* src/kwq/qt/_qdir_unix.cpp: Removed.
* src/kwq/qt/_qfile.cpp: Removed.
* src/kwq/qt/_qfile.h: Removed.
* src/kwq/qt/_qfileinfo.cpp: Removed.
* src/kwq/qt/_qfileinfo.h: Removed.
* src/kwq/qt/_qfileinfo_unix.cpp: Removed.
* src/kwq/qt/_qgarray.cpp: Removed.
* src/kwq/qt/_qgarray.h: Removed.
* src/kwq/qt/_qgdict.cpp: Removed.
* src/kwq/qt/_qgdict.h: Removed.
* src/kwq/qt/_qglist.cpp: Removed.
* src/kwq/qt/_qglist.h: Removed.
* src/kwq/qt/_qglobal.cpp: Removed.
* src/kwq/qt/_qgvector.cpp: Removed.
* src/kwq/qt/_qgvector.h: Removed.
* src/kwq/qt/_qiodevice.cpp: Removed.
* src/kwq/qt/_qiodevice.h: Removed.
* src/kwq/qt/_qlist.h: Removed.
* src/kwq/qt/_qmap.cpp: Removed.
* src/kwq/qt/_qmap.h: Removed.
* src/kwq/qt/_qpoint.cpp: Removed.
* src/kwq/qt/_qpoint.h: Removed.
* src/kwq/qt/_qptrdict.h: Removed.
* src/kwq/qt/_qrect.cpp: Removed.
* src/kwq/qt/_qrect.h: Removed.
* src/kwq/qt/_qregexp.cpp: Removed.
* src/kwq/qt/_qregexp.h: Removed.
* src/kwq/qt/_qregion.cpp: Removed.
* src/kwq/qt/_qregion.h: Removed.
* src/kwq/qt/_qshared.h: Removed.
* src/kwq/qt/_qsize.cpp: Removed.
* src/kwq/qt/_qsize.h: Removed.
* src/kwq/qt/_qsortedlist.h: Removed.
* src/kwq/qt/_qstack.h: Removed.
* src/kwq/qt/_qstring.cpp: Removed.
* src/kwq/qt/_qstring.h: Removed.
* src/kwq/qt/_qstringlist.cpp: Removed.
* src/kwq/qt/_qstringlist.h: Removed.
* src/kwq/qt/_qstrlist.h: Removed.
* src/kwq/qt/_qtextcodec.h: Removed.
* src/kwq/qt/_qtextstream.h: Removed.
* src/kwq/qt/_qtl.h: Removed.
* src/kwq/qt/_qurl.cpp: Removed.
* src/kwq/qt/_qurl.h: Removed.
* src/kwq/qt/_qvaluelist.h: Removed.
* src/kwq/qt/_qvector.h: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@865
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 27 Mar 2002 00:18:54 +0000 (00:18 +0000)]
2002-03-26 Kenneth Kocienda <kocienda@apple.com>
These changes help the transition to the new build system which unifies
our development build setting with the settings we use to ship
releases.
Labyrinth:
Removed --enable-alexander-test configure option
Added --with-buildstyle option
* configure.in:
WebFoundation:
* WebFoundation.pbproj/project.pbxproj:
WebKit:
* Makefile.am:
* WebKit.pbproj/kocienda.pbxuser:
* WebKit.pbproj/project.pbxproj:
WebBrowser:
* Makefile.am:
* WebBrowser.pbproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@864
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 26 Mar 2002 23:06:24 +0000 (23:06 +0000)]
* src/kwq/KWQKjobclasses.mm: (TransferJobPrivate::TransferJobPrivate):
Nil out the handle so we don't autorelease garbage.
* src/kwq/KWQKloader.mm:
(-[URLLoadClient IFURLHandleResourceDidCancelLoading:]),
(-[URLLoadClient IFURLHandleResourceDidFinishLoading:data:]),
(-[URLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]):
Delete the job instead of just autoreleasing the sender. Fixes a leak.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@863
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 26 Mar 2002 23:05:40 +0000 (23:05 +0000)]
i Try to ensure that display needed bits are correctly set.
Fixed leak of decoder. This caused us to leak the entire
document text for every load!
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@862
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 26 Mar 2002 21:40:44 +0000 (21:40 +0000)]
* src/kdelibs/khtml/rendering/render_list.cpp: (RenderListItem::setStyle):
Fix a leak (missing delete).
* src/kwq/KWQMetrics.h:
* src/kwq/KWQFontMetrics.mm:
(-[KWQLayoutInfo drawString:atPoint:withFont:color:]): Don't bother keeping things
around that we only need to use once.
(-[KWQLayoutInfo _initializeCaches]): Create them here instead.
(-[KWQLayoutInfo dealloc]): Don't need to free them here.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@861
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Tue, 26 Mar 2002 21:38:50 +0000 (21:38 +0000)]
Testing cvs mail.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@860
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Tue, 26 Mar 2002 21:29:07 +0000 (21:29 +0000)]
Testing cvs mail.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@859
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Tue, 26 Mar 2002 21:27:05 +0000 (21:27 +0000)]
Testing cvs mail.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@858
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Tue, 26 Mar 2002 21:15:04 +0000 (21:15 +0000)]
Testing commit emails.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@857
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Tue, 26 Mar 2002 21:02:48 +0000 (21:02 +0000)]
Testing cvs mail...
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@856
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Tue, 26 Mar 2002 21:00:59 +0000 (21:00 +0000)]
Testing cvs mail...
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@855
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 26 Mar 2002 20:28:02 +0000 (20:28 +0000)]
* Misc.subproj/IFError.m: (+[IFError initialize]): Fix a typo where
we said "unvailable".
* WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Change
the default sans-serif font to "Lucida Grande" to match the OS X
system font, and also make that the defalt standard font.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@854
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 26 Mar 2002 20:20:41 +0000 (20:20 +0000)]
* src/kwq/KWQFontMetrics.mm: (-[KWQLayoutInfo dealloc]): Free the
style groups, styles, and glyph vectors.
* src/kwq/KWQFont.mm: (QFont::getFont): Use default font if we can't
find a font from the passed-in family. Before, we were raising an
exception and quitting the application.
* src/kwq/KWQCString.mm: (QCString::isEmpty): Faster version that
doesn't call strlen.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@853
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 26 Mar 2002 19:22:58 +0000 (19:22 +0000)]
2002-03-26 Kenneth Kocienda <kocienda@apple.com>
Moved a constant that need not be visible externally into the .m file.
* CacheLoader.subproj/IFHTTPURLProtocolHandler.h:
Protocol handlers are now given an opportunity to act upon an object that
will be returned from cache. This is so that things like cached HTTP
response headers can be set properly.
I also added some code to check to see if a cached object needs revalidation
as described the HTTP RFC sections on caching. This is not fully implemented
yet, but the support for revalidation is better than it was.
* CacheLoader.subproj/IFHTTPURLProtocolHandler.m: (-[IFHTTPURLProtocolHandler
performHTTPHeaderRead:]), (-[IFHTTPURLProtocolHandler willReturnCacheObject:]),
(-[IFHTTPURLProtocolHandler cacheObjectIsValid:]), (-[IFHTTPURLProtocolHandler
cacheObjectRequiresRevalidation:]), (-[IFHTTPURLProtocolHandler
shouldCacheResourceData]):
Added a version field that will allow the cache to tell when incompatible
changes have been made to the cache format.
* CacheLoader.subproj/IFURLCacheObject.h:
* CacheLoader.subproj/IFURLCacheObject.m: (-[IFURLCacheObject initWithCoder:]),
(-[IFURLCacheObject encodeWithCoder:]):
Added support for more sophisticated cache checking, using the new protocol
handler methods.
* CacheLoader.subproj/IFURLLoad.m: (-[IFURLLoad returnCacheObject:]),
(+[IFURLLoad IFURLLoadCacheCheckerRun:]):
Cached attributes are now returned properly from memory cached objects.
* CacheLoader.subproj/IFURLMemoryCache.m:
Changed name of isValidCacheObject: method to willReturnCacheObject:
Added new cacheObjectRequiresRevalidation: method.
These now support improved cache checking and object validation
* CacheLoader.subproj/IFURLProtocolHandler.h:
* CacheLoader.subproj/IFURLProtocolHandler.m: (-[IFURLProtocolHandler
willReturnCacheObject:]), (-[IFURLProtocolHandler cacheObjectIsValid:]),
(-[IFURLProtocolHandler cacheObjectRequiresRevalidation:]):
Added nil check for returned cache object
* Database.subproj/IFURLFileDatabase.m: (-[IFURLFileDatabase objectForKey:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@852
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Tue, 26 Mar 2002 19:22:21 +0000 (19:22 +0000)]
* WebKit.pbproj/project.pbxproj:
Marked IFProgress.h Public.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@851
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Tue, 26 Mar 2002 05:31:04 +0000 (05:31 +0000)]
Broke IFLoadProgress out into its own file, and added
an init method and getters, without which this class
is useless in Objective-C files (but strangely usable
in Objective-C++ files, see radar
2887253).
* WebView.subproj/IFWebController.h:
* WebView.subproj/IFBaseWebController.mm:
Took IFLoadProgress declaration and implementation out of here.
* WebView.subproj/IFLoadProgress.h,
* WebView.subproj/IFLoadProgress.mm:
Moved IFLoadProgress declaration and implementation to here;
added -[IFLoadProgress initWithBytesSoFar:totalToLoad:type:]
and getters for each field.
* WebKit.pbproj/project.pbxproj: Updated for new files
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@850
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 26 Mar 2002 02:52:01 +0000 (02:52 +0000)]
Removed conditional check that prevent layout of iframes. I don't
understand why the check was being done.
Tweaks to force layout of frames and iframes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@849
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Tue, 26 Mar 2002 01:40:34 +0000 (01:40 +0000)]
WebFoundation:
* CacheLoader.subproj/IFURLHandle.m (-[IFURLHandle
initWithURL:attributes:flags:]): Instantiate the right concrete
subclass.
WebCore:
* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::slotData): Use
-[IFURLHandle characterSet] to get the character set, instead of
parsing it out of the header by hand.
WebKit:
* WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
_startLoading:]): Just create an IFURLHandle, since it now creates
the proper concrete subclass automagically.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@847
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Tue, 26 Mar 2002 00:06:30 +0000 (00:06 +0000)]
* MIME.subproj/IFMIMEDatabase.m: (+[IFMIMEDatabase sharedMIMEDatabase]),
(-[IFMIMEDatabase MIMEHandlerForMIMEType:]), (setMimeHandlers):
* MIME.subproj/IFMIMEHandler.h:
* MIME.subproj/IFMIMEHandler.m: (-[IFMIMEHandler
initWithMIMEType:handlerType:handlerName:]), (-[IFMIMEHandler MIMEType]),
(-[IFMIMEHandler MIMESupertype]), (-[IFMIMEHandler MIMESubtype]),
(-[IFMIMEHandler handlerName]), (-[IFMIMEHandler handlerType]), (-[IFMIMEHandler
description]):
Initial implementation of the above.
Also recommitted the TestPlugin
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@846
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Mon, 25 Mar 2002 23:59:34 +0000 (23:59 +0000)]
Added private API to allow browser to access the DOM tree.
Added support for the "View BOM Tree" menu.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@845
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Mon, 25 Mar 2002 22:18:58 +0000 (22:18 +0000)]
Added support for the "View Render Tree" menu.
i Added private API to allow browser to access the render tree.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@844
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 25 Mar 2002 20:02:24 +0000 (20:02 +0000)]
2002-03-25 Kenneth Kocienda <kocienda@apple.com>
Disk cache now has accessor for path on disk
* CacheLoader.subproj/IFURLDiskCache.h:
* CacheLoader.subproj/IFURLDiskCache.m: (-[IFURLDiskCache path]):
Fixed bug introduced in lazy cache code. This simple typo quite effectively
prevented data from being written out to disk.
* Database.subproj/IFURLFileDatabase.m: (-[IFURLFileDatabase setObject:forKey:]),
(-[IFURLFileDatabase objectForKey:]), (-[IFURLFileDatabase
performSetObject:forKey:]):
* WebFoundation.pbproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@843
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 25 Mar 2002 17:45:44 +0000 (17:45 +0000)]
2002-03-25 Kenneth Kocienda <kocienda@apple.com>
Fix for this bug:
Radar
2867562 (Disk cache should write new entries lazily)
* Database.subproj/IFURLFileDatabase.h:
* Database.subproj/IFURLFileDatabase.m: (+[IFURLFileDatabaseOp
opWithCode:key:object:]), (-[IFURLFileDatabaseOp initWithCode:key:object:]),
(-[IFURLFileDatabaseOp opcode]), (-[IFURLFileDatabaseOp key]),
(-[IFURLFileDatabaseOp object]), (-[IFURLFileDatabaseOp perform:]),
(-[IFURLFileDatabaseOp dealloc]), (-[IFURLFileDatabase initWithPath:]),
(-[IFURLFileDatabase dealloc]), (-[IFURLFileDatabase setTimer]),
(-[IFURLFileDatabase setObject:forKey:]), (-[IFURLFileDatabase
removeObjectForKey:]), (-[IFURLFileDatabase removeAllObjects]),
(-[IFURLFileDatabase objectForKey:]), (-[IFURLFileDatabase
performSetObject:forKey:]), (-[IFURLFileDatabase performRemoveObjectForKey:]),
(-[IFURLFileDatabase lazySync:]), (-[IFURLFileDatabase sync]):
* WebFoundation.pbproj/project.pbxproj:
Simple fix to remove Objective-C include when compiling with
a straight C compiler.
* CacheLoader.subproj/IFURLCacheLoaderConstants.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@840
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Mon, 25 Mar 2002 12:18:48 +0000 (12:18 +0000)]
Improved KURL performance:
* src/kwq/kdecore/kurl.h, src/kwq/KWQKURL.mm:
(KURL::normalizeURLString): New function to cache rewritten URL
strings.
(RelativeURLKeyRetainCallBack, RelativeURLKeyReleaseCallBack,
RelativeURLKeyCopyDescriptionCallBack,
RelativeURLKeyEqualCallBack, RelativeURLKeyHashCallBack,
KURL::normalizeRelativeURLString): Cache results of relative URL
resolution.
(KURL::clearCaches): function to clear the caches so they don't
grow forever.
(KURL::KURL): Set nothing but the string at construction time.
(KURL::isEmpty, KURL::isMalformed, KURL::hasPath, KURL::url,
KURL::protocol, KURL::host, KURL::port, KURL::pass, KURL::user,
KURL::ref, KURL::query, KURL::path, KURL::setProtocol,
KURL::setHost, KURL::setPort, KURL::setRef, KURL::setQuery,
KURL::setPath, KURL::prettyURL, KURL::copyOnWrite, KURL::parse,
KURL::assemble): Parse into parts on demand instead.
(KURL::swap, KURL::operator=): Handle KURL's new urlString field.
* src/kwq/KWQKloader.mm: (Cache::requestImage, Cache::requestStyleSheet,
Cache::requestScript): Don't redundantly check if KURL isMalformed.
* src/kwq/KWQKHTMLPart.mm (KHTMLPart::end): Clear KURL caches at
the end of each page load.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@839
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 25 Mar 2002 06:19:41 +0000 (06:19 +0000)]
* src/kwq/KWQListImpl.mm: (KWQListImpl::getFirst), (KWQListImpl::getLast):
Apparently getLast needs to handle cases where the list is empty. Since
getFirst didn't handle it either, I added a check in both cases.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@836
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 24 Mar 2002 23:06:40 +0000 (23:06 +0000)]
Add tail pointer to KWQListImpl, since that shows up on so many profiles.
* src/kwq/KWQListImpl.mm: (KWQListImpl::KWQListPrivate::copyList): Return
a tail pointer too.
(KWQListImpl::KWQListPrivate::KWQListPrivate): Set up tail pointer.
(KWQListImpl::clear): Clean tail pointer too.
(KWQListImpl::at): Special case the tail so we don't walk the whole list
when we ask for the last element.
(KWQListImpl::insert): Update the tail node to when inserting. Also add
a special case for adding at the end so we don't walk the whole list.
(KWQListImpl::remove): Update the tail node. Also, use at() in the index-
based remove so we don't ahve to replicate the logic about finding a
node with the special case for the tail.
(KWQListImpl::getLast): Trivial now.
(KWQListImpl::last): Trivial now.
(KWQListIteratorImpl::toLast): Trivial now.
* src/kwq/KWQString.mm: (QString::operator=): Remove unneeded line of code.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@835
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Sun, 24 Mar 2002 22:48:10 +0000 (22:48 +0000)]
A number of fixes to support non-latin1 decoding
and font measurement/drawing.
Changed data source to create IFURLHandle of the appropriate class.
The prevented us from getting the response headers correctly.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@834
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 24 Mar 2002 22:23:26 +0000 (22:23 +0000)]
Merged kdelibs from KDE 3.0 RC 3 into our 3.0 beta 2-based sources.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@830
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Sun, 24 Mar 2002 19:49:08 +0000 (19:49 +0000)]
Cached available families from NSFontManager.
http://www.gamespy.com/gdc2002/okamoto went from 4.8 seconds
to 0.7 seconds. [Do we need to worry about updating the cache if
the available fonts change?]
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@824
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Sun, 24 Mar 2002 18:53:39 +0000 (18:53 +0000)]
Removed erroneous comments.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@823
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Sun, 24 Mar 2002 17:47:53 +0000 (17:47 +0000)]
Fixed big leak in QString assignment operator.
Updated comments. Removed old fprintfs.
Added some frame debugging logs.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@822
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sat, 23 Mar 2002 21:39:23 +0000 (21:39 +0000)]
Fixed problem with extra empty items in menus.
* src/kwq/KWQComboBox.mm: (QComboBox::insertItem): Add back logic that puts
an item in a certain position. Even though this is called insertItem, the
behavior is to replace an item at a certain position.
* src/kwq/KWQKComboBox.mm: (KComboBox::setSize): No need to fill the
array with empty strings; just a waste of time based on how we do things.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@821
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sat, 23 Mar 2002 00:31:57 +0000 (00:31 +0000)]
* src/kdelibs/khtml/java/Makefile.am:
* src/kdelibs/khtml/java/tests/.cvsignore:
* src/kdelibs/khtml/java/tests/Makefile.am:
Remove empty test subdirectory.
* src/kdelibs/kjs/.cvsignore: Ignore kjs-test output.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@820
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Sat, 23 Mar 2002 00:29:00 +0000 (00:29 +0000)]
* MIME.subproj/IFMIMEDatabase.h:
Added a list of mime type that WebKit will be capable of handling
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@819
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 22 Mar 2002 23:41:03 +0000 (23:41 +0000)]
Top level:
* prepare-ChangeLog: Detect added and removed files, fixing Radar
2886161 (prepare-ChangeLog ignores added and removed files)
Hack automake to not complain about libraries ending in .o or
.dylib, to avoid the need to run autogen manually sometimes.
* Updates/automake-1.5-mac-ported.diff:
* Updates/install-automake.sh:
WebCore:
Fix some things that were making automake complain.
* src/kdelibs/kjs/Makefile.am:
* src/kwq/Makefile.am:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@813
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 22 Mar 2002 23:19:01 +0000 (23:19 +0000)]
Removed these autogenerated files.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@811
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Fri, 22 Mar 2002 23:11:24 +0000 (23:11 +0000)]
* WebKit.pbproj/project.pbxproj:
Added the MIME classes to WebKit.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@810
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 22 Mar 2002 22:05:40 +0000 (22:05 +0000)]
* src/kdelibs/khtml/css/cssstyleselector.cpp: (khtml::applyRule):
Fix boolean logic mistake from the original KDE sources.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@808
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 22 Mar 2002 21:07:54 +0000 (21:07 +0000)]
Finally giving up on the complete QString rewrite after doing it 3 times,
Darin checks in some improvements for the old QString. This makes a QString
be 8 bytes instead of 12, and improves a few other details. No dramatic
speedups, but no slowdown either.
* src/kwq/qt/qstring.h:
* src/kwq/KWQString.mm:
(QString::QString), (QString::~QString), (QString::operator=),
(QString::unicode), (QString::latin1): Store the cache type inside the cache.
(QString::copy): No need to deep copy here.
(QString::simplifyWhiteSpace): Use CFStringInlineBuffer.
(QString::insert): Fix single-character insertions so they don't create and
destroy a mutable CFStringRef every time.
(QString::operator+=): Call the appropriate insert function.
(QString::flushCache): Store cache type inside cache.
(QString::compareToLatin1): Use CFStringInlineBuffer.
(operator==): Use CFStringInlineBuffer.
(QConstString::QConstString): Store the cache type inside the cache.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@807
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Fri, 22 Mar 2002 19:59:50 +0000 (19:59 +0000)]
* WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]):
Removed stale FIXME.
Made changing font sizes work immediately (other than an
unrelated crash).
* src/kwq/KWQKHTMLSettings.mm:
(KHTMLSettings::KHTMLSettings),
(KHTMLSettings::fontSizes): Moved defaults-fetching code from
constructor to accessor, so it doesn't get out of synch with
preference changes.
* src/kwq/khtml/khtml_settings.h: Added "mutable" keyword
to declaration of m_fontSizes, so the other change would compile.
* BrowserDocument.m: (-[BrowserDocument reapplyStyles:]):
Added call to -[IFWebView setNeedsLayout:YES]. This causes
a sporadic but frequent crashing bug when changing fonts
and styles from the Preferences. I'm going to hand lucky
Richard a bug on that.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@806
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 22 Mar 2002 18:20:44 +0000 (18:20 +0000)]
Fixed reapplyStyles to use new KDE3 recalcStyle function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@805
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 22 Mar 2002 18:19:20 +0000 (18:19 +0000)]
Fixed reapplyStyles to use new KDE3 recalcStyle function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@804
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Fri, 22 Mar 2002 17:15:04 +0000 (17:15 +0000)]
2002-03-22 Kenneth Kocienda <kocienda@apple.com>
Moved KWQKloader to the new thread-safe API for accessing handle attributes.
* src/kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandleResourceDidBeginLoading:]),
(-[URLLoadClient IFURLHandleResourceDidCancelLoading:]), (-[URLLoadClient
IFURLHandleResourceDidFinishLoading:data:]), (-[URLLoadClient
IFURLHandle:resourceDataDidBecomeAvailable:]), (-[URLLoadClient
IFURLHandle:resourceDidFailLoadingWithResult:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@803
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 22 Mar 2002 17:06:33 +0000 (17:06 +0000)]
Fixed subtle measurement problems. These were most evident of pages
that had lots of rounding deviation. My assumptions about being able to
round glyph advances was incorrect. We must pay the expense of a float addition,
instead of integer addition. This slows down our inner loop. Oh well,
we're still very fast.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@802
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 22 Mar 2002 08:44:13 +0000 (08:44 +0000)]
Fixed the following post-merge crashers:
2885602 - Alexander crashes when clicking on a particular link in Google groups
2885564 - Alexander crashes on load failures
* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::~KHTMLView): Fix
Radar
2885602 by detaching the document from the view when the
view is destroyed. This was making the document reference a
destroyed view later.
* src/kwq/KWQKHTMLPart.mm:
(KHTMLPart::~KHTMLPart): Fix Radar
2885564 by checking if m_doc is
NULL, since it's now inititally set to NULL.
(KHTMLPart::KHTMLPart, KHTMLPart::init): Formatting tweaks.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@801
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Fri, 22 Mar 2002 01:42:32 +0000 (01:42 +0000)]
* WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]):
Commented out call to applyChanges that no longer exists.
This was breaking the build. Live font changes are
temporarily broken again.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@800
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 22 Mar 2002 00:31:57 +0000 (00:31 +0000)]
Merged changes from LABYRINTH_KDE_3_MERGE branch.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@798
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 21 Mar 2002 23:21:58 +0000 (23:21 +0000)]
Doh!
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@797
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 21 Mar 2002 23:19:32 +0000 (23:19 +0000)]
header changes for setNeedsToApplyStyles: and reapplyStyles
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@796
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 21 Mar 2002 22:59:04 +0000 (22:59 +0000)]
Added setNeedsToApplyStyles: and reapplyStyles. This is for dynamic preferences
refresh support.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@795
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Thu, 21 Mar 2002 22:02:44 +0000 (22:02 +0000)]
2002-03-21 Kenneth Kocienda <kocienda@apple.com>
Fixed an issue with the disk cache taking too long to empty. Now, the disk cache
is emptied on a background thread.
* Database.subproj/IFURLFileDatabase.h:
* Database.subproj/IFURLFileDatabase.m: (-[IFURLFileDatabase removeAllObjects]):
* Misc.subproj/IFNSFileManagerExtensions.h:
* Misc.subproj/IFNSFileManagerExtensions.m: (-[NSFileManager
performRemoveFileAtPath:]), (-[NSFileManager backgroundRemoveFileAtPath:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@794
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Thu, 21 Mar 2002 19:38:37 +0000 (19:38 +0000)]
Cleaned up defaults registration and use. The class
IFPreferences now registers the defaults at load time, early
enough that Alexander doesn't have to register them separately
as it had been. Also, all the defaults currently in use now
have accessor cover methods, which Alexander will use
exclusively.
* WebView.subproj/IFPreferences.mm:
New file, registers defaults and implements cover methods.
* WebView.subproj/IFPreferences.h:
This file existed but wasn't being used (contents #ifdeffed out).
Now it declares the cover methods, but still has an #ifdeffed
section for possible future stuff.
* WebKit.pbproj/project.pbxproj: Updated for new file.
* WebView.subproj/IFWebDataSource.mm:
(+[IFWebDataSource initialize]): removed defaults-registration
from here.
Reworked access of WebKit preferences. Now they are always accessed through
IFPreferences cover methods, never directly.
* Defaults.plist,
* PreferenceKeys.h:
Took out all mention of WebKit preferences.
* Preferences.subproj/ActiveContentPreferences.m: (-[ActiveContentPreferences
toggleJavaEnabled:]), (-[ActiveContentPreferences toggleJavaScriptEnabled:]),
(-[ActiveContentPreferences toggleJavaScriptCanOpenWindows:]),
(-[ActiveContentPreferences updateJavaScriptViews]), (-[ActiveContentPreferences
togglePluginsEnabled:]), (-[ActiveContentPreferences initializeFromDefaults]):
* Preferences.subproj/TextPreferences.m: (-[TextPreferences defaultFontSize]),
(-[TextPreferences setDefaultFontSize:]), (-[TextPreferences
updateFontSampleField:]), (-[TextPreferences changeFont:]), (-[TextPreferences
takeStandardFontChoiceFrom:]):
Rewrote to use IFPreferences for all WebKit preferences.
* WebBrowser.pbproj/project.pbxproj: version wars
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@793
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Thu, 21 Mar 2002 01:11:01 +0000 (01:11 +0000)]
Added displayTitle field to IFURIEntry. This is intended to hold the string
used in menu items, window titles, etc. Alexander uses this to cache the
center-truncated title for pages with very long titles.
* History.subproj/IFURIEntry.h:
* History.subproj/IFURIEntry.m: (-[IFURIEntry setDisplayTitle:]), (-[IFURIEntry
dictionaryRepresentation]), (-[IFURIEntry initFromDictionaryRepresentation:]):
Made Go, Window, and Debug menus use center-truncated strings for long URLs.
* StringTruncator.h,
* StringTruncator.m:
New class, donated by Albert Dul, that truncates a string to a given width,
inserting an ellipses in the center.
* Defaults.plist,
* PreferenceKeys.h: New (non-UI) user default for maximum menu item width.
* AppController.h:
* AppController.m:
(-[AppController setUpStringTruncator]): set the StringTruncator to use
the menu font at the menu font size.
(-[AppController awakeFromNib]): call setUpStringTruncator.
(_URLMenuTitleMaxWidth): read the max width from prefs and cache it in a variable.
(-[AppController menuTitleForURL:withTitle:]): New method, uses center-truncated
string technology.
(-[AppController _menuTitleForURIEntry:]): Calls menuTitleForURL:withTitle, storing
result using -[IFURIEntry setDisplayTitle] so we never have to measure this entry
again.
(-[AppController insertHistoryEntry:intoMenu:atIndex:]): Use _menuTitleForURIEntry.
(-[AppController _removeHistoryFromMenu]): added leading underscore to name (I gotta
do this more systematically).
(-[AppController _addHistoryToMenu]): broke out into separate method for convenience.
(-[AppController updateHistoryInMenu]): report timing with WebKitDebug
* BrowserDocument.m: (-[BrowserDocument displayName]):
Use center-truncated string technology.
* Debug/DebugUtilities.m:
(+[DebugUtilities addBookmarkToMenu:forURL:keyEquivalent:]),
(+[DebugUtilities loadDebugBookmarks:]):
Use center-truncated string technology for debug bookmarks (not cached).
* WebBrowser.pbproj/project.pbxproj: Updated for new files.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@792
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 20 Mar 2002 04:01:26 +0000 (04:01 +0000)]
Fixed NSPopupButton performance bottleneck.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@787
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 20 Mar 2002 02:15:59 +0000 (02:15 +0000)]
Fixed IFWebView leak.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@785
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 19 Mar 2002 22:57:00 +0000 (22:57 +0000)]
iChanged float width cache to use shorts.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@783
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 19 Mar 2002 18:23:17 +0000 (18:23 +0000)]
Improved cache-miss case for non-latin1 characters.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@780
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 19 Mar 2002 00:10:35 +0000 (00:10 +0000)]
* src/kwq/KWQListImpl.mm: (KWQListImpl::sort): Use insertion sort for
small lists. Also special case for lists of size 2 and under.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@778
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Mon, 18 Mar 2002 23:26:30 +0000 (23:26 +0000)]
Added comments about new layout scheme. Cleaned up code.
Improved core measurement routine.
Turned off logging by default.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@777
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 18 Mar 2002 23:09:33 +0000 (23:09 +0000)]
Fix NULL case.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@776
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 18 Mar 2002 22:29:19 +0000 (22:29 +0000)]
2002-03-18 Kenneth Kocienda <kocienda@apple.com>
Changed file load thread so that it tries to use a memory-mapped file to
read from the file system instead of using CFStreams. Now more than 2x faster.
* CacheLoader.subproj/IFFileURLProtocolHandler.h:
* CacheLoader.subproj/IFFileURLProtocolHandler.m: (-[IFFileURLProtocolHandler
didLoadData:]), (-[IFFileURLProtocolHandler fileLoadThread]),
(-[IFFileURLProtocolHandler beginLoadInBackground]), (-[IFFileURLProtocolHandler
endLoadInBackground]):
Changed instance of memcpy to the new IFFastMemoryMove function
* CacheLoader.subproj/IFHTTPURLProtocolHandler.m: (-[IFHTTPURLProtocolHandler
performStreamRead:]):
Moved timeout back to 60 seconds from 240 seconds.
* CacheLoader.subproj/IFURLLoad.m:
NSData now reads from a mapped file instead of using NSFileManager to read the file.
* Database.subproj/IFURLFileDatabase.m: (-[IFURLFileDatabase objectForKey:]):
* WebFoundation.pbproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@775
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 18 Mar 2002 22:10:33 +0000 (22:10 +0000)]
Redo inlining of QChar and QString and some other small speed improvements.
Sadly, this doesn't seem to make things measurably faster, but I decided to
commit my work rather than discarding it; it doesn't make things slower.
* src/kwq/qt/qstring.h:
* src/kwq/KWQChar.mm:
* src/kwq/KWQString.mm:
Do a lot more inlining. Also, the CFStringRef inside a QString is now never
nil, so we can get rid of many checks for nil.
* src/kwq/KWQFontMetrics.mm: (QFontMetrics::width): Use _rectForString() a
couple more places.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@774
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Mon, 18 Mar 2002 19:16:01 +0000 (19:16 +0000)]
Changed to use non direct _rectForString() function. Avoids
unnecessary NSString allocation.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@773
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Mon, 18 Mar 2002 17:40:53 +0000 (17:40 +0000)]
* prepare-ChangeLog: use ${cvs_command} rather than
cvs in new update line; makes it work on appecvs-encrusted
Jaguars again.
Imposed age limit on history items saved to/loaded from disk.
Sped up history loading by reversing list before processing entries.
* History.subproj/IFWebHistoryPrivate.m:
(+[IFWebHistoryPrivate initialize]): Register default for age limit.
(-[IFWebHistoryPrivate _ageLimitDate]): New convenience method, returns a date older
than any history entry that should be stored/loaded.
(-[IFWebHistoryPrivate arrayRepresentation]): skip too-old dates.
(-[IFWebHistoryPrivate _loadHistoryGuts:]), (-[IFWebHistoryPrivate _saveHistoryGuts:]):
Broke into separate methods to make timing wrapper less messy. Respect age limit.
Report number of items saved/loaded in timing message.
(-[IFWebHistoryPrivate loadHistory]), (-[IFWebHistoryPrivate saveHistory]):
use broken-out _guts methods.
* WebKit.pbproj/project.pbxproj: version wars
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@772
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 18 Mar 2002 17:34:21 +0000 (17:34 +0000)]
* src/kwq/KWQFontMetrics.mm: (QFontMetricsPrivate::getInfo),
(QFontMetrics::width), (QFontMetrics::_width), (QFontMetrics::boundingRect),
(QFontMetrics::size): Don't make the info object right away, in case the
metrics object is only used to compute ascent and descent.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@771
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 18 Mar 2002 15:34:15 +0000 (15:34 +0000)]
2002-03-18 Kenneth Kocienda <kocienda@apple.com>
I reworked the code a bit in IFURLLoadManager so I could remove some more locking and made
the locking that still needs to be there more fine grained.
* CacheLoader.subproj/IFURLLoadManager.m: (-[IFURLLoadManager objectForURL:]),
(-[IFURLLoadManager setObject:forURL:attributes:expiry:]), (-[IFURLLoadManager
invalidateURL:]), (-[IFURLLoadManager clearAllCaches]), (-[IFURLLoadManager
cancelRequestWithURLHandle:]), (-[IFURLLoadManager cancelAllRequestsWithURL:]),
(-[IFURLLoadManager cancelAllRequestsInGroup:]):
Some small code clean ups here.
* Database.subproj/IFURLFileDatabase.m: (-[IFURLFileDatabase initWithPath:]),
(-[IFURLFileDatabase setObject:forKey:]), (-[IFURLFileDatabase
removeObjectForKey:]), (-[IFURLFileDatabase objectForKey:]), (-[IFURLFileDatabase
open]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@770
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Mon, 18 Mar 2002 05:45:49 +0000 (05:45 +0000)]
Implementation of replacement code for NSLayoutManager. Huge
performance gains.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@768
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Sun, 17 Mar 2002 03:22:44 +0000 (03:22 +0000)]
i Fixed scroll bar flash. Add provisional view to go along with
provisional widget.
Temporary hack to bypass spin-o-death problem.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@767
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Sun, 17 Mar 2002 02:08:29 +0000 (02:08 +0000)]
iFixed error handling. Removed ObjC code for url handle client from KHTMLPart.
Need to sanitize KHTMLPart further.
Changed stop to use stopLoading on frame instead of datasource.
Fixed error handling. Fixed most frame loading problems.
Cleaned up frame state machine.
Moved IFMainURLHandleClient from WebCore.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@765
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Sat, 16 Mar 2002 01:00:43 +0000 (01:00 +0000)]
iFixed crasher initializing items in popup button.
Increased fragment cache initial size.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@756
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Sat, 16 Mar 2002 00:51:50 +0000 (00:51 +0000)]
Made scrolling a little nicer by sending an updateEvent before NPP_SetWindow instead of after
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@755
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Fri, 15 Mar 2002 23:59:28 +0000 (23:59 +0000)]
Impose default-based limit (1000 by default) on number of history items
saved/loaded. Also instrumented timing for saving/loading history.
* History.subproj/IFWebHistoryPrivate.m:
(+[IFWebHistoryPrivate initialize]): register default for WebKitHistoryItemLimit.
(-[IFWebHistoryPrivate arrayRepresentation]): respect limit
(-[IFWebHistoryPrivate loadHistory]): respect limit, time the load.
(-[IFWebHistoryPrivate saveHistory]): time the save.
* WebKit.pbproj/project.pbxproj: version wars
* Debug/DebugUtilities.m: (-[IFWebHistory populateHistoryWithTestData:]):
Changed number of items generated by Populate History menu item to 1000.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@754
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 15 Mar 2002 23:08:39 +0000 (23:08 +0000)]
iMore string usage optimizations. Got another 10% or so.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@753
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Fri, 15 Mar 2002 22:17:51 +0000 (22:17 +0000)]
Fixed bug where history entry images weren't showing up, except by historical
accident in some cases.
Made IFWebHistory no longer be a singleton class; made the file location
be passed in at init time.
* History.subproj/IFURIEntry.m: (-[IFURIEntry image]): Get the default image
a way that works with frameworks; only get the default image once.
* History.subproj/IFWebHistory.h:
* History.subproj/IFWebHistory.m:
(+[IFWebHistory webHistoryWithFile:]): New convenience constructor that returns
a new IFWebHistory object with a particular disk file.
(-[IFWebHistory initWithFile:]): New init method for specifying a disk file.
(-[IFWebHistory file]): New accessor for file path.
(-[IFWebHistory loadHistory]),
(-[IFWebHistory saveHistory]): Use file accessor.
Also removed the methods that were computing a file path to use.
* History.subproj/IFWebHistoryPrivate.h:
* History.subproj/IFWebHistoryPrivate.m:
(-[IFWebHistoryPrivate initWithFile:]),
(-[IFWebHistoryPrivate dealloc]), (-[IFWebHistoryPrivate file]),
(-[IFWebHistoryPrivate loadHistory]), (-[IFWebHistoryPrivate saveHistory]):
Guts of implementation for file-manipulation stuff.
* Resources/url_icon.tiff: ran tiffUtil to premultiply the alpha channel. This
was spewing error messages that I didn't notice before because they only
happen on Puma and I was on Jaguar.
* WebKit.pbproj/project.pbxproj: not sure what change I made, maybe version wars.
Made app's IFWebHistory object come from AppController rather than using
the now-obsolete sharedWebHistory; made Populate History Debug item create
a large number of items so I can test the performance of loading them; added
Erase All History item to Debug menu for convenience.
* AppController.h:
* AppController.m:
(GetRefPath), (FindFolderPath),
(-[AppController _computeHistoryFilePath]): New methods, moved from
IFWebHistory, to determine the file path for the History file.
(-[AppController webHistory]): new method to get at app-wide IFWebHistory.
(-[AppController awakeFromNib]), (-[AppController dealloc]),
(-[AppController applicationWillTerminate:]),
(-[AppController insertItemsForDate:intoMenu:atIndex:withRunningTotal:limit:]),
(-[AppController updateHistoryInMenu]): Updated to use [AppController webHistory]
instead of [IFWebHistory sharedWebHistory]
* BrowserDocument.m: (-[BrowserDocument addHistoryEntryForCurrentPage]):
Updated to use [AppController webHistory] instead of [IFWebHistory sharedWebHistory]
* Debug/DebugUtilities.m:
(+[DebugUtilities createDebugMenu]): Added Erase All History and separator.
(-[IFWebHistory populateHistoryWithTestData:]): Changed approach. It used to read
a few valid URLs from a disk file; now it creates a lot of bogus ones.
* Debug/FakeHistory.plist: Removed this list now that Populate History computes
items from scratch.
* GlobalHistory.m: (+[GlobalHistory sharedGlobalHistory]),
(-[GlobalHistory webHistory]), (-[GlobalHistory init]),
(-[GlobalHistory outlineView:child:ofItem:]),
(-[GlobalHistory outlineView:numberOfChildrenOfItem:]),
(-[GlobalHistory receivedEntriesChangedNotification:]),
(-[GlobalHistory removeSelectedItems:]), (-[GlobalHistory removeAll:]):
Updated to use AppController's webHistory instead of [IFWebHistory sharedWebHistory]
* WebBrowser.pbproj/project.pbxproj: updated for removed file
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@752
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 15 Mar 2002 19:09:08 +0000 (19:09 +0000)]
Oops again.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@751
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 15 Mar 2002 19:08:10 +0000 (19:08 +0000)]
* src/kwq/KWQFontMetrics.mm: (QFontMetrics::descent): Oops, removed a - sign
that I should have left in there.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@750
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 15 Mar 2002 18:30:53 +0000 (18:30 +0000)]
Some more optimizations. Carves another 6% or so off of NSView.html.
* src/kwq/KWQChar.mm: (QChar::QChar): Handle characters > 0x7F correctly.
(QChar::cell): Remove unnecessary & operation.
(QChar::row): Remove unnecessary & operation.
(QChar::latin1): Do a simpler check rather than calling row().
(QChar::operator char): Do the same work as latin1 inline.
(operator==) (operator!=), (operator>=), (operator>), (operator<=), (operator<):
Handle characters > 0x7F correctly.
* src/kwq/KWQFontMetrics.mm: (QFontMetrics::ascent), (QFontMetrics::descent):
Cache the ascent and descent rather than computing it each time we are called.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@749
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 15 Mar 2002 15:49:54 +0000 (15:49 +0000)]
Optimizations for creating empty QFont objects, measuring certain single
characters, and copying QFontMetrics objects. Makes loading NSView.html about
18% faster.
* src/kwq/qt/qfontmetrics.h: Use a ref-counted pointer so QFontMetrics objects
for the same QFont can share data.
* src/kwq/KWQFont.mm: (loadDefaultFont): New, used to load the default
font used for default-initialized QFont objects.
(QFont::_initializeWithFont): Don't recompute theh family name, point size, or
traits.
(QFont::setFamily), (QFont::setPixelSizeFloat), (QFont::setWeight),
(QFont::setItalic),: autorelease the font, as we do in the destructor, since
someone could still be using the result of getFont.
(QFont::operator==): Add a comment about a problem with this function.
* src/kwq/KWQFontMetrics.mm: (QFontMetrics::QFontMetrics): Add a refCount, and
a cached width for space and lower-case "x", the two single characters that
are often measured.
(QFontMetrics::~QFontMetrics): Simplify.
(QFontMetrics::operator=): Just copy the underlying data pointer rather than
making our own KWQLayoutInfo object.
(QFontMetrics::baselineOffset): Make const.
(QFontMetrics::width): Add the caching for space and "x".
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@748
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 15 Mar 2002 13:57:57 +0000 (13:57 +0000)]
Optimizations that remove unnecessary cfstring allocations of local scope
strings. QString::gstring_toQString and QString::gstring_toCFString were
added to simplify the reuse of a static CFString as the backing store for
local QStrings. Hit the top two problem areas. Many more gains to be had
by using this technique.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@747
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 15 Mar 2002 03:46:39 +0000 (03:46 +0000)]
Fixed another problem in QString::find().
Added dangerous but fast string allocation optimization to render_text.cpp.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@746
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 15 Mar 2002 01:16:41 +0000 (01:16 +0000)]
Fixed optimized find() implementation. I had the sense of caseSensitive inverted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@744
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 15 Mar 2002 00:17:19 +0000 (00:17 +0000)]
Fixed compile error.:wq
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@742
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 15 Mar 2002 00:02:49 +0000 (00:02 +0000)]
Attempted implementation of space optimizations. Disabled for now.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@741
268f45cc-cd09-0410-ab3c-
d52691b4dbfc