Timeline



Nov 27, 2002:

4:00 PM Changeset in webkit [2898] by hyatt
  • 6 edits in trunk/WebCore

Fix DHTML on phoenix.com. Add support for window.addEventListener
and window.removeEventListener.

  • khtml/ecma/kjs_window.cpp: (Window::get): (WindowFunc::tryCall):
  • khtml/ecma/kjs_window.h:
  • khtml/ecma/kjs_window.lut.h:
3:56 PM Changeset in webkit [2897] by rjw
  • 4 edits in trunk/WebKit

Fixed 3113393. Client side redirects that happen <= 1 second
update the current back/forward item, rather than creating
a new one.

  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _addBackForwardItemClippedAtTarget:]): (-[WebFrame _createOrUpdateItem]): (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): (-[WebFrame _transitionToCommitted:]): (-[WebFrame _clientRedirectedTo:delay:fireDate:]): (-[WebFrame _clientRedirectCancelled]):
2:12 PM Changeset in webkit [2896] by mjs
  • 4 edits in trunk/WebCore
  • avoid doing any work when setting the document's link colors if there is no change. This avoids superfluous style updates and results in a 20% improvment on the JavaScript iBench.
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue):
12:56 PM Changeset in webkit [2895] by rjw
  • 3 edits in trunk/WebKit

Fixed measurement error for Ahem font (and any font that
has a tiny fractional value). 3112745, 3112742

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:]):
10:03 AM Changeset in webkit [2894] by sullivan
  • 4 edits in trunk/JavaScriptCore
  • kjs/collector.cpp: removed puts("COLLECT") leftover debugging spam that was buggin' gramps
2:11 AM Changeset in webkit [2893] by hyatt
  • 4 edits in trunk/WebCore

Fix <br clear=""> and <br clear> to just behave like <br>
rather than <br clear="all">. Matches behavior in other
browsers.

  • khtml/html/html_inlineimpl.cpp: (HTMLBRElementImpl::parseAttribute):
1:54 AM Changeset in webkit [2892] by hyatt
  • 6 edits in trunk/WebCore

Numerous overflow: hidden improvements to fix espn.com.

First stop absolute positioned overflow hidden elements
from growing to accommodate their overflow. (Actually
absolute positioned elements should never grow to do this,
but fixing it for non-overflow hidden elements is hard,
so later.)

Second fix the render layer code to not allow background/borders
of the object with overflow: hidden from being clipped. This
involves an extra paint step where the object paints its
background and borders prior to establishing the clip rect
for the children. (This will also be necessary for overflow:auto
and overflow:scroll).

  • ChangeLog:
  • khtml/rendering/render_box.cpp: (RenderBox::getClipRect): (RenderBox::calcAbsoluteVertical):
  • khtml/rendering/render_layer.cpp: (RenderLayer::paint):
  • khtml/rendering/render_object.h:
12:06 AM Changeset in webkit [2891] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3105502. drop-downs wrapping to next line.

  • khtml/css/html4.css:

Nov 26, 2002:

9:05 PM Changeset in webkit [2890] by hyatt
  • 4 edits in trunk/WebCore

Smarter block inside inline handling. Eliminate whitespace
that is in between blocks inside inilnes.

  • khtml/xml/dom_textimpl.cpp: (TextImpl::attach):
7:04 PM Changeset in webkit [2889] by hyatt
  • 5 edits in trunk/WebCore

Don't let blocks inside inlines collapse with their surroundings
ever.

  • khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren):
6:06 PM Changeset in webkit [2888] by hyatt
  • 4 edits in trunk/WebCore

Fix a collapsing margin regression on aintitcool caused by
my support of blocks inside inlines. A block could be wrapped
by an inline, e.g., <font><p>foo</p></font>, and in this case,
you do not apply the collapsing margin quirk. The margin stays.

  • khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren):
5:18 PM Changeset in webkit [2887] by cblu
  • 8 edits in trunk/WebKit

WebKit:

Fixed: 3090834 - Launch WMP (Window Media Player) when encountering WMP content

