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

Timeline



Nov 19, 2002:

11:11 PM Changeset in webkit [2775] by darin
  • 4 edits in trunk/WebCore
  • force-js-clean-timestamp: Make other people's builds work.
7:07 PM Changeset in webkit [2774] by hyatt
  • 4 edits in trunk/WebCore

I screwed up the line breaking for inline replaced elements.

  • khtml/rendering/render_flow.cpp: (RenderFlow::calcInlineMinMaxWidth):
6:52 PM Changeset in webkit [2773] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3106061 - REGRESSION: Copy in text view copies all text not just selection

  • Misc.subproj/WebSearchableTextView.m: (-[WebSearchableTextView copy:]):
6:35 PM Changeset in webkit [2772] by darin
  • 17 edits in trunk/JavaScriptCore
  • a few more globals for often-used property names
  • conversion to Identifier from UString must now be explicit
  • kjs/error_object.cpp:
  • kjs/function.cpp:
  • kjs/function_object.cpp:
  • kjs/identifier.cpp:
  • kjs/identifier.h:
  • kjs/lexer.cpp:
  • kjs/nodes.cpp:
  • kjs/number_object.cpp:
  • kjs/object.cpp:
  • kjs/object.h:
  • kjs/string_object.cpp:
  • kjs/testkjs.cpp:
  • kjs/ustring.cpp:
  • kjs/ustring.h:
6:32 PM Changeset in webkit [2771] by darin
  • 5 edits in trunk/WebCore
  • another atomic identifier scrub pass; make the conversion to Identifier explicit
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLCollection::tryCall): Add explicit Identifier() conversion. (KJS::HTMLCollectionProtoFunc::tryCall): Ditto.
  • khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): And again.
5:53 PM Changeset in webkit [2770] by hyatt
  • 7 edits in trunk/WebCore

Fix for 3049663. Table cells don't grow to accommodate block
overflow.

  • khtml/rendering/bidi.cpp: (RenderFlow::layoutInlineChildren):
  • khtml/rendering/render_flow.cpp: (RenderFlow::RenderFlow): (RenderFlow::layout): (RenderFlow::layoutBlockChildren):
  • khtml/rendering/render_flow.h:
  • khtml/rendering/render_object.h:
5:23 PM Changeset in webkit [2769] by darin
  • 8 edits in trunk/JavaScriptCore
  • another step towards atomic identifiers; storing hash in the string rep. gives about a 1.5% speedup in the JavaScript iBench
  • kjs/ustring.h: Add a hash field to UString::Rep.
  • kjs/ustring.cpp: (UString::Rep::create): Set hash to uninitialized value. (UString::Rep::destroy): Do the deleting in her, and call Identifier if needed. (UString::Rep::computeHash): Added. (UString::append): Set hash to 0 when modifying the string in place. (UString::operator=): Ditto.
  • kjs/property_map.cpp: Use the hash from UString.
  • kjs/identifier.h: Added aboutToDestroyUStringRep.
  • kjs/identifier.cpp: (Identifier::aboutToDestroyUStringRep): Added.
4:24 PM Changeset in webkit [2768] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3092588 - redraw errors in QT controller if window is in background

We need to send update events after we activate/deactivate after all.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView windowBecameKey:]): (-[WebBaseNetscapePluginView windowResignedKey:]):
4:09 PM Changeset in webkit [2767] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3020720 - dropping a folder in the page address makes the folder open in Finder, empties the field

  • Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_bestURL]): Don't accept directories.
3:45 PM Changeset in webkit [2766] by darin
  • 22 edits in trunk

JavaScriptCore:

  • next step towards atomic identifiers; Identifier is no longer derived from UString
  • kjs/identifier.h: Remove base class and add _ustring member.
  • kjs/identifier.cpp: Add null and an == that works with const char *.
  • kjs/property_map.cpp: Get rep through _ustring.
  • kjs/function.cpp: (FunctionImp::parameterString): Call ustring().
  • kjs/function_object.cpp: (FunctionProtoFuncImp::call): Ditto.
  • kjs/nodes.cpp: (PropertyNode::evaluate): Ditto. (VarDeclNode::evaluate): Ditto. (ForInNode::execute): Ditto.
  • kjs/nodes2string.cpp: (SourceStream::operator<<): Add overload for Identifier.
  • kjs/reference.cpp: (Reference::getValue): Call ustring().
  • kjs/regexp_object.cpp: (RegExpObjectImp::get): Call ustring().

WebCore:

  • next step towards atomic identifiers; Identifier is no longer derived from UString
  • khtml/ecma/kjs_binding.cpp: (Identifier::string): Added. (Identifier::qstring): Added.
  • khtml/ecma/kjs_binding.h:
  • khtml/ecma/kjs_css.cpp: (jsNameToProp): (DOMCSSStyleDeclaration::tryPut): (DOMStyleSheet::tryPut): (DOMStyleSheetList::tryGet): (DOMMediaList::tryGet): (DOMCSSRuleList::tryGet): (DOMCSSValueList::tryGet):
  • khtml/ecma/kjs_dom.cpp: (DOMNodeList::hasProperty): (DOMNodeList::tryGet): (DOMNodeListFunc::DOMNodeListFunc): (DOMElement::tryGet): (DOMNamedNodeMap::hasProperty): (DOMNamedNodeMap::tryGet): (DOMNamedNodesCollection::tryGet):
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::tryGet): (HTMLElementFunction::HTMLElementFunction): (KJS::HTMLElement::putValue): (KJS::HTMLCollection::hasProperty): (KJS::HTMLCollection::tryGet): (KJS::HTMLSelectCollection::tryPut): (OptionConstructorImp::OptionConstructorImp):
  • khtml/ecma/kjs_navigator.cpp: (Plugins::get): (MimeTypes::get): (Plugin::get):
  • khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): (FrameArray::get): Use lengthPropertyName instead of "length" for better speed.
3:00 PM Changeset in webkit [2765] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3068112 - extra line breaks when copying from source window

  • Misc.subproj/WebSearchableTextView.m: (-[WebSearchableTextView copy:]): Convert CRLF to LF
2:49 PM Changeset in webkit [2764] by hyatt
  • 3 edits in trunk/WebKit

Make sure that if the scrollers are shown/hidden that we
force an immediate layout, since if we don't, an intervening
display can cause us to show scrollbars when they really
shouldn't be there.

  • WebView.subproj/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]):
2:48 PM Changeset in webkit [2763] by hyatt
  • 4 edits in trunk/WebCore

Fix backgrounds not painting in deployment builds.

  • khtml/rendering/render_box.cpp: (RenderBox::paintBackground):
2:25 PM Changeset in webkit [2762] by darin
  • 4 edits in trunk/JavaScriptCore
  • fixed memory trasher
  • kjs/ustring.cpp: (UString::from): Fix "end of buffer" computation.
2:02 PM Changeset in webkit [2761]
  • 1 copy
    59 deletes in branches/unlabeled-1.5.56

This commit was manufactured by cvs2svn to create branch
'unlabeled-1.5.56'.

2:02 PM Changeset in webkit [2760] by darin
  • 61 edits
    2 adds in trunk

JavaScriptCore:

  • a first step towards atomic identifiers in JavaScript

