1. 19 Nov, 2002 21 commits
    • darin's avatar
      - a few more globals for often-used property names · 55be9897
      darin authored
      	- 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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2772 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55be9897
    • darin's avatar
      - another atomic identifier scrub pass; make the conversion to Identifier explicit · dd4cc915
      darin authored
              * 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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2771 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dd4cc915
    • hyatt's avatar
      Fix for 3049663. Table cells don't grow to accommodate block · a70560aa
      hyatt authored
      	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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2770 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a70560aa
    • darin's avatar
      - another step towards atomic identifiers; storing hash in the string rep. gives about · 5721aa9d
      darin authored
      	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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2769 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5721aa9d
    • cblu's avatar
      Fixed: 3092588 - redraw errors in QT controller if window is in background · 634e3f1b
      cblu authored
      	We need to send update events after we activate/deactivate after all.
      
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView windowBecameKey:]):
              (-[WebBaseNetscapePluginView windowResignedKey:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2768 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      634e3f1b
    • cblu's avatar
      Fixed: 3020720 - dropping a folder in the page address makes the folder open... · 9332bfeb
      cblu authored
      	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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2767 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9332bfeb
    • darin's avatar
      JavaScriptCore: · d0ba328e
      darin authored
      	- 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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2766 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d0ba328e
    • cblu's avatar
      Fixed: 3068112 - extra line breaks when copying from source window · fbd4b010
      cblu authored
              * Misc.subproj/WebSearchableTextView.m:
              (-[WebSearchableTextView copy:]): Convert CRLF to LF
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2765 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fbd4b010
    • hyatt's avatar
      Make sure that if the scrollers are shown/hidden that we · 83212c1f
      hyatt authored
      	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]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      83212c1f
    • hyatt's avatar
      Fix backgrounds not painting in deployment builds. · 8b4a5460
      hyatt authored
              * khtml/rendering/render_box.cpp:
              (RenderBox::paintBackground):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2763 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8b4a5460
    • darin's avatar
      - fixed memory trasher · ff56afa0
      darin authored
              * kjs/ustring.cpp: (UString::from): Fix "end of buffer" computation.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff56afa0
    • darin's avatar
      JavaScriptCore: · 880105d6
      darin authored
      	- 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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2760 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      880105d6
    • cblu's avatar
      Fixed: 3100597 - repro NSArray exception using contextual menu · 914b6e5d
      cblu authored
              * Misc.subproj/WebNSPasteboardExtras.m:
              (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): more error checking
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2759 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      914b6e5d
    • darin's avatar
      - fix hash function and key comparison for the other kind of hash table; yields 3% · 091be39c
      darin authored
              * kjs/lookup.cpp:
              (keysMatch): Added.
              (Lookup::findEntry): Don't allocate and convert to ASCII just to search.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2758 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      091be39c
    • darin's avatar
      - another hash table fix; yields a 2% improvement on iBench JavaScript · 8091bedc
      darin authored
              * 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().
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2757 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8091bedc
    • darin's avatar
      - fixed 3105026 -- REGRESSION: DHTML menus are broken all over the place · 8943db9c
      darin authored
              * kjs/types.cpp: (List::prepend): Fix backwards links in new node.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2756 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8943db9c
    • trey's avatar
      WebKit: · f1e3a112
      trey authored
      	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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2755 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f1e3a112
    • darin's avatar
      - a fix that gives another 1.5% on the iBench JavaScript test · 451d435e
      darin authored
              * kjs/ustring.cpp: (UString::from): Stop using sprintf to format integers.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      451d435e
    • darin's avatar
      JavaScriptCore: · 66092a36
      darin authored
      	- 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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      66092a36
    • hyatt's avatar
      Implement phased painting to correct the paint order of blocks, · c12f0487
      hyatt authored
      	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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2752 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c12f0487
    • darin's avatar
      * kjs/property_map.cpp: Oops, copyright goes to Apple, not me. · f1fce4bd
      darin authored
              * kjs/property_map.h: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2751 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f1fce4bd
  2. 18 Nov, 2002 19 commits
    • darin's avatar
      * force-js-clean-timestamp: I changed the size of ObjectImp. · 05e5f357
      darin authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2750 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05e5f357
    • darin's avatar
      - property and string improvements giving a 7% or so improvement in JavaScript iBench · a6cae2cc
      darin authored
              * 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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a6cae2cc
    • mjs's avatar
      Change List to completely avoid going through the GC · 1e8f66ff
      mjs authored
      	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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2748 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1e8f66ff
    • mjs's avatar
      Fixed a horrible leak introduced with my last change that · 6e9d9853
      mjs authored
      	somehow did not show up on my machine.
      
              * kjs/types.cpp:
              (List::List): Mark ListImp as GC allowed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6e9d9853
    • hyatt's avatar
      Fix crazyapplerumors.com. I had the logic backwards. CSS · 3c1544fd
      hyatt authored
      	padding beats cellpadding.
      
              * khtml/rendering/render_table.cpp:
              (RenderTableCell::paddingTop):
              (RenderTableCell::paddingBottom):
              (RenderTableCell::paddingLeft):
              (RenderTableCell::paddingRight):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2746 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3c1544fd
    • hyatt's avatar
      Fix crash on espn.com. · a1993bd6
      hyatt authored
              * khtml/rendering/render_object.cpp:
              (RenderObject::setLayouted):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2745 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a1993bd6
    • mjs's avatar
      Another step towards the List conversion: stop inheriting from Value. · 3964a7b6
      mjs authored
              * 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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2744 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3964a7b6
    • hyatt's avatar
      Fix my <konqblock> regression on ign.com. · 07c921f4
      hyatt authored
              * khtml/html/htmlparser.cpp:
              (KHTMLParser::insertNode):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      07c921f4
    • cblu's avatar
      Real fix for: 3104183 - Assert loading www.louisvuitton.com · 4f7065eb
      cblu authored
      	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]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2742 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4f7065eb
    • mjs's avatar
      JavaScriptCore: · effd7e1c
      mjs authored
      	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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2741 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      effd7e1c
    • darin's avatar
      - another string constant discovered that can be optimized · 2dd6a841
      darin authored
              * 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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2740 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2dd6a841
    • darin's avatar
      * force-js-clean-timestamp: Touch files to make the build work. · de6825fb
      darin authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2739 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      de6825fb
    • darin's avatar
      - simplified the ExecState class, which was showing up in profiles · 3e1ce6e5
      darin authored
              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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2738 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3e1ce6e5
    • cblu's avatar
      Fixed: 3104183 - Assert loading www.louisvuitton.com · 6d927229
      cblu authored
      	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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2737 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d927229
    • darin's avatar
      - fix worst speed problems on the sort page of the iBench JavaScript test · 401641ee
      darin authored
      	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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2736 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      401641ee
    • mjs's avatar
      Change ArgumentListNode operations to be iterative instead of · a34e69ca
      mjs authored
      	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.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2735 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a34e69ca
    • rjw's avatar
      Fixed 3103004. REGRESSION: word-spacing/letter-spacing applied when they shouldn't be · e01e824b
      rjw authored
              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:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2734 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e01e824b
    • hyatt's avatar
      Fix render_body's repaint method. · b7bce452
      hyatt authored
              * khtml/rendering/render_body.cpp:
              (RenderBody::repaint):
              * khtml/rendering/render_body.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2733 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b7bce452
    • rjw's avatar
      Check for usesBackForwardList was excluding all load types. · f8dec244
      rjw authored
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _transitionToCommitted]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2732 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f8dec244