Added contentURL to WebPluginError.

  • Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]):
  • Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]):
  • Plugins.subproj/WebNullPluginView.m: (-[WebNullPluginView viewDidMoveToWindow]):
  • Plugins.subproj/WebPluginError.h:
  • Plugins.subproj/WebPluginError.m: (-[WebPluginErrorPrivate dealloc]): (-[WebPluginError dealloc]):
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):

WebBrowser:

Fixed: 3090834 - Launch WMP (Window Media Player) when encountering WMP content

  • BrowserNSWorkspaceExtras.h:
  • BrowserNSWorkspaceExtras.m: (-[NSWorkspace pathForApplicationOfFileAtPath:]): fixed leak (-[NSWorkspace pathForApplicationForMIMEType:]): added
  • English.lproj/Localizable.strings:
  • LoadProgressMonitor.m: (-[LoadProgressMonitor launchApplicationSheetEnded:returnCode:contextInfo:]): launch WMP (-[LoadProgressMonitor pluginErrorSheetEnded:returnCode:contextInfo:]): renamed (-[LoadProgressMonitor pluginFailedWithError:dataSource:]): check for WMP content
5:07 PM Changeset in webkit [2886] by hyatt
  • 8 edits in trunk/WebCore

Fix the font family stuff to be refcounted, so copying
fonts stays cheap. Re-enabling it.

Patch the render_arena code with some debugging info
to help detect when memory gets trashed.

Fix the background painting code to deal with negative
x and y bakcground positions. Fixes the brain on
brainjar.com.

  • khtml/css/cssstyleselector.cpp:
  • khtml/rendering/render_arena.cpp: (RenderArena::free):
  • khtml/rendering/render_box.cpp: (RenderBox::paintBackground):
  • kwq/KWQFont.h:
  • kwq/KWQFont.mm: (QFontFamily::QFontFamily): (QFontFamily::operator=):
4:50 PM Changeset in webkit [2885]
  • 3 copies in tags/Alexander-34

This commit was manufactured by cvs2svn to create tag 'Alexander-34'.

4:50 PM Changeset in webkit [2884] by sheridan
  • 8 edits in trunk

Alex-34 stamp

3:52 PM Changeset in webkit [2883] by mjs
  • 11 edits in trunk/JavaScriptCore

Change ActivationImp to be allocated via the garbage collector
again instead of on the stack. This fixes the following four
regressions but sadly it causes a 6% performance hit. It's
probably possibly to reduce the hit a bit by being smarter about
inlining and the way the marking list variant is implemented, but
I'll look into that later.

  • fixed 3111500 - REGRESSION: crash in "KJS::ScopeChain::mark()" on www.posci.com
  • fixed 3111145 - REGRESSION: reproducible crash in KJS hashtable lookup at time.com
  • fixed 3110897 - REGRESSION: javascript crasher on http://bmwgallery.tripod.com/
  • fixed 3109987 - REGRESSION: Reproducible crash in KJS ObjectImp at live365.com

Also:

  • improved DEBUG_COLLECTOR mode a bit by never giving memory back to the system.
  • kjs/collector.cpp:
  • kjs/context.h:
  • kjs/function.cpp: (ActivationImp::ActivationImp): (ActivationImp::mark): (ActivationImp::createArgumentsObject):
  • kjs/function.h:
  • kjs/internal.cpp: (ContextImp::ContextImp): (ContextImp::mark):
  • kjs/list.cpp:
  • kjs/list.h:
  • kjs/value.cpp: (Value::Value):
3:34 PM Changeset in webkit [2882] by darin
  • 4 edits in trunk/JavaScriptCore
  • kjs/property_map.cpp: (PropertyMap::save): Look at the attributes the same way in the single hash entry case as in the actual hash table case. Change the rule for which attributes to save to "attributes that don't have the ReadOnly, DontEnum, or Function bit set". Also fix bug where saving an empty property map would leave the count set to the old value.
1:31 PM Changeset in webkit [2881] by rjw
  • 8 edits in trunk

JavaScriptCore

Remove debugging code. Could be cause of performance regresssion.

  • kjs/nodes.cpp: (FunctionCallNode::evaluate):

Restire attributes correctly.

  • kjs/property_map.cpp:

WebKit Only cache page if the load has completed.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]):
12:30 PM Changeset in webkit [2880] by hyatt
  • 4 edits in trunk/WebCore