Most places that work with identifiers now use Identifier
instead of UString.

  • kjs/identifier.cpp: Added.
  • kjs/identifier.h: Added.
  • JavaScriptCore.pbproj/project.pbxproj: Added files.
  • kjs/array_object.cpp:
  • kjs/array_object.h:
  • kjs/completion.cpp:
  • kjs/completion.h:
  • kjs/date_object.cpp:
  • kjs/date_object.h:
  • kjs/function.cpp:
  • kjs/function.h:
  • kjs/function_object.cpp:
  • kjs/grammar.cpp:
  • kjs/grammar.cpp.h:
  • kjs/grammar.h:
  • kjs/grammar.y:
  • kjs/internal.cpp:
  • kjs/internal.h:
  • kjs/lexer.cpp:
  • kjs/lookup.cpp:
  • kjs/lookup.h:
  • kjs/math_object.cpp:
  • kjs/math_object.h:
  • kjs/nodes.cpp:
  • kjs/nodes.h:
  • kjs/number_object.cpp:
  • kjs/number_object.h:
  • kjs/object.cpp:
  • kjs/object.h:
  • kjs/property_map.cpp:
  • kjs/property_map.h:
  • kjs/reference.cpp:
  • kjs/reference.h:
  • kjs/regexp_object.cpp:
  • kjs/regexp_object.h:
  • kjs/string_object.cpp:
  • kjs/string_object.h:

WebCore:

  • a first step towards atomic identifiers in JavaScript

Most places that work with identifiers now use Identifier
instead of UString.

  • khtml/ecma/kjs_binding.cpp:
  • khtml/ecma/kjs_binding.h:
  • khtml/ecma/kjs_css.cpp:
  • khtml/ecma/kjs_css.h:
  • khtml/ecma/kjs_dom.cpp:
  • khtml/ecma/kjs_dom.h:
  • khtml/ecma/kjs_events.cpp:
  • khtml/ecma/kjs_events.h:
  • khtml/ecma/kjs_html.cpp:
  • khtml/ecma/kjs_html.h:
  • khtml/ecma/kjs_navigator.cpp:
  • khtml/ecma/kjs_navigator.h:
  • khtml/ecma/kjs_range.cpp:
  • khtml/ecma/kjs_range.h:
  • khtml/ecma/kjs_traversal.cpp:
  • khtml/ecma/kjs_traversal.h:
  • khtml/ecma/kjs_views.cpp:
  • khtml/ecma/kjs_views.h:
  • khtml/ecma/kjs_window.cpp:
  • khtml/ecma/kjs_window.h:
11:49 AM Changeset in webkit [2759] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3100597 - repro NSArray exception using contextual menu

  • Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): more error checking
10:59 AM Changeset in webkit [2758] by darin
  • 4 edits in trunk/JavaScriptCore
  • fix hash function and key comparison for the other kind of hash table; yields 3%
  • kjs/lookup.cpp: (keysMatch): Added. (Lookup::findEntry): Don't allocate and convert to ASCII just to search.
10:44 AM Changeset in webkit [2757] by darin
  • 7 edits in trunk/JavaScriptCore
  • another hash table fix; yields a 2% improvement on iBench JavaScript
  • kjs/property_map.cpp: A few more places where we use & instead of %.
  • some List changes that don't affect speed yet
  • kjs/types.cpp: (List::prependList): Tighten up a tiny bit. (List::copy): Use prependList.
  • kjs/types.h: Remove appendList and globalClear.
  • kjs/interpreter.cpp: (Interpreter::finalCheck): Remove List::globalClear().
10:07 AM Changeset in webkit [2756] by darin
  • 4 edits in trunk/JavaScriptCore
  • fixed 3105026 -- REGRESSION: DHTML menus are broken all over the place
  • kjs/types.cpp: (List::prepend): Fix backwards links in new node.
9:44 AM Changeset in webkit [2755] by trey
  • 3 edits in trunk/WebKit

WebKit:

Just a tweak to the description printout.

  • History.subproj/WebHistoryItem.m: (-[WebHistoryItem description]):

WebBrowser:

Implementation of the UI for auto-complete. The back end is simplistic at this
stage, as it just searches for http://www.WhatYouTyped.

  • ABHomePagesController.m: (-[ABHomePagesController refreshContents]): Added notes for a future fix.
  • BrowserWindowController.h: Added BrowserWindowWillResize notification.
  • BrowserWindowController.m: (-[BrowserWindowController windowDidLoad]): Create CompletionController. (-[BrowserWindowController windowWillResize:toSize:]): Post resize notification. (-[BrowserWindowController dealloc]): Free CompletionController. (-[BrowserWindowController controlTextDidChange:]): Forward to CompletionController. (-[BrowserWindowController controlTextDidEndEditing:]): Forward to CompletionController. (-[BrowserWindowController control:textView:doCommandBySelector:]): Forward to CompletionController.
  • CompletionController.h: Added.
  • CompletionController.m: Added. (-[CompletionController initWithSourceField:]): Hook up to a field to operate on. (-[CompletionController dealloc]): (-[CompletionController _executeQuery]): Get a result set. (-[CompletionController _matchingPrefixOfString:]): Determine piece of a result that matched. (-[CompletionController _buildUI]): Build completion window and table view. (placementViewForControl): Utility function. (-[CompletionController _positionWindow]): Position the window wrt location field. (-[CompletionController _showMatchesWindow]): Show it, (-[CompletionController _hideMatchesWindow]): hide it. (-[CompletionController _sourceWindowWillMoveOrResize:]): (-[CompletionController _sourceWindowWillMiniaturize:]): (-[CompletionController _sourceWindowWillClose:]):

Hide UI on various source window changes.

(-[CompletionController _abortCompletion:]): wrapper for performAfterDelay.
(-[CompletionController abortCompletion]): Bail out of completion operation.
(-[CompletionController completeString:]): Do a query, bring up the UI.
(-[CompletionController _reflectSelectedRow]): Update location field when a
completion is selected in the TableView
(-[CompletionController controlTextDidChange:]): Drive completion on new text.
(-[CompletionController control:textView:doCommandBySelector:]):
Drive completion on arrows, backspace, escape, return.
(-[CompletionController goToItemAtRow:]): Double click sends performClick to location field.
(-[CompletionController tableViewSelectionDidChange:]): Drive UI when row selected.
(-[CompletionController numberOfRowsInTableView:]): Supply tableView data.
(-[CompletionController tableView:objectValueForTableColumn:row:]): Supply tableView data.

  • TitleBarButton.m: (-[TitleBarButton hitTest:]): Bug fix to allow superview to process mouse events that we don't handle. Allows proper sending of WindowWillMove.
  • WebBrowser.pbproj/project.pbxproj: New class added.
12:10 AM Changeset in webkit [2754] by darin
  • 4 edits in trunk/JavaScriptCore
  • a fix that gives another 1.5% on the iBench JavaScript test
  • kjs/ustring.cpp: (UString::from): Stop using sprintf to format integers.

Nov 18, 2002:

11:57 PM Changeset in webkit [2753] by darin
  • 18 edits in trunk

