1. 29 Dec, 2005 9 commits
    • ggaren's avatar
      WebCore: · 633ffe2a
      ggaren authored
              Reviewed by darin
      
              - WebCore part of fix for
                http://bugzilla.opendarwin.org/show_bug.cgi?id=3922
                Variable word/letter spacing and full justification not supported for
                ATSUI-rendered text
      
              * khtml/rendering/font.h:
              (khtml::Font::checkSelectionPoint): Make sure the complete run, used for
              counting spaces and determining padding per space does not go beyond the
              text box.
      
      WebKit:
      
              Reviewed by darin
      
              Test: fast/text/atsui-spacing-features.html
      
              - WebKit part of fix for
                http://bugzilla.opendarwin.org/show_bug.cgi?id=3922
                Variable word/letter spacing and full justification not supported for
                ATSUI-rendered text
      
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (overrideLayoutOperation): Add letter- and word-spacing and padding for
              justification.
              (createATSULayoutParameters): Compute padding per space.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11803 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      633ffe2a
    • ggaren's avatar
      Reviewed by mjs. · f9a50479
      ggaren authored
              - Fixed <rdar://problem/4364705> run-javascriptcore-tests crashes in
              KJS::BlockNode::deref
              AKA
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6233
              Reproducible stack-overflow crash in ~RefPtr<T> due to RefPtr<T> use in
              linked lists
      
              This patch does four things:
              (1) Standardizes all our linked list nodes to use "next" as their next
              pointers.
              (2) Creates the ListRefPtr<T> class, a subclass of RefPtr<T> specialized
              to iteratively deref "next" pointers.
              (3) Standardizes our linked list nodes to use ListRefPtr<T> and
              implement the releaseNext() function used by ~ListRefPtr<T>().
              (4) Adds to RefPtr<T> the release() method used by releaseNext().
      
              - Modified existing mozilla test to ensure it would make deployment
              builds crash as well.
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * kjs/nodes.cpp:
              (ElementNode::evaluate):
              (PropertyListNode::evaluate):
              (ArgumentListNode::evaluateList):
              (StatListNode::StatListNode):
              (StatListNode::execute):
              (StatListNode::processVarDecls):
              (VarDeclListNode::evaluate):
              (VarDeclListNode::processVarDecls):
              (VarStatementNode::execute):
              (VarStatementNode::processVarDecls):
              (BlockNode::BlockNode):
              (CaseClauseNode::evalStatements):
              (CaseClauseNode::processVarDecls):
              (ClauseListNode::processVarDecls):
              (CaseBlockNode::CaseBlockNode):
              (CaseBlockNode::evalBlock):
              (SourceElementsNode::SourceElementsNode):
              (SourceElementsNode::execute):
              (SourceElementsNode::processFuncDecl):
              (SourceElementsNode::processVarDecls):
              * kjs/nodes.h:
              (KJS::ElementNode::ElementNode):
              (KJS::ElementNode::releaseNext):
              (KJS::ArrayNode::ArrayNode):
              (KJS::PropertyListNode::PropertyListNode):
              (KJS::PropertyListNode::releaseNext):
              (KJS::ObjectLiteralNode::ObjectLiteralNode):
              (KJS::ArgumentListNode::ArgumentListNode):
              (KJS::ArgumentListNode::releaseNext):
              (KJS::ArgumentsNode::ArgumentsNode):
              (KJS::StatListNode::releaseNext):
              (KJS::VarDeclListNode::VarDeclListNode):
              (KJS::VarDeclListNode::releaseNext):
              (KJS::VarStatementNode::VarStatementNode):
              (KJS::ForNode::ForNode):
              (KJS::CaseClauseNode::CaseClauseNode):
              (KJS::ClauseListNode::ClauseListNode):
              (KJS::ClauseListNode::getClause):
              (KJS::ClauseListNode::getNext):
              (KJS::ClauseListNode::releaseNext):
              (KJS::ParameterNode::ParameterNode):
              (KJS::ParameterNode::releaseNext):
              (KJS::SourceElementsNode::releaseNext):
              * kjs/nodes2string.cpp:
              (ElementNode::streamTo):
              (PropertyListNode::streamTo):
              (ArgumentListNode::streamTo):
              (StatListNode::streamTo):
              (VarDeclListNode::streamTo):
              (VarStatementNode::streamTo):
              (CaseClauseNode::streamTo):
              (ClauseListNode::streamTo):
              (CaseBlockNode::streamTo):
              (SourceElementsNode::streamTo):
              * kxmlcore/ListRefPtr.h: Added.
              (KXMLCore::ListRefPtr::ListRefPtr):
              (KXMLCore::ListRefPtr::~ListRefPtr):
              (KXMLCore::ListRefPtr::operator=):
              * kxmlcore/RefPtr.h:
              (KXMLCore::RefPtr::release):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f9a50479
    • ggaren's avatar
      Reviewed by mjs. · 2443c09d
      ggaren authored
              - Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4026
              Math.random() not seeded.
      
              Added call to sranddev() -- it executes the first time a process
              calls Math.random().
      
              * kjs/math_object.cpp:
              (MathFuncImp::callAsFunction):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11801 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2443c09d
    • ggaren's avatar
      Reviewed by mjs. · 4392ffac
      ggaren authored
              - Fixed <rdar://problem/4325722> crash in KJS::Bindings::dispatchJNICall
              due to liveconnect call from Java after Java PlugInView has been
              deallocated @ www.binarybet.com
              AKA
              http://bugzilla.opendarwin.org/show_bug.cgi?id=5518
      
              We had code that checked for whether a call came from a live PlugIn,
              but the live PlugIn dictionary would only get cleared when the
              KWQKHTMLPart was destroyed. Since a single part can service multiple
              loads, the dictionary needs to clear after each one.
      
              No layout test because this bug is difficult to reproduce.
      
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::~KWQKHTMLPart):
              (1) Unrelated cleanup: Removed manual clearing of form values,
              replaced with call to clearRecordedFormValues().
              (2) Replaced PlugIn dictionary cleanup code and view deref call
              with call to setView(0), since much of this code was duplicated in
              setView, and the stuff that wasn't duplicated needed to be.
      
              (KWQKHTMLPart::setView):
              (1) Removed some unnecessary braces.
              (2) Added PlugIn dictionary cleanup code.
              (3) New behavior: clear _bindingRoot and _windowScriptObject after
              each view change. This is needed because after a call to
              clenaupPluginRootObjects(), both objects have stale references.
              (4) Changed a NULL to a 0.
      
              (KWQKHTMLPart::cleanupPluginRootObjects): Removed extra space.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4392ffac
    • ggaren's avatar
      Reviewed by darin. · f727149a
      ggaren authored
              - Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=6265
              Name change regression: Java doesn't know what JavaJSObject is
      
              Changed strings passed to Java back to original "JSObject".
      
              * bindings/jni/jni_jsobject.cpp:
              (JavaJSObject::convertValueToJObject):
              (JavaJSObject::convertJObjectToValue):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11799 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f727149a
    • hyatt's avatar
      Improvements to the Visual Studio project files. Have dftables generating... · da137a55
      hyatt authored
      Improvements to the Visual Studio project files.  Have dftables generating chartables.c and have set up separate intermediate/output/derivedsources dirs to match the Mac XCode structure.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11798 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      da137a55
    • andersca's avatar
      2005-12-28 Anders Carlsson <andersca@mac.com> · 3401d897
      andersca authored
              Reviewed by Maciej.
      
              - Add test for http://bugzilla.opendarwin.org/show_bug.cgi?id=6268
              Add undetectable document.all
      
              * fast/dom/undetectable-document-all-expected.txt: Added.
              * fast/dom/undetectable-document-all.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11797 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3401d897
    • andersca's avatar
      2005-12-28 Anders Carlsson <andersca@mac.com> · eb283f2c
      andersca authored
              Reviewed by Maciej.
      
              - Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6268
              Add undetectable document.all
      
              * khtml/ecma/kjs_html.cpp:
              (KJS::HTMLDocument::getValueProperty):
              If "all" has been set to a new value, return the new value.
      
              (KJS::KJS::HTMLDocument::putValueProperty):
              Allow "all" to be set to a new value.
      
              (KJS::HTMLAllCollection::toPrimitive):
              Return jsNull() if the preferred type is NullType.
      
              (KJS::getAllHTMLCollection):
              * khtml/ecma/kjs_html.h:
              (KJS::HTMLAllCollection::HTMLAllCollection):
              Add HTMLAllCollection, a subclass of HTMLCollection which should
              be undetectable.
      
              (KJS::HTMLAllCollection::toBoolean):
              Return false.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eb283f2c
    • andersca's avatar
      2005-12-28 Anders Carlsson <andersca@mac.com> · 2041ea79
      andersca authored
              Reviewed by Maciej.
      
              - The JSC part of http://bugzilla.opendarwin.org/show_bug.cgi?id=6268
              Add undetectable document.all
      
              * kjs/operations.cpp:
              (KJS::equal):
              When comparing an object with null or undefined, call toPrimitive with
              NullType as the preferred type.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2041ea79
  2. 28 Dec, 2005 7 commits
  3. 27 Dec, 2005 15 commits
    • mjs's avatar
      Rubber stamped by Eric. · 5ddfbd0d
      mjs authored
      	- proper length for Array concat function is 1, not 0; also add test
      	for String concat.
      
              * fast/js/kde/function_length-expected.txt:
              * fast/js/kde/resources/function_length.js:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11787 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5ddfbd0d
    • andersca's avatar
      2005-12-27 Anders Carlsson <andersca@mac.com> · e1819a2b
      andersca authored
              Reviewed by Darin.
      
              - Update tests for http://bugzilla.opendarwin.org/show_bug.cgi?id=6250
              Implement Array.map and Array.filter
      
              * fast/js/array-every-expected.txt:
              * fast/js/array-every.html:
              * fast/js/array-foreach-expected.txt:
              * fast/js/array-foreach.html:
              Modify these tests since Array.every and Array.foreach now follow Mozilla
              and treat arrays as sparse, not visiting non-existing properties.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11786 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e1819a2b
    • andersca's avatar
      2005-12-27 Anders Carlsson <andersca@mac.com> · 8347d5b6
      andersca authored
              Reviewed by Darin.
      
              * kjs/array_object.cpp:
              (ArrayProtoFunc::callAsFunction):
              Implement filter and map. Also, make the existing
              array iteration functions not invoke the callback for
              non-existing properties, just as Mozilla does now.
      
              * kjs/array_object.h:
              (KJS::ArrayProtoFunc::):
              Add filter and map.
      
              * tests/mozilla/expected.html:
              Update, two 1.6 tests now pass.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11785 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8347d5b6
    • darin's avatar
      Reviewed by Hyatt, landed by Darin. · da54727b
      darin authored
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5699
                REGRESSION: incomplete repaint
      
              * khtml/rendering/render_object.cpp:
              (RenderObject::repaintAfterLayoutIfNeeded): Return false if only the
              size changed and not everything was repainted.
              * manual-tests/bugzilla-5699.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11784 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      da54727b
    • darin's avatar
      LayoutTests: · 7d7b57e4
      darin authored
              Reviewed by Maciej, landed by Darin.
      
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4844
              Render "simple" Hebrew using the CG codepath
      
              * fast/text/international/bidi-AN-after-L-expected.checksum: Updated.
              * fast/text/international/bidi-AN-after-L-expected.png: Updated.
              * fast/text/international/bidi-L2-run-reordering-expected.checksum: Updated.
              * fast/text/international/bidi-L2-run-reordering-expected.png: Updated.
              * fast/text/international/bidi-LDB-2-CSS-expected.checksum: Updated.
              * fast/text/international/bidi-LDB-2-CSS-expected.png: Updated.
              * fast/text/international/bidi-LDB-2-HTML-expected.checksum: Updated.
              * fast/text/international/bidi-LDB-2-HTML-expected.png: Updated.
              * fast/text/international/bidi-LDB-2-formatting-characters-expected.checksum: Updated.
              * fast/text/international/bidi-LDB-2-formatting-characters-expected.png: Updated.
              * fast/text/international/bidi-explicit-embedding-expected.checksum: Updated.
              * fast/text/international/bidi-explicit-embedding-expected.png: Updated.
              * fast/text/international/bidi-fallback-font-weight-expected.checksum: Updated.
              * fast/text/international/bidi-fallback-font-weight-expected.png: Updated.
              * fast/text/international/bidi-ignored-for-first-child-inline-expected.checksum: Updated.
              * fast/text/international/bidi-ignored-for-first-child-inline-expected.png: Updated.
              * fast/text/international/bidi-innertext-expected.checksum: Updated.
              * fast/text/international/bidi-innertext-expected.png: Updated.
              * fast/text/international/bidi-layout-across-linebreak-expected.checksum: Updated.
              * fast/text/international/bidi-layout-across-linebreak-expected.png: Updated.
              * fast/text/international/bidi-override-expected.checksum: Updated.
              * fast/text/international/bidi-override-expected.png: Updated.
      
      WebKit:
      
              Reviewed by Maciej, landed by Darin.
      
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4844
              Render "simple" Hebrew using the CG codepath
      
              * WebCoreSupport.subproj/WebTextRenderer.m: (shouldUseATSU): Exclude Hebrew letters and maqaf.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11783 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7d7b57e4
    • darin's avatar
      LayoutTests: · 73178835
      darin authored
              Reviewed by Maciej, landed by Darin.
      
              - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=4101>
              CSS Fibonacci spiral using 4 images doesn't render correctly
      
              * fast/replaced/absolute-image-sizing-expected.checksum: Added.
              * fast/replaced/absolute-image-sizing-expected.png: Added.
              * fast/replaced/absolute-image-sizing-expected.txt: Added.
              * fast/replaced/absolute-image-sizing.html: Added.
      
      WebCore:
      
              Reviewed by Maciej, landed by Darin.
      
              - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=4101>
              CSS Fibonacci spiral using 4 images doesn't render correctly
      
              Added layout tests:
              * fast/replaced/absolute-image-sizing.html
      
              * khtml/rendering/render_box.cpp:
              (RenderBox::calcAbsoluteHorizontalValues): Use calcReplacedWidth() instead of intrinsicWidth()
              for replaced elements.
              (RenderBox::calcAbsoluteVerticalValues): Same thing for height.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11782 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      73178835
    • darin's avatar
      Reviewed by Geoff and Eric. · 2a4c3747
      darin authored
              - http://bugzilla.opendarwin.org/show_bug.cgi?id=6198
                use RefPtr a few places in RenderText and related classes
      
              * khtml/html/htmltokenizer.h: Use RefPtr for some data members in Token.
              Also removed use of bitfields in Token, since there's no need to optimize storage here.
              * khtml/html/htmlparser.cpp:
              (HTMLParser::parseToken): Update for use of RefPtr in Token.
              (HTMLParser::textCreateErrorCheck): Ditto.
              (HTMLParser::commentCreateErrorCheck): Ditto.
              (HTMLParser::handleIsindex): Ditto.
              * khtml/html/htmltokenizer.cpp:
              (khtml::Token::addAttribute): Ditto.
              (khtml::HTMLTokenizer::processToken): Ditto.
      
              * khtml/rendering/render_text.h: Reduce the number of includes, change
              SOFT_HYPHEN from a macro into a constant. Change originalString function
              to return a PassRefPtr instead of a RefPtr. Make str and m_generatedContentStr
              member be a RefPtr.
              * khtml/rendering/render_text.cpp:
              (khtml::RenderText::previousOffset): Update for use of RefPtr for str.
              (khtml::RenderText::nextOffset): Ditto.
              (khtml::RenderText::RenderText): Ditto.
              (khtml::RenderText::originalString): Change to return PassRefPtr, even though
              it's not necessary at this level (since it's a virtual function).
              (khtml::RenderText::posOfChar): Update for use of RefPtr for str.
              (khtml::RenderText::setText): Ditto.
              (khtml::RenderTextFragment::RenderTextFragment): Ditto.
              (khtml::RenderTextFragment::originalString): Change to return PassRefPtr.
      
              * khtml/html/html_inlineimpl.cpp: Re-sorted list of includes, added newly-needed ones.
              * kwq/KWQRenderTreeDebug.cpp: Added new include needed since QPtrVector is no longer
              included by render_text.h.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11781 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2a4c3747
    • darin's avatar
      Fix suggested by Mitz. · c4190e9f
      darin authored
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6240
                REGRESSION: scrollbars in overflows don't work
      
              * khtml/xml/dom2_eventsimpl.cpp: (DOM::MouseRelatedEventImpl::computePositions):
              Remove the code to compute pageX/Y from clientX/Y, because clientX/Y are not passed
              in correctly (in fact, what's passed in is pageX/Y)! I accidentally included part
              of my fix for clientX/Y in the original patch.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11780 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4190e9f
    • mjs's avatar
      - updated test results for new JS 1.6 tests · 5c72635d
      mjs authored
              * tests/mozilla/expected.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11779 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5c72635d
    • andersca's avatar
      2005-12-27 Anders Carlsson <andersca@mac.com> · 8a36cfd3
      andersca authored
              Reviewed by Maciej.
      
              Add Mozilla JS 1.6 tests.
      
              * tests/mozilla/js1_6/Array/browser.js: Added.
              * tests/mozilla/js1_6/Array/regress-290592.js: Added.
              * tests/mozilla/js1_6/Array/regress-304828.js: Added.
              * tests/mozilla/js1_6/Array/regress-305002.js: Added.
              * tests/mozilla/js1_6/Array/regress-310425-01.js: Added.
              * tests/mozilla/js1_6/Array/regress-310425-02.js: Added.
              * tests/mozilla/js1_6/Array/regress-320887.js: Added.
              * tests/mozilla/js1_6/Array/shell.js: Added.
              * tests/mozilla/js1_6/README: Added.
              * tests/mozilla/js1_6/Regress/browser.js: Added.
              * tests/mozilla/js1_6/Regress/regress-301574.js: Added.
              * tests/mozilla/js1_6/Regress/regress-309242.js: Added.
              * tests/mozilla/js1_6/Regress/regress-311157-01.js: Added.
              * tests/mozilla/js1_6/Regress/regress-311157-02.js: Added.
              * tests/mozilla/js1_6/Regress/regress-314887.js: Added.
              * tests/mozilla/js1_6/Regress/regress-320172.js: Added.
              * tests/mozilla/js1_6/Regress/shell.js: Added.
              * tests/mozilla/js1_6/String/browser.js: Added.
              * tests/mozilla/js1_6/String/regress-306591.js: Added.
              * tests/mozilla/js1_6/String/shell.js: Added.
              * tests/mozilla/js1_6/browser.js: Added.
              * tests/mozilla/js1_6/shell.js: Added.
              * tests/mozilla/js1_6/template.js: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11778 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8a36cfd3
    • mjs's avatar
      No review, just a test harness change. · 3a9bfcc5
      mjs authored
      	- avoid bombing out if a shouldBe test case unexpectedly throws an exception
      
              * fast/js/kde/resources/base.js:
      
      	- this lets some of the tests get a bit further, so new results:
      
              * fast/js/kde/Number-expected.txt:
              * fast/js/kde/RegExp-expected.txt:
              * fast/js/kde/exception_propagation-expected.txt:
              * fast/js/kde/parse-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11777 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3a9bfcc5
    • mjs's avatar
      LayoutTests: · 9c780ce0
      mjs authored
              Reviewed, tweaked and landed by Maciej.
      
      	- test case for 4405: <button> not listed in form collections.
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=4405
      
              * fast/forms/button-in-forms-collection-expected.txt: Added.
              * fast/forms/button-in-forms-collection.html: Added.
      
      WebCore:
      
              Reviewed and landed by Maciej.
      
      	- fixed 4405: <button> not listed in form collections.
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=4405
      
      	Test: fast/forms/button-in-forms-collection.html
      
              * khtml/html/html_formimpl.h:
              (DOM::HTMLButtonElementImpl::isEnumeratable): override to return true
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9c780ce0
    • mjs's avatar
      JavaScriptCore: · b90ab5d8
      mjs authored
              Reviewed and landed by Maciej.
      
      	- fixed 6234: Can delete array index property incorrectly.
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=6234
      
              * kjs/array_object.cpp:
              (ArrayInstance::deleteProperty): use toArrayIndex instead of toUInt32 when
      	looking for array properties.
      
      LayoutTests:
      
              Reviewed, tweaked and landed by Maciej.
      
      	- test case for 6234: Can delete array index property incorrectly.
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=6234
      
              * fast/js/array-float-delete.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11775 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b90ab5d8
    • andersca's avatar
      2005-12-27 Anders Carlsson <andersca@mac.com> · 3c76347a
      andersca authored
              Reviewed by Maciej.
      
              * kjs/object.cpp:
              (KJS::JSObject::defineSetter):
              Remove duplicate call to putDirect.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11774 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3c76347a
    • mjs's avatar
      Reviewed by Darin and Geoff. · 996e133b
      mjs authored
      	Changes by me and Anders.
      
      	- mostly fixed REGRESSION: 5-10% performance regression on JS iBench from getter/setter change
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=6083
      
      	- also fixed some warnings reported by -Winline
      
              * JavaScriptCorePrefix.h: Move new and delete definitions higher so there
      	aren't conflicts with use in standard C++ headers
              * kjs/object.cpp:
              (KJS::throwSetterError): Moved this piece of put into a seprate function
      	to avoid the PIC branch.
              (KJS::JSObject::put): Use hasGetterSetterProperties to avoid expensive stuff
      	when not needed. Also use GetterSetter properties attribute.
              (KJS::JSObject::deleteProperty): Recompute whether any properties are getter/setter
      	properties any more, if this one was one.
              (KJS::JSObject::defineGetter): Let the PropertyMap know that it has getter/setter
      	properties now (and use the new attribute).
              (KJS::JSObject::defineSetter): Ditto.
              (KJS::JSObject::fillGetterPropertySlot): Out-of-line helper for getOwnPropertySlot,
      	to avoid global variable access in the hot code path.
              * kjs/object.h:
              (KJS::): Added GetterSetter attribute.
              (KJS::JSCell::isObject): Moved lower to be after inline methods it uses.
              (KJS::JSValue::isObject): ditto
              (KJS::JSObject::getOwnPropertySlot): try to avoid impact of getters and setters
      	as much as possible in the case where they are not being used
              * kjs/property_map.cpp:
              (KJS::PropertyMap::containsGettersOrSetters): New method to help with this
              * kjs/property_map.h:
              (KJS::PropertyMap::hasGetterSetterProperties): Ditto
              (KJS::PropertyMap::setHasGetterSetterProperties): Ditto
              (KJS::PropertyMap::PropertyMap): Added a crazy hack to store the
      	global "has getter/setter properties" flag in the property map
      	single entry, to avoid making objects any bigger.
              * kjs/value.h: Moved some things to object.h to make -Winline happier
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11773 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      996e133b
  4. 26 Dec, 2005 7 commits
    • hyatt's avatar
      Check in the beginnings of a VC 2005 project for JSCore dll. · 9aa514af
      hyatt authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11772 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9aa514af
    • mjs's avatar
      Rubber stamped by Geoff. · 5ac621e8
      mjs authored
      	- land JavaScript tests from the kde version of kjs
      
              * fast/js/kde/Array-expected.txt: Added.
              * fast/js/kde/Array.html: Added.
              * fast/js/kde/Boolean-expected.txt: Added.
              * fast/js/kde/Boolean.html: Added.
              * fast/js/kde/Date-expected.txt: Added.
              * fast/js/kde/Date.html: Added.
              * fast/js/kde/Error-expected.txt: Added.
              * fast/js/kde/Error.html: Added.
              * fast/js/kde/GlobalObject-expected.txt: Added.
              * fast/js/kde/GlobalObject.html: Added.
              * fast/js/kde/Number-expected.txt: Added.
              * fast/js/kde/Number.html: Added.
              * fast/js/kde/Object-expected.txt: Added.
              * fast/js/kde/Object.html: Added.
              * fast/js/kde/Prototype-expected.txt: Added.
              * fast/js/kde/Prototype.html: Added.
              * fast/js/kde/RegExp-expected.txt: Added.
              * fast/js/kde/RegExp.html: Added.
              * fast/js/kde/StringObject-expected.txt: Added.
              * fast/js/kde/StringObject.html: Added.
              * fast/js/kde/assignments-expected.txt: Added.
              * fast/js/kde/assignments.html: Added.
              * fast/js/kde/cast-expected.txt: Added.
              * fast/js/kde/cast.html: Added.
              * fast/js/kde/comment-1-expected.txt: Added.
              * fast/js/kde/comment-1.html: Added.
              * fast/js/kde/comment-2-expected.txt: Added.
              * fast/js/kde/comment-2.html: Added.
              * fast/js/kde/completion-expected.txt: Added.
              * fast/js/kde/completion.html: Added.
              * fast/js/kde/conditional-expected.txt: Added.
              * fast/js/kde/conditional.html: Added.
              * fast/js/kde/const-expected.txt: Added.
              * fast/js/kde/const.html: Added.
              * fast/js/kde/constructor_length-expected.txt: Added.
              * fast/js/kde/constructor_length.html: Added.
              * fast/js/kde/crash-1-expected.txt: Added.
              * fast/js/kde/crash-1.html: Added.
              * fast/js/kde/crash-2-expected.txt: Added.
              * fast/js/kde/crash-2.html: Added.
              * fast/js/kde/delete-expected.txt: Added.
              * fast/js/kde/delete.html: Added.
              * fast/js/kde/empty-expected.txt: Added.
              * fast/js/kde/empty.html: Added.
              * fast/js/kde/encode_decode_uri-expected.txt: Added.
              * fast/js/kde/encode_decode_uri.html: Added.
              * fast/js/kde/eval-expected.txt: Added.
              * fast/js/kde/eval.html: Added.
              * fast/js/kde/evil-n-expected.txt: Added.
              * fast/js/kde/evil-n.html: Added.
              * fast/js/kde/exception_propagation-expected.txt: Added.
              * fast/js/kde/exception_propagation.html: Added.
              * fast/js/kde/exceptions-expected.txt: Added.
              * fast/js/kde/exceptions.html: Added.
              * fast/js/kde/function-expected.txt: Added.
              * fast/js/kde/function.html: Added.
              * fast/js/kde/function_arguments-expected.txt: Added.
              * fast/js/kde/function_arguments.html: Added.
              * fast/js/kde/function_constructor-expected.txt: Added.
              * fast/js/kde/function_constructor.html: Added.
              * fast/js/kde/function_length-expected.txt: Added.
              * fast/js/kde/function_length.html: Added.
              * fast/js/kde/garbage-n-expected.txt: Added.
              * fast/js/kde/garbage-n.html: Added.
              * fast/js/kde/inbuilt_function_proto-expected.txt: Added.
              * fast/js/kde/inbuilt_function_proto.html: Added.
              * fast/js/kde/inbuilt_function_tostring-expected.txt: Added.
              * fast/js/kde/inbuilt_function_tostring.html: Added.
              * fast/js/kde/iteration-expected.txt: Added.
              * fast/js/kde/iteration.html: Added.
              * fast/js/kde/j-comment-3-expected.txt: Added.
              * fast/js/kde/j-comment-3.html: Added.
              * fast/js/kde/j-comment-4-expected.txt: Added.
              * fast/js/kde/j-comment-4.html: Added.
              * fast/js/kde/literals-expected.txt: Added.
              * fast/js/kde/literals.html: Added.
              * fast/js/kde/math-expected.txt: Added.
              * fast/js/kde/math.html: Added.
              * fast/js/kde/md5-1-expected.txt: Added.
              * fast/js/kde/md5-1.html: Added.
              * fast/js/kde/md5-2-expected.txt: Added.
              * fast/js/kde/md5-2.html: Added.
              * fast/js/kde/object_prototype-expected.txt: Added.
              * fast/js/kde/object_prototype.html: Added.
              * fast/js/kde/object_prototype_tostring-expected.txt: Added.
              * fast/js/kde/object_prototype_tostring.html: Added.
              * fast/js/kde/operators-expected.txt: Added.
              * fast/js/kde/operators.html: Added.
              * fast/js/kde/parse-expected.txt: Added.
              * fast/js/kde/parse.html: Added.
              * fast/js/kde/prototype_length-expected.txt: Added.
              * fast/js/kde/prototype_length.html: Added.
              * fast/js/kde/prototype_proto-expected.txt: Added.
              * fast/js/kde/prototype_proto.html: Added.
              * fast/js/kde/resources/Array.js: Added.
              * fast/js/kde/resources/Boolean.js: Added.
              * fast/js/kde/resources/Date.js: Added.
              * fast/js/kde/resources/Error.js: Added.
              * fast/js/kde/resources/GlobalObject.js: Added.
              * fast/js/kde/resources/KNOWN_FAILURES: Added.
              * fast/js/kde/resources/Number.js: Added.
              * fast/js/kde/resources/Object.js: Added.
              * fast/js/kde/resources/Prototype.js: Added.
              * fast/js/kde/resources/README: Added.
              * fast/js/kde/resources/RegExp.js: Added.
              * fast/js/kde/resources/StringObject.js: Added.
              * fast/js/kde/resources/assignments.js: Added.
              * fast/js/kde/resources/base.js: Added.
              * fast/js/kde/resources/cast.js: Added.
              * fast/js/kde/resources/comment-1.js: Added.
              * fast/js/kde/resources/comment-2.js: Added.
              * fast/js/kde/resources/completion.js: Added.
              * fast/js/kde/resources/conditional.js: Added.
              * fast/js/kde/resources/const.js: Added.
              * fast/js/kde/resources/constructor_length.js: Added.
              * fast/js/kde/resources/crash-1.js: Added.
              * fast/js/kde/resources/crash-2.js: Added.
              * fast/js/kde/resources/delete.js: Added.
              * fast/js/kde/resources/empty.js: Added.
              * fast/js/kde/resources/encode_decode_uri.js: Added.
              * fast/js/kde/resources/eval.js: Added.
              * fast/js/kde/resources/evil-n.js: Added.
              * fast/js/kde/resources/exception_propagation.js: Added.
              * fast/js/kde/resources/exceptions.js: Added.
              * fast/js/kde/resources/function.js: Added.
              * fast/js/kde/resources/function_arguments.js: Added.
              * fast/js/kde/resources/function_constructor.js: Added.
              * fast/js/kde/resources/function_length.js: Added.
              * fast/js/kde/resources/garbage-n.js: Added.
              * fast/js/kde/resources/inbuilt_function_proto.js: Added.
              * fast/js/kde/resources/inbuilt_function_tostring.js: Added.
              * fast/js/kde/resources/iteration.js: Added.
              * fast/js/kde/resources/j-comment-3.js: Added.
              * fast/js/kde/resources/j-comment-4.js: Added.
              * fast/js/kde/resources/literals.js: Added.
              * fast/js/kde/resources/math.js: Added.
              * fast/js/kde/resources/md5-1.js: Added.
              * fast/js/kde/resources/md5-2.js: Added.
              * fast/js/kde/resources/object_prototype.js: Added.
              * fast/js/kde/resources/object_prototype_tostring.js: Added.
              * fast/js/kde/resources/operators.js: Added.
              * fast/js/kde/resources/parse.js: Added.
              * fast/js/kde/resources/prototype_length.js: Added.
              * fast/js/kde/resources/prototype_proto.js: Added.
              * fast/js/kde/resources/scope.js: Added.
              * fast/js/kde/resources/shell.js: Added.
              * fast/js/kde/resources/statements.js: Added.
              * fast/js/kde/resources/string-1-n.js: Added.
              * fast/js/kde/resources/string-2-n.js: Added.
              * fast/js/kde/resources/var_decl_init.js: Added.
              * fast/js/kde/scope-expected.txt: Added.
              * fast/js/kde/scope.html: Added.
              * fast/js/kde/statements-expected.txt: Added.
              * fast/js/kde/statements.html: Added.
              * fast/js/kde/string-1-n-expected.txt: Added.
              * fast/js/kde/string-1-n.html: Added.
              * fast/js/kde/string-2-n-expected.txt: Added.
              * fast/js/kde/string-2-n.html: Added.
              * fast/js/kde/var_decl_init-expected.txt: Added.
              * fast/js/kde/var_decl_init.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11771 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5ac621e8
    • hyatt's avatar
      Undo my accidental commit of Makefile.vc · 8ed73cfd
      hyatt authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11770 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ed73cfd
    • hyatt's avatar
      Make sure assert.h is included by including it in config.h · 34cbd95f
      hyatt authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11769 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      34cbd95f
    • hyatt's avatar
      Fix win32 bustage. ifdef the swap function for std pairs. · 85c81d21
      hyatt authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11768 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      85c81d21
    • mjs's avatar
      WebCore: · 158ad488
      mjs authored
              Reviewed by Geoff.
      
              - Remove WebFrame's parent frame pointer, instead rely on WebCore's parent concept
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6241
      
              * kwq/WebCoreBridge.h:
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge parent]): New method, relies on the KHTMLPart's
      	parent pointer.
      
      WebKit:
      
              Reviewed by Geoff
      
              - Remove WebFrame's parent frame pointer, instead rely on WebCore's parent concept
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6241
      
              * WebCoreSupport.subproj/WebBridge.h:
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge canTargetLoadInFrame:]): Use bridge parent method instead of needlessly
      	asking for parent via WebFrame
              (-[WebBridge frameDetached]): Don't call _removeChild on the parent frame any more
      	because WebFame's _detachFromParent takes care of that now.
              * WebView.subproj/WebFrame.m:
              (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Fix stray spaces
              (-[WebFrame _detachChildren]): Don't remove children as we loop any more, they
      	can remove themselves.
              (-[WebFrame _detachFromParent]): Remove self from parent; don't nil out bridge
      	until we are done with it.
              (-[WebFrame _transitionToCommitted:]): Remove some extra braces.
              (-[WebFrame _goToItem:withLoadType:]): Use parentFrame method in assert instead of parent
      	field directly.
              (-[WebFrame _addChild:]): Don't poke at parent frame pointer in _private
      	since it is not there any more.
              (-[WebFrame _removeChild:]): Remove extra braces and don't clear parent pointer
      	explicitly any more.
              (-[WebFrame _addFramePathToString:]): Get parentFrame from method, not field.
              (-[WebFrame _loadDataSource:withLoadType:formState:]): Remove extra braces.
              (-[WebFrame _nextFrameWithWrap:]): Get parent in the proper way and clean up the
      	coding style.
              (-[WebFrame _previousFrameWithWrap:]): Ditto.
              (-[WebFrame parentFrame]): Get parent from the bridge.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11767 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      158ad488
    • mjs's avatar
      Reviewed by Hyatt. · aa3b20cd
      mjs authored
      	- fixed REGRESSION: world leak of WebDataSource
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=6242
      
              * WebView.subproj/WebDataSource.m:
              (-[WebDataSource _stopLoading]): don't retain self until after
      	the possible early return.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11766 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa3b20cd
  5. 25 Dec, 2005 2 commits
    • ggaren's avatar
      ChangeLog fixup · 1f4a5799
      ggaren authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11765 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1f4a5799
    • mjs's avatar
      Reviewed by Geoff. · fc3cd9ac
      mjs authored
      	- rearrange some code in WebDataSource so that more of the frame traversal logic
      	is in WebFrame, in preparation for moving it down to WebBridge.
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=6239
      
              * WebView.subproj/WebDataSource.m:
              (-[WebDataSource _archiveWithMarkupString:nodes:]): Assert that the
      	data source is committed, doesn't make sense to archive otherwise.
              (-[WebDataSource _subframeArchivesWithCurrentState:]): New helper method.
              (-[WebDataSource _archiveWithCurrentState:]): Assert that the data source
      	is committed. Use the helper.
              (-[WebDataSource _setWebView:]): Comment that we won't tell subframes that
      	defers callback changed.
              (-[WebDataSource _startLoading]): Remove stray space.
              (-[WebDataSource _stopLoading]): Only handle local _stopLoading business.
      	Cound on WebFrame to tell subframes to stop loading. Fold in _stopLoadingInternal
      	and remove _recursiveStopLoading.
              (-[WebDataSource _startLoading:]): Clean up an assert slightly.
              (-[WebDataSource _setTitle:]): Remove stray spaces.
              (-[WebDataSource _defersCallbacksChanged]): Don't call subframes. WebFrame
      	can do that.
              (-[WebDataSource isLoading]): Move checking of subframes down to WebFrame.
              (-[WebDataSource webArchive]): Return nil if the data source is not yet
      	committed. It makes no sense to archive a provisional data source since it
      	has no data yet.
              (-[WebDataSource addSubresource:]): Replace an assert with an early return,
      	ASSERT is not an appropriate way to flag problems with the argument of a public
      	method.
              * WebView.subproj/WebDataSourcePrivate.h:
              * WebView.subproj/WebFrame.m:
              (-[WebFrame _setLoadType:]): Remove stray space.
              (-[WebFrame _checkLoadCompleteForThisFrame]): Stop loading subframes
      	manually and add a FIXME about confusingness of stopping loading here.
              (-[WebFrame _defersCallbacksChanged]): Tell our subframes.
              (-[WebFrame _addChild:]): Remove stray space.
              (-[WebFrame _stopLoadingSubframes]): New helper method.
              (-[WebFrame _subframeIsLoading]): New helper method, code moved
      	from WebDataSource.
              (-[WebFrame stopLoading]): Tell subframes to stop loading.
              (-[WebFrame reload]): Remove extra braces.
              * WebView.subproj/WebFrameInternal.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fc3cd9ac