Backing out support for multiple font families for now.
The support is still there in QFont. I've just stopped
the style selector from walking the entire value list (it
will only put the first family into the font).

The original change caused a 5% perf regression.
I'm going to see what kinds of tricks I can pull to get
some of this back before re-enabling the feature.

  • khtml/css/cssstyleselector.cpp:
12:07 PM Changeset in webkit [2879] by cblu
  • 4 edits in trunk/WebKit

Removed some logging.

  • WebView.subproj/WebControllerPrivate.m: (+[WebController _supportedImageMIMETypes]):
12:02 PM Changeset in webkit [2878] by cblu
  • 8 edits in trunk/WebKit

WebFoundation:

Added MIME types for images that NSImage can handle.

  • types.plist:

WebKit:

Fixed: 3112003 - Show standalone tiffs using AppKit not QT plug-in

We now dynamically check NSImage for supported image types when registering WebImageView's and WebImageRepresentation's supported MIME types.

  • WebView.subproj/WebControllerPrivate.h:
  • WebView.subproj/WebControllerPrivate.m: (+[WebController _supportedImageMIMETypes]): convert NSImage types to mime types
  • WebView.subproj/WebDataSourcePrivate.m: (+[WebDataSource _repTypes]): use _supportedImageMIMETypes to register mime types of WebImageRepresentation
  • WebView.subproj/WebViewPrivate.m: (+[WebView _viewTypes]): use _supportedImageMIMETypes to register mime types of WebImageView
11:13 AM Changeset in webkit [2877] by hyatt
  • 5 edits in trunk/WebCore

Fix render object removal to remerge adjacent anonymous inline boxes
when an intervening block box gets removed.

  • khtml/rendering/render_flow.cpp: (RenderFlow::removeChild):
  • khtml/rendering/render_flow.h:
10:48 AM Changeset in webkit [2876] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3061174 - javascript: URLs sent by plugins don't work

For "Javascript:" URLs.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): lowercase the scheme
1:25 AM Changeset in webkit [2875] by rjw
  • 6 edits in trunk/WebKit

WebBrowser

Added some logging to indicate when page cache is turned on.

  • Debug/DebugUtilities.m: (-[BrowserDocument toggleBackForwardEnabled:]):

WebKit

More work on back/forward cache. It's ready for
more general testing. Although, to be safe I've
left it disabled by default for tomorrow's release.
It will log when a page is save and restored from
the page cache.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge saveDocumentToPageCache:]):
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): (-[WebDataSource _commitIfReady:]): (-[WebDataSource _loadIcon]):
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): (-[WebFrame _setState:]): (-[WebFrame _loadItem:fromItem:withLoadType:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): (-[WebFrame _setProvisionalDataSource:]):

Nov 25, 2002:

11:51 PM Changeset in webkit [2874] by rjw
  • 18 edits in trunk

JavaScriptCore

Use delete[] (not delete) operator to delete array.

  • kjs/property_map.cpp:

WebBrowser

Use cleaned up API to enable/disable page cache.

  • Debug/DebugUtilities.m: (-[BrowserDocument toggleBackForwardEnabled:]):

WebCore

Cleanup up leaking objects in page cache.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLFromPageCache):
  • kwq/WebCoreBridge.mm: (-[KWQPageState initWithDocument:DOM::URL:windowProperties:KJS::locationProperties:KJS::]): (-[KWQPageState dealloc]):

WebKit

Cleanup leaking objects in page cache.
Cleaned up API a bit.

  • History.subproj/WebBackForwardList.h:
  • History.subproj/WebBackForwardList.m: (-[WebBackForwardList dealloc]): (+[WebBackForwardList setUsesPageCache:]): (+[WebBackForwardList usesPageCache]): (+[WebBackForwardList setPageCacheSize:]): (+[WebBackForwardList pageCacheSize]):
  • History.subproj/WebHistoryItem.h:
  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem setHasPageCache:]):
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge saveDocumentToPageCache:]):
  • WebKit.exp:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _canCachePage]): (-[WebFrame _purgePageCache]): (-[WebFrame _setState:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
10:20 PM Changeset in webkit [2873] by rjw
  • 7 edits in trunk

Changed ordering of cachability check.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]):