JavaScriptCore:

  • reduced the creation of Value objects and hoisted the property map into Object for another gain of about 6%
  • JavaScriptCore.pbproj/project.pbxproj: Made property_map.h public.
  • kjs/array_object.cpp: (compareWithCompareFunctionForQSort): Don't wrap the ValueImp * in a Value just to add it to a list. (ArrayProtoFuncImp::call): Pass the globalObject directly so we don't have to ref/deref.
  • kjs/function.cpp: (FunctionImp::call): Use a reference for the global object to avoid ref/deref. (GlobalFuncImp::call): Ditto.
  • kjs/internal.cpp: (BooleanImp::toObject): Put the object directly into the list, don't create a Value. (StringImp::toObject): Ditto. (NumberImp::toObject): Ditto. (InterpreterImp::evaluate): Use a reference for the global object.
  • kjs/internal.h: Return a reference for the global object.
  • kjs/interpreter.cpp: (Interpreter::globalObject): Ditto.
  • kjs/interpreter.h: Ditto.
  • kjs/object.cpp: Use _prop directly in the object, not a separate pointer.
  • kjs/object.h: Ditto.
  • kjs/types.cpp: Added List methods that work directly with ValueImp. (List::append): Added a ValueImp version. (List::prepend): Ditto. (List::appendList): Work directly with the ValueImp's. (List::prependList): Ditto. (List::copy): Use appendList. (List::empty): Use a shared global List.
  • kjs/types.h: Update for above changes.

WebCore:

  • force-js-clean-timestamp: Another Object change.
11:44 PM Changeset in webkit [2752] by hyatt
  • 27 edits in trunk/WebCore

Implement phased painting to correct the paint order of blocks,
floats, and inlines.

  • khtml/rendering/render_body.cpp: (RenderBody::paintBoxDecorations):
  • khtml/rendering/render_body.h:
  • khtml/rendering/render_box.cpp: (RenderBox::paint): (RenderBox::paintBoxDecorations): (RenderBox::paintBackground):
  • khtml/rendering/render_box.h:
  • khtml/rendering/render_br.h:
  • khtml/rendering/render_flow.cpp: (RenderFlow::paint): (RenderFlow::paintObject): (RenderFlow::paintFloats): (RenderFlow::addChild):
  • khtml/rendering/render_flow.h:
  • khtml/rendering/render_html.cpp: (RenderHtml::setStyle): (RenderHtml::paint): (RenderHtml::paintBoxDecorations):
  • khtml/rendering/render_html.h:
  • khtml/rendering/render_image.cpp: (RenderImage::setStyle): (RenderImage::paintObject):
  • khtml/rendering/render_image.h:
  • khtml/rendering/render_layer.cpp: (RenderLayer::paint): (RenderLayer::nodeAtPoint):
  • khtml/rendering/render_list.cpp: (RenderListItem::paint): (RenderListItem::paintObject): (RenderListMarker::paint): (RenderListMarker::paintObject):
  • khtml/rendering/render_list.h:
  • khtml/rendering/render_object.cpp: (RenderObject::RenderObject): (RenderObject::paintBorder): (RenderObject::paintOutline): (RenderObject::paint): (RenderObject::dump): (RenderObject::setStyle):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_replaced.cpp: (RenderReplaced::paint): (RenderWidget::setStyle): (RenderWidget::paintObject):
  • khtml/rendering/render_replaced.h:
  • khtml/rendering/render_root.cpp: (RenderRoot::paint): (RenderRoot::paintObject):
  • khtml/rendering/render_root.h:
  • khtml/rendering/render_table.cpp: (RenderTable::paint): (RenderTableCell::RenderTableCell): (RenderTableCell::setStyle): (RenderTableCell::paint): (RenderTableCell::paintBoxDecorations):
  • khtml/rendering/render_table.h:
  • khtml/rendering/render_text.cpp: (TextSlave::paintSelection): (TextSlave::paintDecoration): (TextSlave::paintBoxDecorations): (RenderText::paintObject): (RenderText::paint): (RenderText::paintTextOutline):
  • khtml/rendering/render_text.h:
11:04 PM Changeset in webkit [2751] by darin
  • 5 edits in trunk/JavaScriptCore
  • kjs/property_map.cpp: Oops, copyright goes to Apple, not me.
  • kjs/property_map.h: Ditto.
10:59 PM Changeset in webkit [2750] by darin
  • 4 edits in trunk/WebCore
  • force-js-clean-timestamp: I changed the size of ObjectImp.
10:53 PM Changeset in webkit [2749] by darin
  • 10 edits in trunk/JavaScriptCore
  • property and string improvements giving a 7% or so improvement in JavaScript iBench
  • kjs/property_map.h: Rewrite to use a hash table.
  • kjs/property_map.cpp: Ditto.
  • kjs/string_object.h:
  • kjs/string_object.cpp: (StringInstanceImp::StringInstanceImp): Construct a string with the right value instead of putting the string in later. (StringInstanceImp::get): Get the length from the string, not a separate property. (StringInstanceImp::put): Ignore attempts to set length, since we don't put it in the property map. (StringInstanceImp::hasProperty): Return true for length. (StringInstanceImp::deleteProperty): Return false for length. (StringObjectImp::construct): Call new StringInstanceImp constructor. Don't try to set a length property.
  • kjs/ustring.h: Make the rep deref know how to deallocate the rep.
  • kjs/ustring.cpp: (UString::release): Move the real work to the rep's deref, since the hash table now uses the rep directly.
  • kjs/object.h: Remove unused field.
10:20 PM Changeset in webkit [2748] by mjs
  • 6 edits in trunk/JavaScriptCore

Change List to completely avoid going through the GC
allocator. 3.6% performance improvement on JavaScript iBench.

  • kjs/internal.cpp: (InterpreterImp::mark): Don't mark the empty list.

For all the methods below I basically lifted the ListImp version
up to the List method with minor tweaks.

  • kjs/types.cpp: (ListIterator::ListIterator): (List::List): (List::operator=): (List::~List): (List::mark): (List::append): (List::prepend): (List::appendList): (List::prependList): (List::removeFirst): (List::removeLast): (List::remove): (List::clear): (List::clearInternal): (List::copy): (List::begin): (List::end): (List::isEmpty): (List::size): (List::at): (List::operator[]): (List::empty): (List::erase): (List::refAll): (List::derefAll): (List::swap): (List::globalClear):
  • kjs/types.h:
9:07 PM Changeset in webkit [2747] by mjs
  • 4 edits in trunk/JavaScriptCore

Fixed a horrible leak introduced with my last change that
somehow did not show up on my machine.

  • kjs/types.cpp: (List::List): Mark ListImp as GC allowed.
7:05 PM Changeset in webkit [2746] by hyatt
  • 4 edits in trunk/WebCore

Fix crazyapplerumors.com. I had the logic backwards. CSS
padding beats cellpadding.

  • khtml/rendering/render_table.cpp: (RenderTableCell::paddingTop): (RenderTableCell::paddingBottom): (RenderTableCell::paddingLeft): (RenderTableCell::paddingRight):
6:33 PM Changeset in webkit [2745] by hyatt
  • 4 edits in trunk/WebCore

Fix crash on espn.com.

  • khtml/rendering/render_object.cpp: (RenderObject::setLayouted):
6:15 PM Changeset in webkit [2744] by mjs
  • 5 edits in trunk/JavaScriptCore

