1. 21 Mar, 2002 6 commits
    • mjs's avatar
      Merged changes from LABYRINTH_KDE_3_MERGE branch. · 6f821c8d
      mjs authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@798 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6f821c8d
    • rjw's avatar
      Doh! · f54a76f3
      rjw authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@797 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f54a76f3
    • rjw's avatar
      header changes for setNeedsToApplyStyles: and reapplyStyles · f0baa585
      rjw authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f0baa585
    • rjw's avatar
      Added setNeedsToApplyStyles: and reapplyStyles. This is for dynamic preferences · de4c9ca2
      rjw authored
      refresh support.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      de4c9ca2
    • kocienda's avatar
      2002-03-21 Kenneth Kocienda <kocienda@apple.com> · 1ce0e5c9
      kocienda authored
              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: http://svn.webkit.org/repository/webkit/trunk@794 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1ce0e5c9
    • sullivan's avatar
      Cleaned up defaults registration and use. The class · 6b34b0c9
      sullivan authored
      	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: http://svn.webkit.org/repository/webkit/trunk@793 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6b34b0c9
  2. 20 Mar, 2002 1 commit
    • sullivan's avatar
      Added displayTitle field to IFURIEntry. This is intended to hold the string · f69e24f4
      sullivan authored
      	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: http://svn.webkit.org/repository/webkit/trunk@792 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f69e24f4
  3. 19 Mar, 2002 4 commits
  4. 18 Mar, 2002 9 commits
    • darin's avatar
      * src/kwq/KWQListImpl.mm: (KWQListImpl::sort): Use insertion sort for · d27994ac
      darin authored
      	small lists. Also special case for lists of size 2 and under.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@778 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d27994ac
    • rjw's avatar
      Added comments about new layout scheme. Cleaned up code. · 4fb7fb69
      rjw authored
              Improved core measurement routine.
      
      	Turned off logging by default.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@777 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4fb7fb69
    • darin's avatar
      Fix NULL case. · 2c739c15
      darin authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2c739c15
    • kocienda's avatar
      2002-03-18 Kenneth Kocienda <kocienda@apple.com> · 068507d9
      kocienda authored
              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: http://svn.webkit.org/repository/webkit/trunk@775 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      068507d9
    • darin's avatar
      Redo inlining of QChar and QString and some other small speed improvements. · 30e81805
      darin authored
              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: http://svn.webkit.org/repository/webkit/trunk@774 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      30e81805
    • rjw's avatar
      Changed to use non direct _rectForString() function. Avoids · b68fef78
      rjw authored
      unnecessary NSString allocation.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@773 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b68fef78
    • sullivan's avatar
      * prepare-ChangeLog: use ${cvs_command} rather than · cc1ad25c
      sullivan authored
      	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: http://svn.webkit.org/repository/webkit/trunk@772 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cc1ad25c
    • darin's avatar
      * src/kwq/KWQFontMetrics.mm: (QFontMetricsPrivate::getInfo), · bf420759
      darin authored
              (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: http://svn.webkit.org/repository/webkit/trunk@771 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf420759
    • kocienda's avatar
      2002-03-18 Kenneth Kocienda <kocienda@apple.com> · 903537ac
      kocienda authored
              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: http://svn.webkit.org/repository/webkit/trunk@770 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      903537ac
  5. 17 Mar, 2002 1 commit
  6. 16 Mar, 2002 2 commits
  7. 15 Mar, 2002 10 commits
    • rjw's avatar
      iFixed crasher initializing items in popup button. · f8ed27f7
      rjw authored
      Increased fragment cache initial size.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@756 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f8ed27f7
    • cblu's avatar
    • sullivan's avatar
      Impose default-based limit (1000 by default) on number of history items · ccdb9dc6
      sullivan authored
      	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: http://svn.webkit.org/repository/webkit/trunk@754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ccdb9dc6
    • rjw's avatar
      iMore string usage optimizations. Got another 10% or so. · a83b7619
      rjw authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a83b7619
    • sullivan's avatar
      Fixed bug where history entry images weren't showing up, except by historical · 1b2d0ab2
      sullivan authored
      	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: http://svn.webkit.org/repository/webkit/trunk@752 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1b2d0ab2
    • darin's avatar
      Oops again. · 9ab02a10
      darin authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@751 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9ab02a10
    • darin's avatar
      * src/kwq/KWQFontMetrics.mm: (QFontMetrics::descent): Oops, removed a - sign · 835aafac
      darin authored
              that I should have left in there.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@750 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      835aafac
    • darin's avatar
      Some more optimizations. Carves another 6% or so off of NSView.html. · c931f403
      darin authored
              * 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: http://svn.webkit.org/repository/webkit/trunk@749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c931f403
    • darin's avatar
      Optimizations for creating empty QFont objects, measuring certain single · 7aac3c05
      darin authored
              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: http://svn.webkit.org/repository/webkit/trunk@748 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7aac3c05
    • rjw's avatar
      Optimizations that remove unnecessary cfstring allocations of local scope · 3ae50982
      rjw authored
              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: http://svn.webkit.org/repository/webkit/trunk@747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3ae50982
  8. 14 Mar, 2002 7 commits