1. 01 Feb, 2006 2 commits
    • darin's avatar
      Reviewed by Hyatt. · a52f4e12
      darin authored
              - use Timer for everything, kill timer features of QObject, QTimer, QTimerEvent
      
              * ForwardingHeaders/kxmlcore/Noncopyable.h: Added.
              * ForwardingHeaders/kxmlcore/OwnArrayPtr.h: Added.
              * ForwardingHeaders/kxmlcore/OwnPtr.h: Added.
              * ForwardingHeaders/qtimer.h: Removed.
              * kwq/KWQTimer.cpp: Removed.
              * kwq/KWQTimer.h: Removed.
      
              * kwq/KWQObject.h:
              * kwq/KWQObject.cpp: Remove timer-related features.
      
              * kwq/KWQEvent.h: Remove QTimerEvent.
      
              * WebCore.xcodeproj/project.pbxproj: Updated for file changes.
              * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
      
              * platform/Timer.h: Change to use nextFireInterval rather than nextFireTime.
              More convenient and also no need to define what the epoch is. Change TimerBase
              to use a virtual function rather than a function pointer. Added setDeferringTimers
              function to ensure timers don't fire while handling an event.
              * platform/mac/Timer.cpp:
              (WebCore::timerFired): Added deferral support.
              (WebCore::fireDeferred): Added.
              (WebCore::TimerBase::TimerBase): Simplify to remove function pointer.
              (WebCore::TimerBase::~TimerBase): Put in here, no longer inline.
              (WebCore::TimerBase::start): Change to use interval.
              (WebCore::TimerBase::startRepeating): Change since we use interval now.
              (WebCore::TimerBase::startOneShot): Ditto.
              (WebCore::TimerBase::stop): Added deferral support.
              (WebCore::TimerBase::nextFireInterval): Added.
              (WebCore::TimerBase::fire): Added.
              (WebCore::isDeferringTimers): Added.
              (WebCore::setDeferringTimers): Added.
      
              * bridge/mac/MacFrame.mm:
              (WebCore::MacFrame::startRedirectionTimer): Update for change to Timer class.
              (WebCore::MacFrame::passMouseDownEventToWidget): Update to use setDeferringTimers
              instead of QObject::setDefersTimers.
      
              * khtml/ecma/kjs_window.h:
              * khtml/ecma/kjs_window.cpp:
              (KJS::DOMWindowTimer): Added. Class for JavaScript "timeout".
              (KJS::WindowQObject::parentDestroyed): Update to use DOMWindowTimer.
              (KJS::WindowQObject::installTimeout): Ditto.
              (KJS::WindowQObject::pauseTimeouts): Ditto.
              (KJS::WindowQObject::resumeTimeouts): Ditto.
              (KJS::WindowQObject::clearTimeout): Ditto.
              (KJS::WindowQObject::timerFired): Ditto.
              (KJS::DOMWindowTimer::fired): Added.
      
              * khtml/html/htmltokenizer.h:
              * khtml/html/htmltokenizer.cpp:
              (WebCore::HTMLTokenizer::HTMLTokenizer): Use Timer instead of timer ID.
              (WebCore::HTMLTokenizer::reset): Ditto.
              (WebCore::HTMLTokenizer::continueProcessing): Ditto.
              (WebCore::HTMLTokenizer::write): Ditto.
              (WebCore::HTMLTokenizer::stopParsing): Ditto.
              (WebCore::HTMLTokenizer::processingData): Ditto.
              (WebCore::HTMLTokenizer::timerFired): Ditto.
              (WebCore::HTMLTokenizer::end): Ditto.
              (WebCore::HTMLTokenizer::finish): Ditto.
      
              * khtml/xml/DocumentImpl.h:
              * khtml/xml/DocumentImpl.cpp:
              (WebCore::DocumentImpl::DocumentImpl): Updated for changes to use RefPtr
              more cases, and not use it for m_svgExtensions.
              (WebCore::DocumentImpl::~DocumentImpl): Delete m_svgExtensions instead of
              just deref'ing it since it's no longer shared.
              (WebCore::DocumentImpl::implementation): Update for RefPtr.
              (WebCore::DocumentImpl::elementSheet): Ditto.
              (WebCore::DocumentImpl::styleSheets): Ditto.
              (WebCore::DocumentImpl::recalcStyleSelector): Ditto.
              (WebCore::DocumentImpl::dispatchImageLoadEventSoon): Update to use new style timer.
              (WebCore::DocumentImpl::removeImage): Ditto.
              (WebCore::DocumentImpl::dispatchImageLoadEventsNow): Ditto.
              (WebCore::DocumentImpl::imageLoadEventTimerFired): Ditto.
              (WebCore::DocumentImpl::svgExtensions): Update for RefPtr.
              (WebCore::DocumentImpl::accessSVGExtensions): Ditto.
      
              * ksvg2/misc/KSVGTimeScheduler.h:
              (WebCore::TimeScheduler::document):
              * ksvg2/misc/KSVGTimeScheduler.cpp:
              (WebCore::SVGTimer::downcast):
              (WebCore::SVGTimer::SVGTimer):
              (WebCore::SVGTimer::start):
              (WebCore::SVGTimer::calculateTimePercentage):
              (WebCore::SVGTimer::notifyAll):
              (WebCore::SVGTimer::addNotify):
              (WebCore::SVGTimer::removeNotify):
              (WebCore::TimeScheduler::TimeScheduler):
              (WebCore::TimeScheduler::~TimeScheduler):
              (WebCore::TimeScheduler::addTimer):
              (WebCore::TimeScheduler::connectIntervalTimer):
              (WebCore::TimeScheduler::disconnectIntervalTimer):
              (WebCore::TimeScheduler::startAnimations):
              (WebCore::TimeScheduler::toggleAnimations):
              (WebCore::TimeScheduler::timerFired):
              Rework to use new timer.
      
              * ksvg2/misc/SVGDocumentExtensions.h:
              * ksvg2/misc/SVGDocumentExtensions.cpp:
              Make SVGDocumentExtensions no longer be shared, be solely owned by the document.
      
              * ksvg2/svg/SVGDocumentImpl.cpp:
              (WebCore::SVGDocumentImpl::createStyleSelector): Update for RefPtr use.
      
              * kwq/KWQSlot.cpp: Remove endLifeSupport and timerNotify slots.
      
              * page/Frame.h:
              * page/Frame.cpp:
              (WebCore::Frame::selectionLayoutChanged): Update to use new style timer.
              (WebCore::Frame::caretBlinkTimerFired): Ditto.
              * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Ditto.
      
              * page/FrameView.h:
              * page/FrameView.cpp:
              (WebCore::FrameViewPrivate::FrameViewPrivate): Update to use new style timer.
              (WebCore::FrameView::clear): Ditto.
              (WebCore::FrameView::layout): Ditto.
              (WebCore::FrameView::layoutTimerFired): Ditto.
              (WebCore::FrameView::scheduleRelayout): Ditto.
              (WebCore::FrameView::layoutPending): Ditto.
              (WebCore::FrameView::haveDelayedLayoutScheduled): Ditto.
              (WebCore::FrameView::unscheduleRelayout): Ditto.
      
              * page/ObjectContents.h: Remove unneeded includes.
      
              * rendering/render_frames.cpp: Removed include of <qtimer.h>.
      
              * rendering/render_layer.h:
              * rendering/render_layer.cpp:
              (WebCore::Marquee::Marquee): Use new style timers.
              (WebCore::Marquee::start): Ditto.
              (WebCore::Marquee::suspend): Ditto.
              (WebCore::Marquee::stop): Ditto.
              (WebCore::Marquee::updateMarqueeStyle): Ditto.
              (WebCore::Marquee::timerFired): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12515 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a52f4e12
    • bdakin's avatar
      Patch by Darin. Reviewed by Beth. · 8c1f0664
      bdakin authored
              Fix for <rdar://problem/4424126> REGRESSION(412-420+): yellow 
              highlight fails to follow cursor when mousing over star rating
              (6232)
      
              Event coordinates cannot be calculated until there is a target. 
              This patch restructures the code so that the coordinates are 
              initialized when the mouse event is created but are not calculated
              until the target is set.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12514 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c1f0664
  2. 31 Jan, 2006 25 commits
    • mjs's avatar
      LayoutTests: · eff79025
      mjs authored
              Reviewed by Darin.
      
              - test case for REGRESSION: assertion failure mousing over DHTML menus at www.worldofwarcraft.com
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6931
      
              * fast/dynamic/layer-hit-test-crash-expected.checksum: Added.
              * fast/dynamic/layer-hit-test-crash-expected.png: Added.
              * fast/dynamic/layer-hit-test-crash-expected.txt: Added.
              * fast/dynamic/layer-hit-test-crash.html: Added.
      
      WebCore:
      
              Reviewed by Darin.
      
              - fixed REGRESSION: assertion failure mousing over DHTML menus at www.worldofwarcraft.com
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6931
      
              * rendering/render_layer.cpp:
              (WebCore::RenderLayer::hitTestLayer): Iterate vectors in a way that won't break on empty ones.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12513 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eff79025
    • mjs's avatar
      Reviewed by Darin. · 62c1ad28
      mjs authored
              
              - fixed leak of hundreds of thousands of JS parser nodes on the layout tests, and added an exit counter
              that would catch them
      
              * kjs/nodes.cpp:
              (NodeCounter::~NodeCounter): Added debug-only node counter.
              (Node::Node):
              (Node::~Node):
              * kxmlcore/VectorTraits.h: Simple classes like RefPtr do in fact need destruction.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12512 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      62c1ad28
    • darin's avatar
      Reviewed by Maciej. · aa4c5ae0
      darin authored
              - added deleteAllValues for HashSet as well as HashMap
              - fixed conversion from const_iterator to iterator, which I broke a while back
      
              * kxmlcore/HashMap.h: Updated copyright date.
              * kxmlcore/HashSet.h: (KXMLCore::deleteAllValues): Added.
              * kxmlcore/HashTable.h: (KXMLCore::HashTableIterator::operator const_iterator): Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12511 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa4c5ae0
    • adele's avatar
      LayoutTests: · 1d989436
      adele authored
              - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=6862
              Input's value doesn't get updated after typing in new text field
      
              * fast/forms/input-changing-value-expected.txt: Added.
              * fast/forms/input-changing-value.html: Added.
      
      WebCore:
      
              Reviewed by Darin.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6862
              Input's value doesn't get updated after typing in new text field
      
              Added test:
              fast/forms/input-changing-value.html
      
              Added an event listener for a DOMCharacterDataModifiedEvent on the inner div.
              When we get the event, then we update the input element's value field.
      
              There may be performance problems with this approach that we will have to
              address before flipping the switch to use these new text fields.
      
              * rendering/RenderTextField.cpp:
              (WebCore::InputMutationListener::handleEvent): calls subtreeHasChanged
              (WebCore::m_mutationListener):
              (WebCore::RenderTextField::~RenderTextField): remove the event listener.
              (WebCore::RenderTextField::setStyle): Remove unnecessary setStyle on text node.  
               It should inherit style from the div already.
              (WebCore::RenderTextField::updateFromElement): add the event listener.
              (WebCore::RenderTextField::subtreeHasChanged): updates the input element's value.
              * rendering/RenderTextField.h:
              (WebCore::InputMutationListener::InputMutationListener): Added.
              (WebCore::InputMutationListener::renderTextField): Added.
              (WebCore::InputMutationListener::setInputElement): Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12510 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1d989436
    • sullivan's avatar
      Reviewed by Tim Omernick. · 9b433521
      sullivan authored
              
              - fixed <rdar://problem/4267144> REGRESSION (10.4.2): Safari pages auto-scroll too easily 
              during drag over content [5853]
              
              There were two issues here:
              (1) dragging over a non-editable webview (such as a typical Safari page) should not have
              auto-scrolled at all; the fact that it did was an uninentional side effect of making
              auto-scroll work for editable webviews a la Blot.
              (2) the speed & hot area of the auto-scroll changed between 10.4.1 and 10.4.2.
              
              I have a fix for (1), which is the much more important issue. I'll modify the bugzilla bug
              to be about the remaining issue.
      
              * WebView.subproj/WebView.m:
              (-[WebView _autoscrollForDraggingInfo:timeDelta:]):
              do nothing if not editable
              (-[WebView _shouldAutoscrollForDraggingInfo:]):
              return NO if not editable
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12509 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9b433521
    • thatcher's avatar
      LayoutTests: · f9260268
      thatcher authored
              Adding test cases for:
              http://bugzilla.opendarwin.org/show_bug.cgi?id=4959
              Bug 4959: inline style not terminated properly after <form>
      
              Updated older tests/results to work with the patch.
              Some of the tests had an open <span> with no close.
      
              * editing/deleting/delete-image-003-expected.txt:
              * editing/deleting/delete-image-003.html:
              * editing/undo/redo-typing-001-expected.txt:
              * editing/undo/redo-typing-001.html:
              * editing/undo/undo-typing-001-expected.txt:
              * editing/undo/undo-typing-001.html:
              * fast/block/float/031.html:
              * fast/parser/residual-style-span-form-expected.checksum: Added.
              * fast/parser/residual-style-span-form-expected.png: Added.
              * fast/parser/residual-style-span-form-expected.txt: Added.
              * fast/parser/residual-style-span-form.html: Added.
              * fast/text/whitespace/006-expected.txt:
      
      WebCore:
      
              Reviewed by Dave Hyatt.
              Landed by Timothy Hatcher.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=4959
              Bug 4959: inline style not terminated properly after <form>
      
              * khtml/html/htmlparser.cpp:
              (HTMLParser::isResidualStyleTag): add <span> as residual style tag
              (HTMLParser::isAffectedByResidualStyle): add <form> as tag affected by residual style
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12508 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f9260268
    • thatcher's avatar
      Adding -Wno-long-double to avoid a warning. · 897e0f7c
      thatcher authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12507 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      897e0f7c
    • sullivan's avatar
      Reviewed by Tim Omernick. · 08d0ffc8
      sullivan authored
              
              Support for programmatic scrolling one line at a time for PDFs. (We already had support for
              programmatic scrolling one page at a time, and to top/end.)
      
              * WebView.subproj/WebPDFView.m:
              (-[WebPDFView _fakeKeyEventWithFunctionKey:]):
              generalized comment
              (-[WebPDFView scrollLineDown:]):
              pass a faked arrow-down key event
              (-[WebPDFView scrollLineUp:]):
              pass a faked arrow-up key event
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12506 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      08d0ffc8
    • tomernic's avatar
      Reviewed by Geoff Garen. · cee7bda7
      tomernic authored
              * bindings/c/c_utility.cpp:
              (KJS::Bindings::convertUTF8ToUTF16):
      	Fixed an invalid assertion that UTF8Chars is not NULL.  It is valid for it to be NULL as long as
      	UTF8Length is 0.
      	This fixes an assertion failure on TOT at <http://www.musicindiaonline.com/p/x/tJO0OOBME9.As1NMvHdW/>,
      	where JavaScript is getting a NULL string back from some call on the Real Player plugin.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12505 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cee7bda7
    • vicki's avatar
      Reviewed by Geoff. · 0cde5129
      vicki authored
              - fix <rdar://problem/4426668> REGRESSION: sometimes URLs with named anchors in a
              page don't jump to proper location in document (6916). Added test cases for this
              fix and past link jumping bug fixes.
      
              * khtml/xml/ContainerNodeImpl.cpp:
              (WebCore::ContainerNodeImpl::getUpperLeftCorner): Traverse up the parent node chain
              until you find one that has a sibling.
              * manual-tests/linkjump-1.html: Added a note here - the bug for this test case is
              still broken in TOT.
              * manual-tests/linkjump-2.html: Added. Renamed scrollToAnchor.html, to group it with the
              rest of the link jumping tests.
              * manual-tests/linkjump-3.html: Added. Test case for this bug, <rdar://problem/4426668>.
              * manual-tests/linkjump-4.html: Added. Test case for past fix, <rdar://problem/4247537>.
              * manual-tests/linkjump-5.html: Added. Test case for past fix, <rdar://problem/4256060>.
              * manual-tests/scrollToAnchor.html: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0cde5129
    • harrison's avatar
      Adding test cases for: · 11b709a7
      harrison authored
              <rdar://problem/4423922> TOT REGRESSION (r12358): first iframe in pair fails to copy
              
              * editing/pasteboard/paste-empty-startcontainer-expected.png: Added.
              * editing/pasteboard/paste-empty-startcontainer-expected.checksum: Added.
              * editing/pasteboard/paste-empty-startcontainer-expected.txt: Added.
              * editing/pasteboard/paste-empty-startcontainer.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12503 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      11b709a7
    • harrison's avatar
      Reviewed by John. · 6594f263
      harrison authored
              <rdar://problem/4423922> TOT REGRESSION (r12358): first iframe in pair fails to copy
      
              Layout test added:
              * editing/pasteboard/paste-empty-startcontainer.html
              
              * khtml/xml/dom2_rangeimpl.cpp:
              (DOM::RangeImpl::startNode):
              - use empty non-textual m_startContainer itself if m_startOffset is 0, rather then nextSibling()
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12502 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6594f263
    • adele's avatar
      LayoutTests: · 9d42ae21
      adele authored
              Reviewed by Adele.
              
              - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=6942
                Assertion failure in HTMLSelectElementImpl::selectedIndex (m_multiple)
      
              * fast/forms/selected-index-assert-expected.txt: Added.
              * fast/forms/selected-index-assert.html: Added.
      
      WebCore:
      
              Test: fast/forms/selected-index-assert.html.
      
              Reviewed by Adele.
              
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6942
                Assertion failure in HTMLSelectElementImpl::selectedIndex (m_multiple)
      
              * khtml/html/HTMLSelectElementImpl.cpp:
              (WebCore::HTMLSelectElementImpl::selectedIndex): Removed bogus assert.
              -1 is the correct value to return if no option is selected.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12501 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d42ae21
    • bdakin's avatar
      Reviewed by Adele. · 9d2449d0
      bdakin authored
              Fixing build bustage. Removing include of khtml_factory.h since it 
              has been removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12500 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d2449d0
    • darin's avatar
      Reviewed by Hyatt. · 7eb95895
      darin authored
              - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=6584
                REGRESSION: button after unclosed button gives trouble
      
              * fast/forms/button-cannot-be-nested-expected.checksum: Added.
              * fast/forms/button-cannot-be-nested-expected.png: Added.
              * fast/forms/button-cannot-be-nested-expected.txt: Added.
              * fast/forms/button-cannot-be-nested.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7eb95895
    • darin's avatar
      Reviewed by Hyatt. · 3e6e2898
      darin authored
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6584
                REGRESSION: button after unclosed button gives trouble
      
              * khtml/html/htmlparser.cpp: (HTMLParser::getNode):
              Add buttonTag to error handling table to take care of unclosed tags.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12498 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3e6e2898
    • darin's avatar
      Reviewed by Darin. · fb412858
      darin authored
              
              - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=6959
                REGRESSION: Assertion failure in HTMLTokenizer::parseTag (!scriptNode) on page with ignored scripts
      
              * fast/parser/script-after-frameset-assert-expected.txt: Added.
              * fast/parser/script-after-frameset-assert.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12497 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fb412858
    • darin's avatar
      Test: fast/parser/script-after-frameset-assert.html · 7394d79e
      darin authored
              Reviewed by Darin.
              
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6959
                REGRESSION: Assertion failure in HTMLTokenizer::parseTag (!scriptNode) on page with ignored scripts
      
              * khtml/html/htmltokenizer.cpp:
              (WebCore::HTMLTokenizer::scriptHandler): Reset scriptNode to 0 if the
              script is being skipped.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7394d79e
    • darin's avatar
      Reviewed by Darin. · 2b9bd35c
      darin authored
              - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=6960
                REGRESSION: Assertion failure in table_layout.cpp:216 calcWidthArray()
      
              * fast/table/fixed-table-non-cell-in-row.html: Added.
              * fast/table/fixed-table-non-cell-in-row-expected.txt: Added.
              * fast/table/fixed-table-non-cell-in-row-expected.png: Added.
              * fast/table/fixed-table-non-cell-in-row-expected.checksum: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12495 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2b9bd35c
    • darin's avatar
      Reviewed by Darin. · c6e825c8
      darin authored
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6960
                REGRESSION: Assertion failure in table_layout.cpp:216 calcWidthArray()
      
              * rendering/table_layout.cpp: (WebCore::FixedTableLayout::calcWidthArray):
              Remove the assertion.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12494 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c6e825c8
    • andersca's avatar
      2006-01-31 Anders Carlsson <andersca@mac.com> · e08e2a9e
      andersca authored
              Reviewed by John.
      
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6964
              ImagePatterns are always rendered mirrored
              
              * khtml/ecma/kjs_html.cpp:
              (KJS::ImagePattern::createPattern):
              Don't mirror the x coordinate when creating the pattern.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e08e2a9e
    • darin's avatar
      WebCore: · ffd93c32
      darin authored
              Reviewed by Hyatt.
      
              - added a Timer class
              - used the Timer class for the redirection timer
              - moved Frame, FrameView, MacFrame, and FrameNodeTree into WebCore namespace
              - removed more KWQ
      
              * ForwardingHeaders/khtml_factory.h: Removed.
              * kwq/KWQKHTMLFactory.cpp: Removed.
              * kwq/KWQKHTMLFactory.h: Removed.
      
              * platform/Timer.h: Added.
              * platform/mac/Timer.cpp: Added.
      
              * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for added and removed files.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
      
              * page/Frame.h:
              * page/Frame.cpp:
              (WebCore::Frame::init): Remove code to set up slotRedirect.
              (WebCore::Frame::checkCompleted): Call start/stopRedirectionTimer instead of using
              the redirection timer directly.
              (WebCore::Frame::scheduleRedirection): Ditto.
              (WebCore::Frame::scheduleLocationChange): Ditto.
              (WebCore::Frame::scheduleHistoryNavigation): Ditto.
              (WebCore::Frame::cancelRedirection): Ditto.
              (WebCore::Frame::redirectionTimerFired): Renamed from slotRedirect.
              (WebCore::Frame::slotParentCompleted): More startRedirectionTimer.
              (WebCore::Frame::startRedirectionTimer): Added. Virtual bottleneck to start the
              redirection timer.
              (WebCore::Frame::stopRedirectionTimer): Added. Virtual bottleneck to stop the
              redirection timer.
      
              * page/FramePrivate.h: Changed m_redirectionTimer from a QTimer to a Timer.
      
              * bridge/mac/MacFrame.mm:
              (WebCore::MacFrame::startRedirectionTimer): Added. Avoids the need for the QTimer
              "monitor" feature that I had added a while back to implement the client-redirected
              callback.
              (WebCore::MacFrame::stopRedirectionTimer): Ditto.
      
              * kwq/KWQSlot.cpp: Removed slotRedirected.
      
              * ForwardingHeaders/ksvg2/KSVGPart.h: Removed using to put Frame into various
              namespaces (all of which are WebCore now anyway).
      
              * bindings/objc/DOMInternal.mm:
              * bridge/mac/BrowserExtensionMac.h:
              * bridge/mac/KWQKHTMLView.cpp:
              * bridge/mac/MacFrame.h:
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              * bridge/mac/WebCorePageBridge.h:
              * bridge/mac/WebCorePageBridge.mm:
              * css/cssstyleselector.cpp:
              * css/cssstyleselector.h:
              * khtml/ecma/kjs_binding.cpp:
              * khtml/ecma/kjs_binding.h:
              * khtml/ecma/kjs_navigator.cpp:
              * khtml/ecma/kjs_navigator.h:
              * khtml/ecma/kjs_proxy.h:
              * khtml/ecma/kjs_window.h:
              * khtml/editing/SelectionController.h:
              * khtml/editing/jsediting.h:
              * khtml/html/html_baseimpl.h:
              * khtml/html/html_documentimpl.cpp:
              * khtml/html/html_documentimpl.h:
              * khtml/html/html_headimpl.h:
              * khtml/html/htmlparser.h:
              * khtml/html/htmltokenizer.h:
              * khtml/xml/DOMImplementationImpl.h:
              * khtml/xml/DocumentImpl.h:
              * khtml/xml/dom2_eventsimpl.h:
              * khtml/xml/xml_tokenizer.h:
              * khtml/xsl/xslt_processorimpl.h:
              * ksvg2/svg/SVGDocumentImpl.cpp:
              * kwq/KWQClipboard.h:
              * kwq/KWQComboBox.mm:
              * kwq/KWQFileButton.h:
              * kwq/KWQFrame.mm:
              * kwq/KWQKJavaAppletWidget.h:
              * kwq/KWQListBox.mm:
              * kwq/KWQSignalStubs.cpp:
              * kwq/KWQSlider.mm:
              * kwq/KWQTextField.mm:
              * kwq/KWQWidget.mm:
              * kwq/WebCoreSettings.mm:
              * kwq/WebCoreTextRendererFactory.mm:
              * loader/DocLoader.h:
              * page/FrameTreeNode.cpp:
              * page/FrameTreeNode.h:
              * page/FrameView.cpp:
              * page/FrameView.h:
              * page/Page.cpp:
              * page/Page.h:
              * rendering/InlineTextBox.h:
              * rendering/font.cpp:
              * rendering/render_canvas.h:
              * rendering/render_frames.h:
              * rendering/render_object.h:
              * rendering/render_replaced.h:
              Updated for namespace and header changes.
      
      WebKit:
      
              Reviewed by Hyatt.
      
              * WebCoreSupport.subproj/WebFrameBridge.m:
              (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
              Updated for name change.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ffd93c32
    • mjs's avatar
      Added test case I forgot to commit earlier. · b4ce2e27
      mjs authored
              - test case for crash if a node is removed from the DOM before being reparented due to residual style
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6778
              
              * fast/parser/remove-block-in-residual-style.html: Added.
              * fast/parser/remove-block-in-residual-style-expected.checksum: Added.
              * fast/parser/remove-block-in-residual-style-expected.png: Added.
              * fast/parser/remove-block-in-residual-style-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12491 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4ce2e27
    • andersca's avatar
      2006-01-30 Anders Carlsson <andersca@mac.com> · c3aa7a54
      andersca authored
              Reviewed by Darin.
      
              Update test for http://bugzilla.opendarwin.org/show_bug.cgi?id=6907
              REGRESSION: United.com menus messed up due to document.all/MSIE sniff
              
              * fast/dom/undetectable-document-all.html:
              Test that typeof document.all is undefined.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12490 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c3aa7a54
    • andersca's avatar
      2006-01-30 Anders Carlsson <andersca@mac.com> · 36c80bdf
      andersca authored
              Reviewed by Darin.
      
              Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6907
              REGRESSION: United.com menus messed up due to document.all/MSIE sniff
              
              * kjs/nodes.cpp:
              (typeStringForValue):
              Return "undefined" if the given object should masquerade as undefined.
              
              * kjs/object.h:
              (KJS::JSObject::masqueradeAsUndefined):
              Rename from isEqualToNull.
              
              * kjs/operations.cpp:
              (KJS::equal):
              Update for name change.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12489 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      36c80bdf
  3. 30 Jan, 2006 13 commits
    • darin's avatar
      * Scripts/svn-apply: Added comments about things we should do to improve. · 75138390
      darin authored
              * Scripts/svn-create-patch: Ditto.
              * Scripts/svn-unapply: Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      75138390
    • darin's avatar
      Pointed out by Dave Kilzer. · af4a8f90
      darin authored
              - added test result I forgot to check in
      
              * fast/dom/Range/range-exceptions-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12487 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af4a8f90
    • ggaren's avatar
      Reviewed by mjs. · e02e4a26
      ggaren authored
              - Speculative fix for <rdar://problem/4135845> Crash executing 
              cross-frame script on timeout in KJS::ScheduledAction::execute
      
              If we ever get a reproducible case of 4135845, I'll add a test for it.
      
              This is a re-working of Maciej's fix for 3157014 (circa 2003!). Since
              you can't reliably predict what the state of the page will be when
              a timer fires, I've made the timer responsbile for making sure that
              everything is OK to execute.
      
              I tested @ http://www.javascriptkit.com/script/cut3.shtml with various
              combinations of reload, back, and regular navigations with JS enabled/
              disabled to ensure that the previous crash didn't return. I also ran a 
              leaks test and discovered some, but none unique to this patch. (See 
              <rdar://problem/4427420> TOT REGRESSION: Leaks seen on page with 
              JavaScript timer.)
      
              * khtml/ecma/kjs_window.cpp:
              (KJS::ScheduledAction::execute): Return early if there's no window
              object. (This happens when JavaScript is disabled.)
              (KJS::Window::retrieveWindow): Reversed a backwards ASSERT, increased
              prettiness. (The assert fired while I was testing. Not sure why we
              haven't seen it before.)
              * page/Frame.cpp:
              (Frame::didOpenURL): Returned setting of JavaScript enabled/disabled
              preference to its rightful place. This introduces a new behavior: now,
              the unload event does not fire after you've disabled JavaScript. That 
              seems like a good thing. (See <rdar://problem/4426506> Disabling 
              JavaScript should immediately end JavaScript execution.)
              (Frame::begin): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12486 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e02e4a26
    • thatcher's avatar
      Reviewed by Tim O. · 0405120e
      thatcher authored
              Add -Wno-deprecated-declarations to the compile flags for WebNetscapePluginPackage.m.
              <rdar://problem/4427068> LMGetCurApRefNum, CloseConnection and GetDiskFragment now deprecated.
              When we workaround these we can remove this compile flag.
      
              * WebKit.xcodeproj/project.pbxproj:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12482 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0405120e
    • thatcher's avatar
      Reviewed by Justin. · 5b7747c5
      thatcher authored
              Remove the only use of -[NSFont glyphPacking]. This method was deprecated in Tiger
              and always returns NSNativeShortGlyphPacking.
      
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer initWithFont:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12481 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b7747c5
    • ggaren's avatar
      Reviewed by Dave Harrison. · eb3f2b1c
      ggaren authored
              - Fixed <rdar://problem/4378159> crash in KWQKHTMLPart::userGestureHint
              from javascript enabled/disabled inconsistency when pasting webpage 
              into email or blot
      
              * page/Frame.cpp:
              (Frame::userGestureHint): Check root frame's jScript() for NULL instead
              of checking inner frame's jScript().
              
              After init() has been called on a frame, but before begin() has been 
              called, the frame can have JavaScript enabled when its parent doesn't.
              (That seems wrong, so I've filed <rdar://problem/4426499> Child frame 
              momentarily has JavaScript enabled even though parent frame doesn't.)
              
              Regardless, it's better programming practice to NULL check the actual 
              pointer you're going to use, so that's what I've done here.
      
              * manual-tests/paste-crash.html: Added.
              (No automated test because the crash depends on JavaScript being
              disabled.)
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12480 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eb3f2b1c
    • bdakin's avatar
      Layout test for <rdar://problem/4298052> Crash in · 4e966ef2
      bdakin authored
              KWQCheckIfReloading at http://www.inquisitorx.com/beta/
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12479 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e966ef2
    • bdakin's avatar
      eviewed by Geoff · 04657ced
      bdakin authored
              Fix for <rdar://problem/4298052> Crash in KWQCheckIfReloading at 
              http://www.inquisitorx.com/beta/
      
              It is possible for the DocLoader's frame to be nil when the 
              DocLoader is not nil, so we need nil checks.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12478 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      04657ced
    • eseidel's avatar
      2006-01-30 Eric Seidel <eseidel@apple.com> · 8fa3bcdb
      eseidel authored
              Add #import "KWQFontMetrics.h" to fix no-svg build.
      
              * kwq/KWQPainter.mm:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12477 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8fa3bcdb
    • darin's avatar
      LayoutTests: · 44664ebc
      darin authored
              - updated test result for rect changes
      
              * fast/box-sizing/percentage-height-expected.txt: A bunch of strange empty
              clip rects are now dumping as (0,0) 0x0.
      
      WebCore:
      
              Reviewed by Eric.
      
              - cleanup of Int/Float-Size/Point/Rect classes
      
              I did this as part of a redo of QMatrix, but I decided I should
              land this part separately.
      
              Eliminated the concept of a null rect or point, which used to be
              indicated by negative width and height.
      
              Changed right and bottom to to be, e.g., 2 for a rect at (0,0) 2x2.
              The old code followed Qt's system that says right is 1 in those cases,
              which is inappropriate for floating point, and old fashioned because
              modern graphics systems use coordinates for lines between pixels, not
              the pixels themselves.
      
              Other API improvements to the point, size, and rect classes. For example,
              functions named with verbs now always modify the object itself.
      
              * rendering/render_theme_mac.mm: (RenderThemeMac::paintButton): Fixed
              a bug where it said x() where it should say y().
      
              * bridge/mac/MacFrame.h:
              * bridge/mac/MacFrame.mm:
              * bridge/mac/WebCoreFrameBridge.mm:
              * kcanvas/KCanvasContainer.cpp:
              * kcanvas/KCanvasItem.cpp:
              * kcanvas/RenderSVGImage.cpp:
              * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
              * kcanvas/device/quartz/KCanvasItemQuartz.mm:
              * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
              * khtml/ecma/kjs_dom.cpp:
              * khtml/ecma/kjs_window.cpp:
              * khtml/editing/SelectionController.cpp:
              * khtml/html/html_inlineimpl.cpp:
              * khtml/html/html_objectimpl.cpp:
              * khtml/html/html_objectimpl.h:
              * khtml/misc/khtmllayout.h:
              * ksvg2/svg/SVGSVGElementImpl.cpp:
              * kwq/KWQAccObject.mm:
              * kwq/KWQComboBox.mm:
              * kwq/KWQFileButton.mm:
              * kwq/KWQFontMetrics.mm:
              * kwq/KWQPainter.h:
              * kwq/KWQPainter.mm:
              * kwq/KWQRegion.cpp:
              * kwq/KWQRenderTreeDebug.cpp:
              * kwq/KWQScrollView.mm:
              * kwq/KWQWMatrix.cpp:
              * kwq/KWQWidget.h:
              * kwq/KWQWidget.mm:
              * kwq/KWQWindowWidget.mm:
              * loader/CachedImage.cpp:
              * page/Frame.cpp:
              * page/FrameView.cpp:
              * platform/FloatPoint.cpp:
              * platform/FloatPoint.h:
              * platform/FloatRect.cpp:
              * platform/FloatRect.h:
              * platform/FloatSize.cpp:
              * platform/FloatSize.h:
              * platform/Image.h:
              * platform/IntPoint.cpp:
              * platform/IntPoint.h:
              * platform/IntPointArray.cpp:
              * platform/IntPointArray.h:
              * platform/IntRect.cpp:
              * platform/IntRect.h:
              * platform/IntSize.cpp:
              * platform/IntSize.h:
              * platform/mac/FloatPoint.mm:
              * platform/mac/FloatRect.mm:
              * platform/mac/FloatSize.mm:
              * platform/mac/Image.mm:
              * platform/mac/IntPoint.mm:
              * platform/mac/IntRect.mm:
              * platform/mac/IntSize.mm:
              * platform/mac/Screen.mm:
              * rendering/InlineTextBox.cpp:
              * rendering/RenderBlock.cpp:
              * rendering/RenderBlock.h:
              * rendering/RenderTable.cpp:
              * rendering/RenderTableCell.cpp:
              * rendering/RenderText.cpp:
              * rendering/render_box.cpp:
              * rendering/render_canvas.cpp:
              * rendering/render_canvasimage.cpp:
              * rendering/render_flow.cpp:
              * rendering/render_form.cpp:
              * rendering/render_frames.cpp:
              * rendering/render_layer.cpp:
              * rendering/render_line.cpp:
              * rendering/render_list.cpp:
              * rendering/render_object.cpp:
              * rendering/render_object.h:
              * rendering/render_replaced.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12476 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      44664ebc
    • mjs's avatar
      Reviewed by Darin. · d8c22af3
      mjs authored
              - Remove QSortedList and QPtrList sorting support
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6929
      
              * WebCore.xcodeproj/project.pbxproj:
              * kcanvas/device/KRenderingPaintServerGradient.cpp:
              (operator<<): Implement for Vector<KCGradientStop>
              (KRenderingPaintServerGradient::gradientStops): Use a Vector, not a subclass of
              QPtrList that sorts on every insert
              (compareStopOffset): Comparison function for sorting.
              (KRenderingPaintServerGradient::setGradientStops): Add a version that takes a Vector which sorts,
              and another which knows how to copy from another gradient paint server.
              * kcanvas/device/KRenderingPaintServerGradient.h:
              (makeGradientStop): Make a gradient stop pair.
              * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
              (KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz): use delete
              on stops cache
              (KRenderingPaintServerGradientQuartz::updateQuartzGradientStopsCache): adapt to Vector
              * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
              * khtml/editing/visible_text.cpp:
              (khtml::compareBoxStart): Comparison function for sorting.
              (khtml::TextIterator::handleTextNode): Use Vector and std::sort instead of QSortedList
              for sorting. Keep current position as an index.
              (khtml::TextIterator::handleTextBox): Adapt for Vector use.
              * khtml/editing/visible_text.h:
              * ksvg2/svg/SVGGradientElementImpl.cpp:
              (SVGGradientElementImpl::rebuildStops): Use a Vector. Instead of modifying the existing one,
              make a fresh one and assign it.
              * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
              (SVGLinearGradientElementImpl::buildGradient): don't copy item by item, just assign directly.
              * ksvg2/svg/SVGRadialGradientElementImpl.cpp:
              (SVGRadialGradientElementImpl::buildGradient): ditto
              * ksvg2/svg/SVGStopElementImpl.h:
              * kwq/KWQListImpl.cpp:
              * kwq/KWQPtrList.h:
              (QPtrList::sort): Removed.
              * kwq/KWQSortedList.h: Removed.
              * rendering/InlineTextBox.h: Remove now unneeded operator< and operator=
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12475 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d8c22af3
    • darin's avatar
      Reviewed by Maciej. · 5630e07f
      darin authored
              - killed more KWQ, KWinModule and QVariant
      
              * ForwardingHeaders/kwinmodule.h: Removed.
              * ForwardingHeaders/qvariant.h: Removed.
      
              * kwq/KWQKWinModule.h: Removed.
              * kwq/KWQKWinModule.mm: Removed.
              * kwq/KWQVariant.cpp: Removed.
              * kwq/KWQVariant.h: Removed.
      
              * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removal.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
      
              * khtml/ecma/kjs_binding.h:
              * khtml/ecma/kjs_binding.cpp: Remove QVariant stuff.
      
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
              * khtml/ecma/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent):
              * khtml/ecma/kjs_proxy.h:
              * khtml/ecma/kjs_proxy.cpp: (WebCore::KJSProxyImpl::evaluate):
              * page/Frame.h:
              * page/Frame.cpp:
              (getString):
              (Frame::replaceContentsWithScriptResult):
              (Frame::executeScript):
              (Frame::executeScheduledScript):
              (Frame::changeLocation):
              (Frame::urlSelected):
              (Frame::submitForm):
              Changed to use JSValue instead of QVariant for result of executing JavaScript.
      
              * kwq/KWQObject.h: Removed a bunch of unneeded includes and forward declarations.
      
              * bridge/mac/MacFrame.mm:
              * khtml/ecma/kjs_window.h:
              * khtml/ecma/kjs_window.cpp:
              * khtml/html/html_inlineimpl.cpp:
              * khtml/html/htmltokenizer.cpp:
              * khtml/xml/DocumentImpl.cpp:
              * khtml/xml/NodeImpl.cpp:
              * khtml/xml/dom2_eventsimpl.cpp:
              * khtml/xml/xml_tokenizer.cpp:
              * kwq/KWQComboBox.mm:
              * kwq/KWQFileButton.mm:
              * kwq/KWQListBox.mm:
              * kwq/KWQObject.cpp:
              * kwq/KWQSlider.mm:
              * kwq/KWQTextArea.mm:
              * kwq/KWQTextField.mm:
              * loader/CachedImage.h:
              * page/FrameView.h:
              * page/FrameView.cpp:
              * rendering/render_form.cpp:
              Updated includes, since KWQObject.h now includes less.
              Also updated callers to executeScript since one overload was removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12474 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5630e07f
    • mjs's avatar
      Reviewed by Darin. · 32e61d94
      mjs authored
              
              - properly define Vector assignment operator; the private version was accidentally left
              in, and the template version is not enough to replace the default
      
              * kxmlcore/Vector.h:
              (KXMLCore::Vector::operator=):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12473 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      32e61d94