Another step towards the List conversion: stop inheriting from Value.

  • kjs/types.cpp: (ListIterator::ListIterator): (List::List): (List::operator=): (List::~List): (List::mark): (List::append): (List::prepend): (List::appendList): (List::prependList): (List::removeFirst): (List::removeLast): (List::remove): (List::clear): (List::copy): (List::begin): (List::end): (List::isEmpty): (List::size): (List::at): (List::operator[]):
  • kjs/types.h:
6:03 PM Changeset in webkit [2743] by hyatt
  • 4 edits in trunk/WebCore

Fix my <konqblock> regression on ign.com.

  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
5:30 PM Changeset in webkit [2742] by cblu
  • 9 edits in trunk/WebKit

Real fix for: 3104183 - Assert loading www.louisvuitton.com

Since we don't consider plug-in content as a subresource, attaching plug-in streams to the datasource has no affect on the loading state of the datasource. Both stopLoading on WebFrame and _stopLoading datasource, would not stop plug-ins streams after the data source was done loading. Because of this, I've decided to not keep a list of plug-in streams attached to the data source and pulled my previous change. To fix this bug, WebBaseResourceHandleDelegate now retains the controller.

  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream start]): (-[WebNetscapePluginStream cancel]): (-[WebNetscapePluginStream handleDidFinishLoading:]): (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
  • WebView.subproj/WebBaseResourceHandleDelegate.h:
  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate _releaseResources]): (-[WebBaseResourceHandleDelegate setDataSource:]): (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): (-[WebBaseResourceHandleDelegate handleDidFinishLoading:]): (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]): (-[WebBaseResourceHandleDelegate _cancelWithError:]):
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _stopLoading]): (-[WebDataSource _makeHandleDelegates:deferCallbacks:]): (-[WebDataSource _defersCallbacksChanged]):
5:01 PM Changeset in webkit [2741] by mjs
  • 13 edits in trunk

JavaScriptCore:

Partway to removing Value from List. Created a marking List
variant, used it in place of ListImp.

  • kjs/internal.h: Removed List stuff.
  • kjs/internal.cpp: (InterpreterImp::mark): Call appropriate List method to do marking of empty ListImp.
  • kjs/object.h:
  • kjs/object.cpp: Use marking List instead of ListImp *.
  • kjs/types.h:
  • kjs/types.cpp: (List::List): New boolean needsMarking parameter. (List::operator=): Perform trickery related to needsMarking. (List::~List): Likewise. (List::mark): Mark the ListImp. (List::markEmptyList): (ListImp::*): Moved here fron internal.cpp, they will be integrated into the relevant List methods soon.

WebCore:

  • force-js-clean-timestamp: Rebuild for JSC changes.
3:43 PM Changeset in webkit [2740] by darin
  • 9 edits in trunk/JavaScriptCore
  • another string constant discovered that can be optimized
  • kjs/object.h: Add a property name constant for "proto".
  • kjs/object.cpp: Define it. (ObjectImp::get): Use it. (ObjectImp::hasProperty): Use it.
  • prepare to turn PropertyMap into a hash table
  • kjs/object.cpp: (ObjectImp::mark): Use the new PropertyMap::mark(). (ObjectImp::put): Use the new overload of PropertyMap::get(). (ObjectImp::deleteProperty): Use the new overload of PropertyMap::get(). (ObjectImp::propList): Use PropertyMap::addEnumerablesToReferenceList().
  • kjs/property_map.h: Remove PropertyMapNode and make all node-related methods private. Add mark(), a new overload of get() that returns attributes, a clear() that takes no attributes, and addEnumerablesToReferenceList().
  • kjs/property_map.cpp: (PropertyMap::get): Added new overload. (PropertyMap::clear): Added new overload. (PropertyMap::mark): Added. (PropertyMap::addEnumerablesToReferenceList): Added.
  • kjs/ustring.h: Added a hash function.
  • kjs/ustring.cpp: (KJS::hash): Added.
3:23 PM Changeset in webkit [2739] by darin
  • 4 edits in trunk/WebCore
  • force-js-clean-timestamp: Touch files to make the build work.
2:49 PM Changeset in webkit [2738] by darin
  • 7 edits in trunk/JavaScriptCore
  • simplified the ExecState class, which was showing up in profiles

Sped up JavaScript iBench by 6%.

  • kjs/interpreter.h: Removed the level of indirection, and made it all inline.
  • kjs/interpreter.cpp: Removed ExecState implementation from here altogether.
  • fixed an oversight in my sort speedup
  • kjs/array_object.h: Add pushUndefinedObjectsToEnd.
  • kjs/array_object.cpp: (ArrayInstanceImp::sort): Call pushUndefinedObjectsToEnd. (ArrayInstanceImp::pushUndefinedObjectsToEnd): Added. Pushes all undefined to the end of the array.
2:22 PM Changeset in webkit [2737] by cblu
  • 5 edits in trunk/WebKit

Fixed: 3104183 - Assert loading www.louisvuitton.com

We need to treat plug-in streams like subresources except they don't change the loading state of the data source.

  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream start]): call _addPluginStream (-[WebNetscapePluginStream cancel]): call _removePluginStream (-[WebNetscapePluginStream handleDidFinishLoading:]): call _removePluginStream (-[WebNetscapePluginStream handle:didFailLoadingWithError:]): call _removePluginStream
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): release pluginStreams (-[WebDataSource _addPluginStream:]): just like addSubresourceClient except don't change the loading state. (-[WebDataSource _removePluginStream:]): just like removeSubresourceClient except don't change the loading state. (-[WebDataSource _stopLoading]): stop plug-ins streams (-[WebDataSource _makeHandleDelegates:deferCallbacks:]): (-[WebDataSource _defersCallbacksChanged]): call _makeHandleDelegates:deferCallbacks: for subresources and plug-in streams.
1:55 PM Changeset in webkit [2736] by darin
  • 11 edits in trunk/JavaScriptCore
  • fix worst speed problems on the sort page of the iBench JavaScript test

Sped up JavaScript iBench by 70%, the sort page by 88%.

  • kjs/array_object.h: Add array-specific sort functions.
  • kjs/array_object.cpp: (compareByStringForQSort): Added. (ArrayInstanceImp::sort): Added. (compareWithCompareFunctionForQSort): Added. (ArrayProtoFuncImp::call): Use ArrayInstanceImp::sort if the object being sorted is actually an array.
  • kjs/object.h: Add argumentsPropertyName.
  • kjs/object.cpp: Add argumentsPropertyName.
  • kjs/function.cpp: (FunctionImp::FunctionImp): Use argumentsPropertyName to avoid making a UString. (FunctionImp::call): Ditto. (ActivationImp::ActivationImp): Ditto.
  • kjs/function_object.cpp: (FunctionObjectImp::construct): Ditto.
  • kjs/ustring.h: Added compare function for -1/0/+1 comparison.
  • kjs/ustring.cpp: (KJS::compare): Added.
1:45 PM Changeset in webkit [2735] by mjs
  • 6 edits in trunk/JavaScriptCore

Change ArgumentListNode operations to be iterative instead of
recursive. This probably fixes 3095446 (Crash in
KJS::ArgumentListNode::ref()) but I can't reproduce it myself so
I'm not 100% sure. I think the original bug was a stack overflow
and this change would remove that possibility.

  • kjs/nodes.cpp: (ArgumentListNode::ref): Make iterative. (ArgumentListNode::deref): Make iterative. (ArgumentListNode::evaluateList): Make iterative.
