⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Aug 9, 2002:

9:32 PM Changeset in webkit [1792] by darin
  • 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 darin
  • 13 edits in trunk

JavaScriptCore:

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 mjs
  • 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 mjs
  • 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 darin
  • 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 darin
  • 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 sheridan
  • 8 edits in trunk

Alex-16 versioning

9:10 AM Changeset in webkit [1784] by darin
  • 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 cblu
  • 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 mjs
  • 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 mjs
  • 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 darin
  • 3 edits in trunk/WebKit
  • WebKit.pbproj/project.pbxproj: Change the group name back to Debug.
1:46 PM Changeset in webkit [1779] by rjw
  • 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 darin
  • 15 edits
    4 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 cblu
  • 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 mjs
  • 10 edits
    2 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 rjw
  • 13 edits
    2 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:
Note: See TracTimeline for information about the timeline view.