Timeline
Nov 24, 2002:
- 11:39 PM Changeset in webkit [2856] by
-
- 4 edits in trunk/WebKit
Tests:
Added a test for new URL parsing functions in WebNSStringExtras.
- WebFoundation-Misc/Makefile.am: Add new test.
- WebFoundation-Misc/ifurlparsing-test.chk: Added.
- WebFoundation-Misc/ifurlparsing-test.m: Added. (FormatStringForDisplay): (FormatStrForDisplay): (PrintRangeResult): (TestURL): (main):
- test.list:
WebFoundation:
Adding routines to parse URLs, operating on ranges instead of substrings for perf.
- Misc.subproj/WebNSStringExtras.h:
- Misc.subproj/WebNSStringExtras.m: (-[NSString _web_hasCaseInsensitivePrefix:]): Nit cleanup. (pieceBeforeColon): Utility function. (pieceAfterColon): Utility function. (-[NSString _web_rangeOfURLScheme]): New SPI. Cache NSCharacterSet with legal scheme chars, since creating it is a huge pig. (-[NSString _web_rangeOfURLResourceSpecifier]): New SPI. (-[NSString _web_rangeOfURLUserPasswordHostPort]): New SPI. (rangeOfUserAndPassword): Utility function. (rangeOfHostAndPort): Utility function. (-[NSString _web_rangeOfURLUser]): New SPI. (-[NSString _web_rangeOfURLPassword]): New SPI. (-[NSString _web_rangeOfURLHost]): New SPI. (-[NSString _web_rangeOfURLPort]): New SPI. (-[NSString _web_looksLikeAbsoluteURL]): Now just calls _web_rangeOfURLScheme for equivalent functionality as before.
WebKit:
Added URLString method to WebHistoryItem to avoid silly conversions between
NSURL and NSString. When the dust settles with our plans for NSURL we can
rationalize this API with the rest of WebKit.
- History.subproj/WebHistoryItem.h:
- History.subproj/WebHistoryItem.m: (-[WebHistoryItem URLString]):
WebBrowser:
Auto-complete handles absolute URLs typed by the user. Lots of fixes with
better handling of various URLs (with user:password, with port,...).
Various auto-complete database operations speed ups, ranging from 32% to 64%.
The most important case is the initial db load, which was running 115 msec on
a 2x1.2Ghz, and is now 42msec. I think this will eliminate a noticeable first-use
delay on slow machines. We also eliminate some heap thrashing.
Speedups were achieved by getting rid of URL-String conversions, using new
range-based URL parsing methods instead of NSURL and caching the index of the
"cooked" string within the raw URL string (with no space cost because we had
bits in a bitfield available).
- CompletionController.h:
- CompletionController.m: (+[CompletionController _tree_create]): Set cookedStringLoc for root node. (recursiveDestroyTree): Name change. (+[CompletionController _tree_destroy]): Name change. (_keyStringFromItem): Get rid of conversions, return index for caching. (_keyStringFromNode): Use cached cooked string index if available. (_findPotentialNode): Fixed edge case of cursor setting when an exact match was hit. (+[CompletionController _tree_addItem:]): Cache the index of the cooked string in new nodes. (+[CompletionController _tree_deleteItem:]): Adopt some internal name changes. (+[CompletionController _tree_setCursorAtStart:]): Newly factored code. (+[CompletionController _tree_findItem:cursor:]): On search for "", set the cursor ahead of all nodes in the tree. (DumpAutoCompleteTree): Nit. (_rawStringFromItem): Newly factored code. (_indexOfCookedURLString): Return the index of the cooked string instead of the substring at that position, allowing clients to cache this number. (-[CompletionController _executeQuery]): Handle cases of the user typing an absolute URL, or a partial string starting with "www." (-[CompletionController _reflectSelectedRow]): Updating the text field works differently when the user typed an absolute URL. (-[CompletionController completeString:]): Nuke FIXME. (-[CompletionController control:textView:doCommandBySelector:]): Nuke FIXME.
- 11:08 PM Changeset in webkit [2855] by
-
- 7 edits in trunk/WebCore
Fixed support for onLoad handlers on images - this is in
APPLE_CHANGES because khtml used a different mechanism. Also
implemented onError on images. As a result:
- fixed 3084916 - blank page at aol
- fixed 3093162 - golfswitch doesn't work
- khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::parseAttribute): Remove "implement this" comment from onError attribute.
- khtml/misc/loader.h:
- khtml/misc/loader.cpp: (CachedImage::CachedImage): Initialize m_loading to true. (CachedImage::ref): Send notifyFinished to the new client if the image is not loading. (CachedImage::data): If at eof, set m_loading to false and notify. (CachedImage::error): Set m_loading to false and notify. (CachedImage::checkNotify): New method to notify all clients of changes.
- khtml/rendering/render_image.cpp: (RenderImage::notifyFinished): Deliver the appropriate choice of LOAD_EVENT or ERROR_EVENT.
- 10:17 PM Changeset in webkit [2854] by
-
- 12 edits in trunk/WebCore
This landing adds support for blocks inside inlines. It
gets rid of the old broken way KHTML used to handle this
and implements a brand new mechanism.
With this change, I have decreased the tag priority of <font>
and <a> to match other inlines (<i>, <span>, etc.), and I
now allow all the inlines to contain blocks for relaxed parsing.
Now if you open an <i> or a <b> and just leave it open across
blocks, this will work.
I also fixed a bad DHTML bug caused by the WebCoreBridge
forceLayout method. The basic pattern is that someone does
a tiny repaint of just a sliver of the window, then someone
schedules a layout (which means they want a full repaint), but
then drawRect comes along and calls forceLayout which unschedules
the layout, thus preventing the full repaint from occurring.
Any basic DHTML that used append/remove child was broken because
of this pattern. For now I have just removed the unscheduleLayout
call at the end of forceLayout.
- khtml/html/dtd.cpp: (DOM::checkChild):
- khtml/html/htmlparser.cpp: (KHTMLParser::popInlineBlocks):
- khtml/rendering/render_container.cpp: (RenderContainer::removeChild): (RenderContainer::removeLeftoverAnonymousBoxes):
- khtml/rendering/render_flow.cpp: (RenderFlow::setStyle): (RenderFlow::layoutBlockChildren): (RenderFlow::continuationBefore): (cloneInline): (RenderFlow::splitInlines): (RenderFlow::splitFlow): (RenderFlow::addChildWithContinuation): (RenderFlow::addChild): (RenderFlow::addChildToFlow):
- khtml/rendering/render_flow.h:
- khtml/rendering/render_object.cpp: (RenderObject::mouseInside):
- khtml/rendering/render_object.h:
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::forceLayout):
- kwq/WebCoreBridge.mm: (-[WebCoreBridge copyRenderNode:copier:]):
- 7:12 PM Changeset in webkit [2853] by
-
- 13 edits in trunk
WebCore:
Added element keys for the image ALT and link TITLE attributes. This will eventually be used to fix other bugs. Also made WebKit and WebCore use the same element keys to simplify the conversion of the element dictionary.
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]):
WebKit:
Added element keys for the image ALT and link TITLE attributes. This will eventually be used to fix other bugs. Also made WebKit and WebCore use the same element keys to simplify the conversion of the element dictionary.
- WebView.subproj/WebController.h:
- WebView.subproj/WebController.m:
- WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]):
WebBrowser:
Fixed: 3053342 - Dragging URL to address field with favicon should clear favicon
- BrowserWindowController.m: (-[BrowserWindowController locationFieldReceivedDroppedURL:]):
- English.lproj/StringsNotToBeLocalized.txt:
- 4:26 PM Changeset in webkit [2852] by
-
- 7 edits in trunk/WebKit
Fixed: 3109945 - Assertion failure in -[WebIconDatabase_largestIconFromDictionary:]
Added error strings for download decoding errors.
- English.lproj/Localizable.strings: Added error strings for download decoding errors
- English.lproj/StringsNotToBeLocalized.txt:
- Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _loadIconDictionaries]): tweak (-[WebIconDatabase _updateFileDatabase]): more error checking to prevent assert (-[WebIconDatabase _setIconURL:forSiteURL:]): added asserts to prevent a site URL <-> icon URL mapping without a icon URL -> icon mapping (-[WebIconDatabase _largestIconFromDictionary:]): tweak
- Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): declare pboard types if none have been declared, else append types
- WebView.subproj/WebView.m: (+[WebView initialize]): Added error strings for download decoding errors
- 2:37 PM Changeset in webkit [2851] by
-
- 16 edits in trunk
- changed ScopeChain to not ref each item in the chain, and use marking instead; gains 1% on JavaScript iBench
- kjs/context.h: Return chain by reference.
- kjs/internal.cpp: (ContextImp::mark): Mark the scope chain.
- kjs/interpreter.cpp: (Context::scopeChain): Return chain by reference.
- kjs/interpreter.h: Make some Context methods inline.
- kjs/nodes.cpp: (ThisNode::evaluate): Get at ContextImp directly. (ResolveNode::evaluateReference): Ditto. (VarDeclNode::evaluate): Ditto. (VarDeclNode::processVarDecls): Ditto. (FuncDeclNode::processFuncDecl): Pass ScopeChain directly to avoid copying. (FuncExprNode::evaluate): Ditto.
- kjs/object.cpp: Make scope and setScope inline.
- kjs/object.h: Make scope return a chain by reference. Make scope and setScope both be inline. Use a normal ScopeChain instead of NoRefScopeChain since they are now one and the same.
- kjs/scope_chain.cpp: Remove all the code to ref and deref objects. Merge NoRefScopeChain in with ScopeChain since they both work this way now.
- kjs/scope_chain.h: Remove NoRefScopeChain and simplify the ref counts. Make more functions inline.
WebCore:
- force-js-clean-timestamp: Touch for ScopeChain change.
- 7:56 AM Changeset in webkit [2850] by
-
- 9 edits in trunk
WebCore:
- fixed 3067939 - no support for window.document.lastModified
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:lastModified:]): Set "modified" metadata based on passed in last mdified date.
WebKit:
- fixed 3067939 - no support for window.document.lastModified
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]): Pass last modified date to WebCore.
- WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Pass nil last modified date.
- 7:02 AM Changeset in webkit [2849] by
-
- 4 edits in trunk/JavaScriptCore
- fixed 3098356 - Hard hang on movie search at www.movietickets.com
- kjs/string_object.cpp: (StringProtoFuncImp::call): When doing a regexp replacement that results in an empty match, always move on to the next character after doing the replacement. The previous code would hit an infinite loop if an initial empty match was replaced with the empty string.
- 5:03 AM Changeset in webkit [2848] by
-
- 4 edits in trunk/WebCore
- fixed 3081946 - bookmarklet reports the wrong "windowfull" size
This isn't really beta 1 material but the fix was so tirivial I
couldn't resist.
- khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::tryGet): Use contentWidth and contentHeight for document.width and document.height instead of visibleWidth for both.
- 2:12 AM Changeset in webkit [2847] by
-
- 7 edits in trunk/JavaScriptCore
- fixed 3095446 - Crash on AppleScript page due to very long argument list
- kjs/grammar.y: Don't try to construct the argument list in the right order, since that blows out the parser stack.
- kjs/nodes.cpp: (ArgumentsNode::ArgumentsNode): Instead reverse the argument list here.
- kjs/nodes.h: Make ArgumentsNode a friend of ArgumentListNode.
- kjs/grammar.cpp: Updated from grammar.y.
Nov 23, 2002:
- 11:49 PM Changeset in webkit [2846] by
-
- 13 edits in trunk/JavaScriptCore
- completed Darin's mostly-fix for 3037795 - Resource use increases when accessing very high index value in array
The two missing pieces were handling sparse properties when
shrinking the array, and when sorting. Thse are now both taken
care of.
- kjs/array_instance.h:
- kjs/array_object.cpp: (ArrayInstanceImp::put): (ArrayInstanceImp::deleteProperty): (ArrayInstanceImp::resizeStorage): (ArrayInstanceImp::setLength): (ArrayInstanceImp::sort): (ArrayInstanceImp::pushUndefinedObjectsToEnd):
- kjs/identifier.h:
- kjs/object.h:
- kjs/property_map.cpp:
- kjs/property_map.h:
- kjs/reference_list.cpp: (ReferenceList::append): (ReferenceList::length):
- kjs/reference_list.h:
- kjs/ustring.cpp: (UString::toUInt32):
- kjs/ustring.h:
- 4:04 PM Changeset in webkit [2845] by
-
- 8 edits in trunk/JavaScriptCore
Numerous collector changes for a net gain of 3% on JS ibench:
- Replaced per-block bitmap with free list.
- Increased number of empty blocks kept around to 2.
- Doubled block size.
- When scanning heap in collector, skip scanning the rest of a block as soon as we see as many live cells as the the number of used cells it had originally.
Also the following collector changes unrelated to performance:
- Made constants
const int' instead ofstatic const int'. - Miscellaneous code cleanup.
- kjs/collector.cpp:
- Added debugging mode enabled by defining DEBUG_GC which asserts when a destroyed ValueImp
- kjs/internal.cpp: (ContextImp::mark):
- kjs/value.cpp: (Value::Value):
- kjs/value.h:
- kjs/config.h:
- 1:17 PM Changeset in webkit [2844] by
-
- 9 edits in trunk/WebKit
Fixed: 3109835 - Download errors aren't communicated to client
Cleaned-up WebMainResourceClient and WebBaseResourceHandleDelegate a little.
- Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase defaultIconWithSize:]): tweak (-[WebIconDatabase releaseIconForSiteURL:]): don't retain site URL here (-[WebIconDatabase _setIcon:forIconURL:]): tweak (-[WebIconDatabase _setIconURL:forSiteURL:]): tweak (-[WebIconDatabase _releaseIconForIconURLString:]): retain site URL here (-[WebIconDatabase _releaseFutureIconForSiteURL:]): tweak (-[WebIconDatabase _sendNotificationForSiteURL:]): tweak
- WebView.subproj/WebBaseResourceHandleDelegate.h:
- WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate cancelWithError:]): made public (-[WebBaseResourceHandleDelegate cancel]): cancel downloads too, call cancelWithError (-[WebBaseResourceHandleDelegate cancelQuietly]): call cancelWithError (-[WebBaseResourceHandleDelegate cancelledError]): tweak (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]): tweak
- WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:]): stop downloadHandler if downloading, else notify controller (-[WebMainResourceClient cancel]): call receivedError (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]): tweak (-[WebMainResourceClient handle:didReceiveData:]): stop load for download errors, report error (-[WebMainResourceClient handleDidFinishLoading:]): call didFailLoadingWithError is download error (-[WebMainResourceClient handle:didFailLoadingWithError:]): call receivedError
Nov 22, 2002:
- 11:49 PM Changeset in webkit [2843] by
-
- 19 edits in trunk
- replaced List class with a vector rather than a linked list, changed it to use a pool of instances instead of all the nodes allocated off of the heap; gives 10% gain on iBench
- kjs/list.h: Complete rewrite.
- kjs/list.cpp: Ditto.
- kjs/array_object.cpp: (compareWithCompareFunctionForQSort): Go back to doing a clear and two appends here. Fast with the new list implementation.
- kjs/collector.h: Remove _COLLECTOR hack and just make rootObjectClasses return a const void *.
- kjs/collector.cpp: Remove _COLLECTOR hack, and various other minor tweaks.
WebCore:
- khtml/ecma/kjs_window.cpp: Remove _COLLECTOR hack.
- kwq/WebCoreJavaScript.h:
- kwq/WebCoreJavaScript.mm: (+[WebCoreJavaScript rootObjectClasses]): Update for name change -- root object classes, not all live object classes.
- force-js-clean-timestamp: Make sure we don't have more build problems.
WebKit:
- Misc.subproj/WebCoreStatistics.h:
- Misc.subproj/WebCoreStatistics.m: (+[WebCoreStatistics javaScriptRootObjectClasses]): Update for name change -- root object classes, not all live object classes.
WebBrowser:
- Debug/CacheController.m: (-[CacheController refreshJavaScriptStatisticsMatrix]): Update for name change -- root object classes, not all live object classes.
- 9:24 PM Changeset in webkit [2842] by
-
- 4 edits in trunk/WebKit
WebFoundation:
Fixed: 3026574 - .text is probably text too
- types.plist: "text" is another extension for text/plain
WebKit:
Fixed assertion while loading local files.
- Misc.subproj/WebIconDatabase.m: we don't have icon URLs for files
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]): Only try loading favicon as the root of server if scheme is http or https. This isn't really a feature of other protocols.
- 8:33 PM Changeset in webkit [2841] by
-
- 5 edits in trunk/WebCore
Fix for 3107658, text doubling problem caused by layers being
constructed for <td>s. Just disallow positioning of <td>.
- khtml/rendering/render_box.cpp: (RenderBox::setStyle):
- khtml/rendering/render_flow.cpp: (RenderFlow::setStyle):
- 7:53 PM Changeset in webkit [2840] by
-
- 4 edits in trunk/WebCore
Oops. I meant to do that for <input type=button> and not
<button>. Just do it for <select>s for now.
- khtml/rendering/render_box.cpp: (RenderBox::calcReplacedWidth):
- 7:43 PM Changeset in webkit [2839] by
-
- 4 edits in trunk/WebCore
Make <select>s and <button>s ignore a CSS-specified width if that
width is smaller than their intrinsic width.
Fixes the <select> at the top of livepage.apple.com.
- khtml/rendering/render_box.cpp: (RenderBox::calcReplacedWidth):
- 7:43 PM Changeset in webkit [2838] by
-
- 4 edits in trunk/WebKit
WebKit:
2002-11-22 Chris Blumenberg <cblu@apple.com>
- WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): Added a FIXME around saveFilenameForResponse:andRequest: because the API expects a path but is asking for a filename.
WebBrowser:
Fixed: 3049735 - no default location for downloads
InternetConfig was giving an empty string for the download path. Now, when this happens, we set the download directory in InternetConfig to the Desktop.
- BrowserWebController.m: (-[BrowserWebController saveFilenameForResponse:andRequest:]): Added a FIXME because the API expects a path but is asking for a filename.
- Preferences.subproj/WBPreferences.m: (+[WBPreferences downloadPath]): Handle nil and "" case. Set download directory to Desktop.
- 6:50 PM Changeset in webkit [2837] by
-
- 3 edits in trunk/WebKit
Fixed: 3104693 - QT movie doesn't show video while still downloading
The initial size of plug-in should be 0,0 instead of 1,1 or else we don't get the layout
- Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView initWithFrame:]):
- 6:18 PM Changeset in webkit [2836] by
-
- 1 edit in trunk/WebKit/Misc.subproj/WebIconDatabase.m
fixed tiny deployment build breakage; removed unused variables duration and start
- 5:27 PM Changeset in webkit [2835] by
-
- 5 edits in trunk/WebKit
Fixed: 3078737 - Crash in -[WebHistoryItem dealloc] after closing last window
- Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase releaseIconForSiteURL:]): retain the site URL string because it may get released from beneath (-[WebIconDatabase _updateFileDatabase]): tweak (-[WebIconDatabase _iconsForIconURLString:]): disable timings for deployment build (-[WebIconDatabase _setIconURL:forSiteURL:]): tweak (-[WebIconDatabase _releaseIconForIconURLString:]): tweak (-[WebIconDatabase _scaleIcon:toSize:]): disable timings for deployment build
- Misc.subproj/WebIconDatabasePrivate.h:
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _updateIconDatabaseWithURL:]): new, does the db binding (-[WebDataSource _loadIcon]): call _updateIconDatabaseWithURL
- 3:20 PM Changeset in webkit [2834] by
-
- 8 edits2 adds1 delete in trunk/JavaScriptCore
- prepare to reimplement KJS::List; move to its own file, add statistics
- kjs/function_object.cpp: (FunctionProtoFuncImp::call): Use new copyTail() function rather than copy() and removeFirst().
- kjs/identifier.cpp: Add statistics, off by default.
- kjs/property_map.cpp: Add statistics, off by default.
- kjs/list.cpp: Added. Moved code here. To be rewritten.
- kjs/list.h: Added. Moved interface here. To be rewritten.
- kjs/types.cpp: Removed.
- kjs/types.h: Now just an empty header that includes other headers.
- JavaScriptCore.pbproj/project.pbxproj: Add new files, rearrange.
- 3:05 PM Changeset in webkit [2833] by
-
- 7 edits in trunk/WebKit
WebKit:
Attempt to fix: 3078737 - Crash in -[WebHistoryItem dealloc] after closing last window
I haven't found anything that would cause the crash. I did some clean-up, added asserts and error messages in hopes that this help me track this down.
- Misc.subproj/WebIconDatabase.h:
- Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase init]): (-[WebIconDatabase iconForSiteURL:withSize:cache:]): (-[WebIconDatabase iconForSiteURL:withSize:]): (-[WebIconDatabase retainIconForSiteURL:]): (-[WebIconDatabase releaseIconForSiteURL:]): (-[WebIconDatabase delayDatabaseCleanup]): (-[WebIconDatabase allowDatabaseCleanup]): (-[WebIconDatabase _iconDictionariesAreGood]): (-[WebIconDatabase _loadIconDictionaries]): (-[WebIconDatabase _updateFileDatabase]): (-[WebIconDatabase _hasIconForSiteURL:]): (-[WebIconDatabase _iconsForIconURLString:]): (-[WebIconDatabase _iconForFileURL:withSize:]): (-[WebIconDatabase _setIcon:forIconURL:]): (-[WebIconDatabase _setIconURL:forSiteURL:]): (-[WebIconDatabase _retainIconForIconURLString:]): (-[WebIconDatabase _releaseIconForIconURLString:]): (-[WebIconDatabase _retainFutureIconForSiteURL:]): (-[WebIconDatabase _releaseFutureIconForSiteURL:]): (-[WebIconDatabase _releaseOriginalIconsOnDisk]): (-[WebIconDatabase _sendNotificationForSiteURL:]): (-[WebIconDatabase _addObject:toSetForKey:inDictionary:]): (-[WebIconDatabase _largestIconFromDictionary:]): (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]): (-[WebIconDatabase _iconFromDictionary:forSize:cache:]): (-[WebIconDatabase _scaleIcon:toSize:]):
- Misc.subproj/WebIconDatabasePrivate.h:
- WebKit.exp:
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]):
WebBrowser:
- Removed old scripting code.
- Removed code that installed built-in icons.
- AppController.m: (-[AppController awakeFromNib]):
- Scripting.subproj/Scripting.h: Removed.
- Scripting.subproj/Scripting.m: Removed.
- WebBrowser.pbproj/project.pbxproj:
- 2:19 PM Changeset in webkit [2832] by
-
- 6 edits in trunk/WebKit
Fixed rendering issues associated with 3100120.
We now correctly map surrogate pairs in UTF-16. khtml still has
issues dealing with characters outside BMP. These are tracked
with 3109251 and 3109258.
Surrogate pairs are treated as exceptions and have their own character
to glyph map.
- Misc.subproj/WebUnicode.h:
- Misc.subproj/WebUnicode.m: (shapedString):
- WebCoreSupport.subproj/WebTextRenderer.h:
- WebCoreSupport.subproj/WebTextRenderer.m: (glyphForUnicodeCharacter): (findLengthOfCharacterCluster): (-[WebTextRenderer substituteFontForString:]): (-[WebTextRenderer convertUnicodeCharacters:length:toGlyphs:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]): (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
- 1:28 PM Changeset in webkit [2831] by
-
- 15 edits20 adds in trunk/WebCore
- started checking in all our generated source files for the benefit of B&I
- .cvsignore:
- WebCore-combined.exp: Added.
- khtml/css/.cvsignore:
- khtml/css/cssproperties.c: Added.
- khtml/css/cssproperties.h: Added.
- khtml/css/cssvalues.c: Added.
- khtml/css/cssvalues.h: Added.
- khtml/ecma/.cvsignore:
- khtml/ecma/kjs_css.lut.h: Added.
- khtml/ecma/kjs_dom.lut.h: Added.
- khtml/ecma/kjs_events.lut.h: Added.
- khtml/ecma/kjs_html.lut.h: Added.
- khtml/ecma/kjs_navigator.lut.h: Added.
- khtml/ecma/kjs_range.lut.h: Added.
- khtml/ecma/kjs_traversal.lut.h: Added.
- khtml/ecma/kjs_views.lut.h: Added.
- khtml/ecma/kjs_window.lut.h: Added.
- khtml/html/.cvsignore:
- khtml/html/kentities.c: Added.
- khtml/misc/.cvsignore:
- khtml/misc/htmlattrs.c: Added.
- khtml/misc/htmlattrs.h: Added.
- khtml/misc/htmltags.c: Added.
- khtml/misc/htmltags.h: Added.
- kwq/.cvsignore:
- kwq/KWQCharsetData.c: Added.
- 1:13 PM Changeset in webkit [2830] by
-
- 4 edits in trunk/WebKit
WebKit:
- Resources/url_icon.tiff: new generic URL icon -- little blue globe, pretty nice
- WebKit.exp: removed symbol for WebTextRendererFactory which was in here to support an obsolete SPI hack
WebBrowser:
- fixed 3104765 -- Use plain metal for bookmarks toolbar
- fixed 3104766 -- Implement new highlighting for bookmarks toolbar
- fixed 3108323 -- Dragging a toolbar bookmark can cause others to flash their mouseover highlight
- new preference icons
- BrowserNSStringExtras.h:
- BrowserNSStringExtras.m: (-[NSString drawDoubledInRect:withTopColor:bottomColor:font:centered:flipped:]): new method that encapsulates the double-text-draw used by the status bar. Now it's needed for FavoriteButtons too.
- EtchedStringView.m: (-[EtchedStringView drawRect:]): Now uses -[NSString drawDoubledInRect:etc]
- FavoriteButton.h:
- FavoriteButton.m: (-[FavoriteButton setBookmark:]): (-[FavoriteButton drawRolloverBackgroundImage]): (-[FavoriteButton drawPressedBackgroundImage]): (-[FavoriteButton drawDragBackgroundImage]): (-[FavoriteButton drawRect:]): (-[FavoriteButton drawForDraggingImageInRect:]): (-[FavoriteButton mouseDown:]): (-[FavoriteButton setIsMouseOver:]): reworked all the drawing code to draw background with _NSDrawThreePartImage instead of filled circles and rectangles, to match the new design from HI. Also, don't do rollover drawing if mouse is down (fixes 3108323)
- FavoriteButtonCell.h:
- FavoriteButtonCell.m: (+[FavoriteButtonCell bottomColorForDarkText]): (+[FavoriteButtonCell topColorForDarkText]): (+[FavoriteButtonCell bottomColorForLightText]): (+[FavoriteButtonCell topColorForLightText]): (-[FavoriteButtonCell drawInteriorWithFrame:inView:]): (-[FavoriteButtonCell setDrawsLightText:]): (-[FavoriteButtonCell drawsLightText]): reworked all the drawing code to use -[NSString drawDoubledInRect:etc], to match the new design from HI
- FavoritesBarView.h:
- FavoritesBarView.m: (-[FavoritesBarView awakeFromNib]): removed code to use a special background pattern
- Preferences.subproj/AppearancePreferences.tiff:
- Preferences.subproj/BookmarkPreferences.tiff:
- Preferences.subproj/SecurityPreferences.tiff: new icons (GeneralPreferences.tiff is unchanged)
- Preferences.subproj/English.lproj/GeneralPreferences.nib: final (ha!) set of tweaks from HI
- Preferences.subproj/GeneralPreferences.m: (-[GeneralPreferences moduleWasInstalled]): tweaked; removed obsolete comment
- Resources/Images/FavoriteDrag_Caps.tif: Added.
- Resources/Images/FavoriteDrag_Middle.tif: Added.
- Resources/Images/FavoritePressed_Caps.tif: Added.
- Resources/Images/FavoritePressed_Middle.tif: Added.
- Resources/Images/FavoriteRollover_Caps.tif: Added.
- Resources/Images/FavoriteRollover_Middle.tif: Added.
- Resources/Images/FavoritesBarClipIndicator.tiff:
- Resources/Images/FavoritesFolderArrow.tif:
- Resources/Images/FavoritesFolderArrowWhite.tif: Added.
- WebBrowser.pbproj/project.pbxproj: updated for new files
- 11:35 AM Changeset in webkit [2829] by
-
- 6 edits in trunk/WebKit
WebKit:
Added more detailed notifications on history changes.
All changes below are just posting the new notes at the right time.
- English.lproj/StringsNotToBeLocalized.txt:
- History.subproj/WebHistory.h:
- History.subproj/WebHistory.m: (-[WebHistory _sendNotification:entries:]): (-[WebHistory addEntry:]): (-[WebHistory removeEntry:]): (-[WebHistory removeEntries:]): (-[WebHistory removeAllEntries]): (-[WebHistory addEntries:]): (-[WebHistory loadHistory]):
- WebKit.exp:
WebBrowser:
Autocomplete is working with a decent DB behind it. We use a Patricia tree with the added
capability of enumerating forward from a cursor.
Things that work at this point:
- Anything in your history or bookmarks (except from AB or Rendezvous) is findable
- autocomplete DB tracks changes to history
- results are ordered lexographically (not fancy, but at least the shortest things are first)
Here's what's getting fixed next:
- Matching doesn't work if you type http:// or www. as part of your partial string (we only match ignoring the boilerplate).
- Changes to bookmarks are not reflected in the autocomplete DB
- Results will be ranked so the one you want is always the first one selected, like it's reading your mind.
- Reduce conversions from NString to NSURL to NSString to NSURL to...
- BrowserWindowController.m: (-[BrowserWindowController windowDidLoad]): Re-enable feature.
- CompletionController.m: (leftPointsUpward): Patricia utility function. (rightPointsUpward): Patricia utility function. (leftmostChild): Patricia utility function. (+[CompletionController _tree_create]): Initialize the root node. (destroyTree): recursively free up the tree (+[CompletionController _tree_destroy]): Free the tree. (_bitOfString): Patricia utility function. (_leftmostBitOfUnichar): Patricia utility function. (_leftmostDiffBit): Patricia utility function. (_stringFromKey): Extract the string we index from an item we put in the db (calls _cookedURLString) (_findInsertionPoint): Search the tree for place we would insert a node. (_findPotentialNode): Search for a match in the tree. (+[CompletionController _tree_addItem:]): Add an item. (+[CompletionController _tree_deleteItem:]): Delete an item. (+[CompletionController _tree_findItem:cursor:]): Find and item, setting cursor. (+[CompletionController _tree_nextItemUsingCursor:]): Get next item. (+[CompletionController _tree_setCursorAtStart:]): Set cursor (only for debug now) (DumpAutoCompleteTree): Debugding dump. (_cookedURLString): Strips off boilerplate like "http://www." from a URL (+[CompletionController _addBookmarkTree:]): Recursively adds bookmarks to the tree. (+[CompletionController _loadDB]): Adds bookmarks and history to the tree. (-[CompletionController _executeQuery]): Looks up a result set given a user's partial string. (+[CompletionController _registerForNotifications]): Listen for history changes. (+[CompletionController _historyAdded:]): Update db on history change. (+[CompletionController _historyRemoved:]): Update db on history change. (+[CompletionController _reloadDB:]): Update db on history change. (-[CompletionController _buildUI]): Make popdown window slightly transparent. (-[CompletionController _reflectSelectedRow]): Properly add completion text to user's partial text. ("http://www." no longer hardwired) (-[CompletionController tableView:objectValueForTableColumn:row:]): Handle bookmarks as well as WebHistoyItems.
- GlobalHistory.m: (-[GlobalHistory _registerForHistoryNotifications]): Register for new WebHistory notifications.
- 11:03 AM Changeset in webkit [2828] by
-
- 7 edits in trunk/WebCore
Fix for the table/form regressions. Also landing beginnings
of the block/inline work.
- khtml/html/html_tableimpl.cpp: (HTMLTableSectionElementImpl::addChild):
- khtml/html/html_tableimpl.h:
- khtml/rendering/render_flow.cpp: (RenderFlow::RenderFlow):
- khtml/rendering/render_flow.h:
- 11:00 AM Changeset in webkit [2827] by
-
- 4 edits in trunk/WebKit
Changed NSString category methods to include _web_ prefix.
- Misc.subproj/WebKitNSStringExtras.h:
- Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthForString:font:]):
Changed NSString category methods to include _web_ prefix.
- EtchedStringView.m: (-[EtchedStringView drawRect:]):
- 10:48 AM Changeset in webkit [2826] by
-
- 3 edits2 adds in trunk/WebKit
Changed to use simplified SPI. Drawing and measuring using
WebKit's text renderer are provided as category methods
on NSString.
- EtchedStringView.m: (-[EtchedStringView drawRect:]):
Simplified drawing and measuring SPI for use by Alex.
- Misc.subproj/WebKitNSStringExtras.h: Added.
- Misc.subproj/WebKitNSStringExtras.m: Added. (-[NSString widthForString:font:]):
- WebKit.pbproj/project.pbxproj:
- 1:47 AM Changeset in webkit [2825] by
-
- 4 edits in trunk/JavaScriptCore
- reduce cell size to 56 bytes from 64, now that nearly all objects fit in that size. .5% speed gain and probably some footprint gain.
- kjs/collector.cpp: Change CELL_SIZE from 64 to 56.
- 1:04 AM Changeset in webkit [2824] by
-
- 21 edits in trunk
- change ScopeChain to be a singly linked list shares tails, gives 11% gain on iBench
- kjs/context.h: (ContextImp::pushScope): Make inline, use push instead of prepend, and pass imp pointer. (ContextImp::popScope): Make inline, use pop instead of removeFirst.
- kjs/function.cpp: (DeclaredFunctionImp::DeclaredFunctionImp): No need to copy.
- kjs/function_object.cpp: (FunctionObjectImp::construct): Use push instead of prepend, and pass imp pointer.
- kjs/internal.cpp: (ContextImp::ContextImp): Use clear, push instead of prepend, and pass imp pointers.
- kjs/nodes.cpp: (ResolveNode::evaluateReference): Use isEmpty, pop, and top instead of ScopeChainIterator.
- kjs/object.h: Change _scope to be a NoRefScopeChain.
- kjs/object.cpp: No need to initialize _scope any more, since it's not a NoRefScopeChain.
- kjs/scope_chain.h: Rewrite, different implementation and interface.
- kjs/scope_chain.cpp: More of the same.
WebCore:
- khtml/ecma/kjs_dom.cpp: (DOMNode::pushEventHandlerScope): Change to push handlers on an existing scope chain rather than returning one. Name change too.
- khtml/ecma/kjs_dom.h: More of the same.
- khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::pushEventHandlerScope): And here.
- khtml/ecma/kjs_html.h: And here.
- khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): Use the pushEventHandlerScope function, and also don't worry about optimizing the "no change" case, because that already works pretty efficiently.
- 12:48 AM Changeset in webkit [2823] by
-
- 7 edits in trunk/WebCore
Fix for the weather.com, slate and espn malformations that
could occur. Also reverting an earlier change for handling
font tags like other inlines. Both FONT and A need to be
given special treatment until I can implement a strategy that
will allow them to be handled just like the other inlines.
- khtml/html/dtd.cpp: (DOM::checkChild):
- khtml/html/html_elementimpl.cpp: (HTMLElementImpl::isInline):
- khtml/html/html_elementimpl.h:
- khtml/xml/dom_nodeimpl.h:
- 12:13 AM Changeset in webkit [2822] by
-
- 4 edits in trunk/JavaScriptCore
- a simple change for .4% gain on ibench - instead of unmarking all objects at the start of collection, instead unmark as part of the sweep phase
- kjs/collector.cpp: (Collector::collect): Remove separate unmarking pass and instead unmark the objects that don't get collected during the sweep phase.
Nov 21, 2002:
- 10:59 PM Changeset in webkit [2821] by
-
- 27 edits3 adds in trunk
top level:
- Site/Internal/Design/CFURL.rtf: Added.
Tools:
- Scripts/last-update: Added. Script for Trey that tells you when you last did a cvs update, based on most-recently updated ChangeLog.
- stop garbage collecting the ActivationImp objects, gets 3% on iBench
- pave the way to separate the argument lists from scope chains
- kjs/context.h: Added. Moved ContextImp here so it can use things defined in function.h
- kjs/scope_chain.h: Added. Starting as a copy of List, to be improved.
- kjs/scope_chain.cpp: Added. Starting as a copy of List, to be improved.
- JavaScriptCore.pbproj/project.pbxproj: Rearranged things, added context.h.
- kjs/function.cpp: (FunctionImp::call): Pass InterpreterImp, not ExecState, to ContextImp. (DeclaredFunctionImp::DeclaredFunctionImp): List -> ScopeChain. (ActivationImp::createArgumentsObject): ArgumentList -> List. (GlobalFuncImp::call): Pass InterpreterImp, not an ExecState, to ContextImp.
- kjs/function.h: List -> ScopeChain.
- kjs/function_object.cpp: (FunctionObjectImp::construct): List -> ScopeChain.
- kjs/internal.cpp: (ContextImp::ContextImp): Set the context in the interpreter. (ContextImp::~ContextImp): Set the context in the interpreter to the caller. (ContextImp::mark): Mark all the activation objects. (InterpreterImp::InterpreterImp): Initialize context to 0. (InterpreterImp::mark): Mark the top context. (InterpreterImp::evaluate): Pass InterpreterImp to ContextImp.
- kjs/internal.h: Move ContextImp to its own header. Add setContext to InterpreterImp.
- kjs/interpreter.cpp: (Context::scopeChain): List -> ScopeChain.
- kjs/interpreter.h: List -> ScopeChain.
- kjs/nodes.cpp: (ResolveNode::evaluateReference): List -> ScopeChain. (FuncDeclNode::processFuncDecl): List -> ScopeChain. (FuncExprNode::evaluate): List -> ScopeChain.
- kjs/object.cpp: List -> ScopeChain.
- kjs/object.h: List -> ScopeChain.
- kjs/types.h: Remove needsMarking features from List.
- kjs/types.cpp: Ditto.
WebCore:
- khtml/ecma/kjs_dom.cpp: (DOMNode::eventHandlerScope): List -> ScopeChain.
- khtml/ecma/kjs_dom.h: List -> ScopeChain.
- khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): List -> ScopeChain.
- khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::eventHandlerScope): List -> ScopeChain.
- khtml/ecma/kjs_html.h: List -> ScopeChain.
- force-js-clean-timestamp: Not sure this is required, but better safe than sorry.
- 8:40 PM Changeset in webkit [2820] by
-
- 6 edits in trunk/WebKit
Removed workaround for: 3093170 - Handle clients receive data with length 0
as it's now fixed.
- Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler receivedData:]): remove workaround
- WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveData:]): added asserts
- 6:58 PM Changeset in webkit [2819] by
-
- 4 edits in trunk/WebKit
A different fix to 3078065 that doesn't depend on the appkit's idea of
fixed pitch font.
The fix is to adjust the width of all characters that have the same width
as the space character to match the adjustment of the space character.
This has the slight downside that non-monospace fonts that contain glyphs
with the same width as the space character will have an extra adjustment.
In practice this is not noticeable as the adjustment is always sub-pixel.
Nor of course does this cause any mislayout, as it's done at the lowest
level for both measurement and drawing.
Until we move kthml internals to floats this will be just fine.
- WebCoreSupport.subproj/WebTextRenderer.h:
- WebCoreSupport.subproj/WebTextRenderer.m: (widthForGlyph): (-[WebTextRenderer initWithFont:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
tAfterNavigationPolicy:request:]):
- 6:43 PM Changeset in webkit [2818] by
-
- 4 edits in trunk/WebCore
- force-js-clean-timestamp: Touch so other people's builds work.
- 6:08 PM Changeset in webkit [2817] by
-
- 5 edits in trunk/JavaScriptCore
- reduced the size of PropertyMap by storing sizes and such in the dynamically allocated part of the object to reduce the size of ObjectImp - .5% speed improvement on JS iBench.
- kjs/property_map.cpp:
- kjs/property_map.h:
- 5:57 PM Changeset in webkit [2816] by
-
- 4 edits in trunk/WebCore
Nested <a>s are never allowed. Make sure to always pop the
<a> blocks.
- khtml/html/htmlparser.cpp: (KHTMLParser::getElement):
- 5:32 PM Changeset in webkit [2815] by
-
- 4 edits in trunk/WebCore
Stop table cells from repainting the whole table when they
get a repaint. Gives another big boost to link rollover
performance when links' containing blocks are table cells.
- khtml/rendering/render_table.cpp: (RenderTableCell::repaint):
- 5:26 PM Changeset in webkit [2814] by
-
- 4 edits in trunk/WebCore
Fix <font> so that behaves just like <i>, <b>, etc. Stop
the (incorrect) allowance of blocks inside <font> tags.
This fixes the mispositioning on avoyagetoarcturus.blogspot.com
and fixes the vertical gaps on www.ve3d.com.
- khtml/html/dtd.cpp: (DOM::checkChild):
- 5:20 PM Changeset in webkit [2813] by
-
- 11 edits in trunk
Tools:
- CommitLogEditor/Makefile.am: Pass symroots for this tree to pbxbuild.
- HotSpotFinder/Makefile.am: Pass symroots for this tree to pbxbuild.
- Makefile.am: Pass symroots for this tree to pbxbuild.
Tests:
- ObjcUnit/Makefile.am: Pass symroots for this tree to pbxbuild.
- TestPlugin/Makefile.am: Pass symroots for this tree to pbxbuild.
- WebFoundation-CacheLoader/Makefile.am: Pass symroots for this tree to pbxbuild.
WebFoundation:
- Makefile.am: Pass symroots for this tree to pbxbuild.
WebCore:
- Makefile.am: Pass symroots for this tree to pbxbuild.
WebKit:
- Makefile.am: Pass symroots for this tree to pbxbuild.
WebBrowser:
- Makefile.am: Pass symroots for this tree to pbxbuild.
- 5:17 PM Changeset in webkit [2812] by
-
- 6 edits in trunk/WebCore
Fixed for tables. Make the percentage height calculation
more robust. Also add a hack for replaced elements to
subtract out their margins when computing percentage widths.
This keeps them from spilling out of table cells.
- khtml/rendering/render_box.cpp: (RenderBox::calcReplacedWidth): (RenderBox::calcReplacedHeight):
- khtml/rendering/render_table.cpp: (RenderTable::layoutRows):
- khtml/xml/dom_nodeimpl.h:
- 4:25 PM Changeset in webkit [2811]
-
- 4 copies in tags/Alexander-33
This commit was manufactured by cvs2svn to create tag 'Alexander-33'.
- 4:25 PM Changeset in webkit [2810] by
-
- 3 edits in trunk/WebCore
Moved Alexander-33 marker.
- 4:22 PM Changeset in webkit [2809] by
-
- 4 edits in trunk/WebCore
Fixed from SK's copy/paste whitespace issue.
This fixes 3076236 and a regression due to additional whitespace
in the DOM.
- kwq/WebCoreBridge.mm: (attributedString):
- 4:13 PM Changeset in webkit [2808] by
-
- 4 edits in trunk/WebKit
Fixed: 3009881 - plugins get mouse-overs even when mouse is in menus
Fixed: 3108240 - Loading datasource sometimes doesn't have cancelled error when cancelled
- Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendNullEvent]): check if menus are showing (-[WebBaseNetscapePluginView restartNullEvents]): tweak
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _stopLoading]): set cancelled error if main handle is gone
- 4:03 PM Changeset in webkit [2807] by
-
- 8 edits in trunk
Alex-33 stamp
- 2:06 PM Changeset in webkit [2806] by
-
- 4 edits in trunk/WebCore
Fix mac.com regression (and weather.com regression).
- khtml/rendering/bidi.cpp: (RenderFlow::findNextLineBreak):
- 1:19 PM Changeset in webkit [2805] by
-
- 4 edits in trunk/WebCore
Fixed performance regression! Argh.
- khtml/rendering/font.cpp: (Font::width):
- 9:36 AM Changeset in webkit [2804] by
-
- 8 edits in trunk
- kjs/property_map.cpp: More assertions.
WebCore:
- force-js-clean-timestamp: Trigger a rebuild because of the size change in ValueImp.
- 9:06 AM Changeset in webkit [2803] by
-
- 5 edits in trunk/WebCore
- fixed 3107286 -- REGRESSION: unrepro assertion failure in KWQKHTMLPart.mm keyEvent
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::keyEvent): Handle case of nil document as well as case of nil focus node.
- kwq/WebCoreBridge.mm: Tweak whitespace.
- 8:23 AM Changeset in webkit [2802] by
-
- 4 edits in trunk/JavaScriptCore
- kjs/property_map.cpp: Turn that consistency check back off.
- 8:22 AM Changeset in webkit [2801] by
-
- 5 edits in trunk/JavaScriptCore
- someone somewhere must be defining a macro named check, causing a compile failure in WebCore
Rename check() to checkConsistency().
- kjs/property_map.h: Rename.
- kjs/property_map.cpp: Yes, rename.
- 7:39 AM Changeset in webkit [2800] by
-
- 12 edits in trunk/JavaScriptCore
- add self-check to property map in hopes of finding the cnet.com bug
- kjs/property_map.h: Add check() function.
- kjs/property_map.cpp: Add the checking, controlled by DO_CONSISTENCY_CHECK.
- fixed UChar interface so it's not so slow in debug builds
- kjs/ustring.h: Nothing in UChar needs to be private.
- kjs/function.cpp: (GlobalFuncImp::call):
- kjs/function_object.cpp: (FunctionObjectImp::construct):
- kjs/identifier.cpp:
- kjs/lexer.cpp: (Lexer::setCode), (Lexer::shift):
- kjs/lookup.cpp: (keysMatch):
- kjs/ustring.cpp: (UString::Rep::computeHash), (KJS::compare): Use the "uc" field instead of the "unicode()" inline function.
- 7:11 AM Changeset in webkit [2799] by
-
- 6 edits in trunk/JavaScriptCore
- fixed a null-dereference I ran into while trying to reproduce bug 3107351
- kjs/function.h: Change ActivationImp constructor to take context parameter.
- kjs/function.cpp: (ActivationImp::ActivationImp): Take context parameter, not execution state parameter.
- kjs/internal.cpp: (ContextImp::ContextImp): Initialize activation object from context, not execution state, because the new context is not yet in the execution state.
Nov 20, 2002:
- 11:42 PM Changeset in webkit [2798] by
-
- 10 edits in trunk
WebFoundation:
- English.lproj/StringsNotToBeLocalized.txt: Update.
WebCore:
- fixed 3107383 -- clicking link on cnet.com leads to assertion failure
When we removed a frame, we were leaving behind an empty WebView. Yuck.
- kwq/KWQScrollView.mm: (QScrollView::addChild): Use the new getOuterView. (QScrollView::removeChild): Ditto. This was the bug fix.
- kwq/KWQWidget.h: Add getOuterView.
- kwq/KWQWidget.mm: (QWidget::frameGeometry): Use the new getOuterView. (QWidget::setFrameGeometry): Ditto. (QWidget::getOuterView): Added. Does the WebCoreFrameView magic to find the WebView instead of the WebHTMLView. Yuck. (QWidget::paint): Use the new getOuterView.
WebKit:
- Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Unescape the string before executing it, so we don't suffer from bug 3083043 here in the javascript: URLs that come from plug-ins.
- English.lproj/StringsNotToBeLocalized.txt: Update.
WebBrowser:
- Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]): Fix typo. "Import" the favorites, don't "Imported" them.
- English.lproj/StringsNotToBeLocalized.txt: Let the update script sort this file.
- 10:05 PM Changeset in webkit [2797] by
-
- 5 edits2 deletes in trunk/WebKit
Fixed: 3079134 - Throttle plug-ins while in background
- Plugins.subproj/WebBaseNetscapePluginView.h:
- Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendNullEvent]): new (-[WebBaseNetscapePluginView stopNullEvents]): stops timer (-[WebBaseNetscapePluginView restartNullEvents]): stops timer if there is one, and starts a new one based on window activation state (-[WebBaseNetscapePluginView start]): call restartNullEvents (-[WebBaseNetscapePluginView stop]): call stopNullEvents (-[WebBaseNetscapePluginView windowBecameKey:]): call restartNullEvents (-[WebBaseNetscapePluginView windowResignedKey:]): call restartNullEvents (-[WebBaseNetscapePluginView windowDidMiniaturize:]): call stopNullEvents (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): call restartNullEvents
- Plugins.subproj/WebNetscapePluginNullEventSender.h: Removed. No need for another class, use a timer.
- Plugins.subproj/WebNetscapePluginNullEventSender.m: Removed. No need for another class, use a timer.
- WebKit.pbproj/project.pbxproj:
- 6:20 PM Changeset in webkit [2796] by
-
- 4 edits in trunk
Fixed 3107007. Letter-spacing is causing width to be miscalculated.
This also fixed some selection problems.
- khtml/rendering/font.cpp: (Font::width):
Fixed 3107007. Letter-spacing is causing width to be miscalculated.
This also fixed some selection problems.
- WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
- 5:35 PM Changeset in webkit [2795] by
-
- 1 edit in trunk/WebKit/WebCoreSupport.subproj/WebTextRenderer.h
Oops, forgot to checkin header change.
- 5:28 PM Changeset in webkit [2794] by
-
- 6 edits in trunk/JavaScriptCore
- added a feature for Richard to use in his back/forward cache
- kjs/object.h: Added save/restoreProperties.
- kjs/property_map.h: Here too.
- kjs/property_map.cpp: Here too.
- 5:21 PM Changeset in webkit [2793] by
-
- 3 edits in trunk/WebKit
Fixed mono spaced fonts to always render with mono spacing! (3078065)
- WebCoreSupport.subproj/WebTextRenderer.h:
- WebCoreSupport.subproj/WebTextRenderer.m: (widthForGlyph): (-[WebTextRenderer initWithFont:]):
- 4:55 PM Changeset in webkit [2792] by
-
- 8 edits in trunk/JavaScriptCore
- created argument list objects only on demand for a 7.5% speedup
- kjs/function.h: Change ActivationImp around.
- kjs/function.cpp: (FunctionImp::call): Pass a pointer to the arguments list to avoid ref/unref. (FunctionImp::get): Get the function pointer from the context directly, not the activation object. (ArgumentsImp::ArgumentsImp): Add an overload that takes no arguments. (ActivationImp::ActivationImp): Store a context pointer and an arguments object pointer. (ActivationImp::get): Special case for arguments, create it and return it. (ActivationImp::put): Special case for arguments, can't be set. (ActivationImp::hasProperty): Special case for arguments, return true. (ActivationImp::deleteProperty): Special case for arguments, refuse to delete. (ActivationImp::mark): Mark the arguments object. (ActivationImp::createArgumentsObject): Do the work of actually creating it. (GlobalFuncImp::call): Use stack-based objects for the ContextImp and ExecState.
- kjs/internal.h: Keep function and arguments pointer in the context.
- kjs/internal.cpp: (ContextImp::ContextImp): Don't pass in the func and args when making an ActivationImp. (InterpreterImp::evaluate): Use stack-based objects here.
- kjs/types.h: Add ArgumentList as a synonym for List, soon to be separate.
- 4:21 PM Changeset in webkit [2791] by
-
- 5 edits in trunk/JavaScriptCore
Reduced the size of ValueImp by 8 bytes for a .5% speedup.
- kjs/value.h: Removed destructed flag. Made refcount and flag 16 bits each.
- kjs/value.cpp: (ValueImp::~ValueImp): Don't set destructed flag.
- 3:55 PM Changeset in webkit [2790] by
-
- 3 edits in trunk/WebKit
Fixed: 3074926 - crash in BitsToPix() trying to print cnet page
- Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView drawRect:]): disable experimental plug-in printing code.
- 2:59 PM Changeset in webkit [2789] by
-
- 4 edits in trunk/JavaScriptCore
- kjs/types.cpp: Keep ref count for the whole lists of nodes. Doesn't speed things up much, less than 1%.
- 2:26 PM Changeset in webkit [2788] by
-
- 4 edits in trunk/JavaScriptCore
- kjs/collector.cpp: (Collector::allocate): Clear the flags on newly allocated objects.
- 2:11 PM Changeset in webkit [2787] by
-
- 4 edits in trunk/WebKit
Minor clean-up, logging and more error checking in plug-in code.
- Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream setResponse:]): (-[WebBaseNetscapePluginStream receivedData:]): (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
- Plugins.subproj/npapi.m: (NPN_UserAgent): (NPN_MemFree): (NPN_MemFlush): (NPN_ReloadPlugins):
- 1:49 PM Changeset in webkit [2786] by
-
- 6 edits in trunk/JavaScriptCore
- oops, checked in big regression instead of 5% speedup
- kjs/function.cpp: (ActivationImp::ActivationImp): Make a marking list, not a refing list.
- a cut at the sparse array implementation
- kjs/array_instance.h: Keep storageLength separate from length.
- kjs/array_object.cpp: (ArrayInstanceImp::ArrayInstanceImp): Start with storageLength == length. (ArrayInstanceImp::get): Check against storage length. (ArrayInstanceImp::put): Ditto. (ArrayInstanceImp::hasProperty): Ditto. (ArrayInstanceImp::deleteProperty): Ditto. (ArrayInstanceImp::setLength): Only enlarge storage length up to a cutoff. (ArrayInstanceImp::mark): Use storageLength. (ArrayInstanceImp::pushUndefinedObjectsToEnd): Added FIXME.
- 1:34 PM Changeset in webkit [2785] by
-
- 4 edits in trunk/WebCore
- force-js-clean-timestamp: Again.
- 1:25 PM Changeset in webkit [2784] by
-
- 4 edits in trunk/WebCore
Fix the mac.com line-breaking bug. This was not a regression
but was present in Konq.
- khtml/rendering/bidi.cpp: (RenderFlow::findNextLineBreak):
- 1:12 PM Changeset in webkit [2783] by
-
- 31 edits1 add in trunk/JavaScriptCore
- decrease ref/deref -- 5% speedup in iBench
- JavaScriptCore.pbproj/project.pbxproj: Added array_instance.h
- kjs/array_instance.h: Added so it can be shared by function.h.
- kjs/array_object.cpp:
- kjs/array_object.h:
- kjs/bool_object.cpp:
- kjs/bool_object.h:
- kjs/collector.cpp:
- kjs/date_object.cpp:
- kjs/date_object.h:
- kjs/error_object.cpp:
- kjs/function.cpp:
- kjs/function.h:
- kjs/function_object.cpp:
- kjs/internal.cpp:
- kjs/internal.h:
- kjs/math_object.cpp:
- kjs/nodes.cpp:
- kjs/number_object.cpp:
- kjs/object.cpp:
- kjs/object.h:
- kjs/object_object.cpp:
- kjs/property_map.cpp:
- kjs/reference.cpp:
- kjs/reference.h:
- kjs/regexp_object.cpp:
- kjs/string_object.cpp:
- kjs/string_object.h:
- kjs/value.cpp:
- kjs/value.h: Switched lots of interfaces so they don't require ref/deref.
- 11:20 AM Changeset in webkit [2782] by
-
- 3 edits in trunk/WebKit
Fixed: 3061174 - javascript: URLs sent by plugins don't work
- Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
- 8:54 AM Changeset in webkit [2781] by
-
- 5 edits in trunk/JavaScriptCore
Fixed the two most obvious problems with the new GC for another 6%
improvement.
- kjs/collector.cpp: (Collector::allocate): Don't bother doing the bit tests on a bitmap word if all it's bits are on. (Collector::collect): Track memoryFull boolean.
- kjs/collector.h: Inlined outOfMemory since it was showing up on profiles.
- 2:07 AM Changeset in webkit [2780] by
-
- 3 edits in trunk/WebKit
WebFoundation:
- English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
WebKit:
- English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
WebBrowser:
- English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
- Test/PageLoadTestController.m: (-[PageLoadTestController browserWindowClosed]): Explain the world leak check a bit more.
- 1:34 AM Changeset in webkit [2779] by
-
- 11 edits in trunk
Rewrote garbage collector to make blocks of actual memory instead
of blocks of pointers. 7% improvement on JavaScript
iBench. There's still lots of room to tune the new GC, this is
just my first cut.
- kjs/collector.cpp: (Collector::allocate): (Collector::collect): (Collector::size): (Collector::outOfMemory): (Collector::finalCheck): (Collector::numGCNotAllowedObjects): (Collector::numReferencedObjects): (Collector::liveObjectClasses):
- kjs/collector.h:
- kjs/function.cpp: (ActivationImp::ActivationImp):
- kjs/function.h:
WebCore:
- force-js-clean-timestamp: Work around PB lameness yet again.
- 1:11 AM Changeset in webkit [2778] by
-
- 9 edits in trunk/JavaScriptCore
- on the road to killing ActivationImp
- kjs/function.h: Add get/put to FunctionImp. Remove argumentsObject() from ActivationImp. Add function() to ActivationImp.
- kjs/function.cpp: (FunctionImp::FunctionImp): No arguments property. (FunctionImp::call): No need to set up the arguments property. (FunctionImp::parameterString): Remove strangeness. (FunctionImp::processParameters): Ditto. (FunctionImp::get): Added, handles arguments and length properties. (FunctionImp::put): Ditto. (FunctionImp::hasProperty): Ditto. (FunctionImp::deleteProperty): Ditto. (ActivationImp::ActivationImp): Store a function pointer so we can find it in the context.
- kjs/function_object.cpp: (FunctionObjectImp::construct): No need to set up arguments property.
- kjs/nodes.cpp: (FuncExprNode::evaluate): No need to set up length property.
- kjs/internal.h: Return ObjectImp * for activation object.
- kjs/interpreter.h: Remove stray declaration of ExecStateImp.
- 12:53 AM Changeset in webkit [2777] by
-
- 7 edits in trunk/JavaScriptCore
- add a couple of list operations to avoid clearing lists so much during sorting; gives 1.5% iBench
- kjs/types.h: Added replaceFirst/replaceLast.
- kjs/types.cpp: (List::replaceFirst), (List::replaceLast): Added.
- kjs/array_object.cpp: (compareWithCompareFunctionForQSort): Use replaceFirst/replaceLast.
- kjs/property_map.cpp: Put in an ifdef so I can re-add/remove the single entry to see if it has outlived its usefulness. (It hasn't yet.)
- 12:15 AM Changeset in webkit [2776] by
-
- 7 edits in trunk/JavaScriptCore
- atomic identifiers; gives another 6.5% in the iBench suite
- kjs/identifier.h: Did the real thing.
- kjs/identifier.cpp: Ditto.
- kjs/property_map.h: _tableSizeHashMask -> _tableSizeMask
- kjs/property_map.cpp: The above, plus take advantage of comparing by pointer instead of by comparing bytes.