12:30 PM Changeset in webkit [2734] by rjw
  • 4 edits in trunk/WebCore

Fixed 3103004. REGRESSION: word-spacing/letter-spacing applied when they shouldn't be
This was actually NOT a regression. khtml wasn't recognizing the 'normal' value for the
word and letter spacing properties. So it incorrectly substituted a -1 spacing.

  • khtml/css/cssstyleselector.cpp:
12:14 PM Changeset in webkit [2733] by hyatt
  • 5 edits in trunk/WebCore

Fix render_body's repaint method.

  • khtml/rendering/render_body.cpp: (RenderBody::repaint):
  • khtml/rendering/render_body.h:
11:52 AM Changeset in webkit [2732] by rjw
  • 3 edits in trunk/WebKit

Check for usesBackForwardList was excluding all load types.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]):
11:31 AM Changeset in webkit [2731] by cblu
  • 3 edits in trunk/WebKit

Fixed: 3098767 - REGRESSION: standalone quicktime content just shows blank window

Check the instance not the class for the class type.

  • Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
7:52 AM Changeset in webkit [2730] by kocienda
  • 7 edits
    2 adds in trunk/WebKit

WebKit:

Added feature to import bookmarks/favorites from MSIE. This
fixes Radar 2961230 (import Mac IE bookmarks).

  • Bookmarks.subproj/WebBookmarkImporter.h: Added.
  • Bookmarks.subproj/WebBookmarkImporter.m: Added. (_breakStringIntoLines): (_HREFRangeFromSpec): (_HREFTextFromSpec): (_linkTextRangeFromSpec): (_linkTextFromSpec): (-[WebBookmarkImporter initWithPath:group:]): (-[WebBookmarkImporter topBookmark]): (-[WebBookmarkImporter error]): (-[WebBookmarkImporter dealloc]):
  • Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList init]): Create the bookmark list object. This was not created with the -init initializer, causing bookmark lists to fail.
  • English.lproj/Localizable.strings:
  • English.lproj/StringsNotToBeLocalized.txt:
  • WebKit.exp:
  • WebKit.pbproj/project.pbxproj:

WebBrowser:

Added calls in Debug menu to import IE Favorites.
No doubt that this code will move somewhere else once
we figure out the interaction design for importing
bookmarks.

  • Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]): (-[BrowserDocument importInteretExplorerBookmarks:]):
5:41 AM Changeset in webkit [2729] by mjs
  • 4 edits in trunk/WebCore
  • fixed 3103711 - Alexander does not complete JavaScript iBench
  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue): Resolve URL for location property relative to the base URL of the frame where the JavaScript is executing, not the target frame.
1:11 AM Changeset in webkit [2728] by hyatt
  • 5 edits in trunk/WebCore

Yay! Found the main cause of :hover feedback being so
slow on links. The diff function for styles was
considering a color change as a containing block layout
instead of just a repaint. With this fix, we will no
longer lay out when you hover over a link whose color
is different (remember that laying out causes the whole
page to repaint).

There's still some work to do to optimize this further,
since we do repaint the containing block still, but this
should be good enough for beta.

  • khtml/rendering/render_style.cpp: (RenderStyle::diff):

Nov 17, 2002:

11:55 PM Changeset in webkit [2727] by hyatt
  • 6 edits in trunk/WebCore

Don't use the immediate painting code for now. Revert
to non-immediate code. Using the non-immediate path I
have managed to fix all the regressions except for
mrskin losing updates in its marquee (this works only with
immediate painting) and the general scrollbar regression
(which I just don't understand).

  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::close):
  • khtml/rendering/render_object.cpp: (RenderObject::setLayouted):
  • khtml/rendering/render_root.cpp: (RenderRoot::repaintRectangle): (RenderRoot::repaint):
10:47 PM Changeset in webkit [2726] by trey
  • 3 edits in trunk/WebKit

Code cleanup to make some internal methods return autoreleased objects.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _addBackForwardItemClippedAtTarget:]): (-[WebFrame _createItem]): (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): (-[WebFrame _transitionToCommitted]):
9:59 PM Changeset in webkit [2725] by trey
  • 8 edits in trunk/WebKit

Fixed 3102076 - REGRESSION: infinite recursion involving bridge end
Fixed 3100929 - REGRESSION: serverRedirectedForDataSource: not sent on server redirects
Fixed 3103381 - REGRESSION: Going back from anchor doesn't restore scroll position

  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): Return the copy of the request that we make instead of the original.
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:willSendRequest:]): Call super after we make our mods to the request, so the copy that super makes for us includes those mods.
  • WebView.subproj/WebFramePrivate.h: Added new state, WebFrameStateCompleting.
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToLayoutAcceptable]): Completing state is a NOP. (-[WebFrame _transitionToCommitted]): Completing state is a NOP. (-[WebFrame _isLoadComplete]): Go to Completing state before calling [bridge end]. Go to Completed state afterwards, only if no new loads started in the meantime. (-[WebFrame _loadItem:fromItem:withLoadType:]): When doing anchor nav to get to the item, save and restore scroll state, and set the current item. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Reorder the steps so the right scroll state gets saved to the right place. Also, don't add a backForward item if we're doing a client redirect to an anchor.
8:59 PM Changeset in webkit [2724] by hyatt
  • 5 edits in trunk/WebCore

More refinements to immediate painting code. Still doesn't
fix the scrollbar problem though. :(

  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::close):
  • khtml/khtmlview.cpp: (KHTMLView::init): (KHTMLView::timerEvent):
8:01 PM Changeset in webkit [2723] by hyatt
  • 7 edits in trunk/WebCore

Make immediate repainting of the root element more robust.

  • khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::close):
  • khtml/khtmlview.cpp: (KHTMLView::unscheduleRepaint):
  • khtml/khtmlview.h:
  • khtml/rendering/render_root.cpp: (RenderRoot::repaint):
7:37 PM Changeset in webkit [2722] by hyatt
  • 3 edits in trunk/WebKit

Back out my previous fix. I have a better one that is
confined to WebCore.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]):
6:02 PM Changeset in webkit [2721] by hyatt
  • 3 edits in trunk/WebKit

The needsdisplay is necessary even for HTML documents.
I over-optimized here. Fixes the directory.apple.com
regression and the santa clara library regression.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]):
1:25 PM Changeset in webkit [2720] by darin
  • 23 edits in trunk