Added check for non-nil doc.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::setView):
6:50 PM Changeset in webkit [2872] by hyatt
  • 4 edits in trunk/WebCore

Fix for the DHTML on hrweb. With these changes it works
except for some odd vertical spacing issues.

  • khtml/rendering/render_flow.cpp: (RenderFlow::addChildToFlow): (RenderFlow::makeChildrenNonInline):
6:49 PM Changeset in webkit [2871] by rjw
  • 16 edits in trunk

i Added a debug menu to turn back/forward cache on and off.

Off by default. Use with discretion. Still leaks like
a sieve. Useful to provide a sense of potential speed up.

  • Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]): (-[BrowserDocument validate_showDOMTree:]): (-[BrowserDocument toggleBackForwardEnabled:]):

Changes fro back/forward cache.

  • History.subproj/WebHistoryItem.h:
  • History.subproj/WebHistoryItem.m: (+[WebHistoryItem setUsePageCache:]): (+[WebHistoryItem usePageCache]):
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge saveDocumentToPageCache:]):
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]): (-[WebFrame _canCachePage]): (-[WebFrame _setState:]):

Tweaked some debugging info.

  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::~DocumentImpl): (DocumentImpl::detach):

Added debugging info. Fixed property map save function.

  • kjs/nodes.cpp: (FunctionCallNode::evaluate):
  • kjs/property_map.cpp:
6:04 PM Changeset in webkit [2870] by cblu
  • 4 edits in trunk/WebCore

Use = to refer to OBJECTs with TYPEs that start with "image/". This is better than hard-coding image mime types.

  • khtml/css/html4.css:
5:44 PM Changeset in webkit [2869] by cblu
  • 12 edits in trunk

WebCore:

Fixed: 2987001 - spurious mime-type errors from <object> images

KHTML didn't seem to have any clean support for OBJECT tags that are images. Added support for that.

  • khtml/css/html4.css: OBJECTs that are images should be rendered inline
  • khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::attach): if the type is an image, create a render image
  • khtml/rendering/render_image.cpp: (RenderImage::updateFromElement): if the element is an object, use DATA for the URL
  • kwq/KWQDOMNode.cpp: (isImage): if it is an OBJECT element, check the type
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): if the element is an object, use DATA for the URL

WebKit:

Fixed 2 drag-related crashes. Oops.

  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragPromisedImage:fromOrigin:withURL:title:event:]): put nil at the end of the array list.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDragged:]): retain self before drag
5:27 PM Changeset in webkit [2868] by hyatt
  • 4 edits in trunk/WebCore

Fix this even further. JUst drop support for arbitrary
property lookup by name on the document. Mac IE and
Gecko only do this for img and form, and this makes things
a lot faster.

  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::hasProperty): (KJS::HTMLDocument::tryGet):
5:08 PM Changeset in webkit [2867] by hyatt
  • 5 edits in trunk/WebCore

Rewrite the img/form document property lookup strategy. This
should be faster and actually work (gasp!). Fixes the dhtml
on hrweb to at least show up.

  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::tryGet):
  • khtml/html/html_miscimpl.cpp: (HTMLCollectionImpl::nextItem):
2:38 PM Changeset in webkit [2866] by hyatt
  • 9 edits in trunk/WebCore

Add support to QFont for multiple families. NOw all that's left
is getting the multiple families out of the font and down into
WebKit.

  • khtml/css/cssstyleselector.cpp:
  • khtml/rendering/font.cpp: (Font::update):
  • khtml/rendering/font.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyle):
  • kwq/KWQFont.h:
  • kwq/KWQFont.mm: (QFontFamily::QFontFamily): (QFontFamily::operator=): (QFontFamily::family): (QFontFamily::setFamily): (QFontFamily::operator==): (QFont::QFont): (QFont::family): (QFont::setFamily): (QFont::getNSFontWithFamily):
2:12 PM Changeset in webkit [2865] by cblu
  • 3 edits in trunk/WebKit
  • Allow missing icons to be restored when going to the page of the missing icon.
  • Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _setIconURL:forSiteURL:]):
2:03 PM Changeset in webkit [2864] by rjw
  • 3 edits in trunk/WebCore

