1. 22 Nov, 2002 3 commits
    • darin's avatar
      JavaScriptCore: · 7b978750
      darin authored
      	- change ScopeChain to be a singly linked list shares tails, gives 11% gain on iBench
      
              * kjs/context.h:
              (ContextImp::pushScope): Make inline, use push instead of prepend, and pass imp pointer.
              (ContextImp::popScope): Make inline, use pop instead of removeFirst.
              * kjs/function.cpp: (DeclaredFunctionImp::DeclaredFunctionImp): No need to copy.
              * kjs/function_object.cpp: (FunctionObjectImp::construct): Use push instead of
      	prepend, and pass imp pointer.
              * kjs/internal.cpp: (ContextImp::ContextImp): Use clear, push instead of prepend,
      	and pass imp pointers.
              * kjs/nodes.cpp: (ResolveNode::evaluateReference): Use isEmpty, pop, and top instead
      	of ScopeChainIterator.
              * kjs/object.h: Change _scope to be a NoRefScopeChain.
              * kjs/object.cpp: No need to initialize _scope any more, since it's not a NoRefScopeChain.
      
              * kjs/scope_chain.h: Rewrite, different implementation and interface.
              * kjs/scope_chain.cpp: More of the same.
      
      WebCore:
      
              * khtml/ecma/kjs_dom.cpp: (DOMNode::pushEventHandlerScope): Change to push handlers
      	on an existing scope chain rather than returning one. Name change too.
              * khtml/ecma/kjs_dom.h: More of the same.
              * khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::pushEventHandlerScope): And here.
              * khtml/ecma/kjs_html.h: And here.
      
              * khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): Use the pushEventHandlerScope
      	function, and also don't worry about optimizing the "no change" case, because that already
      	works pretty efficiently.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2824 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7b978750
    • hyatt's avatar
      Fix for the weather.com, slate and espn malformations that · ab36c324
      hyatt authored
      	could occur.  Also reverting an earlier change for handling
      	font tags like other inlines.  Both FONT and A need to be
      	given special treatment until I can implement a strategy that
      	will allow them to be handled just like the other inlines.
      
              * khtml/html/dtd.cpp:
              (DOM::checkChild):
              * khtml/html/html_elementimpl.cpp:
              (HTMLElementImpl::isInline):
              * khtml/html/html_elementimpl.h:
              * khtml/xml/dom_nodeimpl.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2823 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ab36c324
    • mjs's avatar
      - a simple change for .4% gain on ibench - instead of unmarking · f67a9641
      mjs authored
      	all objects at the start of collection, instead unmark as part of
      	the sweep phase
      
              * kjs/collector.cpp:
              (Collector::collect): Remove separate unmarking pass and instead
      	unmark the objects that don't get collected during the sweep
      	phase.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2822 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f67a9641
  2. 21 Nov, 2002 23 commits
    • darin's avatar
      top level: · 36614a72
      darin authored
              * Site/Internal/Design/CFURL.rtf: Added.
      
      Tools:
      
              * Scripts/last-update: Added. Script for Trey that tells you when
      	you last did a cvs update, based on most-recently updated ChangeLog.
      
      JavaScriptCore:
      
      	- stop garbage collecting the ActivationImp objects, gets 3% on iBench
      	- pave the way to separate the argument lists from scope chains
      
              * kjs/context.h: Added. Moved ContextImp here so it can use things defined
      	in function.h
      
              * kjs/scope_chain.h: Added. Starting as a copy of List, to be improved.
              * kjs/scope_chain.cpp: Added. Starting as a copy of List, to be improved.
      
              * JavaScriptCore.pbproj/project.pbxproj: Rearranged things, added context.h.
      
              * kjs/function.cpp:
              (FunctionImp::call): Pass InterpreterImp, not ExecState, to ContextImp.
              (DeclaredFunctionImp::DeclaredFunctionImp): List -> ScopeChain.
              (ActivationImp::createArgumentsObject): ArgumentList -> List.
              (GlobalFuncImp::call): Pass InterpreterImp, not an ExecState, to ContextImp.
              * kjs/function.h: List -> ScopeChain.
              * kjs/function_object.cpp: (FunctionObjectImp::construct): List -> ScopeChain.
              * kjs/internal.cpp:
              (ContextImp::ContextImp): Set the context in the interpreter.
              (ContextImp::~ContextImp): Set the context in the interpreter to the caller.
              (ContextImp::mark): Mark all the activation objects.
              (InterpreterImp::InterpreterImp): Initialize context to 0.
              (InterpreterImp::mark): Mark the top context.
              (InterpreterImp::evaluate): Pass InterpreterImp to ContextImp.
              * kjs/internal.h: Move ContextImp to its own header. Add setContext to InterpreterImp.
              * kjs/interpreter.cpp: (Context::scopeChain): List -> ScopeChain.
              * kjs/interpreter.h: List -> ScopeChain.
              * kjs/nodes.cpp:
              (ResolveNode::evaluateReference): List -> ScopeChain.
              (FuncDeclNode::processFuncDecl): List -> ScopeChain.
              (FuncExprNode::evaluate): List -> ScopeChain.
              * kjs/object.cpp: List -> ScopeChain.
              * kjs/object.h: List -> ScopeChain.
      
              * kjs/types.h: Remove needsMarking features from List.
              * kjs/types.cpp: Ditto.
      
      WebCore:
      
              * khtml/ecma/kjs_dom.cpp: (DOMNode::eventHandlerScope): List -> ScopeChain.
              * khtml/ecma/kjs_dom.h: List -> ScopeChain.
              * khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): List -> ScopeChain.
              * khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::eventHandlerScope): List -> ScopeChain.
              * khtml/ecma/kjs_html.h: List -> ScopeChain.
      
              * force-js-clean-timestamp: Not sure this is required, but better safe than sorry.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      36614a72
    • cblu's avatar
      Removed workaround for: 3093170 - Handle clients receive data with length 0 · 1fe53542
      cblu authored
      	as it's now fixed.
      
              * Downloads.subproj/WebDownloadHandler.m:
              (-[WebDownloadHandler receivedData:]): remove workaround
              * WebView.subproj/WebMainResourceClient.m:
              (-[WebMainResourceClient handle:didReceiveData:]): added asserts
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2820 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1fe53542
    • rjw's avatar
      A different fix to 3078065 that doesn't depend on the appkit's idea of · a310c37b
      rjw authored
              fixed pitch font.
      
              The fix is to adjust the width of all characters that have the same width
              as the space character to match the adjustment of the space character.
              This has the slight downside that non-monospace fonts that contain glyphs
              with the same width as the space character will have an extra adjustment.
              In practice this is not noticeable as the adjustment is always sub-pixel.
              Nor of course does this cause any mislayout, as it's done at the lowest
              level for both measurement and drawing.
      
              Until we move kthml internals to floats this will be just fine.
      
              * WebCoreSupport.subproj/WebTextRenderer.h:
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (widthForGlyph):
              (-[WebTextRenderer initWithFont:]):
              (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
      tAfterNavigationPolicy:request:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2819 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a310c37b
    • mjs's avatar
      * force-js-clean-timestamp: Touch so other people's builds work. · 3708706f
      mjs authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2818 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3708706f
    • mjs's avatar
      - reduced the size of PropertyMap by storing sizes and such in the · bb46f898
      mjs authored
      	dynamically allocated part of the object to reduce the size of
      	ObjectImp - .5% speed improvement on JS iBench.
      
              * kjs/property_map.cpp:
              * kjs/property_map.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2817 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb46f898
    • hyatt's avatar
      Nested <a>s are never allowed. Make sure to always pop the · e32bf97a
      hyatt authored
      	<a> blocks.
      
              * khtml/html/htmlparser.cpp:
              (KHTMLParser::getElement):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2816 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e32bf97a
    • hyatt's avatar
      Stop table cells from repainting the whole table when they · 878ccf1e
      hyatt authored
      	get a repaint.  Gives another big boost to link rollover
      	performance when links' containing blocks are table cells.
      
              * khtml/rendering/render_table.cpp:
              (RenderTableCell::repaint):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2815 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      878ccf1e
    • hyatt's avatar
      Fix <font> so that behaves just like <i>, <b>, etc. Stop · c0f5cb66
      hyatt authored
      	the (incorrect) allowance of blocks inside <font> tags.
      	This fixes the mispositioning on avoyagetoarcturus.blogspot.com
      	and fixes the vertical gaps on www.ve3d.com.
      
              * khtml/html/dtd.cpp:
              (DOM::checkChild):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2814 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c0f5cb66
    • mjs's avatar
      Tools: · 1549b911
      mjs authored
              * CommitLogEditor/Makefile.am: Pass symroots for this tree to pbxbuild.
              * HotSpotFinder/Makefile.am: Pass symroots for this tree to pbxbuild.
      
      JavaScriptCore:
      
              * Makefile.am: Pass symroots for this tree to pbxbuild.
      
      Tests:
      
              * ObjcUnit/Makefile.am: Pass symroots for this tree to pbxbuild.
              * TestPlugin/Makefile.am: Pass symroots for this tree to pbxbuild.
              * WebFoundation-CacheLoader/Makefile.am: Pass symroots for this tree to pbxbuild.
      
      WebFoundation:
      
              * Makefile.am: Pass symroots for this tree to pbxbuild.
      
      WebCore:
      
              * Makefile.am: Pass symroots for this tree to pbxbuild.
      
      WebKit:
      
              * Makefile.am: Pass symroots for this tree to pbxbuild.
      
      WebBrowser:
      
              * Makefile.am: Pass symroots for this tree to pbxbuild.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1549b911
    • hyatt's avatar
      Fixed for tables. Make the percentage height calculation · eb6ee89e
      hyatt authored
      	more robust.  Also add a hack for replaced elements to
      	subtract out their margins when computing percentage widths.
      	This keeps them from spilling out of table cells.
      
              * khtml/rendering/render_box.cpp:
              (RenderBox::calcReplacedWidth):
              (RenderBox::calcReplacedHeight):
              * khtml/rendering/render_table.cpp:
              (RenderTable::layoutRows):
              * khtml/xml/dom_nodeimpl.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eb6ee89e
    • mjs's avatar
      Moved Alexander-33 marker. · cbea993b
      mjs authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cbea993b
    • rjw's avatar
      Fixed from SK's copy/paste whitespace issue. · 192ad32a
      rjw authored
              This fixes 3076236 and a regression due to additional whitespace
              in the DOM.
      
              * kwq/WebCoreBridge.mm:
              (attributedString):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2809 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      192ad32a
    • cblu's avatar
      Fixed: 3009881 - plugins get mouse-overs even when mouse is in menus · 80c08365
      cblu authored
      	Fixed: 3108240 - Loading datasource sometimes doesn't have cancelled error when cancelled
      
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView sendNullEvent]): check if menus are showing
              (-[WebBaseNetscapePluginView restartNullEvents]): tweak
              * WebView.subproj/WebDataSourcePrivate.m:
              (-[WebDataSource _stopLoading]): set cancelled error if main handle is gone
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      80c08365
    • sheridan's avatar
      Alex-33 stamp · 96195948
      sheridan authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2807 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      96195948
    • hyatt's avatar
      Fix mac.com regression (and weather.com regression). · f14a4a3d
      hyatt authored
              * khtml/rendering/bidi.cpp:
              (RenderFlow::findNextLineBreak):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2806 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f14a4a3d
    • rjw's avatar
      Fixed performance regression! Argh. · 009044ff
      rjw authored
              * khtml/rendering/font.cpp:
              (Font::width):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2805 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      009044ff
    • darin's avatar
      JavaScriptCore: · 32782811
      darin authored
              * kjs/property_map.cpp: More assertions.
      
      WebCore:
      
              * force-js-clean-timestamp: Trigger a rebuild because of the
      	size change in ValueImp.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2804 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      32782811
    • darin's avatar
      - fixed 3107286 -- REGRESSION: unrepro assertion failure in KWQKHTMLPart.mm keyEvent · 9f3a7873
      darin authored
              * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::keyEvent):
      	Handle case of nil document as well as case of nil focus node.
      
              * kwq/WebCoreBridge.mm: Tweak whitespace.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2803 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9f3a7873
    • darin's avatar
      * kjs/property_map.cpp: Turn that consistency check back off. · 591c3909
      darin authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      591c3909
    • darin's avatar
      - someone somewhere must be defining a macro named check, causing a compile failure in WebCore · e56c6da0
      darin authored
      	Rename check() to checkConsistency().
      
              * kjs/property_map.h: Rename.
              * kjs/property_map.cpp: Yes, rename.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2801 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e56c6da0
    • darin's avatar
      - add self-check to property map in hopes of finding the cnet.com bug · d579f5b7
      darin authored
              * kjs/property_map.h: Add check() function.
              * kjs/property_map.cpp: Add the checking, controlled by DO_CONSISTENCY_CHECK.
      
      	 - fixed UChar interface so it's not so slow in debug builds
      
              * kjs/ustring.h: Nothing in UChar needs to be private.
      
              * kjs/function.cpp: (GlobalFuncImp::call):
              * kjs/function_object.cpp: (FunctionObjectImp::construct):
              * kjs/identifier.cpp:
              * kjs/lexer.cpp: (Lexer::setCode), (Lexer::shift):
              * kjs/lookup.cpp: (keysMatch):
              * kjs/ustring.cpp: (UString::Rep::computeHash), (KJS::compare):
      	Use the "uc" field instead of the "unicode()" inline function.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d579f5b7
    • darin's avatar
      - fixed a null-dereference I ran into while trying to reproduce bug 3107351 · 8488c964
      darin authored
              * kjs/function.h: Change ActivationImp constructor to take context parameter.
              * kjs/function.cpp: (ActivationImp::ActivationImp): Take context parameter,
      	not execution state parameter.
      
              * kjs/internal.cpp: (ContextImp::ContextImp): Initialize activation object
      	from context, not execution state, because the new context is not yet in the
      	execution state.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2799 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8488c964
    • darin's avatar
      WebFoundation: · 660071d4
      darin authored
              * English.lproj/StringsNotToBeLocalized.txt: Update.
      
      WebCore:
      
      	- fixed 3107383 -- clicking link on cnet.com leads to assertion failure
      
      	When we removed a frame, we were leaving behind an empty WebView. Yuck.
      
              * kwq/KWQScrollView.mm:
              (QScrollView::addChild): Use the new getOuterView.
              (QScrollView::removeChild): Ditto. This was the bug fix.
              * kwq/KWQWidget.h: Add getOuterView.
              * kwq/KWQWidget.mm:
              (QWidget::frameGeometry): Use the new getOuterView.
              (QWidget::setFrameGeometry): Ditto.
              (QWidget::getOuterView): Added. Does the WebCoreFrameView magic to find
      	the WebView instead of the WebHTMLView. Yuck.
              (QWidget::paint): Use the new getOuterView.
      
      WebKit:
      
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
      	Unescape the string before executing it, so we don't suffer from bug 3083043
      	here in the javascript: URLs that come from plug-ins.
      
              * English.lproj/StringsNotToBeLocalized.txt: Update.
      
      WebBrowser:
      
              * Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]):
      	Fix typo. "Import" the favorites, don't "Imported" them.
      
              * English.lproj/StringsNotToBeLocalized.txt: Let the update
      	script sort this file.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2798 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      660071d4
  3. 20 Nov, 2002 14 commits