WebCore:

  • moved all NSURL and CFURL use out of WebCore
  • kwq/KWQKURL.h: Remove getNSURL() and getNSURLFromString().
  • kwq/KWQKURL.mm: Ditto.
  • kwq/KWQKCookieJar.mm: (KWQKCookieJar::cookie): Pass an NSString instead of an NSURL. (KWQKCookieJar::setCookie): Ditto.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURL): Ditto. (KWQKHTMLPart::openURLRequest): Ditto. (KWQKHTMLPart::submitForm): Ditto. (KWQKHTMLPart::urlSelected): Ditto. (KWQKHTMLPart::createPart): Ditto. (KWQKHTMLPart::redirectionTimerStartedOrStopped): Ditto. (KWQKHTMLPart::userAgent): Ditto. (KWQKHTMLPart::requestedURLString): Receive an NSString instead of an NSURL.
  • kwq/KWQKHTMLPartBrowserExtension.mm: (KHTMLPartBrowserExtension::createNewWindow): Pass an NSString instead of an NSURL. (KHTMLPartBrowserExtension::setIconURL): Ditto. (KHTMLPartBrowserExtension::setTypedIconURL): Ditto.
  • kwq/KWQKJavaAppletWidget.h: Remove use of NSURL, just use QString instead.
  • kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::KJavaAppletWidget): No need to set the QString to nil. (KJavaAppletWidget::~KJavaAppletWidget): No need to release the QString. (KJavaAppletWidget::showApplet): Pass an NSString instead of an NSURL.
  • kwq/KWQLoader.mm: (KWQServeRequest): Pass an NSString instead of an NSURL. (KWQCheckCacheObjectStatus): Ditto.
  • kwq/WebCoreBridge.h: Change all methods to use NSString instead of NSURL.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:]): Receive an NSString instead of an NSURL. (-[WebCoreBridge completeURLForDOMString:]): Return an NSString instead of an NSURL. (-[WebCoreBridge elementAtPoint:]): WebCoreElementLinkURL and WebCoreElementImageURL are now strings. (-[WebCoreBridge URL]): Return an NSString instead of an NSURL.
  • kwq/WebCoreCookieAdapter.h: Change all methods to use NSString instead of NSURL.
  • kwq/WebCoreCookieAdapter.m: (-[WebCoreCookieAdapter cookiesForURL:]): Ditto. (-[WebCoreCookieAdapter setCookies:forURL:policyBaseURL:]): Ditto.
  • khtml/rendering/render_applet.cpp: (RenderApplet::processArguments): Tweaked this file a tiny bit, mainly because header dependencies weren't working and we need this file to be recompiled due to inline function changes.

WebKit:

  • update for change to WebCore API so it never uses NSURL
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): Take NSString instead of NSURL. (-[WebBridge startLoadingResource:withURL:]): Ditto. (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): Ditto. (-[WebBridge reportClientRedirectToURL:delay:fireDate:]): Ditto. (-[WebBridge setIconURL:]): Ditto. (-[WebBridge setIconURL:withType:]): Ditto. (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]): Ditto. (-[WebBridge postWithURL:data:contentType:triggeringEvent:]): Ditto. (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Ditto. (-[WebBridge userAgentForURL:]): Ditto. (-[WebBridge requestedURL]): Return NSString instead of NSURL. (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): Take NSString instead of NSURL. (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): Take NSString instead of NSURL.
  • WebCoreSupport.subproj/WebCookieAdapter.m: (-[WebCookieAdapter cookiesForURL:]): Take NSString instead of NSURL. (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]): Ditto.
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]): Pass NSString instead of NSURL.
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Pass NSString instead of NSURL (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Turn bridge URL into NSURL so we can call _web_URLByRemovingFragment on it.
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]): Convert NSString to NSURL when making the WebKit element dictionary.
12:39 PM Changeset in webkit [2719] by hyatt
  • 15 edits in trunk/WebCore

Add support for specifying whether repaint should be immediate or
not. Default to async for now to maintain current behavior.

For clipped object repainting (e.g., livepage.apple.com and mrskin)
switch to immediate repainting, since this makes the marquees
faster, stops dropping updates, and keeps the hover effects and
painting on the rest of the page fast (since the marquee rect doesn't
get unioned with links or images that you roll over).

  • khtml/rendering/render_box.cpp: (RenderBox::repaint): (RenderBox::repaintRectangle):
  • khtml/rendering/render_box.h:
  • khtml/rendering/render_html.cpp: (RenderHtml::repaint):
  • khtml/rendering/render_html.h:
  • khtml/rendering/render_object.cpp: (RenderObject::setLayouted): (RenderObject::repaintRectangle):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_root.cpp: (RenderRoot::repaintRectangle): (RenderRoot::repaint):
  • khtml/rendering/render_root.h:
  • khtml/rendering/render_table.cpp: (RenderTableRow::repaint): (RenderTableCell::repaintRectangle): (RenderTableCell::repaint):
  • khtml/rendering/render_table.h:
  • khtml/rendering/render_text.cpp: (RenderText::repaint):
  • khtml/rendering/render_text.h:
5:52 AM Changeset in webkit [2718] by mjs
  • 15 edits
    1 add in trunk

WebCore:

  • fixed 2949193 - implement onKeyDown, onKeyPress, and onKeyUp event handlers
  • khtml/html/html_formimpl.cpp: (HTMLGenericFormElementImpl::defaultEventHandler):
  • kwq/KWQEvent.h:
  • kwq/KWQEvent.mm: (QKeyEvent::QKeyEvent): Implemented. (QKeyEvent::key): Likewise. (QKeyEvent::state): Likewise. (QKeyEvent::accept): Likewise. (QKeyEvent::ignore): Likewise. (QKeyEvent::isAutoRepeat): Likewise. (QKeyEvent::text): Likewise. (QKeyEvent::ascii): Likewise. (QKeyEvent::count): Likewise. (QKeyEvent::isAccepted): Likewise.
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::keyEvent): Translate the event to a QEvent and send it through the DOM event mechanism.
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge interceptKeyEvent:toView:]): Pass event to the KWQ part.
  • kwq/WebCoreBridgePrivate.h: Added.
  • WebCore.pbproj/project.pbxproj: Added new file.

WebKit:

  • fixed 2949193 - implement onKeyDown, onKeyPress, and onKeyUp event handlers
  • WebView.subproj/WebHTMLViewPrivate.h:
  • WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]): Pose as NSWindow too now. (-[WebHTMLView _interceptKeyEvent:toView:]): Pass event to WebCore and see if WebCore wants to block it. (-[WebNSWindow sendEvent:]): For all key events that would go to a subview of a WebHTMLView, let the WebHTMLView take a first crack at it.
2:38 AM Changeset in webkit [2717] by hyatt
  • 4 edits in trunk/WebCore

Don't discard linefeeds after elements with no close tag
(e.g., <img> or <input>).

  • khtml/html/htmltokenizer.cpp: (HTMLTokenizer::parseTag):
1:58 AM Changeset in webkit [2716] by hyatt
  • 4 edits in trunk/WebCore

Fix for slashdot table mispositioning in the upper right.
Now that we fixed <td> to set to -konq-center when align="center"
is specified, the style rules are no longer necessary in
html4.css (and are in fact harmful).

  • khtml/css/html4.css:
1:24 AM Changeset in webkit [2715] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3038168. Duh. Remember to be case-insensitive when
checking the type of the <style> attribute.

  • khtml/html/html_headimpl.cpp: (HTMLStyleElementImpl::parseAttribute):
1:04 AM Changeset in webkit [2714] by hyatt
  • 8 edits in trunk/WebCore

This is a fix for bug 3058470. The bug was that replaced elements
were computing their min and max widths wrong. Specifically they
were not adding in borders and padding! This means that any image
with a border around it would potentially break to another line
too early.

Once I fixed this for replaced elements I then went in and
fixed form controls. I added two APPLE_CHANGES features for
our form controls. First I overrode the border/padding functions
to always return 0 for all form controls, since no Aqua control
honors border/padding (nor should it). This fixes the menulist
at the top of wired.com.

