1. 18 Apr, 2008 34 commits
    • antti@apple.com's avatar
      2008-04-18 Antti Koivisto <antti@apple.com> · 2061b9a3
      antti@apple.com authored
              Reviewed by Oliver.
      
              https://bugs.webkit.org/show_bug.cgi?id=18551
              REGRESSION (r31801?): Crash in ContainerNode::removedFromDocument on many SVG tests
              
              Fix for test svg/W3C-SVG-1.1/animate-elem-62-t.svg which was still
              crashing under guard malloc after the previous fix.
              
              If the event base element was a parent of the current element, dereffing it during 
              removedFromDocument() would cause problems. Avoid this by not holding ref pointer
              to the event base but instead checking from the ref count of the event listener whether
              it is still alive and in need for unregistering.
              
              This shold not be a problem for syncbase pointers since those are always animation elements
              and leaf nodes.
      
              * svg/animation/SVGSMILElement.cpp:
              (WebCore::ConditionEventListener::ConditionEventListener):
              (WebCore::ConditionEventListener::unregister):
              (WebCore::ConditionEventListener::handleEvent):
              (WebCore::SVGSMILElement::connectConditions):
              (WebCore::SVGSMILElement::disconnectConditions):
              (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
              * svg/animation/SVGSMILElement.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2061b9a3
    • kmccullough@apple.com's avatar
      2008-04-18 Kevin McCullough <kmccullough@apple.com> · a014dc7f
      kmccullough@apple.com authored
              Reviewed by Sam and Adam.
      
              -<rdar://problem/5770054> JavaScript profiler (10928)
              - Added support for console.profile() and console.profileEnd().
      
              * ForwardingHeaders/kjs/FunctionCallProfile.h: Added.
              * ForwardingHeaders/kjs/Profiler.h: Added.
              * page/Console.cpp:
              (WebCore::Console::profile):
              (WebCore::Console::profileEnd):
              * page/Console.h:
              * page/Console.idl:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a014dc7f
    • kmccullough@apple.com's avatar
      2008-04-18 Kevin McCullough <kmccullough@apple.com> · 331ef1ee
      kmccullough@apple.com authored
              Reviewed by Sam and Adam.
      
              -<rdar://problem/5770054> JavaScript profiler (10928)
              - Cleaned up the header file and made some functions static, added
              a new, sane, printing function, and fixed a few minor bugs.
      
              * JavaScriptCore.exp:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * profiler/FunctionCallProfile.cpp:
              (KJS::FunctionCallProfile::didExecute): Removed assertion that time is
              > 0 because at ms resolution that may not be true and only cross-
              platform way to get time differences is in ms.
              (KJS::FunctionCallProfile::printDataInspectorStyle): Added a new
              printing function for dumping data in a sane style.
              (KJS::FunctionCallProfile::printDataSampleStyle): Fixed a bug where we
              displayed too much precision when printing our floats. Also added logic
              to make sure we don't display 0 because that doesn't make sense for a
              sampling profile.
              * profiler/FunctionCallProfile.h:
              * profiler/Profiler.cpp: Moved functions that could be static into the
              implementation, and chaned the ASSERTs to early returns.  I did this
              because console.profile() is a JS function and so was being profiled
              but asserting because the profiler had not been started! In the future
              I would like to put the ASSERTs back and not profile the calls to
              console.profile() and console.profileEnd().
              (KJS::Profiler::willExecute):
              (KJS::Profiler::didExecute):
              (KJS::getStackNames): Fixed a bug where the wrong ExecState was being
              used.
              (KJS::getFunctionName):
              (KJS::Profiler::printDataInspectorStyle):
              * profiler/Profiler.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      331ef1ee
    • kevino@webkit.org's avatar
    • mitz@apple.com's avatar
      WebCore: · c13ea5f8
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - fix https://bugs.webkit.org/show_bug.cgi?id=17921
                Extra white space at the end of right-aligned or justified text with -webkit-line-break: after-white-space
      
              Test: fast/text/trailing-white-space.html
      
              Made trailing white space on the line always behave like it has the base
              bidi level of the block, meaning it will always go on the right (left)
              of the line in a left-to-right (right-to-left) block. Made the trailing
              white space vanish when it is next to a margin that the text should
              be touching, and made its width not count when computing the center
              point for center alignment.
      
              * platform/text/BidiResolver.h:
              (WebCore::::prependRun): Added.
              * rendering/RenderBlock.h:
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed the
              logicallyLastRun parameter to an optional trailingSpaceRun and changed
              the alignment logic to implement the above rules.
              (WebCore::RenderBlock::layoutInlineChildren): Added code to identify
              when there is trailing white space that needs to be split into its own
              run and optionally re-ordered.
              (WebCore::RenderBlock::findNextLineBreak): Removed code that split some
              trailing space into a separate run in one special case.
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - test and updated results for https://bugs.webkit.org/show_bug.cgi?id=17921
                Extra white space at the end of right-aligned or justified text with -webkit-line-break: after-white-space
      
              * fast/text/trailing-white-space.html: Added.
              * http/tests/misc/acid3-expected.txt:
              * platform/mac/editing/deleting/delete-block-table-expected.txt:
              * platform/mac/editing/deleting/delete-to-select-table-expected.txt:
              * platform/mac/editing/deleting/deletionUI-single-instance-expected.txt:
              * platform/mac/editing/execCommand/5482023-expected.txt:
              * platform/mac/editing/execCommand/boldSelection-expected.txt:
              * platform/mac/editing/execCommand/italicizeByCharacter-expected.txt:
              * platform/mac/editing/execCommand/modifyForeColorByCharacter-expected.txt:
              * platform/mac/editing/execCommand/print-expected.txt:
              * platform/mac/editing/execCommand/selectAll-expected.txt:
              * platform/mac/editing/execCommand/strikethroughSelection-expected.txt:
              * platform/mac/editing/inserting/editable-html-element-expected.txt:
              * platform/mac/editing/inserting/insert-div-027-expected.txt:
              * platform/mac/editing/pasteboard/5028447-expected.txt:
              * platform/mac/editing/pasteboard/block-wrappers-necessary-expected.checksum:
              * platform/mac/editing/pasteboard/block-wrappers-necessary-expected.png:
              * platform/mac/editing/pasteboard/block-wrappers-necessary-expected.txt:
              * platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.checksum:
              * platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.png:
              * platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.txt:
              * platform/mac/editing/pasteboard/nested-blocks-with-text-field-expected.checksum:
              * platform/mac/editing/pasteboard/nested-blocks-with-text-field-expected.png:
              * platform/mac/editing/pasteboard/nested-blocks-with-text-field-expected.txt:
              * platform/mac/editing/selection/5081257-1-expected.txt:
              * platform/mac/editing/selection/after-line-wrap-expected.txt:
              * platform/mac/editing/selection/mixed-editability-1-expected.txt:
              * platform/mac/editing/selection/select-all-001-expected.txt:
              * platform/mac/editing/selection/select-all-002-expected.txt:
              * platform/mac/editing/selection/select-all-003-expected.txt:
              * platform/mac/editing/style/apple-style-editable-mix-expected.txt:
              * platform/mac/editing/style/create-block-for-style-012-expected.checksum:
              * platform/mac/editing/style/create-block-for-style-012-expected.png:
              * platform/mac/editing/style/create-block-for-style-012-expected.txt:
              * platform/mac/fast/clip/outline-overflowClip-expected.txt:
              * platform/mac/fast/forms/textarea-rows-cols-expected.txt:
              * platform/mac/fast/replaced/width100percent-textarea-expected.txt:
              * platform/mac/fast/text/embed-at-end-of-pre-wrap-line-expected.txt:
              * platform/mac/fast/text/justified-text-rect-expected.txt:
              * platform/mac/fast/text/trailing-white-space-expected.checksum: Added.
              * platform/mac/fast/text/trailing-white-space-expected.png: Added.
              * platform/mac/fast/text/trailing-white-space-expected.txt: Added.
              * platform/mac/fast/text/whitespace/pre-wrap-last-char-expected.txt:
              * platform/mac/fast/text/whitespace/pre-wrap-overflow-selection-expected.txt:
              * platform/mac/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32226 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c13ea5f8
    • mrowe@apple.com's avatar
      Fix builds that do not have DOM storage enabled. · c20efebf
      mrowe@apple.com authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32225 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c20efebf
    • timothy@apple.com's avatar
      Fixes the regression where style rules in the Inspector always show "inline stylesheet" · 96ccacd2
      timothy@apple.com authored
      for the source of the rule and not the URL or other sources.
      
      https://bugs.webkit.org/show_bug.cgi?id=18592
      
      Reviewed by Dan Bernstein.
      
      * page/inspector/StylesSidebarPane.js:
      (WebInspector.StylesSidebarPane.prototype.update): Add parentStyleSheet to the anonymous obejct
      that we make for each matched rule. The parentStyleSheet property is used later to make the subtitle.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32224 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      96ccacd2
    • dino@apple.com's avatar
      Fixed marquee suspension on wrong document. Passes current · 3d50d9ff
      dino@apple.com authored
      document into Frame::clearTimers.
      
      Reviewed by hyatt.
      
      * history/CachedPage.cpp:
      (WebCore::CachedPage::clear):
      * page/Frame.cpp:
      (WebCore::Frame::clearTimers):
      * page/Frame.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3d50d9ff
    • ap@webkit.org's avatar
      Reviewed by Darin. · 0ea9a698
      ap@webkit.org authored
              Fix leaks during plugin tests (which actually excercise background JS), and potential
              PAC brokenness that was not reported, but very likely.
      
              The leaks shadowed a bigger problem with Identifier destruction. Identifier::remove involves
              an IdentifierTable lookup, which is now a per-thread instance. Since garbage collection can
              currently happen on a different thread than allocation, a wrong table was used.
      
              No measurable change on SunSpider total, ~1% variation on individual tests.
      
              * kjs/ustring.cpp:
              (KJS::):
              (KJS::UString::Rep::create):
              (KJS::UString::Rep::destroy):
              * kjs/ustring.h:
              Replaced isIdentifier with a pointer to IdentifierTable, so that destruction can be done
              correctly. Took one bit from reportedCost, to avoid making UString::Rep larger (performance
              effect was measurable on SunSpider).
      
              * kjs/identifier.cpp:
              (KJS::IdentifierTable::IdentifierTable):
              (KJS::IdentifierTable::~IdentifierTable):
              (KJS::IdentifierTable::add):
              (KJS::IdentifierTable::remove):
              Make IdentifierTable a real class. Its destructor needs to zero out outstanding references,
              because some identifiers may briefly outlive it during thread destruction, and we don't want
              them to use their stale pointers.
      
              (KJS::LiteralIdentifierTable):
              (KJS::Identifier::add):
              Now that LiteralIdentifierTable is per-thread and can be destroyed not just during application
              shutdown, it is not appropriate to simply bump refcount for strings that get there; changed
              the table to hold RefPtrs.
      
              (KJS::CStringTranslator::translate):
              (KJS::UCharBufferTranslator::translate):
              (KJS::Identifier::addSlowCase):
              (KJS::Identifier::remove):
              * kjs/identifier.h:
              (KJS::Identifier::add):
              Use and update UString::Rep::identifierTable as appropriate. Updating it is now done in
              IdentifierTable::add, not in translators.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0ea9a698
    • dino@apple.com's avatar
      Add 'ease' timing function to transitions and · 28bb2245
      dino@apple.com authored
      make it the default. See latest specification proposal at:
      http://webkit.org/specs/CSSVisualEffects/CSSTransitions.html
      
      Reviewed by hyatt.
      
      NOTE: still working on a way to test animating/transitioning content
      
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseTransitionTimingFunction):
      * css/CSSStyleSelector.cpp:
      (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
      * css/CSSValueKeywords.in:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32221 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      28bb2245
    • ap@webkit.org's avatar
      Reviewed by Darin. · ac51bdf2
      ap@webkit.org authored
              Get rid of static compareWithCompareFunctionArguments in array_instance.cpp.
      
              No change on SunSpider, CelticKane or iBench JavaScript. It is probable that in some cases,
              merge sort is still faster, but more investigation is needed to determine a new cutoff.
              Or possibly, it would be better to do what FIXME says (change to tree sort).
      
              Also, made arguments a local variable - not sure why it was a member of
              CompareWithCompareFunctionArguments.
      
              * kjs/array_instance.cpp:
              (KJS::CompareWithCompareFunctionArguments::CompareWithCompareFunctionArguments):
              (KJS::CompareWithCompareFunctionArguments::operator()):
              (KJS::ArrayInstance::sort):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ac51bdf2
    • aroben@apple.com's avatar
      Change JavaScriptDebugListener to use KJS::UString instead of WebCore::String · 32b2d1de
      aroben@apple.com authored
      WebCore:
      
              Change JavaScriptDebugListener to use KJS::UString instead of
              WebCore::String
      
              This should reduce the number of string allocations performed while
              debugging.
      
              Reviewed by Tim Hatcher.
      
              * page/InspectorController.cpp: Updated JavaScriptDebugListener
              functions.
              * page/InspectorController.h: Ditto.
              * page/JavaScriptDebugListener.h: Changed to use KJS::UString instead
              of WebCore::String.
              * page/JavaScriptDebugServer.cpp: Ditto.
              * platform/win/BString.cpp:
              (WebCore::BString::BString): Added a constructor that takes a
              KJS::UString.
              * platform/win/BString.h:
      
      WebKit/win:
      
              Update WebScriptDebugServer for JavaScriptDebugListener changes
      
              Reviewed by Tim Hatcher.
      
              * WebScriptDebugServer.cpp: Changed to use KJS::UString instead of
              WebCore::String.
              * WebScriptDebugServer.h: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      32b2d1de
    • aroben@apple.com's avatar
      Mac build fix · 01c3c8cc
      aroben@apple.com authored
              * WebCore.xcodeproj/project.pbxproj: Mark JavaScriptDebugListener.h
              private.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      01c3c8cc
    • aroben@apple.com's avatar
      Make InspectorController a JavaScriptDebugListener · 70b0a9c6
      aroben@apple.com authored
              I added two new functions to the InspectorController JS object:
              reloadInspectedPageAndStartDebugging and stopDebugging. These control
              when the InspectorController adds/removes itself to/from the
              JavaScriptDebugServer.
      
              Reviewed by Tim Hatcher.
      
              * page/InspectorController.cpp:
              (WebCore::reloadInspectedPageAndStartDebugging): Added. Just calls
              through to InspectorController.
              (WebCore::stopDebugging): Ditto.
              (WebCore::InspectorController::~InspectorController): Make sure we
              stop debugging before we are destroyed so the JavaScriptDebugServer
              won't be left with a stale pointer.
              (WebCore::InspectorController::windowScriptObjectAvailable): Added two
              new functions to our JS object.
              (WebCore::InspectorController::closeWindow): Stop debugging when the
              window closes.
              (WebCore::InspectorController::reloadInspectedPageAndStartDebugging):
              Added.
              (WebCore::InspectorController::stopDebugging): Added.
      
              (WebCore::InspectorController::didParseSource):
              (WebCore::InspectorController::failedToParseSource):
              (WebCore::InspectorController::didEnterCallFrame):
              (WebCore::InspectorController::willExecuteStatement):
              (WebCore::InspectorController::willLeaveCallFrame):
              Added empty implementations of the JavaScriptDebugListener functions.
      
              * page/InspectorController.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32217 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      70b0a9c6
    • mitz@apple.com's avatar
      - add css2.1/t1506-c525-font-wt-00-b.html to the Windows skipped list · d806913a
      mitz@apple.com authored
              * platform/win/Skipped:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d806913a
    • aroben@apple.com's avatar
      Rename ExecState* instances from state to exec · cf7dadda
      aroben@apple.com authored
              Requested by Darin Adler and Sam Weinig.
      
              * bindings/js/JSConsoleCustom.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cf7dadda
    • aroben@apple.com's avatar
      * platform/win/Skipped: Added another failing test. · 417054b5
      aroben@apple.com authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32214 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      417054b5
    • aroben@apple.com's avatar
      Clean up InspectorController's use of JSStringRef · 27c3c17c
      aroben@apple.com authored
              All JSStringRef creation now happens through a helper function,
              jsStringRef, which takes either a const char* or a const String& and
              returns a JSRetainPtr<JSStringRef>.
      
              Reviewed by Mitz Pettel.
      
              * page/InspectorController.cpp:
              Added jsStringRef and converted all callers to
              JSStringCreateWithUTF8CString or JSStringCreateWithCharacters to use
              it.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32213 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      27c3c17c
    • aroben@apple.com's avatar
      Drop the hang timer to 30 seconds · c9db4020
      aroben@apple.com authored
              This matches what DRT/mac was using.
      
              Reviewed by Mitz Pettel.
      
              * Scripts/run-webkit-tests:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c9db4020
    • aroben@apple.com's avatar
      Get rid of DRT's Watchdog · c45ddc94
      aroben@apple.com authored
              run-webkit-tests now detects hangs and samples DRT as needed.
      
              Reviewed by Mitz Pettel.
      
              * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Removed
              Watchdog* files from the project.
              * DumpRenderTree/Watchdog.cpp: Removed.
              * DumpRenderTree/Watchdog.h: Removed.
              * DumpRenderTree/mac/DumpRenderTree.mm: Removed uses of Watchdog
              (dumpRenderTree):
              (runTest):
              * DumpRenderTree/mac/WatchdogMac.h: Removed.
              * DumpRenderTree/mac/WatchdogMac.mm: Removed.
              * Scripts/run-webkit-tests:
              (sub testCrashedOrTimedOut): Call sampleDumpTool() if we timed out.
              (sub sampleDumpTool): Added. Writes a sample report to
              ~/Library/Logs/DumpRenderTree/HangReport.txt.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32211 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c45ddc94
    • aroben@apple.com's avatar
      Add wrappers around InspectorClient::{show,close}Window · ffb7ab0d
      aroben@apple.com authored
              This will let us perform actions when the window is actually
              showing/closing (InspectorController::show doesn't always directly
              show the window).
      
              Reviewed by Tim Hatcher.
      
              * page/InspectorController.cpp:
              (WebCore::InspectorController::scriptObjectReady): Call showWindow()
              instead of m_client->showWindow().
              (WebCore::InspectorController::show): Ditto.
              (WebCore::InspectorController::close): Ditto for closeWindow().
              (WebCore::InspectorController::showWindow):
              (WebCore::InspectorController::closeWindow):
              * page/InspectorController.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32210 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ffb7ab0d
    • hausmann@webkit.org's avatar
      Many API changes and additions after a full review with Jasmin Blanchette <jasmin@trolltech.com> · 90a2a204
      hausmann@webkit.org authored
      The diff is too big to mention the changes individually, but most of the changes were of cosmetic
      nature where methods or enums have been renamed or prefixed/suffixed according to the consistency
      rules of the Qt API.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32209 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      90a2a204
    • hausmann@webkit.org's avatar
      2008-04-18 Ariya Hidayat <ariya.hidayat@trolltech.com> · 05fa1868
      hausmann@webkit.org authored
              Reviewed by Adam Roben.
      
              https://bugs.webkit.org/show_bug.cgi?id=18477
      
              No resize indication is shown when moving/hovering over the frame
              border/splitter.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32208 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05fa1868
    • hausmann@webkit.org's avatar
      Added QWebView::find/QWebFrame::find. · 9b4dc7c3
      hausmann@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32207 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9b4dc7c3
    • aroben@apple.com's avatar
      Windows build fix · 2c23f283
      aroben@apple.com authored
              Same as before, but for fabs/fabsf.
      
              * svg/SVGAnimateTransformElement.cpp:
              (WebCore::SVGAnimateTransformElement::calculateDistance): Changed to
              use fabsf and removed narrowPrecisionToFloat.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32206 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2c23f283
    • aroben@apple.com's avatar
      Windows build fix · 3b900a47
      aroben@apple.com authored
              In MSVC, sqrt() has three overloads: float, double, and long
              double. In GCC, sqrt() is only for doubles. Both MSVC and GCC have
              sqrtf() to operate explicitly on floats.
      
              * svg/SVGAnimateMotionElement.cpp:
              (WebCore::SVGAnimateMotionElement::calculateDistance): Changed to use
              sqrtf and removed narrowPrecisionToFloat.
              * svg/SVGAnimateTransformElement.cpp:
              (WebCore::SVGAnimateTransformElement::calculateDistance): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32205 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3b900a47
    • hausmann@webkit.org's avatar
      83465b85
    • alp@webkit.org's avatar
      2008-04-18 Alp Toker <alp@atoker.com> · 529d8bf3
      alp@webkit.org authored
              Rubber-stamped by Holger Freyther.
      
              http://bugs.webkit.org/show_bug.cgi?id=18218
              [Gtk] segfault when clicking on a disabled button
      
              Always use the main frame for mouse events (not the focused frame)
              since it knows best how to get the event through to the right target.
      
              This also fixes a null crasher.
      
              * webkit/webkitwebview.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      529d8bf3
    • hausmann@webkit.org's avatar
      Fix the Gtk build on the build bot. · 8fb4fed7
      hausmann@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8fb4fed7
    • hausmann@webkit.org's avatar
      Prospective wx build fix. · 004a668f
      hausmann@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32201 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      004a668f
    • hausmann@webkit.org's avatar
      Build fix. Back out previous #include fix for PageGroup.h as it broke · 6aebfc45
      hausmann@webkit.org authored
      the Mac build due to forwarding headers.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32200 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6aebfc45
    • hausmann@webkit.org's avatar
      Build fix for Qt and gcc 4.3. · 08636d12
      hausmann@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32199 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      08636d12
    • hausmann@webkit.org's avatar
      Build fix for gcc 4.3 and Gtk. · 5bf503e1
      hausmann@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32198 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5bf503e1
    • antti@apple.com's avatar
      2008-04-17 Antti Koivisto <antti@apple.com> · af579276
      antti@apple.com authored
              Reviewed by Oliver.
              
              https://bugs.webkit.org/show_bug.cgi?id=18573
      
              Implement supplemental transforms and use them for <animateMotion> instead of the transform list.
              This will allow <animateTransform> and <animateMotion> combine properly.
      
              * svg/SVGAnimateMotionElement.cpp:
              (WebCore::SVGAnimateMotionElement::resetToBaseValue):
              (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
              (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
              * svg/SVGElement.h:
              (WebCore::SVGElement::supplementalTransform):
              * svg/SVGStyledTransformableElement.cpp:
              (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
              * svg/SVGStyledTransformableElement.h:
              (WebCore::SVGStyledTransformableElement::supplementalTransform):
              * svg/SVGTextElement.cpp:
              (WebCore::SVGTextElement::animatedLocalTransform):
              * svg/SVGTextElement.h:
              (WebCore::SVGTextElement::supplementalTransform):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32197 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af579276
  2. 17 Apr, 2008 6 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