* empty log message *

2:02 PM Changeset in webkit [2863] by rjw
  • 20 edits
    1 add in trunk

Changes for back/forward. Currently disabled.

  • History.subproj/WebHistoryItem.h:
  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem dealloc]): (-[WebHistoryItem setPageCacheEnabled:]): (-[WebHistoryItem pageCache]):
  • Misc.subproj/WebKitLogging.h:
  • Misc.subproj/WebKitLogging.m:
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge saveDocumentToPageCache:]):
  • WebView.subproj/WebDataSource.m: (-[WebDataSource startLoading]):
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): (-[WebDataSource _startLoading]): (-[WebDataSource _commitIfReady:]): (-[WebDataSource _commitIfReady]): (-[WebDataSource _setStoredInPageCache:]): (-[WebDataSource _storedInPageCache]):
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): (-[WebFrame _canCachePage]): (-[WebFrame _purgePageCache]): (-[WebFrame _setState:]): (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):

Changes for back/forward. Currently disabled.

  • ForwardingHeaders/kjs/property_map.h: Added.
  • khtml/ecma/kjs_window.cpp: (Window::hasTimeouts): (WindowQObject::hasTimeouts):
  • khtml/ecma/kjs_window.h:
  • khtml/khtmlpart_p.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::detach): (DocumentImpl::inPageCache): (DocumentImpl::setInPageCache):
  • khtml/xml/dom_docimpl.h:
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::setView): (KWQKHTMLPart::userAgent): (KWQKHTMLPart::nextKeyViewForWidget): (KWQKHTMLPart::canCachePage): (KWQKHTMLPart::saveWindowProperties): (KWQKHTMLPart::saveLocationProperties): (KWQKHTMLPart::restoreWindowProperties): (KWQKHTMLPart::restoreLocationProperties): (KWQKHTMLPart::openURLFromPageCache):
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:lastModified:pageCache:]): (-[WebCoreBridge saveDocumentToPageCache]): (-[WebCoreBridge canCachePage]): (attributedString): (-[KWQPageState initWithDocument:DOM::URL:windowProperties:KJS::locationProperties:KJS::]): (-[KWQPageState dealloc]): (-[KWQPageState DOM::]): (-[KWQPageState URL]): (-[KWQPageState KJS::]):

Changes for back/forward. Currently disabled.

  • kjs/property_map.cpp:
  • kjs/property_map.h:
1:54 PM Changeset in webkit [2862] by rjw
  • 13 edits in trunk/WebKit

Fixed exception thrown often when creating mouseover status text (3110186).

  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]):
1:34 PM Changeset in webkit [2861] by darin
  • 7 edits in trunk

JavaScriptCore:

  • kjs/property_map.cpp: Rearrange code a little bit and tweak indentation. This might provide a tiny speedup because we don't look at the single entry any more in cases where the _table pointer is non-0.

WebKit:

  • fixed a problem I discovered in testing where multiple identical bookmarks confuse us
  • Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList removeChild:]): Use indexOfObjectIdenticalTo: and removeObjectIdenticalTo: instead of containsObject: and removeObject:. (-[WebBookmarkList insertChild:atIndex:]): Use indexOfObjectIdenticalTo: instead of containsObject: in the assertion.