Second I made sure that certain controls will ignore CSS-specified
heights and always use their intrinsic heights. These include
<select size=1> (combobox), single line text fields, and buttons.
I allow listboxes and textareas to honor height.

  • khtml/rendering/render_box.cpp: (RenderBox::contentWidth): (RenderBox::contentHeight): (RenderBox::calcWidth): (RenderBox::calcHeight):
  • khtml/rendering/render_form.h:
  • khtml/rendering/render_image.h:
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_replaced.cpp: (RenderReplaced::calcMinMaxWidth):

Nov 16, 2002:

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

Fix for 3078240, <pre> should not establish its own text-align,
but should instead inherit from its parent.

  • khtml/css/html4.css:
7:30 PM Changeset in webkit [2712] by hyatt
  • 5 edits in trunk/WebCore

Rewrite the calculation of min and max width for <pre>s. This
is the second stage of the whitespace rewrite (third stage
will be to stop morphing newlines).

This should fix a bunch of bugs, e.g., especially if you ever
did the following:
<td><pre><span>foo</span>

more text after the newline</pre></td>

The new code now properly handles building up the correct min/max
width for the <pre>.

If anyone recalls seeing any bugs like this, let me know and
I can close them.

  • khtml/rendering/render_flow.cpp: (RenderFlow::calcInlineMinMaxWidth):
  • khtml/rendering/render_text.cpp: (RenderText::trimmedMinMaxWidth): (RenderText::calcMinMaxWidth):
5:57 PM Changeset in webkit [2711] by hyatt
  • 4 edits in trunk/WebCore

Fix more edge cases with whitespace handling that caused some
lines to be too long (and unselectable).

  • khtml/rendering/bidi.cpp: (appendRunsForObject):
5:33 PM Changeset in webkit [2710] by hyatt
  • 4 edits in trunk/WebCore

Make <caption> error-handling more robust.

Specifically, handle <tr> and <td> misplaced inside
<caption>s and still make them be part of the table.

  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
11:57 AM Changeset in webkit [2709] by hyatt
  • 4 edits in trunk/WebCore

Implement the collapsing top margin quirk for <body> (the same
quirk used for table cells) and make sure it works even when the
<body> has margins of its own.

Fixes www.eflightpacks.com (the top frame was shoved down because
the <p> margin didn't collapse away).

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

Sigh. Amazingly enough, all other browsers seem to treat
stray </p>s as <p></p> (Mac IE treats it as <br>, but
I'm going with the WinIE/Gecko behavior of <p></p>).

This fixes bug 3063699.

  • khtml/html/htmlparser.cpp: (KHTMLParser::processCloseTag): (KHTMLParser::popBlock):

Nov 15, 2002:

11:29 PM Changeset in webkit [2707] by hyatt
  • 7 edits in trunk/WebCore

Fix for livepage.apple.com slowness. Ensure that
clipped regions only paint their own rectangles
when they or any children inside of them need to
be reflowed.

This fix is intended as an interim band-aid for a much
larger problem (that all of layout doesn't just auto-invalidate
the regions it needs to, and that DHTML doesn't have
specialized behavior to avoid async repainting or even
relayout when only a repaint is required).

  • khtml/khtmlview.cpp: (KHTMLView::timerEvent):
  • khtml/rendering/render_container.cpp: (RenderContainer::removeChildNode): (RenderContainer::appendChildNode): (RenderContainer::insertChildNode): (RenderContainer::layout):
  • khtml/rendering/render_object.cpp: (RenderObject::setLayouted): (RenderObject::scheduleRelayout):
  • khtml/rendering/render_root.cpp: (RenderRoot::repaintRectangle):
6:23 PM Changeset in webkit [2706] by hyatt
  • 4 edits in trunk/WebCore

Fix the problem where the last lines of paragrpahs were getting
justified incorrectly.

  • khtml/rendering/bidi.cpp: (RenderFlow::findNextLineBreak):
4:09 PM Changeset in webkit [2705] by hyatt
  • 4 edits in trunk/WebCore

Fix bustage with <nobr> tags. Inline nowrap elements were
breaking on images when they shouldn't have.

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

Fix for this bug:

Radar 3102708 (REGRESSION: assertion failure backing up to page)

KWQCheckCacheObjectStatus did not create an NSURL in a way that
dealt with the fact that we handle non-NSURL-compliant URL strings.
I have fixed it so it does, and in the process, factored out
the code to do it into a new KURL static function (KURL::getNSURLFromString).

  • kwq/KWQKURL.h:
  • kwq/KWQKURL.mm: (KURL::getNSURL): Now calls through to KURL::getNSURLFromString (KURL::encode_string) (KURL::getNSURLFromString): New function to handle NSURL creation
  • kwq/KWQLoader.mm: (KWQCheckCacheObjectStatus)
3:56 PM Changeset in webkit [2703] by hyatt
  • 5 edits in trunk/WebCore

Fix asserts in tables.

  • khtml/rendering/render_table.cpp: (RenderTableRow::layout):
2:42 PM Changeset in webkit [2702] by darin
  • 4 edits in trunk/WebKit
  • fixed 3079214 -- text/plain page shows up slowly, a few pages at a time
  • WebView.subproj/WebTextView.m: (-[WebTextView initWithFrame:]): Remove unneeded setWidthTracksTextView:, because that's the default. (-[WebTextView dataSourceUpdated:]): Replace the thing each time in the RTF case. (-[WebTextView viewDidMoveToSuperview]): Here's where we resize, but only the width. Resizing the height was causing the bug. (-[WebTextView layout]): Do nothing. (-[WebTextView setAcceptsDrags:]): Update to new name. Since we weren't importing WebDocument.h, we never noticed that this file got out of sync. (-[WebTextView acceptsDrags]): Ditto. (-[WebTextView setAcceptsDrops:]): Ditto. (-[WebTextView acceptsDrops]): Ditto.
  • WebView.subproj/WebDocument.h: Fix typo. It said setAcceptsDrags: twice.
2:35 PM Changeset in webkit [2701] by hyatt
  • 4 edits in trunk/WebCore

Fix for whitespace regressions that caused text overlapping
and text spilling.

  • khtml/rendering/bidi.cpp: (appendRunsForObject):
1:32 PM Changeset in webkit [2700] by hyatt
  • 6 edits in trunk/WebCore

Fix newlines getting stripped out of textareas by not making
rendertext objects for children of textareas.

  • khtml/rendering/render_form.h:
  • khtml/rendering/render_object.h:
  • khtml/xml/dom_textimpl.cpp: (TextImpl::attach):
1:02 PM Changeset in webkit [2699] by hyatt
  • 6 edits in trunk/WebCore

Make <form> inside <table> stay inside the <table> but demote
itself to a leaf. Then the children of the <form> are treated
as though they occurred underneath the <table> itself. Everything
KHTML does with this is completely wrong but this band-aid should
hopefully suffice until 1.0.

Also allowing <input type="hidden"> to be constructed and attached
under <table>s. Since they have no render objects this is safe.
Again, total hack, since CSS2 anonymous table construction should be
implemented and that would have fixed all this.

This collection of hacks makes travelocity render correctly on the
PLT.

  • khtml/css/html4.css:
  • khtml/html/dtd.cpp: (DOM::checkChild):
  • khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::addChild):
  • khtml/html/htmlparser.cpp: (KHTMLParser::parseToken): (KHTMLParser::insertNode):
12:04 PM Changeset in webkit [2698] by hyatt
  • 4 edits in trunk/WebCore

Fix Hixie's blog. Background images can be transparent, so
if the root's color isn't valid always do a fixup even if you
have a valid background image.

  • khtml/rendering/render_html.cpp: (RenderHtml::printBoxDecorations):
11:42 AM Changeset in webkit [2697] by darin
  • 4 edits in trunk/WebCore
  • kwq/KWQWindowWidget.mm: (KWQWindowWidget::setFrameGeometry): Oops. Make that display:YES.
11:14 AM Changeset in webkit [2696] by darin
  • 4 edits in trunk/WebCore
  • fixed 3090219 -- Window jumps up and down when loading nikon page
  • kwq/KWQWindowWidget.mm: (KWQWindowWidget::setFrameGeometry): Don't pass display:NO when resizing the window.
10:34 AM Changeset in webkit [2695] by darin
  • 3 edits in trunk/WebKit
  • WebView.subproj/WebFramePrivate.m: Removed a bunch of tabs and fixed indenting.
10:30 AM Changeset in webkit [2694] by mjs
  • 7 edits in trunk/WebKit
  • fixed 3102016 - REGRESSION: Command-clicking on a link can open _two_ windows.
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setJustOpenedForTargetedLink:]): (-[WebDataSource _justOpenedForTargetedLink]):
  • WebView.subproj/WebFrame.m: (-[WebFrame findOrCreateFramedNamed:]):
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueAfterNavigationPolicy:]): (-[WebFrame _loadDataSource:withLoadType:]): (-[WebFrame _downloadRequest:toPath:]): (-[WebFrame _setJustOpenedForTargetedLink:]):
10:22 AM Changeset in webkit [2693] by kocienda
  • 4 edits in trunk/WebCore

