1. 18 Apr, 2008 20 commits
  2. 17 Apr, 2008 20 commits
    • antti@apple.com's avatar
      2008-04-17 Antti Koivisto <antti@apple.com> · 1b9f58b1
      antti@apple.com authored
              Reviewed by Oliver.
      
              Implement calcMode=paced.
              
              Tested by SVG testsuite tests
              animate-elem-11-t.svg
              animate-elem-15-t.svg
              animate-elem-82-t.svg
      
              * svg/SVGAnimateElement.cpp:
              (WebCore::SVGAnimateElement::calculateDistance):
              * svg/SVGAnimateElement.h:
              * svg/SVGAnimateMotionElement.cpp:
              (WebCore::SVGAnimateMotionElement::calculateDistance):
              * svg/SVGAnimateMotionElement.h:
              * svg/SVGAnimateTransformElement.cpp:
              (WebCore::SVGAnimateTransformElement::calculateDistance):
              * svg/SVGAnimateTransformElement.h:
              * svg/SVGAnimationElement.cpp:
              (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
              (WebCore::SVGAnimationElement::startedActiveInterval):
              * svg/SVGAnimationElement.h:
              (WebCore::SVGAnimationElement::calculateDistance):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1b9f58b1
    • hyatt@apple.com's avatar
      2008-04-17 David Hyatt <hyatt@apple.com> · 95dac7d2
      hyatt@apple.com authored
              Fix a leak in ImageBuffer's clearImage method.
      
              Reviewed by olliej
      
              * platform/graphics/ImageBuffer.h:
              (WebCore::ImageBuffer::clearImage):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      95dac7d2
    • antti@apple.com's avatar
      2008-04-17 Antti Koivisto <antti@apple.com> · f343a023
      antti@apple.com authored
              Update SVG animation test results.
      
              * platform/mac/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt:
              * platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt:
              * platform/mac/svg/W3C-SVG-1.1/animate-elem-41-t-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f343a023
    • antti@apple.com's avatar
      2008-04-17 Antti Koivisto <antti@apple.com> · ae3e4f14
      antti@apple.com authored
              Reviewed by Eric.
              
              https://bugs.webkit.org/show_bug.cgi?id=12438
      
              More SVG animation:
              
              - Make multiple additive animations work
              - Support animating <use> instance trees
      
              * svg/SVGAnimateColorElement.cpp:
              (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
              * svg/SVGAnimateColorElement.h:
              
              Made this AnimateElement subclass. All functionality is now provided by AnimateElement.
              
              * svg/SVGAnimateElement.cpp:
              (WebCore::SVGAnimateElement::determinePropertyType):
              (WebCore::SVGAnimateElement::calculateAnimatedValue):
              (WebCore::SVGAnimateElement::calculateFromAndToValues):
              (WebCore::SVGAnimateElement::calculateFromAndByValues):
              (WebCore::SVGAnimateElement::resetToBaseValue):
              (WebCore::SVGAnimateElement::applyResultsToTarget):
              * svg/SVGAnimateElement.h:
              * svg/SVGAnimateMotionElement.cpp:
              (WebCore::SVGAnimateMotionElement::resetToBaseValue):
              (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
              (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
              * svg/SVGAnimateMotionElement.h:
              * svg/SVGAnimateTransformElement.cpp:
              (WebCore::SVGAnimateTransformElement::resetToBaseValue):
              (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
              (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
              (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
              * svg/SVGAnimateTransformElement.h:
              
              Switch to new model where
              - resetToBaseValue() resets the animated value back to the base value
              - calculateAnimatedValue() computes the value and adds it to the element used for accumulation
              - applyResultsToTarget() sets the computed value the target element
              
              * svg/SVGAnimationElement.cpp:
              (WebCore::SVGAnimationElement::fromValue):
              (WebCore::SVGAnimationElement::attributeIsCSS):
              (WebCore::SVGAnimationElement::targetAttributeIsCSS):
              (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
              
              Update instances too.
              
              (WebCore::SVGAnimationElement::startedActiveInterval):
              (WebCore::SVGAnimationElement::updateAnimation):
              (WebCore::SVGAnimationElement::endedActiveInterval):
              * svg/SVGAnimationElement.h:
              * svg/SVGSVGElement.cpp:
              (WebCore::SVGSVGElement::SVGSVGElement):
              * svg/SVGSetElement.cpp:
              (WebCore::SVGSetElement::SVGSetElement):
              * svg/SVGSetElement.h:
              
              Made this AnimateElement subclass. All functionality is now provided by AnimateElement.
              
              * svg/animation/SMILTimeContainer.cpp:
              (WebCore::SMILTimeContainer::SMILTimeContainer):
              (WebCore::SMILTimeContainer::unschedule):
              (WebCore::SMILTimeContainer::updateDocumentOrderIndexes):
              (WebCore::PriorityCompare::PriorityCompare):
              (WebCore::PriorityCompare::operator()):
              (WebCore::SMILTimeContainer::sortByPriority):
              (WebCore::applyOrderSortFunction):
              (WebCore::sortByApplyOrder):
              (WebCore::SMILTimeContainer::baseValueFor):
              (WebCore::SMILTimeContainer::updateAnimations):
              * svg/animation/SMILTimeContainer.h:
              (WebCore::SMILTimeContainer::create):
              (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty):
              
              Do additive animation with the following steps
              - sort active animations based on their priority (begin time, document order).
              - if not yet saved for each (element, attribute) pair save the base value.
              - lowest priority animation for each (element, attribute) acts as the result element.
              - animation results are resolved in priority order and results are accumulated to the result element.
              - after all active animations have been processed the values in result elements are applied to the target elements.
              
              * svg/animation/SVGSMILElement.cpp:
              (WebCore::SVGSMILElement::SVGSMILElement):
              (WebCore::SVGSMILElement::insertedIntoDocument):
              
              Invalidate document order index.
              
              (WebCore::SVGSMILElement::attributeName):
              (WebCore::SVGSMILElement::isInactive):
              (WebCore::SVGSMILElement::isFrozen):
              (WebCore::SVGSMILElement::beginListChanged):
              (WebCore::SVGSMILElement::determineActiveState):
              (WebCore::SVGSMILElement::isContributing):
              (WebCore::SVGSMILElement::progress):
              
              Take care that animations in frozen state still contribute to the total. Since we now build the result starting
              from the base value, fill="replace" works magically simply by not contributing anything.
              
              * svg/animation/SVGSMILElement.h:
              (WebCore::SVGSMILElement::previousIntervalBegin):
              (WebCore::SVGSMILElement::documentOrderIndex):
              (WebCore::SVGSMILElement::setDocumentOrderIndex):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ae3e4f14
    • aroben@apple.com's avatar
      Fix many tests on Windows · ebb8c990
      aroben@apple.com authored
              * Scripts/run-webkit-tests:
              (readFromDumpToolWithTimer):
               - Use read instead of sysread to ensure that we don't interfere with
                 other uses of buffered IO in this script.
              (setFileHandleNonBlocking): Actually set the filehandle to blocking
              when specified.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ebb8c990
    • jhoneycutt@apple.com's avatar
      2008-04-17 Jon Honeycutt <jhoneycutt@apple.com> · 51a2fa2c
      jhoneycutt@apple.com authored
              Reviewed by mrowe.
      
              Define HAVE_ACCESSIBILITY where WebKit, WebCore can see it.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      51a2fa2c
    • jhoneycutt@apple.com's avatar
      2008-04-17 Jon Honeycutt <jhoneycutt@apple.com> · 1c7d4199
      jhoneycutt@apple.com authored
              Reviewed by aliu.
      
              * page/AccessibilityObject.cpp:
              (WebCore::AccessibilityObject::layoutCount): Check isRenderView() before
              casting to RenderView.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1c7d4199
    • antti@apple.com's avatar
      2008-04-17 Antti Koivisto <antti@apple.com> · 2fafb6e2
      antti@apple.com authored
              Re-enable animation tests on windows.
      
              * platform/win/Skipped:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2fafb6e2
    • antti@apple.com's avatar
      2008-04-17 Antti Koivisto <antti@apple.com> · 8450dde3
      antti@apple.com authored
              Reviewed by Oliver.
              
              Fix https://bugs.webkit.org/show_bug.cgi?id=18551
              Bug 18551: REGRESSION (r31801?): Crash in ContainerNode::removedFromDocument on many SVG tests under guard malloc
              
              Freeing a RefPtr that is the last ref to the parent from removedFromDocument() is a bad idea.
      
              Caching the target element is too dangerous, let's simply not do it. Getting it is very cheap anyway.
      
              * svg/animation/SVGSMILElement.cpp:
              (WebCore::SVGSMILElement::removedFromDocument):
              (WebCore::SVGSMILElement::attributeChanged):
              (WebCore::SVGSMILElement::targetElement):
              * svg/animation/SVGSMILElement.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8450dde3
    • aroben@apple.com's avatar
      Fix ~10 tests · 6b532225
      aroben@apple.com authored
              * Scripts/run-webkit-tests: Only remove the newline after #EOF, not
              whatever newline happens to be at the end of what we've read.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6b532225
    • weinig@apple.com's avatar
      WebCore: · 81ed4494
      weinig@apple.com authored
      2008-04-17  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Anders Carlsson.
      
              Autogenerate the XMLHttpRequest javascript binding.
      
              * GNUmakefile.am:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCoreSources.bkl:
              * DerivedSources.make:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSDOMWindowBase.cpp:
              * bindings/js/JSXMLHttpRequest.cpp: Removed.
              * bindings/js/JSXMLHttpRequest.h: Removed.
              * bindings/js/JSXMLHttpRequestConstructor.cpp: Added.
              (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
              (WebCore::JSXMLHttpRequestConstructor::implementsConstruct):
              (WebCore::JSXMLHttpRequestConstructor::construct):
              * bindings/js/JSXMLHttpRequestConstructor.h: Added.
              (WebCore::JSXMLHttpRequestConstructor::classInfo):
              * bindings/js/JSXMLHttpRequestCustom.cpp: Added.
              (WebCore::JSXMLHttpRequest::mark):
              (WebCore::JSXMLHttpRequest::onreadystatechange):
              (WebCore::JSXMLHttpRequest::setOnreadystatechange):
              (WebCore::JSXMLHttpRequest::onload):
              (WebCore::JSXMLHttpRequest::setOnload):
              (WebCore::JSXMLHttpRequest::responseXML):
              (WebCore::JSXMLHttpRequest::open):
              (WebCore::JSXMLHttpRequest::setRequestHeader):
              (WebCore::JSXMLHttpRequest::send):
              (WebCore::JSXMLHttpRequest::getResponseHeader):
              (WebCore::JSXMLHttpRequest::overrideMimeType):
              (WebCore::JSXMLHttpRequest::addEventListener):
              (WebCore::JSXMLHttpRequest::removeEventListener):
              (WebCore::JSXMLHttpRequest::dispatchEvent):
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::readyState):
              (WebCore::XMLHttpRequest::responseText):
              * xml/XMLHttpRequest.h:
              * xml/XMLHttpRequest.idl: Added.
      
      LayoutTests:
      
      2008-04-17  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Anders Carlsson.
      
              Update test result for additon of XMLHttpRequest constants.
      
              * fast/dom/Window/window-properties-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      81ed4494
    • aroben@apple.com's avatar
      Remove DRT/win's hang timer · 049517f5
      aroben@apple.com authored
              run-webkit-tests takes care of this for us now
      
              Reviewed by Anders Carlsson.
      
              * DumpRenderTree/win/DumpRenderTree.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      049517f5
    • aroben@apple.com's avatar
      Don't wait for the hang timer twice in the case of a hang · b208f11b
      aroben@apple.com authored
              Previously we'd wait for a hang while reading both stdout and stderr
              from DRT. Now we'll only wait for one or the other.
      
              Reviewed by Anders Carlsson.
      
              * Scripts/run-webkit-tests:
              (top level): Don't wait for stderr to time out if stdout already timed
              out.
              (readFromDumpToolWithTimer): If $dontWaitForTimeOut is true, quit
              after the first read that returns no data.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b208f11b
    • aroben@apple.com's avatar
      Don't throw away the output from timed out tests · fd529cc1
      aroben@apple.com authored
              Reviewed by Anders Carlsson.
      
              * Scripts/run-webkit-tests:
              (top level): Updated for changes to readFromDumpToolWithTimer.
              (readFromDumpToolWithTimer): Return a hash that contains both the
              output and whether or not the test timed out.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd529cc1
    • beidson@apple.com's avatar
      2008-04-17 Brady Eidson <beidson@apple.com> · 477c47c8
      beidson@apple.com authored
              Reviewed by Anders
      
              The SessionStorage for a Page has to be copied every time a new Page is created.
      
              I thought I had the right choke point for creating new Pages at FrameLoader::createWindow(),
              but it just so happens there was another - in the ContextMenuController.
      
              The *real* choke point for this, then, is in the Chrome itself.
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::createWindow): Don't do the SessionStorage copy here...
      
              * page/Chrome.cpp:
              (WebCore::Chrome::createWindow): Do it here, instead!
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      477c47c8
    • aroben@apple.com's avatar
      Make the hang timer 60 seconds · 4aa4ecf4
      aroben@apple.com authored
              * Scripts/run-webkit-tests:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4aa4ecf4
    • alice.liu@apple.com's avatar
      2008-04-17 Alice Liu <alice.liu@apple.com> · af5528c8
      alice.liu@apple.com authored
              Reviewed by Jon Honeycutt.
      
              Added some asserts to catch undesirable usage of setWrapper and addChildren.
      
              * page/AccessibilityObject.cpp:
              (WebCore::AccessibilityObject::addChildren):
              * page/AccessibilityObject.h:
              (WebCore::AccessibilityObject::setWrapper):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af5528c8
    • aroben@apple.com's avatar
      Get rid of carriage returns in DRT/win's stderr · cc3a0bc3
      aroben@apple.com authored
              Reviewed by Eric Seidel.
      
              * DumpRenderTree/win/DumpRenderTree.cpp:
              (main): Mark stderr as binary like we already do for stdout.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cc3a0bc3
    • aroben@apple.com's avatar
      Fix Bug 17678: run-webkit-tests should have a watchdog timer (and timeout long tests) · fd0eb132
      aroben@apple.com authored
              <https://bugs.webkit.org/show_bug.cgi?id=17678>
      
              We now abort tests that take longer than 60 seconds to produce output.
              This matches the watchdog timer in DRT/mac and DRT/win (which we can
              now remove).
      
              Reviewed by Eric Seidel.
      
              * Scripts/run-webkit-tests:
              (top level): Read DRT's output using the new readFromDumpToolWithTimer
              subroutine. If readFromDumpToolWithTimer returns undefined it means
              the test timed out, so we register the test as a hang and move on.
              (sub testCrashedOrTimedOut): Renamed from testCrashed. Now handles
              both crashed and timed out tests. If the test timed out, we kill DRT
              before returning.
              (sub linksForTimedOutTest): Added. We don't have any output to link to for
              tests that timed out.
              (sub recordActualResultsAndDiff): Don't call length on undefined.
              (sub readFromDumpToolWithTimer): Added. Performs non-blocking reads
              from a filehandle until an #EOF is reached or
              $maximumSecondsWithoutOutput have elapsed.
              (sub setFileHandleNonBlocking): Marks a filehandle as blocking or
              non-blocking.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd0eb132
    • aroben@apple.com's avatar
      Refactor test results page generation · b9d590e3
      aroben@apple.com authored
              Reviewed by Eric Seidel.
      
              * Scripts/run-webkit-tests:
              (sub htmlForResultsSection): Added. Takes a set of tests, a
              description, and a subroutine to generate the links for each test, and
              creates a HTML string containing a table of the tests and their
              links.
              (sub linksForExpectedAndActualResults): Added. Replaces the
              htmlForExpectedAndActualResults subroutine.
              (sub linksForMismatchTest): Added.
              (sub linksForCrashOrErrorTest): Added.
              (sub linksForNewTest): Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b9d590e3