WebBrowser:

  • fixed 3042781 -- slidey animation sometimes draws partial item behind overflow indicator
  • fixed 3090845 -- would be nice to be able to drop bookmarks into folders using the bookmark toolbar
  • fixed 3107422 -- bookmark in toolbar gets stuck highlighted if window is moved by the stacking code
  • fixed problem where you would get an overflow indicator even if there was room for the last bookmark
  • fixed problem where the cursor could change to an I-beam during a constrained drag
  • FavoriteButton.h: Add canAcceptDroppedBookmark, setHighlighted, and acceptDroppedBookmark methods for use when doing a constrained drag that drop items into folders. Also add a category on NSView to be used to pause animation when over a button that will accept a drop.
  • FavoriteButton.m: (-[FavoriteButton registerForDraggedTypes]): Accept DraggedFavoriteButtonPboardType. (-[FavoriteButton initTrackingRect]): Add an observer so we update the tracking rect when the window moves too. This fixes bug 3107422. (-[FavoriteButton bookmarksFromPasteboard:]): Added. Helper method that accepts drag from DraggedFavoriteButtonPboardType as well as the other bookmark pasteboard types, but only within the same superview. (-[FavoriteButton determineDragOperation:]): Call [self bookmarksFromPasteboard:] instead of [WebBookmark bookmarksFromPasteboard]. (-[FavoriteButton draggingEntered:]): Pause animation when we enter a button that can accept a dropped bookmark. This makes sure that the button doesn't slide out from under the mouse. (-[FavoriteButton draggingUpdated:]): Don't do any highlighting here because it's not necessary. (-[FavoriteButton draggingExited:]): Resume the animation in case we paused it. (-[FavoriteButton performDragOperation:]): Call [self bookmarksFromPasteboard:] instead of [WebBookmark bookmarksFromPasteboard]. Also resume the animation in case we paused it. (-[FavoriteButton canAcceptDroppedBookmark]): Added. Returns YES if the bookmark's type is WebBookmarkTypeList. (-[FavoriteButton setHighlighted:]): Added. Calls setHighlighted: on the button's cell. (-[FavoriteButton acceptDroppedBookmark:]): Added. Does the same work that performDragOperation does for the case of moving a button within the same bar. (-[FavoriteButton _hitTest:dragTypes:]): Don't accept drags at the edges of the button. This makes space between buttons so there's room to put new buttons between two old ones, even if the old ones are both for folders. (-[NSView pauseAnimation]): Added. Passes the call up the superview chain. (-[NSView resumeAnimation]): Added. Passes the call up the superview chain.
  • FavoritesBar.m: (-[FavoritesBar maxButtonXWithoutClipIndicator]): Added. Leaves a margin, currently 3 pixels. (-[FavoritesBar maxButtonXWithClipIndicator]): Added. Leaves a margin, currently 3 pixels. (-[FavoritesBar maxButtonX]): Modified to call either maxButtonXWithoutClipIndicator or maxButtonXWithClipIndicator depending on whether the clip indicator is showing. (-[FavoritesBar slideButtonsIntoPlace]): Slide buttons off the right side of the bar if they are going to be clipped out. Allow the last button to go all the way to the right, using the space that would otherwise be used by the clip indicator. Make the clip indicator disappear if buttons are going to slide past it to the left or the right. (-[FavoritesBar _layOutButtons]): Include the smarts about leaving space for the item to be dropped and about leaving out the currently dragged item that was formerly only in slideButtonsIntoPlace. Also include the smarts about positioning mentioned above, and do positioning here, rather than in _refreshButtons. To allow calling this during constrained dragging, add the dragged item after adding all the other items. (-[FavoritesBar finishedSlidingAnimation:]): Added. Calls _layOutButtons. This is used to make the clip indicator reappear in case slideButtonsIntoPlace made it disappear. (-[FavoritesBar addButtonForBookmark:]): Removed left edge parameter. This no method longer tries to position bookmarks at all. (-[FavoritesBar _refreshButtons]): Get rid of code that attempts to position the buttons. We now do that in _layOutButtons. (-[FavoritesBar initWithView:]): Initialize _dragSourceIndexIfMoving to NSNotFound. Make us the animation's delegate so we get a finishedSlidingAnimation:. (-[FavoritesBar performDragOperation:]): Check for drags within the favorites bar by checking _dragSourceIndexIfMoving rather than looking for DraggedFavoriteButtonPboardType. Also reset _dropIndex since _layOutButtons now looks at it. (-[FavoritesBar draggingEnded:]): Reset _dragSourceIndexIfMoving since _layOutButtons now looks at it. (-[FavoritesBar reorderFavoriteButton:fromMouseDownEvent:]): Disable cursor rectangles and set the cursor to the arrow cursor during the reorder process. Add hit testing so that the constrained dragging can drop items in FavoriteButtons that are folders. Pause animation when over such a FavoriteButton, and resume it when not over it. (-[FavoritesBar pauseAnimation]): Added. (-[FavoritesBar resumeAnimation]): Added.
  • FavoritesBarView.h: Add pauseAnimation and resumeAnimation methods to the delegate.
  • FavoritesBarView.m: (-[FavoritesBarView pauseAnimation]): Pass call on to the delegate. (-[FavoritesBarView resumeAnimation]): Ditto.
  • SlidingAnimation.h: Add delegate, setDelegate method, pause and resume methods, and finishedSlidingAnimation: method for the delegate.
  • SlidingAnimation.m: (-[SlidingAnimation updateTimer]): Take the paused state into account, and also call the finishedSlidingAnimation: method when the animation completes. (-[SlidingAnimation showNextFrame]): Simplify by using a call to updateTimer to do most of the work. (-[SlidingAnimation setDelegate:]): Added. Just sets the delegate field. (-[SlidingAnimation pause]): Added. Just sets the paused state and calls updateTimer. (-[SlidingAnimation resume]): Added. Just sets the paused state and calls updateTimer.
  • fixed a problem I discovered in testing where multiple identical bookmarks confuse us
  • BookmarksViewController.m: ([BookmarksViewController anyAncestorOfBookmark:inArray:]): Use indexOfObjectIdenticalTo: instead of containsObject:, because we want to use identity on bookmarks, not equality comparison. ([BookmarksViewController bookmarkOrAnyAncestor:inArray:]): Ditto. ([BookmarksViewController newContentItemWithTitle:URLString:type:positionIgnoresSelection:]): Ditto. ([BookmarksViewController sourceRowForBookmark:]): Ditto. ([BookmarksViewController outlineView:validateDrop:proposedItem:proposedChildIndex:]): Ditto. ([BookmarksViewController paste:]): Ditto. ([UndoRemoveInfo initWithBookmark:]): Ditto.
