Timeline
Aug 9, 2002:
- 9:32 PM Changeset in webkit [1792] by
-
- 3 edits in trunk/JavaScriptCore
Some string speedups. Makes sony.com cached 11% faster on Development, but
the improvement for Deployment should be greater.
- 9:31 PM Changeset in webkit [1791] by
-
- 13 edits in trunk
Some string speedups. Makes sony.com cached 11% faster.
- kjs/ustring.h: Made it possible for UChar objects to be uninitialized, which gives a speed boost. Inlined CString's +=, UString's destructor, +=, and +.
- kjs/ustring.cpp: (UString::UString): Optimize const char * version, which showed up heavily in performance analysis. Added new two-UString version, which makes the + operator fast. (UString::ascii): Remove thread safety changes. Change static buffer to remember its size, and to always be at least 4096 bytes long; that way we never have to reallocate unless it's for a long string. Also make code to extract the characters significantly faster by getting rid of two pointer dereferences per character. (UString::is8Bit): Avoid one pointer dereference per character. (UString::toDouble): Use ascii() instead of cstring() to avoid copying the string.
- kjs/collector.cpp: Remove unneeded APPLE_CHANGES.
- kjs/regexp.cpp: Remove ifdefs around some APPLE_CHANGES that we want to keep, because they just fix warnings.
- kjs/value.h: Remove obsolete APPLE_CHANGES comment.
- JavaScriptCore.pbproj/project.pbxproj: Project Builder decided to move a line around in the file.
WebCore:
- force-clean-timestamp: JavaScriptCore headers changed that require a full build here.
- 5:04 PM Changeset in webkit [1790] by
-
- 4 edits in trunk/JavaScriptCore
Fix my last change to actually call the versions of the lock functions
that are recursive and initialize as needed.
- kjs/internal.cpp: (InterpreterImp::InterpreterImp): (InterpreterImp::clear): (InterpreterImp::evaluate):
- 4:24 PM Changeset in webkit [1789] by
-
- 7 edits in trunk/JavaScriptCore
- fixed 2948835 - JavaScriptCore locking is too fine grained, makes it too slow
- kjs/collector.cpp: (Collector::allocate): (Collector::collect): (Collector::finalCheck): (Collector::numInterpreters): (Collector::numGCNotAllowedObjects): (Collector::numReferencedObjects):
- kjs/collector.h:
- kjs/internal.cpp: (initializeInterpreterLock): (lockInterpreter): (unlockInterpreter): (Parser::parse): (InterpreterImp::InterpreterImp): (InterpreterImp::clear): (InterpreterImp::evaluate):
- kjs/value.cpp: (ValueImp::ValueImp): (ValueImp::setGcAllowed):
- 4:12 PM Changeset in webkit [1788] by
-
- 9 edits in trunk/WebCore
- fixed 3018063 -- frame problems at directory.apple.com
- fixed 3021484 -- Go to "xxxx" mouseover status message should not show ".."
Basically, we had no frame targeting for forms. I made the form code share
the same frame targeting code we use for clicking on URLs.
- khtml/khtml_part.cpp: (KHTMLPart::openURLInFrame): Don't compile this function at all any more.
- kwq/KWQKHTMLPartBrowserExtension.mm: (KHTMLPartBrowserExtension::openURLRequest): Call the impl's openURLRequest instead of calling the part's openURLInFrame. Clearer.
- kwq/KWQKHTMLPartImpl.h: Remove openURLInFrame, add openURLRequest. Change urlSelected args parameter to a const reference. Add private getBridgeForFrameName helper function.
- kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::getBridgeForFrameName): Moved rules for choosing a frame here from urlSelected so they can be shared. (KWQKHTMLPartImpl::openURLRequest): Use getBridgeForFrameName instead of having our own different code for finding the right frame. (KWQKHTMLPartImpl::urlSelected): Move frame choosing code into getBridgeForFrameName. (KWQKHTMLPartImpl::submitForm): Use getBridgeForFrameName instead of always ignoring the target and using our own frame. (KWQKHTMLPartImpl::overURL): Take base targeting into account when making the status bar messages, and use the completed URL, not the partial, for the message.
- 2:23 PM Changeset in webkit [1787] by
-
- 5 edits in trunk/WebCore
- fixed 2945441 -- base target is ignored
- kwq/KWQKHTMLPartImpl.mm: (KWQKHTMLPartImpl::urlSelected): Add code to respect the base target in the document. It would be way better to use more of the KHTML code instead of copying it a line at a time into KWQ -- that can come later when the fire drill is over.
- 11:01 AM Changeset in webkit [1786]
-
- 3 copies in tags/Alexander-16
This commit was manufactured by cvs2svn to create tag 'Alexander-16'.
- 11:01 AM Changeset in webkit [1785] by
-
- 8 edits in trunk
Alex-16 versioning
- 9:10 AM Changeset in webkit [1784] by
-
- 4 edits in trunk/WebCore
- fixed 3020594 -- crash in KWQKHTMLPartImpl::end() visiting particular page
- khtml/khtml_part.cpp: (KHTMLPart::end): Our hacked alternative to a signal requires a NULL check.
- 12:25 AM Changeset in webkit [1783] by
-
- 5 edits in trunk/WebKit
%5 gain on cvs-static related to loading page icons:
WebKit:
- Cache icon image for HTML files
- resize the icon only in WebIconLoader instead of in multiple places elsewhere
- Misc.subproj/WebIconLoader.h:
- Misc.subproj/WebIconLoader.m: (+[WebIconLoader _resizeImage:]): (+[WebIconLoader defaultIcon]): call _resizeImage (+[WebIconLoader iconForFileAtPath:]): added, caches html icon (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]): call _resizeImage
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]): call iconForFileAtPath
WebBrowser:
- resize the page icon in WebIconLoader instead of in multiple places elsewhere
- call resetNoDragRect less often
- LocationTextField.h:
- LocationTextField.m: (-[LocationTextField _setIcon:save:]): no need to resize
- TitleBarButton.m: (-[TitleBarButton setImage:]): no need to resize (-[TitleBarButton resetNoDragRect]): renamed (-[TitleBarButton updateFrame]): no need to call resetNoDragRect (-[TitleBarButton viewDidEndLiveResize]): added, call resetNoDragRect (-[TitleBarButton windowDidEndSheet:]): call resetNoDragRect (-[TitleBarButton windowDidDeminiaturize:]): call resetNoDragRect (-[TitleBarButton setTitle:]): call resetNoDragRect
Aug 8, 2002:
- 10:32 PM Changeset in webkit [1782] by
-
- 3 edits in trunk/WebKit
Fix to get onLoad to fire, so the iBench test works.
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Return the bridge for the new child frame.
- 10:32 PM Changeset in webkit [1781] by
-
- 8 edits in trunk/WebCore
Fix to get onLoad to fire, so the iBench test works.
- khtml/khtml_part.cpp: (KHTMLPart::checkCompleted): Put back some needed code that was ifdef'd out (the part that emits completed()). (KHTMLPart::slotChildCompleted): Enabled; ifdef'd out part. (KHTMLPart::frame): Enabled.
- khtml/khtml_part.h:
- kwq/KWQKHTMLPartImpl.mm: (KHTMLPart::completed): Hack to get completed signal delivered to parent. (KWQKHTMLPartImpl::requestFrame): Initialize m_part
- kwq/WebCoreBridge.h: createChildFrameNamed method now returns the bridge for the child frame.
- 9:21 PM Changeset in webkit [1780] by
-
- 3 edits in trunk/WebKit
- WebKit.pbproj/project.pbxproj: Change the group name back to Debug.
- 1:46 PM Changeset in webkit [1779] by
-
- 13 edits in trunk
Added flag to turn on/off buffered text drawing to help
determine if we get any speed boost. Run from console
with "-BufferTextDrawing YES" to enable buffered text
drawing.
Moved buffered text drawing out of web core.
- WebCoreSupport.subproj/WebTextRenderer.h:
- WebCoreSupport.subproj/WebTextRenderer.m: (+[WebTextRenderer shouldBufferTextDrawing]): (+[WebTextRenderer initialize]): (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
- WebCoreSupport.subproj/WebTextRendererFactory.h:
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
Move stuff out of core into kit.
- kwq/WebCoreBridge.mm: (-[WebCoreBridge drawRect:withPainter:]):
- kwq/WebCoreTextRendererFactory.h:
- kwq/WebCoreTextRendererFactory.m:
- 12:37 PM Changeset in webkit [1778] by
-
- 15 edits4 adds in trunk
top level:
- Tests/WebFoundation-Misc/ifnsurlextensions-test.m: Added code to check the new URL extras methods against the old original versions, which are pasted in here for now.
- Tests/WebFoundation-Misc/ifnsurlextensions-test.chk: Updated result to match the changes to _web_URLByRemovingLastPathComponent, and to reflect the new "compare with old original versions" testing.
WebFoundation:
- Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_URLByRemovingLastPathComponent]): Changed behavior when the path is "/" to return the same URL with a path of "", to match the behavior of the old WebNSURLGetParent. I had hoped this would fix bug 3019790, but it did not.
WebCore:
- fixed 3019353 -- Japanese (Autodetect) encoding not properly supported
- kwq/make-charset-table.pl: Add a "japanese-autodetect" entry to the table explicitly, with a hardcoded encoding value. This should be good enough.
- kwq/KWQKHTMLSettings.mm: (KHTMLSettings::mediumFixedFontSize):
- kwq/WebCoreEncodings.h:
- kwq/WebCoreSettings.h:
- kwq/WebCoreSettings.m: Change "fixed font size" to "default fixed font size".
Placeholders for the "drawing observer" method that I'll be using
to implement the "dump page as diffable text" feature.
- kwq/WebCoreTestController.h: Added.
- kwq/WebCoreTestController.m: Added.
- WebCore.exp: Mention new class.
- WebCore.pbproj/project.pbxproj: Mention new files.
WebKit:
Placeholders for the "drawing observer" method that I'll be using
to implement the "dump page as diffable text" feature.
- Misc.subproj/WebTestController.h: Added.
- Misc.subproj/WebTestController.m: Added.
- WebKit.pbproj/project.pbxproj: Mention new files.
- WebKit.exp: Mention new class.
- WebView.subproj/WebPreferences.h:
- WebView.subproj/WebPreferences.m: Changed "fixed font size" to "default fixed font size".
WebBrowser:
Some fixes to the text encoding menus.
- Preferences.subproj/TextPreferences.m: (-[TextPreferences takeDefaultCharacterSetFrom:]): Update the text encoding menu when the character set is changed, because the section that includes that character set shows up at the top. (-[TextPreferences awakeFromNib]): Pass the TextPreferences object as the target for the menu items, because it's not going to be in the responder chain.
- AppController.h: Added updateTextEncodingMenu.
- AppController.m: (-[AppController applicationDidFinishLaunching:]): Call updateTextEncodingMenu. (-[AppController updateTextEncodingMenu]): Put the code to set up the text encoding menu in here, so it can be called when the default encoding changes.
- TextEncodingMenu.h: Added target and preferred encoding parameters.
- TextEncodingMenu.m: (-[NSMenu addItemToMenuForEncoding:withTarget:action:]): Add target setting. (-[NSMenu addStandardTextEncodingMenuItemsWithTarget:action:preferredEncoding:]): Remove old items before adding new so this can be reused on a menu. Fixed a bug in the original Mail code that causes an extra separator to be left at the bottom when the chosen group is the last one in the list.
- LocationChangeHandler.m: Add an import that is needed now that I removed some unneeded imports from AppController.h.
- 11:51 AM Changeset in webkit [1777] by
-
- 3 edits in trunk/WebKit
WebFoundation:
- Misc.subproj/WebNSFileManagerExtras.h:
- Misc.subproj/WebNSFileManagerExtras.m: (-[NSFileManager _web_carbonPathForPath:]): added (-[NSFileManager _web_startupVolumeName]): added
- WebFoundation.pbproj/project.pbxproj: made WebNSFileManagerExtras.h a private header
WebKit:
- Plugins.subproj/WebPluginStream.m: (-[WebPluginStream finishedLoadingWithData:]): call [NSFileManager _web_carbonPathForPath:]
WebBrowser:
Fixed:
3015546 - title bar button should be draggable
3015545 - title bar button should have command-click pop-up menu
- BrowserNSViewExtras.h:
- BrowserNSViewExtras.m: (-[NSView draggingImage]): added, not used yet (-[NSView startDragFromEvent:withPasteBoard:andImage:]): dragOffset correction
- BrowserWindow.h:
- BrowserWindowController.m: (-[BrowserWindowController windowURL]): added, called by TitleBarButton (-[BrowserWindowController windowShouldGoToURL:]): added, called by TitleBarButton
- ListView.h:
- ListView.m:
- TitleBarButton.m: (-[TitleBarButton initWithFrame:]): add observers (-[TitleBarButton dealloc]): remove observers (-[TitleBarButton drawRect:]): coord fix (-[TitleBarButton userChoseMenuItem:]): added (-[TitleBarButton _drawPathRepresentingPopUpMenuForEvent:andURL:]): added (-[TitleBarButton _startDragIfNecessaryForEvent:andURL:]): added (-[TitleBarButton mouseDown:]): call new methods above (-[TitleBarButton _resetWindowButtons:]): added (-[TitleBarButton resetFrame]): calls _resetWindowButtons (-[TitleBarButton windowDidEndSheet:]): added (-[TitleBarButton windowDidDeminiaturize:]): added
- 3:22 AM Changeset in webkit [1776] by
-
- 10 edits2 adds in trunk
WebCore:
Added an SPI that can be used to get at the WebCore
charset-name/encoding table; this is useful for a couple of things
in WebKit.
- kwq/WebCoreEncodings.h: Added.
- kwq/WebCoreEncodings.mm: Added. (+[WebCoreEncodings charsetNameForEncoding:]): (+[WebCoreEncodings encodingForCharsetName:]):
- WebCore.exp: Export the new class.
- WebCore.pbproj/project.pbxproj: Add new files.
WebKit:
- fixed 2957197 - Need API for getting/setting default text encoding
- WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate init]): Set default encoding if no other is set.
- WebView.subproj/WebPreferences.h:
- WebView.subproj/WebPreferences.m: (+[WebPreferences load]): Added support for default text encoding pref. (-[WebPreferences defaultTextEncoding]): Likewise. (-[WebPreferences setDefaultTextEncoding:]): Likewise.
WebBrowser:
- fixed 2896313 - Default text encoding preference is not yet implemented
- English.lproj/MainMenu.nib: Added separator after Default item
- Preferences.subproj/English.lproj/TextPreferences.nib: Made the pop-up wider so it would fit the widest encoding
- Preferences.subproj/TextPreferences.h:
- Preferences.subproj/TextPreferences.m: (-[TextPreferences updateDefaultCharacterSetPopup]): Implemented. (-[TextPreferences takeDefaultCharacterSetFrom:]): Implemented. (-[TextPreferences awakeFromNib]): Add encoding items to pop-up button, remove empty dummy item. (-[TextPreferences initializeFromDefaults]): Initialize pop-up too.
- TextEncodingMenu.h:
- TextEncodingMenu.m: (-[NSMenu addStandardTextEncodingMenuItemsWithAction:]): Add a selector parameter so we can use a different one for the real menu and the default pop-up. (_addItemToMenuForEncoding): Likewise.
- AppController.m: (-[AppController applicationDidFinishLaunching:]): Pass selector when adding encoding menu items.
- 1:18 AM Changeset in webkit [1775] by
-
- 13 edits2 adds in trunk
Changes to coalesce all drawing calls of the same text
style and color into one call to CG. Significantly
improves drawing time. My tests should about 7-8% on
ALL pages. Disabled the code for now until I can verify
on speed improvements on Ken's test rig.
- WebCoreSupport.subproj/WebGlyphBuffer.h: Added.
- WebCoreSupport.subproj/WebGlyphBuffer.m: Added. (-[WebGlyphBuffer initWithFont:color:]): (-[WebGlyphBuffer font]): (-[WebGlyphBuffer color]): (-[WebGlyphBuffer reset]): (-[WebGlyphBuffer dealloc]): (-[WebGlyphBuffer drawInView:]): (-[WebGlyphBuffer addGlyphs:advances:count:at::]):
- WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
- WebCoreSupport.subproj/WebTextRendererFactory.h:
- WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory coalesceTextDrawing]): (-[WebTextRendererFactory startCoalesceTextDrawing]): (-[WebTextRendererFactory endCoalesceTextDrawing]): (-[WebTextRendererFactory glyphBufferForFont:andColor:]): (-[WebTextRendererFactory dealloc]):
- WebKit.pbproj/project.pbxproj:
Changes to coalesce all drawing calls of the same text
style and color into one call to CG. Significantly
improves drawing time. My tests should about 7-8% on
ALL pages. Disabled the code for now until I can verify
on speed improvements on Ken's test rig.
- kwq/WebCoreBridge.mm: (-[WebCoreBridge drawRect:withPainter:]):
- kwq/WebCoreTextRendererFactory.h:
- kwq/WebCoreTextRendererFactory.m: (-[WebCoreTextRendererFactory endCoalesceTextDrawing]): (-[WebCoreTextRendererFactory startCoalesceTextDrawing]):
Made WebQueue a private class.
- WebFoundation.exp:
- WebFoundation.pbproj/project.pbxproj: