Timeline
Oct 28, 2002:
- 11:05 PM Changeset in webkit [2502] by
-
- 4 edits in trunk/WebCore
- khtml/khtml_part.cpp: (KHTMLPart::checkCompleted): Update so it handles nil for the view.
- 10:51 PM Changeset in webkit [2501] by
-
- 15 edits in trunk/WebCore
- fixed 3070484 -- icon rollovers are very slow on Mac OS X website
The problem was simply that the part didn't know it was complete.
To let it know, I hooked up some loader signals, and now it works.
- khtml/khtml_part.cpp: (KHTMLPart::init): Create the KWQKHTMLPart a little earlier so we have a chance to initialize the cache before it's used. (KHTMLPart::slotLoaderRequestStarted): Take this out of ifdefs. (KHTMLPart::slotLoaderRequestDone): Ditto.
- khtml/misc/loader.h: Add a KWQLoader pointer to the loader.
- khtml/misc/loader.cpp: (Loader::Loader): Create a KWQLoader; (Loader::~Loader): Destroy the KWQLoader. (Loader::load): Take out ifdefs around code that emits requestStarted.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): Call Cache::init().
- kwq/KWQLoader.h: Add a class KWQLoader, with three signals in it.
- kwq/KWQLoader.mm: (KWQLoader::KWQLoader): Initialize the three signals.
- kwq/KWQSignalStubs.mm: (Loader::requestDone): Emit the signal using KWQLoader. (Loader::requestFailed): Ditto. (Loader::requestStarted): Ditto.
- kwq/KWQSlot.h: Add an overload for slots with loader and cached object parameters so we can handle the new slots.
- kwq/KWQSlot.mm: (KWQSlot::KWQSlot): Added slotLoaderRequestDone and slotLoaderRequestStarted. (KWQSlot::call): Added the new overload to handle those two signals.
- kwq/KWQSignal.h: Add an overload for signals with loader and cached object parameters so we can handle the new signals.
- kwq/KWQSignal.mm: (KWQSignal::call): Ditto.
- kwq/KWQObject.mm: (QObject::connect): Remove the special casing that prevents complaints about slotLoaderRequestDone and slotLoaderRequestStarted, since we support those now.
- 9:29 PM Changeset in webkit [2500] by
-
- 3 edits in trunk/WebKit
- fixed crash I just introduced
- Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase init]): Remove the release call here. When I added the autorelease, I didn't realize that the caller was doing a release.
- 5:49 PM Changeset in webkit [2499] by
-
- 4 edits in trunk/WebKit
Fixed 3041616 - Extra page added in back button history
Client-side redirects would always put an extra item in the backforward list.
According to Darin this is a regression all the way back from functionality moving
from WebBrowser to WebKit.
- WebCoreSupport.subproj/WebBridge.h: Added state to know if we're doing an "internal" type of load
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge reportClientRedirectTo:delay:fireDate:]): Set internalLoad bit if delay==0 (-[WebBridge reportClientRedirectCancelled]): Clear internalLoad (-[WebBridge loadURL:]): Set frame's loadType if doing an internal load (similar to what we do when loading child frames)
- 5:18 PM Changeset in webkit [2498] by
-
- 14 edits in trunk
WebFoundation:
- fixed storage leak of WebFileDatabaseOp objects
- Database.subproj/WebFileDatabase.m: (-[WebFileDatabase setObject:forKey:]): Release op so it doesn't leak. (-[WebFileDatabase removeObjectForKey:]): Release op so it doesn't leak. (-[WebFileDatabase lazySync:]): Retain op before removing it from the list, since we want to work with it a bit before releasing it.
WebCore:
- fixed storage leak of items in QListBox
- kwq/KWQListBox.h: Added private deleteItems method.
- kwq/KWQListBox.mm: (QListBox::~QListBox): Call deleteItems(). (QListBox::deleteItems): Move the code to delete all the items here from clear(), since clear() is not called on destruction. (QListBox::clear): Call deleteItems().
WebKit:
- fixed storage leak of WebNetscapePluginPackage objects
- Plugins.subproj/WebBasePluginPackage.m: (+[WebBasePluginPackage pluginWithPath:]): Add missing autorelease.
- Plugins.subproj/WebBasePluginPackage.h:
- Plugins.subproj/WebPluginController.h:
- Plugins.subproj/WebPluginController.m:
- Plugins.subproj/WebPluginPackage.h:
- Plugins.subproj/WebPluginPackage.m: Not MyCompanyName, but rather Apple Computer.
- 4:48 PM Changeset in webkit [2497] by
-
- 4 edits in trunk/WebCore
Lowercase the text encoding name.
- kwq/KWQCharsets.mm: (KWQCFStringEncodingFromIANACharsetName):
- 3:16 PM Changeset in webkit [2496] by
-
- 14 edits in trunk/WebKit
WebFoundation:
- fixed bug that caused us to leak one block sometimes when we called WebCallFromCFRunLoop
- Misc.subproj/WebCFRunLoopExtras.m: (WebCallFromCFRunLoop): Initialize refCount to 0.
WebKit:
- fixed bug that caused us to leak all WebResourceHandles used for subresources
- WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient dealloc]): Remove bogus "currentURL == nil" assert. (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Use the new loadWithRequest: call instead of making handle and doing loadWithDelegate:. This is where the leak was, because no one ever released the handle, but releasing it right away would be too soon.
- WebView.subproj/WebBaseResourceHandleDelegate.h: Added defersCallbacks field, loadWithRequest: method, and setDefersCallbacks: method. Removed handle method.
- WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate loadWithRequest:]): New method. Sets up the handle, set the defersCallbacks state on it, and calls loadWithDelegate:. (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): Stores defersCallbacks state, and also sets it on the handle, if any. (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): Remove code to set up the handle, since we now do that at loadWithRequest: time.
- WebView.subproj/WebDataSourcePrivate.h: Remove mainHandle field.
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): Don't release mainHandle. (-[WebDataSource _setPrimaryLoadComplete:]): Ditto. (-[WebDataSource _startLoading]): Use loadWithRequest: on the client, no need to deal with the handle directly at all. (-[WebDataSource _addSubresourceClient:]): Call setDefersCallbacks: on the client. (-[WebDataSource _defersCallbacksChanged]): Ditto.
- WebView.subproj/WebControllerPrivate.m: Remove unneeded include.
- WebView.subproj/WebMainResourceClient.m: Ditto.
- 2:22 PM Changeset in webkit [2495] by
-
- 4 edits in trunk/WebCore
Fixed 3086188 - REGRESSION: Justified text is broken
Bogus special case for DirW(hite)S(pace). This
should be correctly detected by CF, but is not.
Revert to explicit checking for ' ' character. This'll
work most of the time. All the more reason to do
our own unicode attribute database.
- kwq/KWQChar.mm: (QChar::direction):
- 1:59 PM Changeset in webkit [2494] by
-
- 12 edits in trunk
WebCore:
Fixed: 3056726 - View Source window always displays the source in current system encoding
Fixed: 3019352 - Text encoding is not handled when viewing plain text
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (+[WebCoreBridge stringWithData:textEncoding:]): added, creates a string with data using the WebCore's decoding logic. (+[WebCoreBridge stringWithData:textEncodingName:]): added, calls stringWithData:textEncoding: after getting the encoding for a text encoding name
WebKit:
Fixed: 3056726 - View Source window always displays the source in current system encoding
Fixed: 3019352 - Text encoding is not handled when viewing plain text
- WebView.subproj/WebDataSource.h:
- WebView.subproj/WebDataSource.m: (-[WebDataSource stringWithData:]): added, creates a string using the specified encoding.
- WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation documentSource]): uses the bridge specified encoding when creating the string
- WebView.subproj/WebTextView.h:
- WebView.subproj/WebTextView.m: (-[WebTextView dataSourceUpdated:]): use stringWithData: (-[WebTextView supportsTextEncoding]): Yup
- 1:28 PM Changeset in webkit [2493] by
-
- 5 edits in trunk/WebCore
- khtml/html/htmlparser.cpp:
(KHTMLParser::insertNode):
- khtml/html/htmltokenizer.cpp:
(HTMLTokenizer::write):
Backed our Dave's whitespace hack because it was adding newlines, i.e.
vertical margins, to web pages all over.
- 12:51 PM Changeset in webkit [2492] by
-
- 3 edits in trunk/WebKit
Fixed crasher.
- WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
- 12:40 PM Changeset in webkit [2491] by
-
- 4 edits in trunk/WebKit
WebKit:
- Bookmarks.subproj/WebBookmark.h:
- Bookmarks.subproj/WebBookmark.m: (-[WebBookmark contentMatches:]): new method, returns YES if two bookmarks are the same, ignoring group and parent.
WebBrowser:
- fixed 3083274 -- Add preference for separating/consolidating contents of Bookmarks Toolbar and Menu
- fixed 3083277 -- Add preferences for showing Address Book and Rendezvous items in Bookmarks menu
Also made Bookmarks menu update only when it is about to be pulled
down (like History menu), rather than every time bookmarks change.
- Defaults.plist,
- PreferenceKeys.h: Add new preference keys with default values: BookmarksMenuAndToolbarAreSame, BookmarksMenuIncludesAddressBook, and BookmarksMenuIncludesRendezvous. Also #defined BrowserPreferenceValueChangedNotification, which is sent when certain preference values change.
- Preferences.subproj/GeneralPreferences.h:
- Preferences.subproj/GeneralPreferences.m: (-[GeneralPreferences sendChangeNotificationForPreferenceKey:]): new method, sends BrowserPreferenceValueChangedNotification with a particular preference key's name in the userInfo (-[GeneralPreferences toggleBookmarksMenuAndToolbarAreSame:]), (-[GeneralPreferences toggleBookmarksMenuIncludesRendezvous:]), (-[GeneralPreferences toggleBookmarksMenuIncludesAddressBook:]): Set the appropriate preference, and call sendChangeNotificationForPreferenceKey (-[GeneralPreferences initializeFromDefaults]): Set the initial state for the new checkboxes.
- Preferences.subproj/English.lproj/GeneralPreferences.nib: Added checkboxes for the three new preferences. With Ron Brannan's help, the text is decent, but the General Preferences panel is now much taller than the others; we'll probably need a reorganization soon.
- BookmarkSource.h: added bookmarkSourceImage, setBookmarkSourceMenu:, and bookmarkSourceMenuTitle to the BookmarkSource protocol.
- GlobalHistory.h: removed setHistoryMenu: and historyMenu
- GlobalHistory.m: (-[GlobalHistory dealloc]): change setHistoryMenu to setBookmarkSourceMenu (-[GlobalHistory bookmarkSourceImage]): new method, returns little clock image (-[GlobalHistory setBookmarkSourceMenu:]): new name for setHistoryMenu (-[GlobalHistory bookmarkSourceMenuTitle]): new method, returns nil here since history uses an existing top-level menu
- AppController.m: (-[AppController applicationDidFinishLaunching:]): use -[GlobalHistory setBookmarkSourceMenu:] instead of obsolete -[GlobalHistory setHistoryMenu:]
- ABHomePagesController.h:
- ABHomePagesController.m: (-[ABHomePagesController dealloc]): call setBookmarkSourceMenu:nil (-[ABHomePagesController refreshContents]): set _menuGood to NO (-[ABHomePagesController updateMenu]): new method, make menu contents match address book contents (if !_menuGood) (-[ABHomePagesController setBookmarkSourceMenu:]): new method, set up menuUpdater (-[ABHomePagesController bookmarkSourceMenuTitle]): new method, return "Address Book" (-[ABHomePagesController bookmarkSourceImage]): new method, return little address book image
- RendezvousController.h:
- RendezvousController.m: (-[RendezvousController dealloc]): call setBookmarkSourceMenu:nil (-[RendezvousController sendContentsChangedNotification]): set _menuGood to NO (-[RendezvousController updateMenu]): new method, make menu contents match Rendezvous list (if !_menuGood) (-[RendezvousController setBookmarkSourceMenu:]): new method, set up menuUpdater (-[RendezvousController bookmarkSourceMenuTitle]): new method, return "Rendezvous" (-[RendezvousController bookmarkSourceImage]): new method, return little Rendezvous logo image
- BookmarksController.h: now implements MenuUpdaterDelegate protocol and updates the Bookmarks menu only when it's about to be shown rather than when any bookmarks change.
- BookmarksController.m: (-[BookmarksController imageForBookmark:]): get bookmark source images using BookmarkSource protocol rather than hardwiring here (-[BookmarksController _removeAllBookmarksFromMenu]): renamed from _removeBookmarksFromMenu for some nitpicky reason (-[BookmarksController bookmarkSource:setShouldIncludeSubmenu:]): new method, creates submenu for bookmark source if appropriate (-[BookmarksController addSpecialBookmarkSourcesToMenu]): new method, checks preferences and calls bookmarkSource:setShouldIncludeSubmenu: for Rendezvous and AddressBook (-[BookmarksController updateMenu]): renamed from _updateBookmarksInMenu (now it's the MenuUpdaterDelegate method); do nothing if _menuGood, otherwise remove all bookmarks, then add them back in. (-[BookmarksController _receivedBookmarksChangedNotification:]): set _menuGood to NO rather than updating bookmarks immediately (-[BookmarksController receivedBrowserPreferenceValueChangedNotification:]): new method, do the appropriate updating based on which preference changed (-[BookmarksController addBookmarksMenuUpdater]): new method, broken out only so it could be called after a delay, since awakeFromNib is slightly too early (-[BookmarksController awakeFromNib]): set up menu updater (after delay); observe BrowserPreferenceValueChangedNotification (-[BookmarksController dealloc]): remove menu updater (-[BookmarksController bookmarkSourceForProxyIdentifier:]): new method, moved here from BookmarksViewController; converts a string identifier into an object implementing <BookmarkSource> (-[BookmarksController addUniqueBookmarksFrom:to:]): new method, used to consolidate toolbar and menu contents when the pref is set that way. (-[BookmarksController updateBookmarkSources]): renamed from _blessOrCreateSpecialFolders, now it is also called in response to a change to BookmarksMenuAndToolbarAreSamePreferenceKey; handle making menu initially be a copy of toolbar, or consolidating the two, depending on pref value.
- BookmarksViewController.m: (-[BookmarksViewController bookmarkSourceContentsChanged:]), (-[BookmarksViewController refreshContents]), (-[BookmarksViewController bookmarksFromContentItems:]), (-[BookmarksViewController bookmarkFromContentItem:]), (-[BookmarksViewController canDeleteFromSelectedBookmarkSource]), (-[BookmarksViewController child:ofContentItem:]), (-[BookmarksViewController isContentItemExpandable:]), (-[BookmarksViewController numberOfChildrenOfContentItem:]), (-[BookmarksViewController titleStringForContentItem:]), (-[BookmarksViewController addressStringForContentItem:]), (-[BookmarksViewController imageForContentItem:]), (-[BookmarksViewController deleteContentItems:]): Updated to call bookmarkSourceForProxyIdentifier on [BookmarksController sharedController] rather than self.
- FavoriteButton.m: (-[FavoriteButton determineDragOperation:]): use -[WebBookmark contentMatches:] instead of (deleted) [FavoriteButton bookmarkMatches:]
- English.lproj/Localizable.strings,
- English.lproj/StringsNotToBeLocalized.txt: kept localizations up to date
- 10:49 AM Changeset in webkit [2490] by
-
- 7 edits in trunk/WebKit
WebKit:
Finished 2998200 - access to most-recent in submenu of back & forward buttons
- WebView.subproj/WebDataSourcePrivate.h: The BF items we are going to and from were moved here from WebFrame because of timing problems among multiple data sources when using the BF buttons during a load. In addition, the datasource has a list of relevant BF items for which it keeps their titles up to date.
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): Free new state. (-[WebDataSource _setTitle:]): Update titles of BF items. (-[WebDataSource _provisionalBackForwardItem]): (-[WebDataSource _setProvisionalBackForwardItem:]): (-[WebDataSource _previousBackForwardItem]): (-[WebDataSource _setPreviousBackForwardItem:]): (-[WebDataSource _addBackForwardItem:]): Maintain new state. (-[WebDataSource _commitIfReady]): Free up previous and provisional BF items after commit.
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:]): Add the new BF item to the datasource. (-[WebBridge saveDocumentState:]): Use the right BF item to save the doc state.
- WebView.subproj/WebFramePrivate.h: Previous and provisional BF are moved to datasource.
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]): Use provisional BF from datasource to set position in BF list. Add new BF item to datasource. (-[WebFrame _isLoadComplete]): (-[WebFrame _checkLoadComplete]): Comments, whitespace. (-[WebFrame _goToItem:withFrameLoadType:]): Set item we will use to saveDocState at commit time.
WebBrowser:
Finished 2998200 - access to most-recent in submenu of back & forward buttons
- BrowserDocument.m: (-[BrowserDocument _addItem:toMenu:]): Center-truncate menu items to reasonable width
- Defaults.plist: Set Back-forward max size to 200.
- 10:48 AM Changeset in webkit [2489] by
-
- 4 edits in trunk/WebCore
Tests:
- WebFoundation-Misc/ifnsurlextensions-test.chk: Update WebNSURLExtras tests for recently-implemented ftp URL canonicalization.
WebFoundation:
- fixed 3015800 -- bad URL error - unescaped # in URL
Actually this has to be fixed both here and in KURL.
- Misc.subproj/WebNSURLExtras.m: (StringByAddingPercentEscapes): Escape "#" characters too. (URLStringByAddingPercentEscapes): Change the code so that it specifically makes an exception for the first "#" character in the string. I guess that it should really be the first "#" in the path, but that would be a lot harder. (+[NSURL _web_URLWithString:relativeToURL:]): Cite the new CFURL bug I filed.
WebCore:
- fixed 3015800 -- bad URL error - unescaped # in URL
Actually this has to be fixed both here and in NSURLExtras.
- kwq/KWQKURL.mm: Set the "BadChar" flag for "#" so we escape any "#" characters we see after the first one.
Oct 27, 2002:
- 11:54 PM Changeset in webkit [2488] by
-
- 11 edits in trunk
WebCore:
- fixed 3058845 -- <input type=file> uses hard-coded width of 200 pixels for filename
- khtml/rendering/render_form.cpp: (RenderLineEdit::calcMinMaxWidth): Use a default of 20 "x-widths" wide, to match Mozilla, rather than the 17 that is in KHTML by default. (RenderFileButton::calcMinMaxWidth): Pass in a character width here, using the same 20-character rule as above.
- kwq/KWQFileButton.h: Replace sizeHint() with sizeForCharacterWidth(int).
- kwq/KWQFileButton.mm: (KWQFileButton::sizeForCharacterWidth): Pass character count to the WebCoreFileButton. (KWQFileButton::baselinePosition): Fix baseline computation. It was computing some huge negative number before and was obviously broken.
- kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Add an assertion.
- kwq/WebCoreViewFactory.h: Replace bestVisualFrameSize with bestVisualFrameSizeForCharacterCount:.
WebKit:
- WebKit part of filename width fix
- WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton drawRect:]): Compute left position by starting at the right side of the button frame rather than by starting at the right side of the overall bounds. Removes dependency on fixed-width filename area. (-[WebFileButton updateLabel]): Added. Computes ellipsized filename. (-[WebFileButton setFilename:]): Use updateLabel instead of code in line here. (-[WebFileButton setFrameSize:]): Call updateLabel. (-[WebFileButton bestVisualFrameSizeForCharacterCount:]): Compute a width based on the count passed in rather than a hardcoded 200-pixel constant.
- 10:52 PM Changeset in webkit [2487] by
-
- 5 edits in trunk/WebKit
- fixed 3037369 -- Status text not cleared after start of drag from page
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): Find the highest-level enclosing WebHTMLView, and call _updateMouseoverWithEvent: with the mouseUp event after the drag is done. (-[WebHTMLView mouseMovedNotification:]): Just call _updateMouseoverWithEvent:, the code from here was moved into there.
- WebView.subproj/WebHTMLViewPrivate.h: Declare _updateMouseoverWithEvent.
- WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _updateMouseoverWithEvent:]): Moved all the code from mouseMovedNotification: in here so it could be used twice.
- 6:27 PM Changeset in webkit [2486] by
-
- 8 edits in trunk
WebCore:
- khtml/ecma/kjs_navigator.cpp:
(Navigator::getValueProperty):
Tweaked AppName, Product, and Vendor logic.
WebKit:
- WebView.subproj/WebController.m:
(-[WebController userAgentForURL:]):
Changed default user agent to Mozilla 1.1.
WebBrowser:
- Debug/DebugUtilities.m:
(-[DebugUtilities userAgentSubmenuItem]):
Updated all user agents and added new experimental items.
- 9:08 AM Changeset in webkit [2485] by
-
- 9 edits in trunk
WebCore:
- kwq/KWQLoader.mm: (KWQServeRequest): Add a missing "delete job" for one particular failure case.
WebKit:
- Bookmarks.subproj/WebBookmarkProxy.m: (-[WebBookmarkProxy dealloc]): Added, so we don't leak the title.
- Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup removeBookmark:]):
- Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList removeChild:]): Added retain/release pairs so we don't use an object after it's deallocated. In practice this doesn't happen the way these are used by Alex since they are in an array, but they have windows of vulnerability depending on exactly how they are used.
WebBrowser:
- BookmarksController.m: (-[BookmarksController _blessOrCreateSpecialFolders]): Fix indenting.