Timeline
Oct 31, 2002:
- 5:15 PM Changeset in webkit [2527] by
-
- 9 edits in trunk/WebCore
- fixed huge leak when doing page load test
- khtml/ecma/kjs_binding.h:
- khtml/ecma/kjs_binding.cpp: Remove ScriptInterpreter::mark(). We don't want to mark the elements of m_domObjects, because we don't want to keep them around the entire lifetime of the interpreter. This is fine because we already have forgetDOMObject(), which takes care of when they are deallocated.
- khtml/ecma/kjs_dom.cpp:
- khtml/ecma/kjs_dom.h:
- khtml/ecma/kjs_html.cpp:
- khtml/ecma/kjs_html.h: Changed lots of parameters to pass by const reference for a bit of a code size and performance gain.
- 5:10 PM Changeset in webkit [2526] by
-
- 3 edits in trunk/WebKit
- WebView.subproj/WebFrame.m: (-[WebFrame setController:]): Add an assert, hoping to catch a reported bug earlier or disprove one theory.
- 2:59 PM Changeset in webkit [2525] by
-
- 10 edits in trunk/WebKit
Added API to support 3072505 - SnapBack for user-entered page address
Refixed 3041616 - Extra page added in back button history
Previous fix was stepped on by a later checkin. Re-established that fix, then
went on to make sure we have the final URL and title in the BF item in the
case of a client redirect. Also handles redirects that happen within frames.
Fixed 3078560 - div added to "back" list
- History.subproj/WebBackForwardList.h:
- History.subproj/WebBackForwardList.m: (-[WebBackForwardList containsEntry:]): Added new API for 3072505.
- WebCoreSupport.subproj/WebBridge.h:
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge reportClientRedirectTo:delay:fireDate:]): (-[WebBridge reportClientRedirectCancelled]): (-[WebBridge loadURL:reload:]): Added logging. Renamed flag. Establish the right loadtype and set BF items from the old dataSource onto the new dataSource in the case of a client redirect.
- WebView.subproj/WebDataSourcePrivate.h:
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setRequest:]): Add logging. (-[WebDataSource _addBackForwardItem:]): (-[WebDataSource _addBackForwardItems:]): (-[WebDataSource _backForwardItems]): New setters/getters to support setting up the new dataSource of a client redirect.
- WebView.subproj/WebFramePrivate.h: New loadType WebFrameLoadTypeClientRedirect.
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]): Update the URL in the BF list in the client redirect case. (-[WebFrame _isLoadComplete]): NOP case for WebFrameLoadTypeClientRedirect (-[WebFrame _goToItem:withFrameLoadType:]): ASSERT_NOT_REACHED case for WebFrameLoadTypeClientRedirect
- 2:15 PM Changeset in webkit [2524] by
-
- 9 edits in trunk
Corrected extern definitions of lookup tables.
- Misc.subproj/WebUnicode.h:
- Misc.subproj/WebUnicode.m: (_unicodeDirection):
- WebCoreSupport.subproj/WebTextRenderer.m: (+[WebTextRenderer initialize]):
Turned on use of lookup tables.
- kwq/KWQChar.mm: (QChar::direction): (QChar::mirrored): (QChar::mirroredChar):
- 12:27 PM Changeset in webkit [2523] by
-
- 4 edits in trunk/JavaScriptCore
- fixed 3082660 - REGRESSION: one ListImp leaks opening/closing nearly empty web page
- kjs/object.cpp: Set gc allowed on freshly created ListImp, since there is no List wrapper for it.
- 11:12 AM Changeset in webkit [2522] by
-
- 5 edits in trunk/JavaScriptCore
- kjs/grammar.y: Fix the APPLE_CHANGES thing here too.
- kjs/grammar.cpp: Regenerated this file.
- 10:43 AM Changeset in webkit [2521] by
-
- 5 edits in trunk/WebCore
- fixed 3075803 - yahoo customize layout - delete, ordering of items doesn't work
- khtml/html/html_formimpl.h:
- khtml/html/html_formimpl.cpp: (HTMLSelectElementImpl::recalcStyle): New method to insure the select element updates if the contents of the option subelements are changed.
- 10:05 AM Changeset in webkit [2520]
-
- 3 copies in tags/Alexander-30
This commit was manufactured by cvs2svn to create tag 'Alexander-30'.
- 10:05 AM Changeset in webkit [2519] by
-
- 9 edits in trunk
Alex-30 version markers
Oct 30, 2002:
- 9:26 PM Changeset in webkit [2518] by
-
- 1 edit in trunk/WebCore/khtml/rendering/render_form.cpp
Revert accidentally committed change.
- 9:20 PM Changeset in webkit [2517] by
-
- 5 edits in trunk/WebCore
- fixed 3049853 - Javascript: setInterval incorrectly acts as single shot
- kwq/KWQObject.mm: (QObject::startTimer): Set a recurring timer instead of single-shot, to match QObject semantics.
- 6:42 PM Changeset in webkit [2516] by
-
- 1 edit in trunk/WebKit/Misc.subproj/WebUnicode.m
Fixed stupid compile problem.
- 6:23 PM Changeset in webkit [2515] by
-
- 12 edits5 adds in trunk
More work on bidi and contextual forms.
Table lookup code for unicode characters attributes.
- Misc.subproj/WebUnicode.h: Added.
- Misc.subproj/WebUnicode.m: Added. (_unicodeDigitValue): (_unicodeCategory): (_unicodeDirection): (_unicodeJoining): (_unicodeDecompositionTag): (_unicodeMirrored): (_unicodeMirroredChar): (_unicodeCombiningClass): (_unicodeLower): (_unicodeUpper): (WebKitInitializeUnicode):
- Misc.subproj/WebUnicodeTables.m: Added.
- WebKit.pbproj/project.pbxproj:
Additional logging parameter.
- Misc.subproj/WebKitLogging.h:
- Misc.subproj/WebKitLogging.m:
More work on bidi and contextual forms.
Table lookup code is up in WebKit. Function
pointers are used to isolate WebCore from private
implementation in WebKit. Needs to be fast, so
the usual ObjC abstraction won't work.
- WebCore.exp:
- WebCore.pbproj/project.pbxproj:
- kwq/KWQChar.mm: (QChar::direction):
- kwq/KWQString.h:
- kwq/WebCoreUnicode.cpp: Added.
- kwq/WebCoreUnicode.h: Added.
- 6:15 PM Changeset in webkit [2514] by
-
- 7 edits in trunk/WebKit
WebKit:
Pass WebResourceRequest rather than just NSURL to URL policy
delegate method.
- WebView.subproj/WebControllerPolicyDelegate.h:
- WebView.subproj/WebDefaultPolicyDelegate.h:
- WebView.subproj/WebDefaultPolicyDelegate.m: (+[WebDefaultPolicyDelegate defaultURLPolicyForRequest:]): (-[WebDefaultPolicyDelegate URLPolicyForRequest:inFrame:]):
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _shouldShowRequest:]):
WebBrowser:
Adjust for WebKit API change.
- BrowserDocument.m: (-[BrowserDocument _goToURL:referrer:withFallbackURLs:]):
- BrowserWebController.m: (-[BrowserWebController URLPolicyForRequest:inFrame:]):
- 2:50 PM Changeset in webkit [2513] by
-
- 4 edits in trunk/WebCore
- fixed crash when you open an empty window and just hit tab, tab, tab
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::nextKeyViewInFrame): Check for nil.
- 2:19 PM Changeset in webkit [2512] by
-
- 3 edits in trunk/WebKit
WebFoundation:
- English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
WebKit:
- English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
WebBrowser:
- English.lproj/Localizable.strings: Regenerated this file.
- 12:15 PM Changeset in webkit [2511] by
-
- 4 edits in trunk/JavaScriptCore
- fixed 3073230 -- Alex is doing file I/O when executing JavaScript by asking for localtime
I fixed this by using Core Foundation time functions instead.
- kjs/date_object.cpp: (tmUsingCF): Function that uses Core Foundation to get the time and then puts it into a tm struct. (gmtimeUsingCF): Function used instead of gmtime (used a macro to make the substitution). (localtimeUsingCF): Function used instead of localtime (used a macro to make the substitution).
- 11:34 AM Changeset in webkit [2510] by
-
- 3 edits in trunk/WebKit
Fixed: 3088122 - Assertion failure/crash closing window with QuickTime streaming in
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setMainDocumentError:]): call receivedError on the representation.
- 11:17 AM Changeset in webkit [2509] by
-
- 4 edits in trunk/WebKit
- fixed memory leaks in plugin package creation code
- Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]): Rearrange this code, and make sure that it does a [self release] if it's going to return nil instead of self. (-[WebNetscapePluginPackage unload]): Set bundle to 0 when we release it. (-[WebNetscapePluginPackage dealloc]): Release the bundle if it's not 0.
- Plugins.subproj/WebPluginPackage.m: (-[WebPluginPackage initWithPath:]): Rearrange this code, and make sure that it does a [self release] if it's going to return nil instead of self.
- 9:51 AM Changeset in webkit [2508] by
-
- 7 edits2 adds in trunk/WebCore
- fixed 3083982 -- Logging into AOL gives null view, crash
I fixed the crash part. Not the "gives null view" part.
The key was to disentangle the references and lifetimes of the transfer job class,
and the resource loader object that KWQ uses to connect it with WebKit.
- kwq/KWQKJobClasses.h: Change the job to keep a loader reference, not a handle reference. The job needs to inform the loader when it's being deallocated.
- kwq/KWQKJobClasses.mm: Use jobWillBeDeallocated instead of cancel when the job is deallocated.
- kwq/KWQLoader.mm: (KWQServeRequest): Use KWQResourceLoader, now with a home in a separate file.
- kwq/KWQResourceLoader.h: Added.
- kwq/KWQResourceLoader.mm: Added.
- WebCore.pbproj/project.pbxproj: Added KWQResourceLoader files.
- 8:19 AM Changeset in webkit [2507] by
-
- 15 edits in trunk
WebCore:
- fixed 3086564 -- REGRESSION: meta-refresh to the same page doesn't refresh
The key is to get args.reload passed through to the bridge.
- kwq/WebCoreBridge.h: Add reload parameter to loadURL:.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURL): Pass NO for reload. (KWQKHTMLPart::openURLRequest): Pass args.reload for reload. (KWQKHTMLPart::urlSelected): Pass args.reload for reload. (KWQKHTMLPart::submitForm): Pass args.reload for reload.
- fixed a memory problem with the use of NSBrowser in KWQListBox
- fixed 2863040 -- multiple default items in select list not selected
Switched to use NSTableView instead of NSBrowser. This should also create
a measurable speedup due to other changes to this class.
- kwq/KWQListBox.h: Remove firstItem(), the insertItem() that takes a QListBoxItem parameter, and deleteItems(). Add _items, _width, and _widthGood. Removed _head. Removed the QListBoxItem and QListBoxText classes.
- kwq/KWQListBox.mm: (QListBox::QListBox): Create a KWQListBoxScrollView and put an NSTableView inside it. Also create an NSMutableArray to hold the items. (QListBox::~QListBox): Disconnect the table view from the delegate before releasing it. Also release the items array. (QListBox::count): Return the array count. (QListBox::clear): Do a reloadData here instead of loadColumnZero. (QListBox::setSelectionMode): Update for table view. (QListBox::insertItem): Update for table view. (QListBox::insertGroupLabel): Just calls insertItem for now. (QListBox::endBatchInsert): Update for table view. (QListBox::setSelected): Update for table view, including support for multiple selection. (QListBox::isSelected): Update for table view. (QListBox::sizeForNumberOfLines): Use the table view cell for width, and cache it so we don't have to measure all the strings over and over again. (-[KWQListBoxScrollView setFrameSize:]): Resize the table view column whenever the entire scroll view is resized. (-[KWQListBoxTableViewDelegate initWithListBox:]): Store box pointer and pointer to items array. (-[KWQListBoxTableViewDelegate numberOfRowsInTableView:]): Return count. (-[KWQListBoxTableViewDelegate tableView:objectValueForTableColumn:row:]): Get the data from the items array. (-[KWQListBoxTableViewDelegate tableViewSelectionDidChange:]): Call both the selection-changed signal and the clicked signal.
- khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement): Get rid of the one place here that gets at a list box item by calling a KWQ function insertGroupLabel instead of making a QListBoxText. Also call beginBatchInsert() before clear() for a slight additional speed boost.
- fixed 3067572 -- javascript: URLs typed into page address field or bookmarks don't work in empty window
We needed a document for DOM, so we make a dummy one. This works for an empty
window, and also for a window with non-HTML content.
- kwq/KWQKHTMLPart.h: Added createDummyDocument().
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::createDummyDocument): Create an empty DOM document if there isn't one already.
- kwq/WebCoreBridge.mm: (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:]): Call the new createDummyDocument() instead of checking and doing nothing if there is no document present when this is called.
- other stuff
- kwq/WebCoreBridge.mm: (-[WebCoreBridge DOMDocument]): Removed a stray printf.
- kwq/KWQTextArea.mm: Tweaked code a little.
WebKit:
- fixed 3086564 -- REGRESSION: meta-refresh to the same page doesn't refresh
The key is to respect the new reload: parameter from the bridge.
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:reload:]): Don't ever treat a reload as a redirect. Set the cache policy to WebRequestCachePolicyLoadFromOrigin if it's a reload.
- fixed 3087214 -- REGRESSION: <WebKit/WebKit.h> contains #import of non-existent header
- Misc.subproj/WebKit.h: Removed import of WebControllerSets.h, which is private.
- 1:43 AM Changeset in webkit [2506] by
-
- 10 edits in trunk/WebKit
WebKit:
Another step towards the policy API change - add request argument
to file URL policy and remove isDirectory argument.
- WebView.subproj/WebControllerPolicyDelegate.h:
- WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate fileURLPolicyForMIMEType:andRequest:inFrame:]):
- WebView.subproj/WebFrame.m: (-[WebFrame setProvisionalDataSource:]):
- WebView.subproj/WebFramePrivate.h:
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _shouldShowRequest:]):
- WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:willSendRequest:]):
WebBrowser:
Adjust for API change.
- BrowserWebController.m: (-[BrowserWebController fileURLPolicyForMIMEType:andRequest:inFrame:]):
Oct 29, 2002:
- 11:58 PM Changeset in webkit [2505] by
-
- 7 edits in trunk/WebKit
WebKit:
First step towards policy API change. Pass request instead of URL
to content policy delegate method.
- WebView.subproj/WebControllerPolicyDelegate.h:
- WebView.subproj/WebDefaultPolicyDelegate.m:
- WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveResponse:]):
WebBrowser:
First step towards policy API change. Pass request instead of URL
to content policy delegate method.
- BrowserWebController.m: (-[BrowserWebController contentPolicyForResponse:andRequest:inFrame:withContentPolicy:]):
- 11:55 PM Changeset in webkit [2504] by
-
- 6 edits in trunk/WebKit
- fixed 3087548 - REGRESSION: two windows open for netflix confirmation
- WebView.subproj/WebControllerPrivate.h:
- WebView.subproj/WebControllerPrivate.m: (-[WebController _findFrameInThisWindowNamed:]): Added this function back, and added check for top-level frame name. (-[WebController _findFrameNamed:]): Use _findFrameInThisWindowNamed: to make sure top-level frame names get checked.
- 8:50 PM Changeset in webkit [2503] by
-
- 3 edits6 adds2 deletes in trunk/WebKit
Created Downloads.subproj to hold the to-be-implemented download decoders.
- Downloads.subproj/WebDownloadDecoder.h: Added.
- Downloads.subproj/WebDownloadHandler.h: Added.
- Downloads.subproj/WebDownloadHandler.m: Added. (-[WebDownloadHandler initWithDataSource:]): (-[WebDownloadHandler dealloc]): (-[WebDownloadHandler errorWithCode:]): (-[WebDownloadHandler receivedResponse:]): (-[WebDownloadHandler receivedData:]): (-[WebDownloadHandler finishedLoading]): (-[WebDownloadHandler cancel]):
- Misc.subproj/WebDownloadHandler.h: Removed.
- Misc.subproj/WebDownloadHandler.m: Removed.
- WebKit.pbproj/project.pbxproj:
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.