11:14 AM Changeset in webkit [2860] by hyatt
  • 5 edits in trunk/WebCore

Fix for 3025963. Ensure that KJS looks for the form on the
element itself when pushing it onto the scope chain, since
the <form> may not be an ancestor of the element.

  • khtml/ecma/kjs_html.cpp: (getForm): (KJS::HTMLElement::pushEventHandlerScope):
  • khtml/html/html_elementimpl.h:
8:50 AM Changeset in webkit [2859] by cblu
  • 7 edits in trunk/WebKit

Fixed: 3084350 - No URL flavors provided for images

  • Misc.subproj/WebNSViewExtras.h:
  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragPromisedImage:fromOrigin:withURL:title:event:]): renamed, simplifies dragging an image (-[WebFilePromiseDragSource initWithSource:]): subclass of NSFilePromiseDragSource, to be used later (-[WebFilePromiseDragSource draggingSource]): (-[WebFilePromiseDragSource dealloc]):
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDragged:]): call _web_dragPromisedImage:fromOrigin:withURL:title:event:, retain self (-[WebHTMLView draggedImage:endedAt:operation:]): added, release self
  • WebView.subproj/WebImageView.m: (-[WebImageView mouseDragged:]): call _web_dragPromisedImage:fromOrigin:withURL:title:event:, retain self (-[WebImageView draggedImage:endedAt:operation:]): added, release self
  • WebView.subproj/WebView.m: (-[WebView isDocumentHTML]): call isKindOfClass instead of className (-[WebView draggingEntered:]): check for WebFilePromiseDragSource
1:19 AM Changeset in webkit [2858] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3020493, another fun little margin collapsing quirk
that I missed. (<td><div><p>). The <div> has to pick up the quirk
from the <p> so that the margins of the <p> still get collapsed
away.

  • khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren):
12:59 AM Changeset in webkit [2857] by hyatt
  • 4 edits in trunk/WebCore

Don't add in the halfleading for align=texttop. That's incorrect.

  • khtml/rendering/render_object.cpp: (RenderObject::getVerticalPosition):

Nov 24, 2002:

11:39 PM Changeset in webkit [2856] by trey
  • 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 mjs
  • 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 hyatt
  • 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 cblu
  • 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 cblu
  • 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 darin
  • 16 edits in trunk

JavaScriptCore:

  • 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 mjs
  • 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 mjs
  • 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 mjs
  • 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 mjs
  • 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 mjs
  • 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 mjs
  • 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 of static 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 cblu
  • 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
Note: See TracTimeline for information about the timeline view.