Remove characters RFC 2396 describes as "unwise" from the
BadChar character class. This causes them to remain unescaped
in KURL objects. As a result, some extra escaping needed to
be added into the getNSURL() function to enable NSURL
objects to be created using a KURL.

This enables me to fix this bug:
Radar 3050437 (Clicking link leads to page with garbled content)

Note, however, that my fix for 3050437 relies on this bug remaining unfixed:

Radar 3102332 (Square bracket characters "sneak through" CFURL illegal character checks)

  • kwq/KWQKURL.mm: (KURL::getNSURL)
9:59 AM Changeset in webkit [2692] by darin
  • 3 edits in trunk/WebKit
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]): Give the listener a slightly longer lifetime, to make this API a bit more foolproof.
8:46 AM Changeset in webkit [2691] by darin
  • 6 edits in trunk/WebCore

Tools:

  • Scripts/update-alex-localizable-strings: Fix it so that the line numbers in error messages will be accurate.

WebCore:

  • fixed 3027460 -- text areas don't have focus rectangles
  • fixed 2937204 -- text areas have solid black borders
  • kwq/KWQSignal.mm: (KWQSignal::disconnect): Add a special case so we don't hear about finishedParsing all the time.
  • kwq/KWQTextArea.mm: (-[KWQTextArea initWithFrame:]): Use a bezel border, not a line border. (-[KWQTextArea getCursorPositionAsIndex:inParagraph:]): Fix bug where it would return a bogus value for an empty text area. (-[KWQTextArea setCursorPositionToIndex:inParagraph:]): Use setSelectedRange: ratherr than setMarkedText:selectedRange:. (-[KWQTextArea drawRect:]): Draw a focus ring if our text view is first responder. (-[KWQTextArea _KWQ_setKeyboardFocusRingNeedsDisplay]): Added. (-[KWQTextAreaTextView becomeFirstResponder]): Call _KWQ_setKeyboardFocusRingNeedsDisplay. (-[KWQTextAreaTextView resignFirstResponder]): Call _KWQ_setKeyboardFocusRingNeedsDisplay. (-[NSView _KWQ_setKeyboardFocusRingNeedsDisplay]): Calls the same thing on parent.
  • WebCore.pbproj/project.pbxproj: PB is a cruel master.

WebBrowser:

  • fixed problem I introduced where text would get too close to the right button
  • LocationTextField.m: (-[LocationTextField didShowOrHideRightButton]): Add back logic to adjust the right border. I removed this because it was incompatible with my changes, but now I made a new compatible version by adding a new method.
  • TextFieldWithControls.h: Rename showRightButton: to setIsShowingRightButton:, and added isShowingRightButton, and didShowOrHideRightButton methods.
  • TextFieldWithControls.m: (-[TextFieldWithControls isShowingRightButton]): Added. (-[TextFieldWithControls didShowOrHideRightButton]): Added. (-[TextFieldWithControls setIsShowingRightButton:]): Call didShowOrHideRightButton at the right moment so we can properly respond to any changes it makes to the cell.
  • BrowserWindowController.m: (-[BrowserWindowController updateSnapBackButtons]): Update for method name change.
  • WebBrowser.pbproj/project.pbxproj: PB is a cruel master.
8:40 AM Changeset in webkit [2690] by mjs
  • 3 edits in trunk/WebKit

Fix world leak I introduced, and also add an early return when needed.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
7:11 AM Changeset in webkit [2689] by mjs
  • 4 edits in trunk/WebCore
  • khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::attach): Removed a stray printf.
5:40 AM Changeset in webkit [2688] by mjs
  • 11 edits
    2 adds in trunk/WebKit

WebKit:

Make navigation policy asynchronous for real.

  • WebKit.pbproj/project.pbxproj:
  • WebView.subproj/WebControllerPolicyDelegate.h:
  • WebView.subproj/WebControllerPolicyDelegate.m: (-[WebPolicyDecisionListenerPrivate initWithTarget:action:]): (-[WebPolicyDecisionListenerPrivate dealloc]): (-[WebPolicyDecisionListener usePolicy:]): (-[WebPolicyDecisionListener _initWithTarget:action:]): (-[WebPolicyDecisionListener dealloc]): (-[WebPolicyDecisionListener _invalidate]):
  • WebView.subproj/WebControllerPolicyDelegatePrivate.h: Added.
  • WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
  • WebView.subproj/WebFrame.m: (-[WebFrame stopLoading]):
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]): (-[WebFrame _continueAfterNavigationPolicy:]): (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): (-[WebFrame _loadDataSource:withLoadType:]):

WebBrowser:

Make navigation policy asynchronous.

  • BrowserWebController.m: (-[BrowserWebController decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
3:33 AM Changeset in webkit [2687] by mjs
  • 6 edits in trunk/WebKit

Wrap content policy invocation to look asynchronous.

  • WebView.subproj/WebBaseResourceHandleDelegate.h:
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]): (-[WebMainResourceClient handle:didReceiveResponse:]):
2:48 AM Changeset in webkit [2686] by mjs
  • 8 edits in trunk/WebKit

Refactor so that all invocations of navigation policy are set up
to be asynchronous. However, the actually delegate method is not
async yet.

  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]): (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): (-[WebFrame _loadDataSource:withLoadType:]):
  • WebView.subproj/WebMainResourceClient.h:
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient stopLoadingForPolicyChange]): (-[WebMainResourceClient continueAfterNavigationPolicy:request:]): (-[WebMainResourceClient handle:willSendRequest:]): (-[WebMainResourceClient handle:didReceiveResponse:]):
Note: See TracTimeline for information about the timeline view.