1. 17 Oct, 2008 3 commits
    • mjs@apple.com's avatar
      2008-10-17 Maciej Stachowiak <mjs@apple.com> · 0d68a330
      mjs@apple.com authored
              Reviewed by Cameron Zwarich.
              
              - Avoid restoring the caller's 'r' value in op_ret
              https://bugs.webkit.org/show_bug.cgi?id=21319
      
              This patch stops writing the call frame at call and return points;
              instead it does so immediately before any CTI call.
              
              0.5% speedup or so on the v8 benchmark
                     
              * VM/CTI.cpp:
              (JSC::CTI::emitCTICall):
              (JSC::CTI::compileOpCall):
              (JSC::CTI::emitSlowScriptCheck):
              (JSC::CTI::compileBinaryArithOpSlowCase):
              (JSC::CTI::privateCompileMainPass):
              (JSC::CTI::privateCompileSlowCases):
              (JSC::CTI::privateCompile):
              * VM/CTI.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0d68a330
    • ap@webkit.org's avatar
      Reviewed by Sam Weinig. · 2114abd5
      ap@webkit.org authored
              https://bugs.webkit.org/show_bug.cgi?id=21642
              Abstract out active object tracking
      
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::markActiveObjectsForDocument):
              * dom/ActiveDOMObject.cpp: Added.
              (WebCore::ActiveDOMObject::ActiveDOMObject):
              (WebCore::ActiveDOMObject::~ActiveDOMObject):
              (WebCore::ActiveDOMObject::contextDestroyed):
              (WebCore::ActiveDOMObject::stop):
              * dom/ActiveDOMObject.h: Added.
              (WebCore::ActiveDOMObject::document):
              (WebCore::ActiveDOMObject::hasPendingActivity):
              (WebCore::ActiveDOMObject::setPendingActivity):
              (WebCore::ActiveDOMObject::unsetPendingActivity):
              * dom/Document.cpp:
              (WebCore::Document::~Document):
              (WebCore::Document::stopActiveDOMObjects):
              (WebCore::Document::createdActiveDOMObject):
              (WebCore::Document::destroyedActiveDOMObject):
              * dom/Document.h:
              (WebCore::Document::activeDOMObjects):
              * dom/MessagePort.cpp:
              (WebCore::MessagePort::contextDestroyed):
              * dom/MessagePort.h:
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::stopLoading):
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::XMLHttpRequest):
              (WebCore::XMLHttpRequest::~XMLHttpRequest):
              (WebCore::XMLHttpRequest::associatedFrame):
              (WebCore::XMLHttpRequest::responseXML):
              (WebCore::XMLHttpRequest::callReadyStateChangeListener):
              (WebCore::XMLHttpRequest::initSend):
              (WebCore::XMLHttpRequest::send):
              (WebCore::XMLHttpRequest::createRequest):
              (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
              (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
              (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
              (WebCore::XMLHttpRequest::loadRequestSynchronously):
              (WebCore::XMLHttpRequest::loadRequestAsynchronously):
              (WebCore::XMLHttpRequest::dropProtection):
              (WebCore::XMLHttpRequest::setRequestHeader):
              (WebCore::XMLHttpRequest::processSyncLoadResults):
              (WebCore::XMLHttpRequest::didFinishLoading):
              (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
              (WebCore::XMLHttpRequest::willSendRequest):
              (WebCore::XMLHttpRequest::accessControlCheck):
              (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
              (WebCore::XMLHttpRequest::stop):
              (WebCore::XMLHttpRequest::contextDestroyed):
              * xml/XMLHttpRequest.h:
              Move activity tracking to a new ActiveDOMObject class.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37649 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2114abd5
    • cwzwarich@webkit.org's avatar
      2008-10-17 Cameron Zwarich <zwarich@apple.com> · efaea23b
      cwzwarich@webkit.org authored
              Reviewed by Sam Weinig.
      
              Make WREC require CTI because it won't actually compile otherwise.
      
              * wtf/Platform.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37648 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      efaea23b
  2. 16 Oct, 2008 18 commits
    • mjs@apple.com's avatar
      2008-10-16 Maciej Stachowiak <mjs@apple.com> · 2ac7a457
      mjs@apple.com authored
              Reviewed by Geoff Garen.
      
              - fixed <rdar://problem/5806316> JavaScriptCore should not force building with gcc 4.0
              - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
      
              This time there is no performance regression; we can avoid having
              to use the fastcall calling convention for CTI functions by using
              varargs to prevent the compiler from moving things around on the
              stack.
              
              * Configurations/DebugRelease.xcconfig:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * VM/CTI.cpp:
              * VM/Machine.h:
              * wtf/Platform.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2ac7a457
    • mjs@apple.com's avatar
      2008-10-16 Maciej Stachowiak <mjs@apple.com> · e470558e
      mjs@apple.com authored
              Reviewed by Oliver Hunt.
      
              - fix for REGRESSION: r37631 causing crashes on buildbot
              https://bugs.webkit.org/show_bug.cgi?id=21682
              
              * kjs/collector.cpp:
              (JSC::Heap::collect): Avoid crashing when a GC occurs while no global objects are live.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e470558e
    • weinig@apple.com's avatar
      2008-10-16 Sam Weinig <sam@webkit.org> · b420579a
      weinig@apple.com authored
              Reviewed by Maciej Stachowiak.
      
              Fix for https://bugs.webkit.org/show_bug.cgi?id=21683
              Don't create intermediate StructureIDs for builtin objects
      
              First step in reduce number of StructureIDs created when initializing the
              JSGlobalObject.
      
              - In order to avoid creating the intermediate StructureIDs use the new putDirectWithoutTransition
                and putDirectFunctionWithoutTransition to add properties to JSObjects without transitioning
                the StructureID.  This patch just implements this strategy for ObjectPrototype but alone
                reduces the number of StructureIDs create for about:blank by 10, from 142 to 132.
      
              * kjs/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::reset):
              * kjs/JSObject.cpp:
              (JSC::JSObject::putDirectFunctionWithoutTransition):
              * kjs/JSObject.h:
              (JSC::JSObject::putDirectWithoutTransition):
              * kjs/ObjectPrototype.cpp:
              (JSC::ObjectPrototype::ObjectPrototype):
              * kjs/ObjectPrototype.h:
              * kjs/StructureID.cpp:
              (JSC::StructureID::addPropertyWithoutTransition):
              * kjs/StructureID.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37645 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b420579a
    • hyatt@apple.com's avatar
      2008-10-16 David Hyatt <hyatt@apple.com> · d4925584
      hyatt@apple.com authored
              Simplify styleForRenderer to avoid confusion.  Callers in the SVG filter code thought "forRenderer" meant
              they would be given a style that corresponded to the RenderObject* passed in.  This is not what the code
              did though.  This patch removes the renderer argument and the Element subclass shadow implementation
              so that confusion like this can't occur again.
      
              Reviewed by Oliver Hunt
      
              * dom/Element.cpp:
              * dom/Element.h:
              * dom/Node.cpp:
              (WebCore::Node::createRendererIfNeeded):
              (WebCore::Node::styleForRenderer):
              * dom/Node.h:
              * html/HTMLOptGroupElement.cpp:
              (WebCore::HTMLOptGroupElement::attach):
              * html/HTMLOptionElement.cpp:
              (WebCore::HTMLOptionElement::attach):
              * svg/SVGClipPathElement.cpp:
              (WebCore::SVGClipPathElement::canvasResource):
              * svg/SVGFEDiffuseLightingElement.cpp:
              (WebCore::SVGFEDiffuseLightingElement::build):
              * svg/SVGFEFloodElement.cpp:
              (WebCore::SVGFEFloodElement::build):
              * svg/SVGFESpecularLightingElement.cpp:
              (WebCore::SVGFESpecularLightingElement::build):
              * svg/SVGGradientElement.cpp:
              (WebCore::SVGGradientElement::buildStops):
              * svg/SVGUseElement.cpp:
              (WebCore::SVGUseElement::attachShadowTree):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d4925584
    • hyatt@apple.com's avatar
      79e4dd90
    • hyatt@apple.com's avatar
      Fix Qt bustage. Why are filters on in Qt? · 305b6974
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      305b6974
    • hyatt@apple.com's avatar
      Fix Qt bustage. Why are filters on in Qt? · f31fdfa5
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37641 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f31fdfa5
    • hyatt@apple.com's avatar
      Fix Qt bustage. Why are filters on in Qt? · 18be176b
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      18be176b
    • hyatt@apple.com's avatar
      Fix Qt bustage. Why are filters on in Qt? · 71e8ba9d
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      71e8ba9d
    • hyatt@apple.com's avatar
      Fix Qt bustage. Why are filters on in Qt? · 03b6bf04
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      03b6bf04
    • hyatt@apple.com's avatar
      2008-10-16 David Hyatt <hyatt@apple.com> · dec0cbf2
      hyatt@apple.com authored
              https://bugs.webkit.org/attachment.cgi?bugid=21647
      
              Make RenderStyle inherit from RefCounted so that it works with RefPtr.  RenderStyle was being malloced
              out of the RenderArena.  Years and years ago (before TCMalloc), the plan was to make RenderStyles and
              all their associated sub-structs use the arena.  However only the RenderStyle itself was ever changed
              to use the arena.
      
              At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
              as the bulk of the styles on a given page are actually shared.  Not ever making the sub-structs use the
              arena also limited the usefulness.
      
              Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
              mallocs, there is no reason to keep RenderStyles in the arena.  The benefits of being able to eliminate
              manual ref/deref far outweigh keeping them in the arena.
      
              Reviewed by Adam Roben
      
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::CSSStyleSelector):
              (WebCore::CSSStyleSelector::~CSSStyleSelector):
              (WebCore::CSSStyleSelector::styleForElement):
              (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
              (WebCore::CSSStyleSelector::pseudoStyleForElement):
              These methods now return a PassRefPtr.  They will null out the m_style variable as they hand it back
              so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
      
              (WebCore::CSSStyleSelector::updateFont):
              (WebCore::CSSStyleSelector::checkSelector):
              (WebCore::CSSStyleSelector::applyProperty):
              (WebCore::CSSStyleSelector::mapFillSize):
              (WebCore::CSSStyleSelector::mapFillXPosition):
              (WebCore::CSSStyleSelector::mapFillYPosition):
              * css/CSSStyleSelector.h:
              (WebCore::CSSStyleSelector::style):
              * dom/Document.cpp:
              (WebCore::Document::recalcStyle):
              * dom/Element.cpp:
              (WebCore::Element::styleForRenderer):
              (WebCore::Element::recalcStyle):
              (WebCore::Element::computedStyle):
              * dom/Element.h:
              * dom/ElementRareData.h:
              (WebCore::ElementRareData::ElementRareData):
              (WebCore::ElementRareData::resetComputedStyle):
              * dom/Node.cpp:
              (WebCore::Node::diff):
              (WebCore::Node::createRendererIfNeeded):
              (WebCore::Node::styleForRenderer):
              (WebCore::Node::setRenderStyle):
              * dom/Node.h:
              * html/CanvasRenderingContext2D.cpp:
              (WebCore::CanvasRenderingContext2D::setFont):
              * html/HTMLOptGroupElement.cpp:
              (WebCore::HTMLOptGroupElement::attach):
              (WebCore::HTMLOptGroupElement::detach):
              (WebCore::HTMLOptGroupElement::setRenderStyle):
              (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
              * html/HTMLOptGroupElement.h:
              * html/HTMLOptionElement.cpp:
              (WebCore::HTMLOptionElement::attach):
              (WebCore::HTMLOptionElement::detach):
              (WebCore::HTMLOptionElement::setRenderStyle):
              (WebCore::HTMLOptionElement::nonRendererRenderStyle):
              * html/HTMLOptionElement.h:
              * page/animation/AnimationBase.h:
              (WebCore::AnimationBase::animate):
              * page/animation/AnimationController.cpp:
              (WebCore::AnimationController::updateAnimations):
              * page/animation/AnimationController.h:
              * page/animation/CompositeAnimation.cpp:
              (WebCore::CompositeAnimationPrivate::updateTransitions):
              (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
              (WebCore::CompositeAnimationPrivate::animate):
              (WebCore::CompositeAnimation::animate):
              * page/animation/CompositeAnimation.h:
              * page/animation/ImplicitAnimation.cpp:
              (WebCore::ImplicitAnimation::ImplicitAnimation):
              (WebCore::ImplicitAnimation::~ImplicitAnimation):
              (WebCore::ImplicitAnimation::animate):
              (WebCore::ImplicitAnimation::reset):
              (WebCore::ImplicitAnimation::isTargetPropertyEqual):
              (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
              * page/animation/ImplicitAnimation.h:
              (WebCore::ImplicitAnimation::create):
              * page/animation/KeyframeAnimation.cpp:
              (WebCore::KeyframeAnimation::KeyframeAnimation):
              (WebCore::KeyframeAnimation::~KeyframeAnimation):
              (WebCore::KeyframeAnimation::animate):
              (WebCore::KeyframeAnimation::validateTransformFunctionList):
              * page/animation/KeyframeAnimation.h:
              (WebCore::KeyframeAnimation::create):
              (WebCore::KeyframeAnimation::unanimatedStyle):
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paint):
              * rendering/MediaControlElements.cpp:
              (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
              (WebCore::MediaControlInputElement::MediaControlInputElement):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::styleDidChange):
              (WebCore::RenderBlock::updateFirstLetter):
              * rendering/RenderContainer.cpp:
              (WebCore::RenderContainer::addChild):
              (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
              * rendering/RenderFileUploadControl.cpp:
              (WebCore::RenderFileUploadControl::updateFromElement):
              (WebCore::RenderFileUploadControl::createButtonStyle):
              * rendering/RenderFileUploadControl.h:
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::createAnonymousFlow):
              * rendering/RenderFlow.h:
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::addChildToFlow):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::updateScrollCornerStyle):
              (WebCore::RenderLayer::updateResizerStyle):
              (WebCore::RenderLayer::updateReflectionStyle):
              * rendering/RenderListItem.cpp:
              (WebCore::RenderListItem::styleDidChange):
              * rendering/RenderMedia.cpp:
              (WebCore::RenderMedia::createPanel):
              (WebCore::RenderMedia::createTimeDisplay):
              (WebCore::RenderMedia::changeOpacity):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::selectionBackgroundColor):
              (WebCore::RenderObject::selectionForegroundColor):
              (WebCore::RenderObject::createAnonymousBlock):
              (WebCore::RenderObject::setAnimatableStyle):
              (WebCore::RenderObject::setStyle):
              (WebCore::RenderObject::setStyleInternal):
              (WebCore::RenderObject::arenaDelete):
              (WebCore::RenderObject::firstLineStyle):
              (WebCore::RenderObject::getPseudoStyle):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::style):
              * rendering/RenderSVGBlock.cpp:
              (WebCore::RenderSVGBlock::setStyle):
              * rendering/RenderSVGBlock.h:
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
              (WebCore::RenderScrollbar::updateScrollbarPart):
              * rendering/RenderScrollbar.h:
              * rendering/RenderSlider.cpp:
              (WebCore::RenderSlider::styleDidChange):
              (WebCore::RenderSlider::createThumbStyle):
              (WebCore::RenderSlider::updateFromElement):
              * rendering/RenderSlider.h:
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::addChild):
              * rendering/RenderTableRow.cpp:
              (WebCore::RenderTableRow::addChild):
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::addChild):
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::styleDidChange):
              (WebCore::RenderTextControl::createInnerBlockStyle):
              (WebCore::RenderTextControl::createInnerTextStyle):
              (WebCore::RenderTextControl::createResultsButtonStyle):
              (WebCore::RenderTextControl::createCancelButtonStyle):
              (WebCore::RenderTextControl::createSubtreeIfNeeded):
              (WebCore::RenderTextControl::updatePlaceholderVisibility):
              * rendering/RenderTextControl.h:
              * rendering/TextControlInnerElements.cpp:
              (WebCore::TextControlInnerElement::attachInnerElement):
              * rendering/TextControlInnerElements.h:
              * rendering/style/KeyframeList.cpp:
              (WebCore::KeyframeList::clear):
              (WebCore::KeyframeList::operator==):
              (WebCore::KeyframeList::insert):
              * rendering/style/KeyframeList.h:
              (WebCore::KeyframeValue::KeyframeValue):
              (WebCore::KeyframeValue::~KeyframeValue):
              (WebCore::KeyframeValue::key):
              (WebCore::KeyframeValue::style):
              * rendering/style/RenderStyle.cpp:
              (WebCore::defaultStyle):
              (WebCore::RenderStyle::create):
              (WebCore::RenderStyle::createDefaultStyle):
              (WebCore::RenderStyle::clone):
              (WebCore::RenderStyle::RenderStyle):
              (WebCore::RenderStyle::getCachedPseudoStyle):
              (WebCore::RenderStyle::addCachedPseudoStyle):
              * rendering/style/RenderStyle.h:
              (WebCore::):
              (WebCore::InheritedFlags::operator!=):
              * svg/SVGClipPathElement.cpp:
              (WebCore::SVGClipPathElement::canvasResource):
              * svg/SVGGradientElement.cpp:
              (WebCore::SVGGradientElement::buildStops):
              * svg/SVGStyledElement.cpp:
              (WebCore::SVGStyledElement::resolveStyle):
              * svg/SVGStyledElement.h:
              * svg/SVGUseElement.cpp:
              (WebCore::SVGUseElement::recalcStyle):
              (WebCore::SVGUseElement::attachShadowTree):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dec0cbf2
    • andersca@apple.com's avatar
      2008-10-16 Kenneth Russell <kenneth.russell@sun.com> · 2c7cec41
      andersca@apple.com authored
              Reviewed and landed by Anders Carlsson.
      
              https://bugs.webkit.org/show_bug.cgi?id=21587
              NPN_PluginThreadAsyncCall does not work properly
              
              * plugins/PluginMainThreadScheduler.cpp:
              (WebCore::PluginMainThreadScheduler::dispatchCalls):
              Make sure to set m_callPending to false once the queue has been cleared.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2c7cec41
    • jmalonzo@webkit.org's avatar
      2008-10-16 Jan Michael Alonzo <jmalonzo@webkit.org> · ae35121d
      jmalonzo@webkit.org authored
              Gtk build fix. Not reviewed.
      
              * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
              (LayoutTestController::setSmartInsertDeleteEnabled):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ae35121d
    • jchaffraix@webkit.org's avatar
      2008-10-16 Julien Chaffraix <jchaffraix@pleyo.com> · 34c03886
      jchaffraix@webkit.org authored
              Rubber-stamped by Alexey Proskuryakov.
      
              Remove duplicated code in this test.
      
              * http/tests/xmlhttprequest/xmlhttprequest-post-crash.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37634 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      34c03886
    • darin@apple.com's avatar
      WebKitTools: · 2e940225
      darin@apple.com authored
      2008-10-15  Glenn Wilson  <gwilson@google.com>
      
              Added new method to allow tests to disable smart editing in the course of a test.
              This is a possible solution to bug .20655
      
              Reviewed by Tim Hatcher.
      
              * DumpRenderTree/LayoutTestController.cpp:
              (setSmartInsertDeleteEnabledCallback): new method
              (LayoutTestController::staticFunctions): added new method to static list of callbacks
              * DumpRenderTree/LayoutTestController.h: added signature of new method
              * DumpRenderTree/mac/DumpRenderTree.mm:
              (resetWebViewToConsistentStateBeforeTesting): added state resetting
              * DumpRenderTree/mac/LayoutTestControllerMac.mm:
              (LayoutTestController::setSmartInsertDeleteEnabled): added new method
              * DumpRenderTree/win/DumpRenderTree.cpp:
              (resetWebViewToConsistentStateBeforeTesting): added state resetting
              * DumpRenderTree/win/LayoutTestControllerWin.cpp:
              (LayoutTestController::setSmartInsertDeleteEnabled): added new method
      
      LayoutTests:
      
      2008-10-15  Glenn Wilson  <gwilson@google.com>
      
              Added tests to verify that smart editing can be disabled for some tests.
      
              Reviewed by Tim Hatcher.
      
              * editing/deleting/smart-editing-disabled-expected.txt: Added.
              * editing/deleting/smart-editing-disabled.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37633 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e940225
    • mjs@apple.com's avatar
      2008-10-16 Maciej Stachowiak <mjs@apple.com> · 389fb965
      mjs@apple.com authored
              Reviewed by Cameron Zwarich.
              
              - fix for: REGRESSION: over 100 StructureIDs leak loading about:blank (result of fix for bug 21633)
              
              Apparent slight progression (< 0.5%) on v8 benchmarks and SunSpider.
      
              * kjs/StructureID.cpp:
              (JSC::StructureID::~StructureID): Don't deref this object's parent's pointer to
              itself from the destructor; that doesn't even make sense.
              (JSC::StructureID::addPropertyTransition): Don't refer the single transition;
              the rule is that parent StructureIDs are ref'd but child ones are not. Refing
              the child creates a cycle.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      389fb965
    • ap@webkit.org's avatar
      Reviewed by Darin Adler. · a89bd1e2
      ap@webkit.org authored
              https://bugs.webkit.org/show_bug.cgi?id=21609
              Make MessagePorts protect their peers across heaps
      
      JavaScriptCore:
              * JavaScriptCore.exp:
              * kjs/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::markCrossHeapDependentObjects):
              * kjs/JSGlobalObject.h:
              * kjs/collector.cpp:
              (JSC::Heap::collect):
              Before GC sweep phase, a function supplied by global object is now called for all global
              objects in the heap, making it possible to implement cross-heap dependencies.
      
      WebCore:
              * dom/MessagePort.cpp:
              (WebCore::MessagePort::MessagePort):
              * dom/MessagePort.h:
              (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible):
              (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible):
              Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this
              means that the implementation object knows about JS bindings - but it is not possible to
              access JS wrappers from another heap/thread.
      
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::markCrossHeapDependentObjectsForDocument):
              * bindings/js/JSDOMBinding.h:
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
              * bindings/js/JSDOMWindowBase.h:
              Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object
              hasn't been marked normally, it is marked as inaccessible. It is then marked manually,
              as long as its entangled port is accessible itself.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a89bd1e2
    • ap@webkit.org's avatar
      Reviewed by Darin Adler. · 7acc29ce
      ap@webkit.org authored
              https://bugs.webkit.org/show_bug.cgi?id=21610
              run-webkit-threads --threaded crashes in StructureID destructor
      
              * kjs/StructureID.cpp:
              (JSC::StructureID::StructureID):
              (JSC::StructureID::~StructureID):
              Protect access to a static (debug-only) HashSet with a lock.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37630 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7acc29ce
  3. 15 Oct, 2008 19 commits
    • weinig@apple.com's avatar
      2008-10-15 Sam Weinig <sam@webkit.org> · 7b219677
      weinig@apple.com authored
              Reviewed by Goeffrey Garen.
      
              Add function to dump statistics for StructureIDs.
      
              * kjs/StructureID.cpp:
              (JSC::StructureID::dumpStatistics):
              (JSC::StructureID::StructureID):
              (JSC::StructureID::~StructureID):
              * kjs/StructureID.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7b219677
    • jhoneycutt@apple.com's avatar
      2008-10-15 Jon Honeycutt <jhoneycutt@apple.com> · 2edeb807
      jhoneycutt@apple.com authored
              Remove unneeded check of whether a Page defers loading before running it
              in a modal dialog.
      
              No test possible.
      
              Reviewed by Tim Hatcher.
      
              * page/Chrome.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37628 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2edeb807
    • cwzwarich@webkit.org's avatar
      2008-10-15 Cameron Zwarich <zwarich@apple.com> · 2a7c7ef2
      cwzwarich@webkit.org authored
              Reviewed by Maciej Stachowiak.
      
              Bug 21633: Avoid using a HashMap when there is only a single transition
              <https://bugs.webkit.org/show_bug.cgi?id=21633>
      
              This is a 0.8% speedup on SunSpider and between a 0.5% and 1.0% speedup
              on the V8 benchmark suite, depending on which harness we use. It will
              also slightly reduce the memory footprint of a StructureID.
      
              * kjs/StructureID.cpp:
              (JSC::StructureID::StructureID):
              (JSC::StructureID::~StructureID):
              (JSC::StructureID::addPropertyTransition):
              * kjs/StructureID.h:
              (JSC::StructureID::):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37627 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2a7c7ef2
    • mrowe@apple.com's avatar
      Fix a leak of a CFStringRef reported by the build bot. · 35b0f0eb
      mrowe@apple.com authored
      Reviewed by Jon Honeycutt.
      
      * Plugins/WebBaseNetscapePluginView.mm:
      (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): Use a autoreleased
      NSString rather than manually releasing a CFStringRef when we're done with it.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37626 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      35b0f0eb
    • ggaren@apple.com's avatar
      2008-10-15 Csaba Osztrogonac <oszi@inf.u-szeged.hu> · d13a3b64
      ggaren@apple.com authored
              Reviewed by Geoffrey Garen.
      
              1.40% speedup on SunSpider, 1.44% speedup on V8. (Linux)
              
              No change on Mac.
      
              * VM/Machine.cpp:
              (JSC::fastIsNumber): ALWAYS_INLINE modifier added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37625 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d13a3b64
    • andersca@apple.com's avatar
      2008-10-15 Kenneth Russell <kenneth.russell@sun.com> · 089de61a
      andersca@apple.com authored
              Reviewed and landed by Anders Carlsson.
      
              https://bugs.webkit.org/show_bug.cgi?id=21572
              
              Initialize pluginFunc.size to the correct size before calling NP_GetEntryPoints.
              
              * Plugins/WebNetscapePluginPackage.m:
              (-[WebNetscapePluginPackage load]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37624 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      089de61a
    • mrowe@apple.com's avatar
      <rdar://problem/6272508> Crash occurs after loading flash content at http://www.macrumors.com/ · 44da9185
      mrowe@apple.com authored
      Restore some code related to the CoreGraphics drawing model that was misplaced in r37131.
      
      Reviewed by Dan Bernstein.
      
      * Plugins/WebBaseNetscapePluginView.mm:
      (-[WebBaseNetscapePluginView invalidateRegion:]):
      (-[WebBaseNetscapePluginView setVariable:value:]):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37623 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      44da9185
    • ggaren@apple.com's avatar
      JavaScriptCore: · 9f98034f
      ggaren@apple.com authored
      2008-10-15  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
              Start the debugger without reloading the inspected page
      
              * JavaScriptCore.exp: New symbols.
              * JavaScriptCore.xcodeproj/project.pbxproj: New files.
      
              * VM/CodeBlock.h:
              (JSC::EvalCodeCache::get): Updated for tweak to parsing API.
      
              * kjs/CollectorHeapIterator.h: Added. An iterator for the object heap,
              which we use to find all the live functions and recompile them.
      
              * kjs/DebuggerCallFrame.cpp:
              (JSC::DebuggerCallFrame::evaluate): Updated for tweak to parsing API.
      
              * kjs/FunctionConstructor.cpp:
              (JSC::constructFunction): Updated for tweak to parsing API.
      
              * kjs/JSFunction.cpp:
              (JSC::JSFunction::JSFunction): Try to validate our SourceCode in debug
              builds by ASSERTing that it's syntactically valid. This doesn't catch
              all SourceCode bugs, but it catches a lot of them.
      
              * kjs/JSGlobalObjectFunctions.cpp:
              (JSC::globalFuncEval): Updated for tweak to parsing API.
      
              * kjs/Parser.cpp:
              (JSC::Parser::parse):
              * kjs/Parser.h:
              (JSC::Parser::parse): Tweaked the parser to make it possible to parse
              without an ExecState, and to allow the client to specify a debugger to
              notify (or not) about the source we parse. This allows the inspector
              to recompile even though no JavaScript is executing, then notify the
              debugger about all source code when it's done.
      
              * kjs/Shell.cpp:
              (prettyPrintScript): Updated for tweak to parsing API.
      
              * kjs/SourceRange.h:
              (JSC::SourceCode::isNull): Added to help with ASSERTs.
      
              * kjs/collector.cpp:
              (JSC::Heap::heapAllocate):
              (JSC::Heap::sweep):
              (JSC::Heap::primaryHeapBegin):
              (JSC::Heap::primaryHeapEnd):
              * kjs/collector.h:
              (JSC::): Moved a bunch of declarations around to enable compilation of
              CollectorHeapIterator.
      
              * kjs/interpreter.cpp:
              (JSC::Interpreter::checkSyntax):
              (JSC::Interpreter::evaluate): Updated for tweak to parsing API.
      
              * kjs/lexer.h:
              (JSC::Lexer::sourceCode): BUG FIX: Calculate SourceCode ranges relative
              to the SourceCode range in which we're lexing, otherwise nested functions
              that are compiled individually get SourceCode ranges that don't reflect
              their nesting.
      
              * kjs/nodes.cpp:
              (JSC::FunctionBodyNode::FunctionBodyNode):
              (JSC::FunctionBodyNode::finishParsing):
              (JSC::FunctionBodyNode::create):
              (JSC::FunctionBodyNode::copyParameters):
              * kjs/nodes.h:
              (JSC::ScopeNode::setSource):
              (JSC::FunctionBodyNode::parameterCount): Added some helper functions for
              copying one FunctionBodyNode's parameters to another. The recompiler uses
              these when calling "finishParsing".
      
      WebCore:
      
      2008-10-15  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
              Start the debugger without reloading the inspected page
      
              * WebCore.base.exp: New symbols.
      
              * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
              * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
              * WebCore.xcodeproj/project.pbxproj: New forwarding headers.
      
              * inspector/InspectorController.cpp:
              (WebCore::InspectorController::setWindowVisible):
              (WebCore::InspectorController::windowScriptObjectAvailable):
              (WebCore::InspectorController::startDebugging):
              * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage
              to startDebugging, and changed its behavior to match.
      
              * inspector/JavaScriptDebugListener.h:
              * inspector/JavaScriptDebugServer.cpp:
              (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
              (WebCore::JavaScriptDebugServer::addListener):
              (WebCore::JavaScriptDebugServer::removeListener):
              (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
              (WebCore::JavaScriptDebugServer::willAddFirstListener):
              (WebCore::JavaScriptDebugServer::didRemoveLastListener):
              * inspector/JavaScriptDebugServer.h: Refactored the
              JavaScriptDebugServer to centralize handling of adding the first listener
              and removing the last. Then, added a feature to recompile all JS functions
              in these cases. This allows us to dynamically add and remove hooks like
              the debugger hooks without reloading the page.
      
              * inspector/front-end/ScriptsPanel.js:
              * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage =>
              startDebugging rename. Removed all UI that claimed that starting the
              debugger would reload the page.
      
      WebKit/mac:
      
      2008-10-15  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
              Start the debugger without reloading the inspected page
      
              * WebInspector/WebInspector.mm:
              (-[WebInspector startDebuggingJavaScript:]): Updated for rename.
      
      WebKit/win:
      
      2008-10-15  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
              Start the debugger without reloading the inspected page
      
              * WebInspector.cpp:
              (WebInspector::toggleDebuggingJavaScript): Updated for rename.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9f98034f
    • zecke@webkit.org's avatar
      2008-10-15 Holger Hans Peter Freyther <zecke@selfish.org> · c588fe7b
      zecke@webkit.org authored
              Build fix attempt.
      
              Try to fix static/non-static declaration of g_string_append_uri_escape
              by renaming that string. Another look needs to be taken.
      
              * platform/gtk/guriescape.c:
              (_webcore_g_string_append_uri_escaped):
              (_webcore_g_uri_escape_string):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37621 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c588fe7b
    • adele@apple.com's avatar
      2008-10-15 Adele Peterson <adele@apple.com> · 40c5052b
      adele@apple.com authored
              Attempt to fix the Tiger build.
      
              * platform/network/mac/ResourceHandleMac.mm:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      40c5052b
    • zecke@webkit.org's avatar
      Build fix for Cairo after changes to BitmapeImage.h · aa1e764f
      zecke@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37619 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa1e764f
    • zecke@webkit.org's avatar
      2008-10-15 Jeff Cook <cookiecaper@gmail.com> · 34a153a1
      zecke@webkit.org authored
              Reviewed by Holger Freyther.
      
              Stop SIGSEGV when leaving a page with a Flash object by reordering
              window destruction and plugin stop.
      
              See https://bugs.webkit.org/show_bug.cgi?id=20779
      
              * plugins/gtk/PluginViewGtk.cpp:
              (WebCore::PluginView::stop):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37618 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      34a153a1
    • mrowe@apple.com's avatar
      <rdar://problem/5803460> A file named StringsNotToBeLocalized.txt file is... · 06f376c9
      mrowe@apple.com authored
      <rdar://problem/5803460> A file named StringsNotToBeLocalized.txt file is installed Webkit.framework/Resources.
      
      Rubber-stamped by Brady Eidson.
      
      * WebKit.xcodeproj/project.pbxproj: Don't install StringsNotToBeLocalized.txt.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      06f376c9
    • adele@apple.com's avatar
      2008-10-15 Adele Peterson <adele@apple.com> · 555df92c
      adele@apple.com authored
              Reviewed by Sam Weinig.
      
              Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist. 
      
              * platform/network/ResourceHandle.h:
              * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
              * platform/network/mac/ResourceHandleMac.mm:
              (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
              (WebCore::ResourceHandle::start):
              (WebCore::ResourceHandle::cancel):
              (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
              (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
              (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
              (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      555df92c
    • pkasting@chromium.org's avatar
      2008-10-15 Peter Kasting <pkasting@google.com> · af85ed24
      pkasting@chromium.org authored
              Reviewed by David Hyatt.
      
              Qt build bustage fix.
      
              * platform/graphics/qt/StillImageQt.h:
              (WebCore::StillImage::destroyDecodedData):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af85ed24
    • hyatt@apple.com's avatar
      2008-10-15 David Hyatt <hyatt@apple.com> · 8907c88b
      hyatt@apple.com authored
              Make sure scrollbar styles get deleted if they aren't assigned to a renderer.
      
              Reviewed by Mark Rowe
      
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
              (WebCore::RenderScrollbar::updateScrollbarPart):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37614 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8907c88b
    • zecke@webkit.org's avatar
      2008-10-15 Marco Barisione <marco.barisione@collabora.co.uk> · bc692f7d
      zecke@webkit.org authored
              Reviewed by Holger Freyther.
      
              http://bugs.webkit.org/show_bug.cgi?id=21211
              [CURL] Upload doesn't work because cancel is called
      
              FormDataStream::read returns 0 when retrieving data from the form
              fails, but also when there is no more data to send. This means that
              ResourceHandleManager::cancel is always called even when the data was
              successfully sent.
      
              Check if there are more elements in the form before calling
              FormDataStream::read.
      
              * platform/network/curl/FormDataStreamCurl.cpp:
              (WebCore::FormDataStream::hasMoreElements):
              * platform/network/curl/FormDataStreamCurl.h:
              * platform/network/curl/ResourceHandleManager.cpp:
              (WebCore::readCallback):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bc692f7d
    • pkasting@chromium.org's avatar
      2008-10-15 Peter Kasting <pkasting@google.com> · e8a5a6b7
      pkasting@chromium.org authored
              Reviewed by David Hyatt.
      
              https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
              Account for paint and timer lag when animating images.  Also pretend
              that images whose animations were paused (by becoming invisible)
              continued to animate, by "catching up" to the correct frame when they're
              shown again.
      
              * platform/graphics/BitmapImage.cpp:
              (WebCore::BitmapImage::BitmapImage):
              (WebCore::BitmapImage::destroyDecodedData):
              (WebCore::BitmapImage::cacheFrame):
              (WebCore::BitmapImage::frameIsCompleteAtIndex):
              (WebCore::BitmapImage::frameDurationAtIndex):
              (WebCore::BitmapImage::frameHasAlphaAtIndex):
              (WebCore::BitmapImage::repetitionCount):
              (WebCore::BitmapImage::shouldAnimate):
              (WebCore::BitmapImage::startAnimation):
              (WebCore::BitmapImage::resetAnimation):
              (WebCore::BitmapImage::advanceAnimation):
              (WebCore::BitmapImage::internalAdvanceAnimation):
              (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
              * platform/graphics/BitmapImage.h:
              (WebCore::FrameData::FrameData):
              (WebCore::BitmapImage::):
              * platform/graphics/GeneratedImage.h:
              (WebCore::GeneratedImage::destroyDecodedData):
              * platform/graphics/Image.h:
              * platform/graphics/cairo/ImageCairo.cpp:
              (WebCore::FrameData::clear):
              (WebCore::BitmapImage::BitmapImage):
              (WebCore::BitmapImage::draw):
              * platform/graphics/cg/ImageCG.cpp:
              (WebCore::FrameData::clear):
              (WebCore::BitmapImage::BitmapImage):
              (WebCore::BitmapImage::draw):
              * platform/graphics/cg/PDFDocumentImage.h:
              (WebCore::PDFDocumentImage::destroyDecodedData):
              * platform/graphics/qt/ImageQt.cpp:
              (WebCore::FrameData::clear):
              (WebCore::BitmapImage::draw):
              * platform/graphics/wx/ImageWx.cpp:
              (WebCore::FrameData::clear):
              (WebCore::BitmapImage::draw):
              * svg/graphics/SVGImage.h:
              (WebCore::SVGImage::destroyDecodedData):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e8a5a6b7
    • bdakin@apple.com's avatar
      WebCore: · cf22dbac
      bdakin@apple.com authored
      2008-10-14  Maxime Britto  <britto@apple.com>
      
              Reviewed by Darin Adler, tweaked and landed by Beth.
      
              * WebCore.base.exp: Exposes two functions to be able to create a 
              selection from a point on the screen. Also exposes the new 
              TextIterator::currentNode function.
              * WebCore/editing/TextIterator.cpp:
              (TextIterator::currentNode) : New function that returns the current 
              text node or NULL if there is no text node.
      
      WebKit:
      
      2008-10-14  Maxime Britto  <britto@apple.com>
      
              Reviewed by Darin Adler.
      
              * WebKit.xcodeproj/project.pbxproj: Added two files for the 
              WebTextIterator, and made the WebTextIterator.h private
      
      WebKit/mac:
      
      2008-10-14  Maxime Britto  <britto@apple.com>
      
              Reviewed by Darin Adler.
      
              Added SPI to use WebCore's TextIterator with WebKit.
      
              * WebView/WebTextIterator.h: Added.
              * WebView/WebTextIterator.mm: Added.
              (-[WebTextIteratorPrivate dealloc]):
              (-[WebTextIterator dealloc]):
              (-[WebTextIterator initWithRange:]): Creates a TextIterator 
              instance
              (-[WebTextIterator advance]): Asks the iterator to advance() .
              (-[WebTextIterator currentNode]): Returns the current DOMNode from 
              the iterator
              (-[WebTextIterator currentText]): Returns the current text from the 
              iterator
              (-[WebTextIterator atEnd]): Indicated whether the iterator has 
              reached the end of the range.
              * WebView/WebView.h:
              * WebView/WebView.mm:
              (-[WebView textIteratorForRect:]): Returns a WebTextIterator with 
              the DOMRange contained in the rectangle given as a parameter.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cf22dbac