1. 07 Jun, 2008 1 commit
    • darin@apple.com's avatar
      WebCore: · 642f5008
      darin@apple.com authored
      2008-06-07  Darin Adler  <darin@apple.com>
      
              Reviewed by Mitz.
      
              - work on https://bugs.webkit.org/show_bug.cgi?id=17257
                start ref counts at 1 instead of 0 for speed
      
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              (WebCore::toHTMLCanvasStyle):
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
              (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
              * bindings/js/JSNodeFilterCondition.h:
              (WebCore::JSNodeFilterCondition::create):
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::toNodeFilter):
              * bindings/js/JSSVGLazyEventListener.h:
              (WebCore::JSSVGLazyEventListener::create):
              * bindings/js/JSSVGMatrixCustom.cpp:
              (WebCore::JSSVGMatrix::multiply):
              (WebCore::JSSVGMatrix::inverse):
              (WebCore::JSSVGMatrix::translate):
              (WebCore::JSSVGMatrix::scale):
              (WebCore::JSSVGMatrix::scaleNonUniform):
              (WebCore::JSSVGMatrix::rotate):
              (WebCore::JSSVGMatrix::rotateFromVector):
              (WebCore::JSSVGMatrix::flipX):
              (WebCore::JSSVGMatrix::flipY):
              (WebCore::JSSVGMatrix::skewX):
              (WebCore::JSSVGMatrix::skewY):
              * bindings/js/JSSVGPODTypeWrapper.h:
              (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::create):
              (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::JSSVGPODTypeWrapperCreatorReadWrite):
              (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::create):
              (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::JSSVGPODTypeWrapperCreatorReadOnly):
              (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
              (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
              (WebCore::JSSVGPODTypeWrapperCache::lookupOrCreateWrapper):
              (WebCore::JSSVGPODTypeWrapperCache::forgetWrapper):
              * bindings/js/JSSVGPointListCustom.cpp:
              (WebCore::commonExit):
              (WebCore::commonExitReadOnly):
              (WebCore::JSSVGPointList::initialize):
              (WebCore::JSSVGPointList::getItem):
              (WebCore::JSSVGPointList::insertItemBefore):
              (WebCore::JSSVGPointList::replaceItem):
              (WebCore::JSSVGPointList::removeItem):
              (WebCore::JSSVGPointList::appendItem):
              * bindings/js/JSSVGTransformListCustom.cpp:
              (WebCore::JSSVGTransformList::initialize):
              (WebCore::JSSVGTransformList::getItem):
              (WebCore::JSSVGTransformList::insertItemBefore):
              (WebCore::JSSVGTransformList::replaceItem):
              (WebCore::JSSVGTransformList::removeItem):
              (WebCore::JSSVGTransformList::appendItem):
              * bindings/js/kjs_binding.cpp:
              (WebCore::setDOMException):
              * bindings/js/kjs_events.h:
              (WebCore::JSUnprotectedEventListener::create):
              (WebCore::JSEventListener::create):
              (WebCore::JSLazyEventListener::create):
              * bindings/js/kjs_proxy.cpp:
              (WebCore::KJSProxy::createHTMLEventHandler):
              (WebCore::KJSProxy::createSVGEventHandler):
              * bindings/objc/DOM.mm:
              (WebCore::ObjCNodeFilterCondition::create):
              (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition):
              (WebCore::ObjCNodeFilterCondition::acceptNode):
              (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
              (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
              * bindings/scripts/CodeGeneratorJS.pm:
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::valueForNinePieceImage):
              (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
              * css/CSSFontFace.h:
              (WebCore::CSSFontFace::create):
              (WebCore::CSSFontFace::CSSFontFace):
              * css/CSSFontSelector.cpp:
              (WebCore::CSSFontSelector::addFontFaceRule):
              * css/CSSParser.cpp:
              (WebCore::CSSParser::parseDashboardRegions):
              (WebCore::CSSParser::parseCounterContent):
              (WebCore::CSSParser::parseShape):
              (WebCore::BorderImageParseContext::commitBorderImage):
              * css/CSSSegmentedFontFace.cpp:
              (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
              * css/CSSSegmentedFontFace.h:
              (WebCore::CSSSegmentedFontFace::create):
              * css/Counter.h:
              (WebCore::Counter::create):
              (WebCore::Counter::Counter):
              * css/DashboardRegion.h:
              (WebCore::DashboardRegion::create):
              (WebCore::DashboardRegion::DashboardRegion):
              * css/Rect.h:
              (WebCore::Rect::create):
              (WebCore::Rect::Rect):
              * dom/ChildNodeList.h:
              (WebCore::ChildNodeList::create):
              * dom/ClassNodeList.h:
              (WebCore::ClassNodeList::create):
              * dom/Clipboard.h:
              * dom/DOMCoreException.h:
              (WebCore::DOMCoreException::create):
              * dom/DOMImplementation.cpp:
              (WebCore::DOMImplementation::instance):
              * dom/DOMImplementation.h:
              (WebCore::DOMImplementation::DOMImplementation):
              * dom/Document.cpp:
              (WebCore::Document::addWindowEventListener):
              (WebCore::Document::removeWindowEventListener):
              (WebCore::Document::setDecoder):
              (WebCore::Document::images):
              (WebCore::Document::applets):
              (WebCore::Document::embeds):
              (WebCore::Document::plugins):
              (WebCore::Document::objects):
              (WebCore::Document::scripts):
              (WebCore::Document::links):
              (WebCore::Document::forms):
              (WebCore::Document::anchors):
              (WebCore::Document::all):
              (WebCore::Document::windowNamedItems):
              (WebCore::Document::documentNamedItems):
              * dom/Document.h:
              * dom/DynamicNodeList.h:
              * dom/EventException.h:
              (WebCore::EventException::create):
              (WebCore::EventException::EventException):
              * dom/EventListener.h:
              * dom/EventTarget.cpp:
              (WebCore::EventTarget::addEventListener):
              (WebCore::EventTarget::removeEventListener):
              * dom/ExceptionBase.cpp:
              (WebCore::ExceptionBase::ExceptionBase):
              * dom/ExceptionBase.h:
              * dom/NameNodeList.h:
              (WebCore::NameNodeList::create):
              * dom/Node.cpp:
              (WebCore::Node::childNodes):
              (WebCore::Node::getElementsByTagNameNS):
              (WebCore::Node::getElementsByName):
              (WebCore::Node::getElementsByClassName):
              (WebCore::Node::querySelectorAll):
              * dom/NodeFilterCondition.h:
              * dom/NodeList.h:
              * dom/RangeException.h:
              (WebCore::RangeException::create):
              (WebCore::RangeException::RangeException):
              * dom/RegisteredEventListener.h:
              (WebCore::RegisteredEventListener::create):
              * dom/SelectorNodeList.cpp:
              (WebCore::createSelectorNodeList):
              * dom/SelectorNodeList.h:
              * dom/StaticNodeList.cpp:
              (WebCore::StaticNodeList::StaticNodeList):
              * dom/StaticNodeList.h:
              (WebCore::StaticNodeList::adopt):
              * dom/TagNodeList.h:
              (WebCore::TagNodeList::create):
              * history/HistoryItem.cpp:
              (WebCore::defaultNotifyHistoryItemChanged):
              (WebCore::HistoryItem::HistoryItem):
              (WebCore::HistoryItem::copy):
              * history/HistoryItem.h:
              (WebCore::HistoryItem::create):
              * html/CanvasGradient.h:
              * html/CanvasPattern.cpp:
              (WebCore::CanvasPattern::CanvasPattern):
              * html/CanvasPattern.h:
              (WebCore::CanvasPattern::create):
              * html/CanvasRenderingContext2D.cpp:
              (WebCore::CanvasRenderingContext2D::State::State):
              (WebCore::CanvasRenderingContext2D::setStrokeColor):
              (WebCore::CanvasRenderingContext2D::setFillColor):
              (WebCore::CanvasRenderingContext2D::createPattern):
              * html/CanvasStyle.cpp:
              (WebCore::CanvasStyle::CanvasStyle):
              * html/CanvasStyle.h:
              (WebCore::CanvasStyle::create):
              * html/HTMLCollection.cpp:
              (WebCore::HTMLCollection::HTMLCollection):
              (WebCore::HTMLCollection::create):
              * html/HTMLCollection.h:
              * html/HTMLElement.cpp:
              (WebCore::HTMLElement::children):
              * html/HTMLFormCollection.cpp:
              (WebCore::HTMLFormCollection::create):
              * html/HTMLFormCollection.h:
              * html/HTMLFormElement.cpp:
              (WebCore::HTMLFormElement::elements):
              * html/HTMLMapElement.cpp:
              (WebCore::HTMLMapElement::areas):
              * html/HTMLMediaElement.cpp:
              (WebCore::HTMLMediaElement::load):
              (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
              (WebCore::HTMLMediaElement::willSaveToCache):
              * html/HTMLNameCollection.h:
              (WebCore::HTMLNameCollection::create):
              * html/HTMLOptionsCollection.cpp:
              (WebCore::HTMLOptionsCollection::create):
              * html/HTMLOptionsCollection.h:
              * html/HTMLSelectElement.cpp:
              (WebCore::HTMLSelectElement::options):
              * html/HTMLTableElement.cpp:
              (WebCore::HTMLTableElement::rows):
              (WebCore::HTMLTableElement::tBodies):
              * html/HTMLTableRowElement.cpp:
              (WebCore::HTMLTableRowElement::cells):
              * html/HTMLTableRowsCollection.cpp:
              (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
              (WebCore::HTMLTableRowsCollection::create):
              * html/HTMLTableRowsCollection.h:
              * html/HTMLTableSectionElement.cpp:
              (WebCore::HTMLTableSectionElement::rows):
              * html/MediaError.h:
              (WebCore::MediaError::create):
              (WebCore::MediaError::MediaError):
              * loader/CachedCSSStyleSheet.cpp:
              (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
              * loader/CachedFont.cpp:
              (WebCore::CachedFont::ensureSVGFontData):
              * loader/CachedXSLStyleSheet.cpp:
              (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::write):
              (WebCore::FrameLoader::createHistoryItem):
              * loader/ImageDocument.cpp:
              (WebCore::ImageEventListener::create):
              (WebCore::ImageEventListener::ImageEventListener):
              (WebCore::ImageDocument::createDocumentStructure):
              * loader/TextResourceDecoder.h:
              (WebCore::TextResourceDecoder::create):
              * page/Page.cpp:
              (WebCore::Page::userStyleSheet):
              * svg/SVGException.h:
              (WebCore::SVGException::create):
              (WebCore::SVGException::SVGException):
              * svg/animation/SVGSMILElement.cpp:
              (WebCore::ConditionEventListener::create):
              (WebCore::ConditionEventListener::ConditionEventListener):
              (WebCore::SVGSMILElement::connectConditions):
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::didReceiveData):
              * xml/XMLHttpRequestException.h:
              (WebCore::XMLHttpRequestException::create):
              (WebCore::XMLHttpRequestException::XMLHttpRequestException):
              * xml/XPathException.h:
              (WebCore::XPathException::create):
              (WebCore::XPathException::XPathException):
              * xml/XPathResult.cpp:
              (WebCore::InvalidatingEventListener::create):
              (WebCore::InvalidatingEventListener::InvalidatingEventListener):
              (WebCore::XPathResult::XPathResult):
              * xml/XSLTProcessor.cpp:
              (WebCore::XSLTProcessor::createDocumentFromSource):
      
      WebKit/mac:
      
      2008-06-07  Darin Adler  <darin@apple.com>
      
              Reviewed by Mitz.
      
              - work on https://bugs.webkit.org/show_bug.cgi?id=17257
                start ref counts at 1 instead of 0 for speed
      
              * History/WebHistoryItem.mm:
              (-[WebHistoryItem init]):
              (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
              (-[WebHistoryItem initWithURL:target:parent:title:]):
              (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]):
              * WebView/WebView.mm:
              (+[WebView _decodeData:]):
      
      WebKit/win:
      
      2008-06-07  Darin Adler  <darin@apple.com>
      
              Reviewed by Mitz.
      
              - work on https://bugs.webkit.org/show_bug.cgi?id=17257
                start ref counts at 1 instead of 0 for speed
      
              * WebHistoryItem.cpp:
              (WebHistoryItem::createInstance):
              (WebHistoryItem::initFromDictionaryRepresentation):
              (WebHistoryItem::initWithURLString):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      642f5008
  2. 08 Feb, 2008 1 commit
    • darin@apple.com's avatar
      WebCore: · e4f9a66d
      darin@apple.com authored
              Reviewed by Eric.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=3492
                TreeWalker implementation needs to be fixed (affects Acid3)
              - fix http://bugs.webkit.org/show_bug.cgi?id=4714
                NodeIterator does not handle exceptions from the filter function (affects Acid3)
              - fix http://bugs.webkit.org/show_bug.cgi?id=4716
                NodeIterator will crash if the filter function removes the current node from the document
      
              Test: traversal/exception-forwarding.html
      
              This turned into a near-rewrite of NodeIterator and TreeWalker.
      
              * bindings/js/JSNodeFilterCondition.h:
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::takeException): Added.
              (WebCore::JSNodeFilterCondition::acceptNode): Added an out parameter to return
              a JavaScript exception.
      
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::JSNodeFilter::acceptNode): Wrote a custom binding for this that raises
              a JavaScript exception if the out parameter is set.
      
              * bindings/js/JSNodeIteratorCustom.cpp:
              (WebCore::JSNodeIterator::nextNode): Wrote a custom binding for this that raises
              a JavaScript exception if the out parameter is set.
              (WebCore::JSNodeIterator::previousNode): Ditto.
      
              * bindings/js/JSTreeWalkerCustom.cpp:
              (WebCore::JSTreeWalker::parentNode): Wrote a custom binding for this that raises
              a JavaScript exception if the out parameter is set.
              (WebCore::JSTreeWalker::firstChild): Ditto.
              (WebCore::JSTreeWalker::lastChild): Ditto.
              (WebCore::JSTreeWalker::nextSibling): Ditto.
              (WebCore::JSTreeWalker::previousSibling): Ditto.
              (WebCore::JSTreeWalker::previousNode): Ditto.
              (WebCore::JSTreeWalker::nextNode): Ditto.
      
              * bindings/objc/DOM.mm:
              (WebCore::ObjCNodeFilterCondition::acceptNode): Updated to include new exception
              out parameter.
              (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
              Use RefPtr to make object lifetimes clearer.
              (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
              Ditto.
      
              * bindings/scripts/CodeGeneratorJS.pm: Added include of NodeFilter.h for
              JSDocument.cpp.
      
              * dom/Document.h:
              * dom/Document.cpp:
              (WebCore::Document::createNodeIterator): Changed to use PassRefPtr.
              (WebCore::Document::createTreeWalker): Ditto.
      
              * dom/NodeFilter.h:
              * dom/NodeFilter.cpp:
              (WebCore::NodeFilter::NodeFilter): Changed to use PassRefPtr.
              (WebCore::NodeFilter::acceptNode): Added an out parameter to return
              a JavaScript exception.
              * dom/NodeFilter.idl: Custom binding for acceptNode.
      
              * dom/NodeFilterCondition.h:
              * dom/NodeFilterCondition.cpp:
              (WebCore::NodeFilterCondition::acceptNode): Added an out parameter to return
              a JavaScript exception.
      
              * dom/NodeIterator.cpp:
              (WebCore::NodeIterator::NodeIterator): Changed to use PassRefPtr more.
              Eliminated m_doc, using the root node instead, and unnecessary check for
              null -- rootNode must be non-null and all nodes have a non-null document.
              (WebCore::NodeIterator::~NodeIterator): Changed to get document from root.
              (WebCore::NodeIterator::nextNode): Rewrote to use a RefPtr since the
              acceptNode function could do anything, including removing the last
              reference to the current node. Also folded findNextNode into this function
              since it's the only one that needs to call it.
              (WebCore::NodeIterator::previousNode): Same thing, but the other direction.
              (WebCore::NodeIterator::detach): Changed to use the root node as the indication
              that we're detached rather than a separate boolean.
              (WebCore::NodeIterator::notifyBeforeNodeRemoval): Removed some unnneeded
              checks. Removed incorrect use of findNextNode/findPreviousNode -- those
              functions call acceptNode and the DOM standard is quite clear that these
              functions do not take that into account, allowing the current node to become
              one that's not accepted.
      
              * dom/NodeIterator.h: Changed constructor to use PassRefPtr more. Changed
              nextNode and previousNode to have an out parameter with a JavaScript exception.
              Removed helper functions setReferenceNode, setPointerBeforeReferenceNode,
              detached, setDetached, document, findNextNode, and findPreviousNode. All were
              unnecessary. Removed data member m_doc which was just rootNode()->document().
      
              * dom/NodeIterator.idl: Custom binding for nextNode and previousNode.
      
              * dom/Traversal.cpp:
              (WebCore::Traversal::Traversal): Use PassRefPtr more.
              (WebCore::Traversal::acceptNode): Added out parameter for JavaScript exception.
              Also rearranged the function a little bit for clarity.
      
              * dom/Traversal.h: Changed acceptNode to have an out parameter with a JavaScript
              exception and made it protected, since it's only for use by the derived classes.
      
              * dom/TreeWalker.cpp:
              (WebCore::TreeWalker::TreeWalker): Updated to use PassRefPtr.
              (WebCore::TreeWalker::setCurrentNode): Updated to use PassRefPtr and deleted
              the overloaded version since it's not needed.
              (WebCore::TreeWalker::parentNode): Rewrote to propagate the exception and also
              to implement rules about when to check things like whether we're in the tree.
              The previous fix where we called isDescendantOf was not entirely correct, because
              the specification allows you to walk outside the tree if you get there somehow.
              What it doesn't allow is walking outside the tree from inside. The new
              implementation handles this correctly.
              (WebCore::TreeWalker::firstChild): Ditto.
              (WebCore::TreeWalker::lastChild): Ditto.
              (WebCore::TreeWalker::previousSibling): Ditto.
              (WebCore::TreeWalker::nextSibling): Ditto.
              (WebCore::TreeWalker::previousNode): Ditto. Because of the need to check the
              acceptNode function on parents, this can't use traversePreviousNode (more's the
              pity, because it's a bit complicated).
              (WebCore::TreeWalker::nextNode): Ditto.
      
              * dom/TreeWalker.h: Changed constructor and setCurrentNode to use PassRefPtr
              more. Changed the navigation functions to have an out parameter with a JavaScript
              exception. Removed helper functions setCurrentNode and ancestorRejected.
      
              * dom/TreeWalker.idl: Custom binding for navigation functions.
      
      LayoutTests:
      
              Reviewed by Eric.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=4714
                NodeIterator does not handle exceptions from the filter function (affects Acid3)
      
              - grabbed NodeIterator and TreeWalker tests from Hixie's site and KHTML
      
              * traversal/exception-forwarding-expected.txt: Added.
              * traversal/exception-forwarding.html: Added.
              * traversal/resources: Added.
              * traversal/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
              * traversal/resources/exception-forwarding.js: Added.
      
              * traversal/node-iterator-001-expected.txt: Updated to reflect correct results.
              The old results reflected a bug in our NodeIterator.
              * traversal/node-iterator-001.html: Ditto.
      
              * traversal/node-iterator-006.html: Changed test so there's no whitespace node after
              the <span> elements inside the test root element (a <div>). The old test results were
              incorrect; the new NodeIterator implementation correctly returned the whitespace node
              for this test.
      
              * traversal/node-iterator-006a.html: Copied from traversal/node-iterator-006.html.
              Preserve the original test, which now has a strange result. But the result is correct,
              so it's worth keeping around.
              * traversal/node-iterator-006a-expected.txt: Added.
      
              * fast/dom/TreeWalker/TreeWalker-currentNode-expected.txt: Regenerated.
              * fast/dom/TreeWalker/resources/TreeWalker-currentNode.js: Updated test to expect results
              that match the DOM specification.
      
              * traversal/hixie-node-iterator/001-expected.txt: Added.
              * traversal/hixie-node-iterator/001.xml: Added.
              * traversal/hixie-node-iterator/002-expected.txt: Added.
              * traversal/hixie-node-iterator/002.xml: Added.
              * traversal/hixie-node-iterator/003-expected.txt: Added.
              * traversal/hixie-node-iterator/003.xml: Added.
              * traversal/hixie-node-iterator/004-expected.txt: Added.
              * traversal/hixie-node-iterator/004.xml: Added.
              * traversal/hixie-node-iterator/005-expected.txt: Added.
              * traversal/hixie-node-iterator/005.xml: Added.
              * traversal/hixie-node-iterator/006-expected.txt: Added.
              * traversal/hixie-node-iterator/006.xml: Added.
              * traversal/hixie-node-iterator/007-expected.txt: Added.
              * traversal/hixie-node-iterator/007.xml: Added.
              * traversal/hixie-node-iterator/008-expected.txt: Added.
              * traversal/hixie-node-iterator/008.xml: Added.
              * traversal/hixie-node-iterator/009-expected.txt: Added.
              * traversal/hixie-node-iterator/009.xml: Added.
              * traversal/hixie-node-iterator/010-expected.txt: Added.
              * traversal/hixie-node-iterator/010.xml: Added.
              * traversal/hixie-node-iterator/origin.txt: Added.
      
              * traversal/tree-walker-filter-1-expected.txt: Added.
              * traversal/tree-walker-filter-1.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30089 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e4f9a66d
  3. 28 Nov, 2007 2 commits
    • mrowe@apple.com's avatar
      Roll out r28106 and r28108. These introduced a frequent assertion failure on... · 397036ad
      mrowe@apple.com authored
      Roll out r28106 and r28108.  These introduced a frequent assertion failure on page load and broke all non-Mac builds.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28110 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      397036ad
    • mjs@apple.com's avatar
      JavaScriptCore: · d342e879
      mjs@apple.com authored
              Reviewed by Darin and Geoff.
      
              - Fixed "Stack overflow crash in JavaScript garbage collector mark pass"
              http://bugs.webkit.org/show_bug.cgi?id=12216
              
              Implement mark stack. This version is not suitable for prime time because it makes a
              huge allocation on every collect, and potentially makes marking of detached subtrees
              slow. But it is an 0.4% SunSpider speedup even without much tweaking.
              
              The basic approach is to replace mark() methods with
              markChildren(MarkStack&) methods. Reachable references are pushed
              onto a mark stack (which encapsulates ignoring already-marked
              references). 
              
              Objects are no longer responsible for actually setting their own
              mark bits, the collector does that. This means that for objects on
              the number heap we don't have to call markChildren() at all since
              we know there aren't any.
              
              The mark phase of collect pushes roots onto the mark stack
              and drains it as often as possible.
              
              To make this approach viable requires a constant-size mark stack
              and a slow fallback approach for when the stack size is exceeded,
              plus optimizations to make the required stack small in common
              cases. This should be doable.
      
              * JavaScriptCore.exp: Export new symbols.
              * JavaScriptCore.xcodeproj/project.pbxproj: Add new file.
              * kjs/collector.cpp:
              (KJS::Collector::heapAllocate):
              (KJS::drainMarkStack): Helper for all of the below.
              (KJS::Collector::markStackObjectsConservatively): Use mark stack.
              (KJS::Collector::markCurrentThreadConservatively): ditto
              (KJS::Collector::markOtherThreadConservatively): ditto
              (KJS::Collector::markProtectedObjects): ditto
              (KJS::Collector::markMainThreadOnlyObjects): ditto
              (KJS::Collector::collect): ditto
              * kjs/collector.h:
              (KJS::Collector::cellMayHaveRefs): Helper for MarkStack.
      
              * kjs/MarkStack.h: Added. The actual mark stack implementation.
              (KJS::MarkStack::push):
              (KJS::MarkStack::pushAtom):
              (KJS::MarkStack::pop):
              (KJS::MarkStack::isEmpty):
              (KJS::MarkStack::reserveCapacity):
      
              Changed mark() methods to markChildren() methods:
              
              * kjs/ExecState.cpp:
              (KJS::ExecState::markChildren):
              * kjs/ExecState.h:
              * kjs/JSWrapperObject.cpp:
              (KJS::JSWrapperObject::markChildren):
              * kjs/JSWrapperObject.h:
              * kjs/array_instance.cpp:
              (KJS::ArrayInstance::markChildren):
              * kjs/array_instance.h:
              * kjs/bool_object.cpp:
              (BooleanInstance::markChildren):
              * kjs/bool_object.h:
              * kjs/error_object.cpp:
              * kjs/error_object.h:
              * kjs/function.cpp:
              (KJS::FunctionImp::markChildren):
              (KJS::Arguments::Arguments):
              (KJS::Arguments::markChildren):
              (KJS::ActivationImp::markChildren):
              * kjs/function.h:
              * kjs/internal.cpp:
              (KJS::GetterSetterImp::markChildren):
              * kjs/interpreter.cpp:
              (KJS::Interpreter::markRoots):
              * kjs/interpreter.h:
              * kjs/list.cpp:
              (KJS::List::markProtectedListsSlowCase):
              * kjs/list.h:
              (KJS::List::markProtectedLists):
              * kjs/object.cpp:
              (KJS::JSObject::markChildren):
              * kjs/object.h:
              (KJS::ScopeChain::markChildren):
              * kjs/property_map.cpp:
              (KJS::PropertyMap::markChildren):
              * kjs/property_map.h:
              * kjs/scope_chain.h:
              * kjs/string_object.cpp:
              (KJS::StringInstance::markChildren):
              * kjs/string_object.h:
      
      JavaScriptGlue:
      
              Reviewed by Darin and Geoff.
      
              Fixups for JavaScriptCore mark stack.
      
              * JSObject.cpp:
              (JSUserObject::Mark):
              * JSObject.h:
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSObjectMark):
              * JSValueWrapper.h:
              * UserObjectImp.cpp:
              * UserObjectImp.h:
      
      WebCore:
      
              Reviewed by Darin and Geoff.
      
              Implement mark stack. This version is not suitable for prime time because it makes a
              huge allocation on every collect, and potentially makes marking of detached subtrees
              slow. But it is a .2% - .4% speedup even without much tweaking.
      
              I replaced mark() methods with markChildren() as usual. One
              optimization that is lost is avoiding walking detached DOM
              subtrees more than once to mark them; since marking is not
              recursive there's no obvious way to bracket operation on the tree
              any more.
      
              * bindings/js/JSDocumentCustom.cpp:
              (WebCore::JSDocument::markChildren):
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::JSNode::markChildren):
              * bindings/js/JSNodeFilterCondition.cpp:
              * bindings/js/JSNodeFilterCondition.h:
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::JSNodeFilter::markChildren):
              * bindings/js/JSNodeIteratorCustom.cpp:
              (WebCore::JSNodeIterator::markChildren):
              * bindings/js/JSTreeWalkerCustom.cpp:
              (WebCore::JSTreeWalker::markChildren):
              * bindings/js/JSXMLHttpRequest.cpp:
              (KJS::JSXMLHttpRequest::markChildren):
              * bindings/js/JSXMLHttpRequest.h:
              * bindings/js/kjs_binding.cpp:
              (KJS::ScriptInterpreter::markDOMNodesForDocument):
              * bindings/js/kjs_binding.h:
              * bindings/js/kjs_events.cpp:
              (WebCore::JSUnprotectedEventListener::markChildren):
              * bindings/js/kjs_events.h:
              * bindings/js/kjs_window.cpp:
              (KJS::Window::markChildren):
              * bindings/js/kjs_window.h:
              * bindings/scripts/CodeGeneratorJS.pm:
              * dom/Node.cpp:
              (WebCore::Node::Node):
              * dom/Node.h:
              * dom/NodeFilter.h:
              * dom/NodeFilterCondition.h:
      
      LayoutTests:
      
              Not reviewed.
              
              - Test cases for "Stack overflow crash in JavaScript garbage collector mark pass"
              http://bugs.webkit.org/show_bug.cgi?id=12216
      
              I have fixed this with the mark stack work.
              
              * fast/js/gc-breadth-2-expected.txt: Added.
              * fast/js/gc-breadth-2.html: Added.
              * fast/js/gc-breadth-expected.txt: Added.
              * fast/js/gc-breadth.html: Added.
              * fast/js/gc-depth-expected.txt: Added.
              * fast/js/gc-depth.html: Added.
              * fast/js/resources/gc-breadth-2.js: Added.
              * fast/js/resources/gc-breadth.js: Added.
              * fast/js/resources/gc-depth.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d342e879
  4. 25 Sep, 2007 1 commit
    • ddkilzer's avatar
      JavaScriptCore: · c8eccecd
      ddkilzer authored
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * COPYING.LIB:
              * bindings/testbindings.cpp:
              * kjs/AllInOneFile.cpp:
              * kjs/DateMath.cpp:
              * kjs/PropertyNameArray.cpp:
              * kjs/PropertyNameArray.h:
              * kjs/config.h:
      
      WebCore:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * LICENSE-LGPL-2:
              * LICENSE-LGPL-2.1:
              * WebCorePrefix.h:
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              * bindings/js/JSDOMWindowCustom.cpp:
              * bindings/js/JSDocumentCustom.cpp:
              * bindings/js/JSHTMLCollectionCustom.cpp:
              * bindings/js/JSHTMLElementWrapperFactory.cpp:
              * bindings/js/JSHTMLElementWrapperFactory.h:
              * bindings/js/JSHTMLInputElementBase.cpp:
              * bindings/js/JSHTMLInputElementBase.h:
              * bindings/js/JSHTMLOptionElementConstructor.cpp:
              * bindings/js/JSHTMLOptionElementConstructor.h:
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              * bindings/js/JSNodeFilterCondition.cpp:
              * bindings/js/JSNodeFilterCondition.h:
              * bindings/js/JSNodeIteratorCustom.cpp:
              * bindings/js/JSSVGElementWrapperFactory.cpp:
              * bindings/js/JSSVGElementWrapperFactory.h:
              * bindings/js/JSSVGMatrixCustom.cpp:
              * bindings/js/JSSVGPathSegCustom.cpp:
              * bindings/js/JSSVGPathSegListCustom.cpp:
              * bindings/js/JSSVGPointListCustom.cpp:
              * bindings/js/JSTreeWalkerCustom.cpp:
              * bindings/js/JSXMLHttpRequest.cpp:
              * bindings/js/JSXMLHttpRequest.h:
              * bindings/js/kjs_binding.cpp:
              * bindings/js/kjs_binding.h:
              * bindings/js/kjs_css.cpp:
              * bindings/js/kjs_css.h:
              * bindings/js/kjs_dom.cpp:
              * bindings/js/kjs_dom.h:
              * bindings/js/kjs_events.cpp:
              * bindings/js/kjs_events.h:
              * bindings/js/kjs_html.cpp:
              * bindings/js/kjs_html.h:
              * bindings/js/kjs_navigator.cpp:
              * bindings/js/kjs_navigator.h:
              * bindings/js/kjs_proxy.cpp:
              * bindings/js/kjs_proxy.h:
              * bindings/js/kjs_window.cpp:
              * bindings/js/kjs_window.h:
              * bindings/objc/DOMImplementationFront.cpp:
              * bindings/objc/DOMImplementationFront.h:
              * bindings/scripts/CodeGenerator.pm:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bindings/scripts/CodeGeneratorObjC.pm:
              * bindings/scripts/IDLParser.pm:
              * bindings/scripts/IDLStructure.pm:
              * bindings/scripts/generate-bindings.pl:
              * config.h:
              * css/CSSBorderImageValue.cpp:
              * css/CSSBorderImageValue.h:
              * css/CSSCharsetRule.cpp:
              * css/CSSCharsetRule.h:
              * css/CSSCharsetRule.idl:
              * css/CSSComputedStyleDeclaration.cpp:
              * css/CSSComputedStyleDeclaration.h:
              * css/CSSCursorImageValue.cpp:
              * css/CSSCursorImageValue.h:
              * css/CSSFontFaceRule.cpp:
              * css/CSSFontFaceRule.h:
              * css/CSSFontFaceRule.idl:
              * css/CSSGrammar.y:
              * css/CSSHelper.cpp:
              * css/CSSHelper.h:
              * css/CSSImageValue.cpp:
              * css/CSSImageValue.h:
              * css/CSSImportRule.cpp:
              * css/CSSImportRule.h:
              * css/CSSImportRule.idl:
              * css/CSSInheritedValue.cpp:
              * css/CSSInheritedValue.h:
              * css/CSSInitialValue.cpp:
              * css/CSSInitialValue.h:
              * css/CSSMediaRule.cpp:
              * css/CSSMediaRule.h:
              * css/CSSMediaRule.idl:
              * css/CSSMutableStyleDeclaration.cpp:
              * css/CSSMutableStyleDeclaration.h:
              * css/CSSNamespace.h:
              * css/CSSPageRule.cpp:
              * css/CSSPageRule.h:
              * css/CSSPageRule.idl:
              * css/CSSParser.cpp:
              * css/CSSParser.h:
              * css/CSSPrimitiveValue.cpp:
              * css/CSSPrimitiveValue.h:
              * css/CSSPrimitiveValue.idl:
              * css/CSSProperty.cpp:
              * css/CSSProperty.h:
              * css/CSSQuirkPrimitiveValue.h:
              * css/CSSRule.cpp:
              * css/CSSRule.h:
              * css/CSSRule.idl:
              * css/CSSRuleList.cpp:
              * css/CSSRuleList.h:
              * css/CSSSelector.cpp:
              * css/CSSSelector.h:
              * css/CSSStyleDeclaration.cpp:
              * css/CSSStyleDeclaration.h:
              * css/CSSStyleDeclaration.idl:
              * css/CSSStyleRule.cpp:
              * css/CSSStyleRule.h:
              * css/CSSStyleRule.idl:
              * css/CSSStyleSelector.cpp:
              * css/CSSStyleSelector.h:
              * css/CSSStyleSheet.cpp:
              * css/CSSStyleSheet.h:
              * css/CSSStyleSheet.idl:
              * css/CSSUnknownRule.h:
              * css/CSSUnknownRule.idl:
              * css/CSSValue.h:
              * css/CSSValue.idl:
              * css/CSSValueList.cpp:
              * css/CSSValueList.h:
              * css/Counter.h:
              * css/Counter.idl:
              * css/DashboardRegion.h:
              * css/FontFamilyValue.cpp:
              * css/FontFamilyValue.h:
              * css/FontValue.cpp:
              * css/FontValue.h:
              * css/MediaFeatureNames.cpp:
              * css/MediaFeatureNames.h:
              * css/MediaList.cpp:
              * css/MediaList.h:
              * css/Pair.h:
              * css/RGBColor.idl:
              * css/Rect.h:
              * css/Rect.idl:
              * css/ShadowValue.cpp:
              * css/ShadowValue.h:
              * css/StyleBase.cpp:
              * css/StyleBase.h:
              * css/StyleList.cpp:
              * css/StyleList.h:
              * css/StyleSheet.cpp:
              * css/StyleSheet.h:
              * css/StyleSheet.idl:
              * css/StyleSheetList.cpp:
              * css/StyleSheetList.h:
              * css/StyleSheetList.idl:
              * css/html4.css:
              * css/make-css-file-arrays.pl:
              * css/makegrammar.pl:
              * css/makeprop.pl:
              * css/maketokenizer:
              * css/makevalues.pl:
              * css/quirks.css:
              * dom/AtomicStringList.h:
              * dom/Attr.cpp:
              * dom/Attr.h:
              * dom/Attr.idl:
              * dom/Attribute.cpp:
              * dom/Attribute.h:
              * dom/BeforeUnloadEvent.cpp:
              * dom/BeforeUnloadEvent.h:
              * dom/CDATASection.cpp:
              * dom/CDATASection.h:
              * dom/CDATASection.idl:
              * dom/CSSMappedAttributeDeclaration.cpp:
              * dom/CSSMappedAttributeDeclaration.h:
              * dom/CharacterData.cpp:
              * dom/CharacterData.h:
              * dom/CharacterData.idl:
              * dom/ChildNodeList.cpp:
              * dom/ChildNodeList.h:
              * dom/Clipboard.h:
              * dom/ClipboardEvent.cpp:
              * dom/ClipboardEvent.h:
              * dom/Comment.cpp:
              * dom/Comment.h:
              * dom/Comment.idl:
              * dom/ContainerNode.cpp:
              * dom/ContainerNode.h:
              * dom/DOMImplementation.cpp:
              * dom/DOMImplementation.h:
              * dom/DOMImplementation.idl:
              * dom/DocPtr.h:
              * dom/Document.cpp:
              * dom/Document.h:
              * dom/Document.idl:
              * dom/DocumentFragment.cpp:
              * dom/DocumentFragment.h:
              * dom/DocumentFragment.idl:
              * dom/DocumentMarker.h:
              * dom/DocumentType.cpp:
              * dom/DocumentType.h:
              * dom/DocumentType.idl:
              * dom/EditingText.cpp:
              * dom/EditingText.h:
              * dom/Element.cpp:
              * dom/Element.h:
              * dom/Element.idl:
              * dom/Entity.cpp:
              * dom/Entity.h:
              * dom/Entity.idl:
              * dom/EntityReference.cpp:
              * dom/EntityReference.h:
              * dom/EntityReference.idl:
              * dom/Event.cpp:
              * dom/Event.h:
              * dom/Event.idl:
              * dom/EventListener.h:
              * dom/EventListener.idl:
              * dom/EventNames.cpp:
              * dom/EventNames.h:
              * dom/EventTarget.idl:
              * dom/EventTargetNode.cpp:
              * dom/EventTargetNode.h:
              * dom/ExceptionCode.h:
              * dom/KeyboardEvent.cpp:
              * dom/KeyboardEvent.h:
              * dom/KeyboardEvent.idl:
              * dom/MappedAttribute.cpp:
              * dom/MappedAttribute.h:
              * dom/MappedAttributeEntry.h:
              * dom/MouseEvent.cpp:
              * dom/MouseEvent.h:
              * dom/MouseEvent.idl:
              * dom/MouseRelatedEvent.cpp:
              * dom/MouseRelatedEvent.h:
              * dom/MutationEvent.cpp:
              * dom/MutationEvent.h:
              * dom/MutationEvent.idl:
              * dom/NameNodeList.cpp:
              * dom/NameNodeList.h:
              * dom/NamedAttrMap.cpp:
              * dom/NamedAttrMap.h:
              * dom/NamedMappedAttrMap.cpp:
              * dom/NamedMappedAttrMap.h:
              * dom/NamedNodeMap.h:
              * dom/NamedNodeMap.idl:
              * dom/Node.cpp:
              * dom/Node.h:
              * dom/Node.idl:
              * dom/NodeFilter.cpp:
              * dom/NodeFilter.h:
              * dom/NodeFilter.idl:
              * dom/NodeFilterCondition.cpp:
              * dom/NodeFilterCondition.h:
              * dom/NodeIterator.cpp:
              * dom/NodeIterator.h:
              * dom/NodeIterator.idl:
              * dom/NodeList.cpp:
              * dom/NodeList.h:
              * dom/NodeList.idl:
              * dom/Notation.cpp:
              * dom/Notation.h:
              * dom/Notation.idl:
              * dom/ProcessingInstruction.cpp:
              * dom/ProcessingInstruction.h:
              * dom/ProcessingInstruction.idl:
              * dom/QualifiedName.cpp:
              * dom/QualifiedName.h:
              * dom/Range.cpp:
              * dom/Range.h:
              * dom/Range.idl:
              * dom/RangeException.h:
              * dom/RangeException.idl:
              * dom/RegisteredEventListener.cpp:
              * dom/RegisteredEventListener.h:
              * dom/StyleElement.cpp:
              * dom/StyleElement.h:
              * dom/StyledElement.cpp:
              * dom/StyledElement.h:
              * dom/Text.cpp:
              * dom/Text.h:
              * dom/Text.idl:
              * dom/Tokenizer.h:
              * dom/Traversal.cpp:
              * dom/Traversal.h:
              * dom/TreeWalker.cpp:
              * dom/TreeWalker.h:
              * dom/TreeWalker.idl:
              * dom/UIEvent.cpp:
              * dom/UIEvent.h:
              * dom/UIEvent.idl:
              * dom/UIEventWithKeyState.cpp:
              * dom/UIEventWithKeyState.h:
              * dom/WheelEvent.cpp:
              * dom/WheelEvent.h:
              * dom/WheelEvent.idl:
              * dom/XMLTokenizer.cpp:
              * dom/XMLTokenizer.h:
              * html/FormDataList.cpp:
              * html/FormDataList.h:
              * html/HTMLAnchorElement.cpp:
              * html/HTMLAnchorElement.h:
              * html/HTMLAnchorElement.idl:
              * html/HTMLAppletElement.cpp:
              * html/HTMLAppletElement.h:
              * html/HTMLAppletElement.idl:
              * html/HTMLAreaElement.cpp:
              * html/HTMLAreaElement.h:
              * html/HTMLAreaElement.idl:
              * html/HTMLBRElement.cpp:
              * html/HTMLBRElement.h:
              * html/HTMLBRElement.idl:
              * html/HTMLBaseElement.cpp:
              * html/HTMLBaseElement.h:
              * html/HTMLBaseElement.idl:
              * html/HTMLBaseFontElement.cpp:
              * html/HTMLBaseFontElement.h:
              * html/HTMLBaseFontElement.idl:
              * html/HTMLBlockquoteElement.cpp:
              * html/HTMLBlockquoteElement.h:
              * html/HTMLBlockquoteElement.idl:
              * html/HTMLBodyElement.cpp:
              * html/HTMLBodyElement.h:
              * html/HTMLBodyElement.idl:
              * html/HTMLButtonElement.cpp:
              * html/HTMLButtonElement.h:
              * html/HTMLButtonElement.idl:
              * html/HTMLCollection.cpp:
              * html/HTMLCollection.h:
              * html/HTMLCollection.idl:
              * html/HTMLDListElement.cpp:
              * html/HTMLDListElement.h:
              * html/HTMLDListElement.idl:
              * html/HTMLDirectoryElement.cpp:
              * html/HTMLDirectoryElement.h:
              * html/HTMLDirectoryElement.idl:
              * html/HTMLDivElement.cpp:
              * html/HTMLDivElement.h:
              * html/HTMLDivElement.idl:
              * html/HTMLDocument.cpp:
              * html/HTMLDocument.h:
              * html/HTMLDocument.idl:
              * html/HTMLElement.cpp:
              * html/HTMLElement.h:
              * html/HTMLElement.idl:
              * html/HTMLElementFactory.cpp:
              * html/HTMLElementFactory.h:
              * html/HTMLEmbedElement.cpp:
              * html/HTMLEmbedElement.h:
              * html/HTMLEmbedElement.idl:
              * html/HTMLEntityNames.gperf:
              * html/HTMLFieldSetElement.cpp:
              * html/HTMLFieldSetElement.h:
              * html/HTMLFieldSetElement.idl:
              * html/HTMLFontElement.cpp:
              * html/HTMLFontElement.h:
              * html/HTMLFontElement.idl:
              * html/HTMLFormCollection.cpp:
              * html/HTMLFormCollection.h:
              * html/HTMLFormElement.cpp:
              * html/HTMLFormElement.h:
              * html/HTMLFormElement.idl:
              * html/HTMLFrameElement.cpp:
              * html/HTMLFrameElement.h:
              * html/HTMLFrameElement.idl:
              * html/HTMLFrameElementBase.cpp:
              * html/HTMLFrameElementBase.h:
              * html/HTMLFrameOwnerElement.cpp:
              * html/HTMLFrameOwnerElement.h:
              * html/HTMLFrameSetElement.cpp:
              * html/HTMLFrameSetElement.h:
              * html/HTMLFrameSetElement.idl:
              * html/HTMLGenericFormElement.cpp:
              * html/HTMLGenericFormElement.h:
              * html/HTMLHRElement.cpp:
              * html/HTMLHRElement.h:
              * html/HTMLHRElement.idl:
              * html/HTMLHeadElement.cpp:
              * html/HTMLHeadElement.h:
              * html/HTMLHeadElement.idl:
              * html/HTMLHeadingElement.cpp:
              * html/HTMLHeadingElement.h:
              * html/HTMLHeadingElement.idl:
              * html/HTMLHtmlElement.cpp:
              * html/HTMLHtmlElement.h:
              * html/HTMLHtmlElement.idl:
              * html/HTMLIFrameElement.cpp:
              * html/HTMLIFrameElement.h:
              * html/HTMLIFrameElement.idl:
              * html/HTMLImageElement.cpp:
              * html/HTMLImageElement.h:
              * html/HTMLImageElement.idl:
              * html/HTMLImageLoader.cpp:
              * html/HTMLImageLoader.h:
              * html/HTMLInputElement.cpp:
              * html/HTMLInputElement.h:
              * html/HTMLInputElement.idl:
              * html/HTMLIsIndexElement.cpp:
              * html/HTMLIsIndexElement.h:
              * html/HTMLIsIndexElement.idl:
              * html/HTMLKeygenElement.cpp:
              * html/HTMLKeygenElement.h:
              * html/HTMLLIElement.cpp:
              * html/HTMLLIElement.h:
              * html/HTMLLIElement.idl:
              * html/HTMLLabelElement.cpp:
              * html/HTMLLabelElement.h:
              * html/HTMLLabelElement.idl:
              * html/HTMLLegendElement.cpp:
              * html/HTMLLegendElement.h:
              * html/HTMLLegendElement.idl:
              * html/HTMLLinkElement.cpp:
              * html/HTMLLinkElement.h:
              * html/HTMLLinkElement.idl:
              * html/HTMLMapElement.cpp:
              * html/HTMLMapElement.h:
              * html/HTMLMapElement.idl:
              * html/HTMLMarqueeElement.cpp:
              * html/HTMLMarqueeElement.h:
              * html/HTMLMarqueeElement.idl:
              * html/HTMLMenuElement.cpp:
              * html/HTMLMenuElement.h:
              * html/HTMLMenuElement.idl:
              * html/HTMLMetaElement.cpp:
              * html/HTMLMetaElement.h:
              * html/HTMLMetaElement.idl:
              * html/HTMLModElement.cpp:
              * html/HTMLModElement.h:
              * html/HTMLModElement.idl:
              * html/HTMLNameCollection.cpp:
              * html/HTMLNameCollection.h:
              * html/HTMLOListElement.cpp:
              * html/HTMLOListElement.h:
              * html/HTMLOListElement.idl:
              * html/HTMLObjectElement.cpp:
              * html/HTMLObjectElement.h:
              * html/HTMLObjectElement.idl:
              * html/HTMLOptGroupElement.cpp:
              * html/HTMLOptGroupElement.h:
              * html/HTMLOptGroupElement.idl:
              * html/HTMLOptionElement.cpp:
              * html/HTMLOptionElement.h:
              * html/HTMLOptionElement.idl:
              * html/HTMLOptionsCollection.cpp:
              * html/HTMLOptionsCollection.h:
              * html/HTMLOptionsCollection.idl:
              * html/HTMLParagraphElement.cpp:
              * html/HTMLParagraphElement.h:
              * html/HTMLParagraphElement.idl:
              * html/HTMLParamElement.cpp:
              * html/HTMLParamElement.h:
              * html/HTMLParamElement.idl:
              * html/HTMLParser.cpp:
              * html/HTMLParser.h:
              * html/HTMLPlugInElement.cpp:
              * html/HTMLPlugInElement.h:
              * html/HTMLPreElement.cpp:
              * html/HTMLPreElement.h:
              * html/HTMLPreElement.idl:
              * html/HTMLQuoteElement.cpp:
              * html/HTMLQuoteElement.h:
              * html/HTMLQuoteElement.idl:
              * html/HTMLScriptElement.cpp:
              * html/HTMLScriptElement.h:
              * html/HTMLScriptElement.idl:
              * html/HTMLSelectElement.cpp:
              * html/HTMLSelectElement.h:
              * html/HTMLSelectElement.idl:
              * html/HTMLStyleElement.cpp:
              * html/HTMLStyleElement.h:
              * html/HTMLStyleElement.idl:
              * html/HTMLTableCaptionElement.cpp:
              * html/HTMLTableCaptionElement.h:
              * html/HTMLTableCaptionElement.idl:
              * html/HTMLTableCellElement.cpp:
              * html/HTMLTableCellElement.h:
              * html/HTMLTableCellElement.idl:
              * html/HTMLTableColElement.cpp:
              * html/HTMLTableColElement.h:
              * html/HTMLTableColElement.idl:
              * html/HTMLTableElement.cpp:
              * html/HTMLTableElement.h:
              * html/HTMLTableElement.idl:
              * html/HTMLTablePartElement.cpp:
              * html/HTMLTablePartElement.h:
              * html/HTMLTableRowElement.cpp:
              * html/HTMLTableRowElement.h:
              * html/HTMLTableRowElement.idl:
              * html/HTMLTableSectionElement.cpp:
              * html/HTMLTableSectionElement.h:
              * html/HTMLTableSectionElement.idl:
              * html/HTMLTextAreaElement.cpp:
              * html/HTMLTextAreaElement.h:
              * html/HTMLTextAreaElement.idl:
              * html/HTMLTitleElement.cpp:
              * html/HTMLTitleElement.h:
              * html/HTMLTitleElement.idl:
              * html/HTMLTokenizer.cpp:
              * html/HTMLTokenizer.h:
              * html/HTMLUListElement.cpp:
              * html/HTMLUListElement.h:
              * html/HTMLUListElement.idl:
              * ksvg2/css/SVGCSSParser.cpp:
              * ksvg2/css/SVGCSSStyleSelector.cpp:
              * ksvg2/css/SVGRenderStyle.cpp:
              * ksvg2/css/SVGRenderStyle.h:
              * ksvg2/css/SVGRenderStyleDefs.cpp:
              * ksvg2/css/SVGRenderStyleDefs.h:
              * ksvg2/events/JSSVGLazyEventListener.cpp:
              * ksvg2/events/JSSVGLazyEventListener.h:
              * ksvg2/events/SVGZoomEvent.cpp:
              * ksvg2/events/SVGZoomEvent.h:
              * ksvg2/misc/KCanvasRenderingStyle.cpp:
              * ksvg2/misc/KCanvasRenderingStyle.h:
              * ksvg2/misc/PointerEventsHitRules.cpp:
              * ksvg2/misc/PointerEventsHitRules.h:
              * ksvg2/misc/SVGDocumentExtensions.cpp:
              * ksvg2/misc/SVGDocumentExtensions.h:
              * ksvg2/misc/SVGImageLoader.cpp:
              * ksvg2/misc/SVGImageLoader.h:
              * ksvg2/misc/SVGTimer.cpp:
              * ksvg2/misc/SVGTimer.h:
              * ksvg2/misc/TimeScheduler.cpp:
              * ksvg2/misc/TimeScheduler.h:
              * ksvg2/scripts/cssmakeprops:
              * ksvg2/scripts/cssmakevalues:
              * ksvg2/svg/ColorDistance.cpp:
              * ksvg2/svg/ColorDistance.h:
              * ksvg2/svg/GradientAttributes.h:
              * ksvg2/svg/LinearGradientAttributes.h:
              * ksvg2/svg/PatternAttributes.h:
              * ksvg2/svg/RadialGradientAttributes.h:
              * ksvg2/svg/SVGAElement.cpp:
              * ksvg2/svg/SVGAElement.h:
              * ksvg2/svg/SVGAngle.cpp:
              * ksvg2/svg/SVGAngle.h:
              * ksvg2/svg/SVGAngle.idl:
              * ksvg2/svg/SVGAnimateColorElement.cpp:
              * ksvg2/svg/SVGAnimateColorElement.h:
              * ksvg2/svg/SVGAnimateElement.cpp:
              * ksvg2/svg/SVGAnimateElement.h:
              * ksvg2/svg/SVGAnimateMotionElement.cpp:
              * ksvg2/svg/SVGAnimateMotionElement.h:
              * ksvg2/svg/SVGAnimateTransformElement.cpp:
              * ksvg2/svg/SVGAnimateTransformElement.h:
              * ksvg2/svg/SVGAnimatedPathData.cpp:
              * ksvg2/svg/SVGAnimatedPathData.h:
              * ksvg2/svg/SVGAnimatedPoints.cpp:
              * ksvg2/svg/SVGAnimatedPoints.h:
              * ksvg2/svg/SVGAnimatedTemplate.h:
              * ksvg2/svg/SVGAnimationElement.cpp:
              * ksvg2/svg/SVGAnimationElement.h:
              * ksvg2/svg/SVGCircleElement.cpp:
              * ksvg2/svg/SVGCircleElement.h:
              * ksvg2/svg/SVGClipPathElement.cpp:
              * ksvg2/svg/SVGClipPathElement.h:
              * ksvg2/svg/SVGColor.cpp:
              * ksvg2/svg/SVGColor.h:
              * ksvg2/svg/SVGColor.idl:
              * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
              * ksvg2/svg/SVGComponentTransferFunctionElement.h:
              * ksvg2/svg/SVGCursorElement.cpp:
              * ksvg2/svg/SVGCursorElement.h:
              * ksvg2/svg/SVGDefsElement.cpp:
              * ksvg2/svg/SVGDefsElement.h:
              * ksvg2/svg/SVGDescElement.cpp:
              * ksvg2/svg/SVGDescElement.h:
              * ksvg2/svg/SVGDocument.cpp:
              * ksvg2/svg/SVGDocument.h:
              * ksvg2/svg/SVGDocument.idl:
              * ksvg2/svg/SVGElement.cpp:
              * ksvg2/svg/SVGElement.h:
              * ksvg2/svg/SVGElement.idl:
              * ksvg2/svg/SVGElementInstance.cpp:
              * ksvg2/svg/SVGElementInstance.h:
              * ksvg2/svg/SVGElementInstanceList.cpp:
              * ksvg2/svg/SVGElementInstanceList.h:
              * ksvg2/svg/SVGEllipseElement.cpp:
              * ksvg2/svg/SVGEllipseElement.h:
              * ksvg2/svg/SVGException.h:
              * ksvg2/svg/SVGExternalResourcesRequired.cpp:
              * ksvg2/svg/SVGExternalResourcesRequired.h:
              * ksvg2/svg/SVGFEBlendElement.cpp:
              * ksvg2/svg/SVGFEBlendElement.h:
              * ksvg2/svg/SVGFEColorMatrixElement.cpp:
              * ksvg2/svg/SVGFEColorMatrixElement.h:
              * ksvg2/svg/SVGFEComponentTransferElement.cpp:
              * ksvg2/svg/SVGFEComponentTransferElement.h:
              * ksvg2/svg/SVGFECompositeElement.cpp:
              * ksvg2/svg/SVGFECompositeElement.h:
              * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
              * ksvg2/svg/SVGFEDiffuseLightingElement.h:
              * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
              * ksvg2/svg/SVGFEDisplacementMapElement.h:
              * ksvg2/svg/SVGFEDistantLightElement.cpp:
              * ksvg2/svg/SVGFEDistantLightElement.h:
              * ksvg2/svg/SVGFEFloodElement.cpp:
              * ksvg2/svg/SVGFEFloodElement.h:
              * ksvg2/svg/SVGFEFuncAElement.cpp:
              * ksvg2/svg/SVGFEFuncAElement.h:
              * ksvg2/svg/SVGFEFuncBElement.cpp:
              * ksvg2/svg/SVGFEFuncBElement.h:
              * ksvg2/svg/SVGFEFuncGElement.cpp:
              * ksvg2/svg/SVGFEFuncGElement.h:
              * ksvg2/svg/SVGFEFuncRElement.cpp:
              * ksvg2/svg/SVGFEFuncRElement.h:
              * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
              * ksvg2/svg/SVGFEGaussianBlurElement.h:
              * ksvg2/svg/SVGFEImageElement.cpp:
              * ksvg2/svg/SVGFEImageElement.h:
              * ksvg2/svg/SVGFELightElement.cpp:
              * ksvg2/svg/SVGFELightElement.h:
              * ksvg2/svg/SVGFEMergeElement.cpp:
              * ksvg2/svg/SVGFEMergeElement.h:
              * ksvg2/svg/SVGFEMergeNodeElement.cpp:
              * ksvg2/svg/SVGFEMergeNodeElement.h:
              * ksvg2/svg/SVGFEOffsetElement.cpp:
              * ksvg2/svg/SVGFEOffsetElement.h:
              * ksvg2/svg/SVGFEPointLightElement.cpp:
              * ksvg2/svg/SVGFEPointLightElement.h:
              * ksvg2/svg/SVGFESpecularLightingElement.cpp:
              * ksvg2/svg/SVGFESpecularLightingElement.h:
              * ksvg2/svg/SVGFESpotLightElement.cpp:
              * ksvg2/svg/SVGFESpotLightElement.h:
              * ksvg2/svg/SVGFETileElement.cpp:
              * ksvg2/svg/SVGFETileElement.h:
              * ksvg2/svg/SVGFETurbulenceElement.cpp:
              * ksvg2/svg/SVGFETurbulenceElement.h:
              * ksvg2/svg/SVGFilterElement.cpp:
              * ksvg2/svg/SVGFilterElement.h:
              * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
              * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
              * ksvg2/svg/SVGFitToViewBox.cpp:
              * ksvg2/svg/SVGFitToViewBox.h:
              * ksvg2/svg/SVGForeignObjectElement.cpp:
              * ksvg2/svg/SVGForeignObjectElement.h:
              * ksvg2/svg/SVGGElement.cpp:
              * ksvg2/svg/SVGGElement.h:
              * ksvg2/svg/SVGGradientElement.cpp:
              * ksvg2/svg/SVGGradientElement.h:
              * ksvg2/svg/SVGImageElement.cpp:
              * ksvg2/svg/SVGImageElement.h:
              * ksvg2/svg/SVGLangSpace.cpp:
              * ksvg2/svg/SVGLangSpace.h:
              * ksvg2/svg/SVGLength.cpp:
              * ksvg2/svg/SVGLength.h:
              * ksvg2/svg/SVGLength.idl:
              * ksvg2/svg/SVGLengthList.cpp:
              * ksvg2/svg/SVGLengthList.h:
              * ksvg2/svg/SVGLineElement.cpp:
              * ksvg2/svg/SVGLineElement.h:
              * ksvg2/svg/SVGLinearGradientElement.cpp:
              * ksvg2/svg/SVGLinearGradientElement.h:
              * ksvg2/svg/SVGList.h:
              * ksvg2/svg/SVGListTraits.h:
              * ksvg2/svg/SVGLocatable.cpp:
              * ksvg2/svg/SVGLocatable.h:
              * ksvg2/svg/SVGMPathElement.cpp:
              * ksvg2/svg/SVGMPathElement.h:
              * ksvg2/svg/SVGMarkerElement.cpp:
              * ksvg2/svg/SVGMarkerElement.h:
              * ksvg2/svg/SVGMaskElement.cpp:
              * ksvg2/svg/SVGMaskElement.h:
              * ksvg2/svg/SVGMatrix.idl:
              * ksvg2/svg/SVGMetadataElement.cpp:
              * ksvg2/svg/SVGMetadataElement.h:
              * ksvg2/svg/SVGMetadataElement.idl:
              * ksvg2/svg/SVGNumber.idl:
              * ksvg2/svg/SVGNumberList.cpp:
              * ksvg2/svg/SVGNumberList.h:
              * ksvg2/svg/SVGPaint.cpp:
              * ksvg2/svg/SVGPaint.h:
              * ksvg2/svg/SVGParserUtilities.cpp:
              * ksvg2/svg/SVGParserUtilities.h:
              * ksvg2/svg/SVGPathElement.cpp:
              * ksvg2/svg/SVGPathElement.h:
              * ksvg2/svg/SVGPathSeg.h:
              * ksvg2/svg/SVGPathSegArc.cpp:
              * ksvg2/svg/SVGPathSegArc.h:
              * ksvg2/svg/SVGPathSegClosePath.cpp:
              * ksvg2/svg/SVGPathSegClosePath.h:
              * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
              * ksvg2/svg/SVGPathSegCurvetoCubic.h:
              * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
              * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
              * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
              * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
              * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
              * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
              * ksvg2/svg/SVGPathSegLineto.cpp:
              * ksvg2/svg/SVGPathSegLineto.h:
              * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
              * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
              * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
              * ksvg2/svg/SVGPathSegLinetoVertical.h:
              * ksvg2/svg/SVGPathSegList.cpp:
              * ksvg2/svg/SVGPathSegList.h:
              * ksvg2/svg/SVGPathSegMoveto.cpp:
              * ksvg2/svg/SVGPathSegMoveto.h:
              * ksvg2/svg/SVGPatternElement.cpp:
              * ksvg2/svg/SVGPatternElement.h:
              * ksvg2/svg/SVGPoint.idl:
              * ksvg2/svg/SVGPointList.cpp:
              * ksvg2/svg/SVGPointList.h:
              * ksvg2/svg/SVGPolyElement.cpp:
              * ksvg2/svg/SVGPolyElement.h:
              * ksvg2/svg/SVGPolygonElement.cpp:
              * ksvg2/svg/SVGPolygonElement.h:
              * ksvg2/svg/SVGPolylineElement.cpp:
              * ksvg2/svg/SVGPolylineElement.h:
              * ksvg2/svg/SVGPreserveAspectRatio.cpp:
              * ksvg2/svg/SVGPreserveAspectRatio.h:
              * ksvg2/svg/SVGRadialGradientElement.cpp:
              * ksvg2/svg/SVGRadialGradientElement.h:
              * ksvg2/svg/SVGRect.idl:
              * ksvg2/svg/SVGRectElement.cpp:
              * ksvg2/svg/SVGRectElement.h:
              * ksvg2/svg/SVGRenderingIntent.h:
              * ksvg2/svg/SVGSVGElement.cpp:
              * ksvg2/svg/SVGSVGElement.h:
              * ksvg2/svg/SVGSVGElement.idl:
              * ksvg2/svg/SVGScriptElement.cpp:
              * ksvg2/svg/SVGScriptElement.h:
              * ksvg2/svg/SVGSetElement.cpp:
              * ksvg2/svg/SVGSetElement.h:
              * ksvg2/svg/SVGStopElement.cpp:
              * ksvg2/svg/SVGStopElement.h:
              * ksvg2/svg/SVGStringList.cpp:
              * ksvg2/svg/SVGStringList.h:
              * ksvg2/svg/SVGStylable.cpp:
              * ksvg2/svg/SVGStylable.h:
              * ksvg2/svg/SVGStyleElement.cpp:
              * ksvg2/svg/SVGStyleElement.h:
              * ksvg2/svg/SVGStyledElement.cpp:
              * ksvg2/svg/SVGStyledElement.h:
              * ksvg2/svg/SVGStyledLocatableElement.cpp:
              * ksvg2/svg/SVGStyledLocatableElement.h:
              * ksvg2/svg/SVGStyledTransformableElement.cpp:
              * ksvg2/svg/SVGStyledTransformableElement.h:
              * ksvg2/svg/SVGSwitchElement.cpp:
              * ksvg2/svg/SVGSwitchElement.h:
              * ksvg2/svg/SVGSymbolElement.cpp:
              * ksvg2/svg/SVGSymbolElement.h:
              * ksvg2/svg/SVGTRefElement.cpp:
              * ksvg2/svg/SVGTRefElement.h:
              * ksvg2/svg/SVGTSpanElement.cpp:
              * ksvg2/svg/SVGTSpanElement.h:
              * ksvg2/svg/SVGTests.cpp:
              * ksvg2/svg/SVGTests.h:
              * ksvg2/svg/SVGTextContentElement.cpp:
              * ksvg2/svg/SVGTextContentElement.h:
              * ksvg2/svg/SVGTextElement.cpp:
              * ksvg2/svg/SVGTextElement.h:
              * ksvg2/svg/SVGTextPositioningElement.cpp:
              * ksvg2/svg/SVGTextPositioningElement.h:
              * ksvg2/svg/SVGTitleElement.cpp:
              * ksvg2/svg/SVGTitleElement.h:
              * ksvg2/svg/SVGTransform.cpp:
              * ksvg2/svg/SVGTransform.h:
              * ksvg2/svg/SVGTransform.idl:
              * ksvg2/svg/SVGTransformDistance.cpp:
              * ksvg2/svg/SVGTransformDistance.h:
              * ksvg2/svg/SVGTransformList.cpp:
              * ksvg2/svg/SVGTransformList.h:
              * ksvg2/svg/SVGTransformable.cpp:
              * ksvg2/svg/SVGTransformable.h:
              * ksvg2/svg/SVGURIReference.cpp:
              * ksvg2/svg/SVGURIReference.h:
              * ksvg2/svg/SVGUnitTypes.h:
              * ksvg2/svg/SVGUseElement.cpp:
              * ksvg2/svg/SVGUseElement.h:
              * ksvg2/svg/SVGViewElement.cpp:
              * ksvg2/svg/SVGViewElement.h:
              * ksvg2/svg/SVGZoomAndPan.cpp:
              * ksvg2/svg/SVGZoomAndPan.h:
              * loader/Cache.cpp:
              * loader/Cache.h:
              * loader/CachedCSSStyleSheet.cpp:
              * loader/CachedCSSStyleSheet.h:
              * loader/CachedImage.cpp:
              * loader/CachedImage.h:
              * loader/CachedResource.cpp:
              * loader/CachedResource.h:
              * loader/CachedResourceClient.h:
              * loader/CachedResourceClientWalker.cpp:
              * loader/CachedResourceClientWalker.h:
              * loader/CachedScript.cpp:
              * loader/CachedScript.h:
              * loader/CachedXBLDocument.cpp:
              * loader/CachedXBLDocument.h:
              * loader/CachedXSLStyleSheet.cpp:
              * loader/CachedXSLStyleSheet.h:
              * loader/DocLoader.cpp:
              * loader/DocLoader.h:
              * loader/FTPDirectoryParser.cpp:
              * loader/FTPDirectoryParser.h:
              * loader/Request.cpp:
              * loader/Request.h:
              * loader/TextResourceDecoder.cpp:
              * loader/TextResourceDecoder.h:
              * loader/loader.cpp:
              * loader/loader.h:
              * page/Chrome.cpp:
              * page/Chrome.h:
              * page/ChromeClient.h:
              * page/Frame.cpp:
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/FrameTree.cpp:
              * page/FrameTree.h:
              * page/FrameView.cpp:
              * page/FrameView.h:
              * page/MouseEventWithHitTestResults.cpp:
              * page/MouseEventWithHitTestResults.h:
              * page/Page.cpp:
              * page/Page.h:
              * page/Plugin.h:
              * page/mac/ChromeMac.mm:
              * platform/Arena.cpp:
              * platform/Arena.h:
              * platform/AtomicString.cpp:
              * platform/AtomicString.h:
              * platform/AtomicStringImpl.h:
              * platform/BidiContext.cpp:
              * platform/BidiContext.h:
              * platform/BidiResolver.h:
              * platform/Font.cpp:
              * platform/Font.h:
              * platform/FontData.h:
              * platform/FontDescription.h:
              * platform/FontFallbackList.h:
              * platform/PlatformString.h:
              * platform/PopupMenu.h:
              * platform/PopupMenuClient.h:
              * platform/SearchPopupMenu.h:
              * platform/SegmentedString.cpp:
              * platform/SegmentedString.h:
              * platform/Shared.h:
              * platform/StaticConstructors.h:
              * platform/String.cpp:
              * platform/StringHash.h:
              * platform/StringImpl.cpp:
              * platform/StringImpl.h:
              * platform/TextBreakIterator.h:
              * platform/TextBreakIteratorICU.cpp:
              * platform/TextBreakIteratorInternalICU.h:
              * platform/TextStyle.h:
              * platform/UnicodeRange.cpp:
              * platform/UnicodeRange.h:
              * platform/cf/StringCF.cpp:
              * platform/cf/StringImplCF.cpp:
              * platform/graphics/FloatPoint3D.cpp:
              * platform/graphics/FloatPoint3D.h:
              * platform/graphics/Icon.h:
              * platform/graphics/IntSizeHash.h:
              * platform/graphics/PathTraversalState.cpp:
              * platform/graphics/cairo/CairoPath.h:
              * platform/graphics/cairo/PathCairo.cpp:
              * platform/graphics/mac/IconMac.mm:
              * platform/graphics/qt/IconQt.cpp:
              * platform/graphics/svg/SVGResourceFilter.cpp:
              * platform/graphics/svg/SVGResourceFilter.h:
              * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
              * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
              * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
              * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
              * platform/graphics/svg/filters/SVGDistantLightSource.h:
              * platform/graphics/svg/filters/SVGFEBlend.cpp:
              * platform/graphics/svg/filters/SVGFEBlend.h:
              * platform/graphics/svg/filters/SVGFEColorMatrix.cpp:
              * platform/graphics/svg/filters/SVGFEColorMatrix.h:
              * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp:
              * platform/graphics/svg/filters/SVGFEComponentTransfer.h:
              * platform/graphics/svg/filters/SVGFEComposite.cpp:
              * platform/graphics/svg/filters/SVGFEComposite.h:
              * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp:
              * platform/graphics/svg/filters/SVGFEConvolveMatrix.h:
              * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp:
              * platform/graphics/svg/filters/SVGFEDiffuseLighting.h:
              * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp:
              * platform/graphics/svg/filters/SVGFEDisplacementMap.h:
              * platform/graphics/svg/filters/SVGFEFlood.cpp:
              * platform/graphics/svg/filters/SVGFEFlood.h:
              * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp:
              * platform/graphics/svg/filters/SVGFEGaussianBlur.h:
              * platform/graphics/svg/filters/SVGFEImage.cpp:
              * platform/graphics/svg/filters/SVGFEImage.h:
              * platform/graphics/svg/filters/SVGFEMerge.cpp:
              * platform/graphics/svg/filters/SVGFEMerge.h:
              * platform/graphics/svg/filters/SVGFEMorphology.cpp:
              * platform/graphics/svg/filters/SVGFEMorphology.h:
              * platform/graphics/svg/filters/SVGFEOffset.cpp:
              * platform/graphics/svg/filters/SVGFEOffset.h:
              * platform/graphics/svg/filters/SVGFESpecularLighting.cpp:
              * platform/graphics/svg/filters/SVGFESpecularLighting.h:
              * platform/graphics/svg/filters/SVGFETile.h:
              * platform/graphics/svg/filters/SVGFETurbulence.cpp:
              * platform/graphics/svg/filters/SVGFETurbulence.h:
              * platform/graphics/svg/filters/SVGFilterEffect.cpp:
              * platform/graphics/svg/filters/SVGFilterEffect.h:
              * platform/graphics/svg/filters/SVGLightSource.cpp:
              * platform/graphics/svg/filters/SVGLightSource.h:
              * platform/graphics/svg/filters/SVGPointLightSource.h:
              * platform/graphics/svg/filters/SVGSpotLightSource.h:
              * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm:
              * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
              * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm:
              * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm:
              * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm:
              * platform/graphics/svg/filters/cg/SVGFETileCg.mm:
              * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm:
              * platform/graphics/svg/qt/RenderPathQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
              * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
              * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
              * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
              * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
              * platform/graphics/win/IconWin.cpp:
              * platform/gtk/FontPlatformData.h:
              * platform/gtk/FontPlatformDataGtk.cpp:
              * platform/gtk/PopupMenuGtk.cpp:
              * platform/gtk/RenderThemeGtk.cpp:
              * platform/gtk/RenderThemeGtk.h:
              * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
              * platform/image-decoders/png/PNGImageDecoder.cpp:
              * platform/mac/FontMac.mm:
              * platform/mac/FontPlatformData.h:
              * platform/mac/LocalCurrentGraphicsContext.h:
              * platform/mac/LocalCurrentGraphicsContext.mm:
              * platform/mac/PopupMenuMac.mm:
              * platform/mac/SearchPopupMenuMac.mm:
              * platform/mac/StringImplMac.mm:
              * platform/mac/StringMac.mm:
              * platform/mac/TextBreakIteratorInternalICUMac.mm:
              * platform/network/FormData.cpp:
              * platform/network/FormData.h:
              * platform/qt/FileChooserQt.cpp:
              * platform/qt/FontQt.cpp:
              * platform/qt/MenuEventProxy.h:
              * platform/qt/PlugInInfoStoreQt.cpp:
              * platform/qt/PopupMenuQt.cpp:
              * platform/qt/QWebPopup.cpp:
              * platform/qt/QWebPopup.h:
              * platform/qt/RenderThemeQt.cpp:
              * platform/qt/RenderThemeQt.h:
              * platform/qt/SearchPopupMenuQt.cpp:
              * platform/qt/TextBreakIteratorQt.cpp:
              * platform/qt/WheelEventQt.cpp:
              * platform/win/FontPlatformData.h:
              * platform/win/FontPlatformDataWin.cpp:
              * platform/win/PopupMenuWin.cpp:
              * platform/win/SearchPopupMenuWin.cpp:
              * platform/win/TextBreakIteratorInternalICUWin.cpp:
              * rendering/AutoTableLayout.cpp:
              * rendering/AutoTableLayout.h:
              * rendering/CounterNode.cpp:
              * rendering/CounterNode.h:
              * rendering/DataRef.h:
              * rendering/EllipsisBox.cpp:
              * rendering/EllipsisBox.h:
              * rendering/FixedTableLayout.cpp:
              * rendering/FixedTableLayout.h:
              * rendering/GapRects.h:
              * rendering/HitTestRequest.h:
              * rendering/HitTestResult.cpp:
              * rendering/HitTestResult.h:
              * rendering/InlineBox.cpp:
              * rendering/InlineBox.h:
              * rendering/InlineFlowBox.cpp:
              * rendering/InlineFlowBox.h:
              * rendering/InlineRunBox.h:
              * rendering/InlineTextBox.cpp:
              * rendering/InlineTextBox.h:
              * rendering/Length.h:
              * rendering/ListMarkerBox.cpp:
              * rendering/ListMarkerBox.h:
              * rendering/RenderApplet.cpp:
              * rendering/RenderApplet.h:
              * rendering/RenderArena.cpp:
              * rendering/RenderArena.h:
              * rendering/RenderBR.cpp:
              * rendering/RenderBR.h:
              * rendering/RenderBlock.cpp:
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              * rendering/RenderBox.h:
              * rendering/RenderButton.cpp:
              * rendering/RenderButton.h:
              * rendering/RenderContainer.cpp:
              * rendering/RenderContainer.h:
              * rendering/RenderCounter.cpp:
              * rendering/RenderCounter.h:
              * rendering/RenderFieldset.cpp:
              * rendering/RenderFieldset.h:
              * rendering/RenderFileUploadControl.cpp:
              * rendering/RenderFileUploadControl.h:
              * rendering/RenderFlexibleBox.cpp:
              * rendering/RenderFlexibleBox.h:
              * rendering/RenderFlow.cpp:
              * rendering/RenderFlow.h:
              * rendering/RenderForeignObject.cpp:
              * rendering/RenderForeignObject.h:
              * rendering/RenderFrame.cpp:
              * rendering/RenderFrame.h:
              * rendering/RenderFrameSet.cpp:
              * rendering/RenderFrameSet.h:
              * rendering/RenderImage.cpp:
              * rendering/RenderImage.h:
              * rendering/RenderInline.cpp:
              * rendering/RenderInline.h:
              * rendering/RenderLayer.cpp:
              * rendering/RenderLayer.h:
              * rendering/RenderLegend.cpp:
              * rendering/RenderLegend.h:
              * rendering/RenderListItem.cpp:
              * rendering/RenderListItem.h:
              * rendering/RenderListMarker.cpp:
              * rendering/RenderListMarker.h:
              * rendering/RenderMenuList.cpp:
              * rendering/RenderMenuList.h:
              * rendering/RenderObject.cpp:
              * rendering/RenderObject.h:
              * rendering/RenderPart.cpp:
              * rendering/RenderPart.h:
              * rendering/RenderPartObject.cpp:
              * rendering/RenderPartObject.h:
              * rendering/RenderPath.cpp:
              * rendering/RenderPath.h:
              * rendering/RenderReplaced.cpp:
              * rendering/RenderReplaced.h:
              * rendering/RenderSVGBlock.cpp:
              * rendering/RenderSVGBlock.h:
              * rendering/RenderSVGContainer.cpp:
              * rendering/RenderSVGContainer.h:
              * rendering/RenderSVGGradientStop.cpp:
              * rendering/RenderSVGGradientStop.h:
              * rendering/RenderSVGHiddenContainer.cpp:
              * rendering/RenderSVGHiddenContainer.h:
              * rendering/RenderSVGImage.cpp:
              * rendering/RenderSVGImage.h:
              * rendering/RenderSVGInline.cpp:
              * rendering/RenderSVGInline.h:
              * rendering/RenderSVGInlineText.cpp:
              * rendering/RenderSVGInlineText.h:
              * rendering/RenderSVGTSpan.cpp:
              * rendering/RenderSVGTSpan.h:
              * rendering/RenderSVGText.cpp:
              * rendering/RenderSVGText.h:
              * rendering/RenderSlider.cpp:
              * rendering/RenderSlider.h:
              * rendering/RenderStyle.cpp:
              * rendering/RenderStyle.h:
              * rendering/RenderTable.cpp:
              * rendering/RenderTable.h:
              * rendering/RenderTableCell.cpp:
              * rendering/RenderTableCell.h:
              * rendering/RenderTableCol.cpp:
              * rendering/RenderTableCol.h:
              * rendering/RenderTableRow.cpp:
              * rendering/RenderTableRow.h:
              * rendering/RenderTableSection.cpp:
              * rendering/RenderTableSection.h:
              * rendering/RenderText.cpp:
              * rendering/RenderText.h:
              * rendering/RenderTextControl.cpp:
              * rendering/RenderTextControl.h:
              * rendering/RenderTextFragment.cpp:
              * rendering/RenderTextFragment.h:
              * rendering/RenderTheme.cpp:
              * rendering/RenderTheme.h:
              * rendering/RenderThemeMac.h:
              * rendering/RenderThemeMac.mm:
              * rendering/RenderThemeSafari.cpp:
              * rendering/RenderThemeSafari.h:
              * rendering/RenderThemeWin.cpp:
              * rendering/RenderThemeWin.h:
              * rendering/RenderView.cpp:
              * rendering/RenderView.h:
              * rendering/RenderWidget.cpp:
              * rendering/RenderWidget.h:
              * rendering/RootInlineBox.cpp:
              * rendering/RootInlineBox.h:
              * rendering/SVGInlineFlowBox.cpp:
              * rendering/SVGInlineFlowBox.h:
              * rendering/SVGInlineTextBox.cpp:
              * rendering/SVGInlineTextBox.h:
              * rendering/SVGRootInlineBox.cpp:
              * rendering/SVGRootInlineBox.h:
              * rendering/TableLayout.h:
              * rendering/bidi.cpp:
              * rendering/bidi.h:
              * rendering/break_lines.cpp:
              * rendering/break_lines.h:
              * xml/DOMParser.cpp:
              * xml/DOMParser.h:
              * xml/DOMParser.idl:
              * xml/XMLHttpRequest.cpp:
              * xml/XMLHttpRequest.h:
              * xml/XMLSerializer.cpp:
              * xml/XMLSerializer.h:
              * xml/XMLSerializer.idl:
              * xml/XPathEvaluator.idl:
              * xml/XPathExpression.idl:
              * xml/XPathNSResolver.idl:
              * xml/XPathResult.idl:
              * xml/XSLImportRule.cpp:
              * xml/XSLImportRule.h:
              * xml/XSLStyleSheet.cpp:
              * xml/XSLStyleSheet.h:
              * xml/XSLTProcessor.cpp:
              * xml/XSLTProcessor.h:
      
      WebKitQt:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * Api/qcookiejar.cpp:
              * Api/qcookiejar.h:
              * Api/qwebframe.cpp:
              * Api/qwebframe.h:
              * Api/qwebframe_p.h:
              * Api/qwebhistoryinterface.cpp:
              * Api/qwebhistoryinterface.h:
              * Api/qwebkitglobal.h:
              * Api/qwebnetworkinterface.cpp:
              * Api/qwebnetworkinterface.h:
              * Api/qwebnetworkinterface_p.h:
              * Api/qwebobjectplugin.cpp:
              * Api/qwebobjectplugin.h:
              * Api/qwebobjectpluginconnector.cpp:
              * Api/qwebobjectpluginconnector.h:
              * Api/qwebpage.cpp:
              * Api/qwebpage.h:
              * Api/qwebpage_p.h:
              * Api/qwebpagehistory.cpp:
              * Api/qwebpagehistory.h:
              * Api/qwebsettings.cpp:
              * Api/qwebsettings.h:
              * WebCoreSupport/EditCommandQt.cpp:
              * WebCoreSupport/EditCommandQt.h:
      
      WebKitSite:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * blog/wp-content/plugins/wp-cache/wp-cache.php:
              * blog/wp-includes/class-snoopy.php:
              * blog/wp-includes/gettext.php:
              * blog/wp-includes/js/tinymce/license.html:
              * blog/wp-includes/streams.php:
      
      WebKitTools:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * Drosera/config.h:
      
      LayoutTests:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * svg/carto.net/resources/button.js:
              * svg/carto.net/resources/colourPicker.js:
              * svg/carto.net/resources/comboBox.js:
              * svg/carto.net/resources/helper_functions.js:
              * svg/carto.net/resources/mapApp.js:
              * svg/carto.net/resources/scrollbar.js:
              * svg/carto.net/resources/selectionList.js:
              * svg/carto.net/resources/slider.js:
              * svg/carto.net/resources/tabgroup.js:
              * svg/carto.net/resources/textbox.js:
              * svg/carto.net/resources/window.js:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@25754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c8eccecd
  5. 06 Jun, 2007 1 commit
    • weinig's avatar
      LayoutTests: · 79190704
      weinig authored
              Reviewed by Hyatt.
      
              Update results for http://bugs.webkit.org/show_bug.cgi?id=13947
              Finish autogenerating the JS DOM traversal code
      
              * fast/dom/Window/window-properties-expected.txt:
      
      WebCore:
      
              Reviewed by Hyatt.
      
              Patch for http://bugs.webkit.org/show_bug.cgi?id=13947
              Finish autogenerating the JS DOM traversal code
      
              - Completely generate JSNodeFilter.
              - Move JSNodeFilterCondition into its own file
      
              * DerivedSources.make:
              * WebCore.pro:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSNodeFilterCondition.cpp: Copied from WebCore/bindings/js/kjs_traversal.cpp.
              (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
              (WebCore::JSNodeFilterCondition::mark):
              (WebCore::JSNodeFilterCondition::acceptNode):
              * bindings/js/JSNodeFilterCondition.h: Copied from WebCore/bindings/js/kjs_traversal.h.
              * bindings/js/JSNodeFilterCustom.cpp: Added.
              (WebCore::JSNodeFilter::mark):
              (WebCore::toNodeFilter):
              * bindings/js/kjs_dom.cpp:
              * bindings/js/kjs_traversal.cpp: Removed.
              * bindings/js/kjs_traversal.h: Removed.
              * bindings/js/kjs_window.cpp:
              * bindings/objc/DOM.mm:
              (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
              (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
              * bindings/scripts/CodeGeneratorJS.pm:
              * dom/Document.cpp:
              (WebCore::Document::createNodeIterator):
              (WebCore::Document::createTreeWalker):
              * dom/Document.h:
              * dom/NodeFilter.idl:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@22035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      79190704
  6. 08 Dec, 2006 1 commit
    • weinig's avatar
      LayoutTests: · 7ce64cf7
      weinig authored
              Reviewed by Geoff.
      
              Testcases for http://bugs.webkit.org/show_bug.cgi?id=11777
              Crash when using XMLSerializer.serializeToString() on
              documentless, DocumentType nodes.
      
              * fast/dom/XMLSerializer-doctype-expected.txt: Added.
              * fast/dom/XMLSerializer-doctype.html: Added.
              * fast/dom/XMLSerializer-doctype2-expected.txt: Added.
              * fast/dom/XMLSerializer-doctype2.html: Added.
      
      WebCore:
      
              Reviewed by Geoff.
      
              Fix for http://bugs.webkit.org/show_bug.cgi?id=11777
              Crash when using XMLSerializer.serializeToString() on
              documentless, DocumentType nodes.
      
              Test: fast/dom/XMLSerializer-doctype.html
              Test: fast/dom/XMLSerializer-doctype2.html
      
              * dom/DOMImplementation.cpp:
              (WebCore::DOMImplementation::createDocument): set the document of the 
              DocumentType node to the new document.
              * xml/XMLSerializer.cpp: Cleanup.
              (WebCore::XMLSerializer::serializeToString): now throws an exception
              for documentless nodes. 
              * xml/XMLSerializer.h: cleanup
              * xml/XMLSerializer.idl: add exception
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18085 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7ce64cf7
  7. 14 Aug, 2006 1 commit
    • andersca's avatar
      2006-08-11 Anders Carlsson <acarlsson@apple.com> · 5eadba09
      andersca authored
              Reviewed by Darin.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=10353
              XMLSerializer and DOMParser should have real implementations
              
              Make real implementation files for DOMParser and XMLSerializer and wrap them
              using our bindings generation.
              
              * DerivedSources.make:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSDOMParser.cpp: Removed.
              * bindings/js/JSDOMParser.h: Removed.
              * bindings/js/JSXMLSerializer.cpp: Removed.
              * bindings/js/JSXMLSerializer.h: Removed.
              * bindings/js/kjs_window.cpp:
              (KJS::Window::getValueProperty):
              * bindings/js/kjs_window.h:
              (KJS::Window::):
              * page/DOMWindow.idl:
              * xml/DOMParser.cpp: Added.
              (WebCore::DOMParser::parseFromString):
              * xml/DOMParser.h: Added.
              * xml/DOMParser.idl: Added.
              * xml/XMLSerializer.cpp: Added.
              (WebCore::XMLSerializer::serializeToString):
              * xml/XMLSerializer.h: Added.
              * xml/XMLSerializer.idl: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15855 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5eadba09
  8. 30 May, 2006 1 commit
    • eseidel's avatar
      2006-05-30 Eric Seidel <eric@eseidel.com> · c5090ec7
      eseidel authored
              Reviewed by andersca.
      
              Small ammount of bindings-related code cleanup.
              No test case possible.
      
              * bindings/js/JSHTMLFormElementCustom.cpp:
              (WebCore::JSHTMLFormElement::nameGetter):
              * bindings/js/JSXMLSerializer.cpp:
              (WebCore::JSXMLSerializerConstructorImp::JSXMLSerializerConstructorImp):
              (WebCore::JSXMLSerializerConstructorImp::implementsConstruct):
              (WebCore::JSXMLSerializerConstructorImp::construct):
              (WebCore::):
              (WebCore::JSXMLSerializer::JSXMLSerializer):
              (WebCore::JSXMLSerializerProtoFunc::callAsFunction):
              * bindings/js/JSXMLSerializer.h:
              (WebCore::JSXMLSerializer::toBoolean):
              (WebCore::JSXMLSerializer::classInfo):
              (WebCore::JSXMLSerializer::):
              * bindings/js/kjs_window.cpp:
              (KJS::Window::getValueProperty):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c5090ec7
  9. 10 Apr, 2006 1 commit
    • darin's avatar
      Reviewed by Geoff. · 17fa870f
      darin authored
              - death to khtml/ecma, long live bindings/js
      
              * khtml/ecma: Removed. Moved all files to bindings/js.
      
              * bindings/js/JSDOMParser.cpp: Added.
              * bindings/js/JSDOMParser.h: Added.
              * bindings/js/JSXMLHttpRequest.cpp: Added.
              * bindings/js/JSXMLHttpRequest.h: Added.
              * bindings/js/JSXMLSerializer.cpp: Added.
              * bindings/js/JSXMLSerializer.h: Added.
              * bindings/js/JSXSLTProcessor.cpp: Added.
              * bindings/js/JSXSLTProcessor.h: Added.
              * bindings/js/kjs_binding.cpp: Added.
              * bindings/js/kjs_binding.h: Added.
              * bindings/js/kjs_css.cpp: Added.
              * bindings/js/kjs_css.h: Added.
              * bindings/js/kjs_dom.cpp: Added.
              * bindings/js/kjs_dom.h: Added.
              * bindings/js/kjs_events.cpp: Added.
              * bindings/js/kjs_events.h: Added.
              * bindings/js/kjs_html.cpp: Added.
              * bindings/js/kjs_html.h: Added.
              * bindings/js/kjs_navigator.cpp: Added.
              * bindings/js/kjs_navigator.h: Added.
              * bindings/js/kjs_proxy.cpp: Added.
              * bindings/js/kjs_proxy.h: Added.
              * bindings/js/kjs_traversal.cpp: Added.
              * bindings/js/kjs_traversal.h: Added.
              * bindings/js/kjs_views.cpp: Added.
              * bindings/js/kjs_views.h: Added.
              * bindings/js/kjs_window.cpp: Added.
              * bindings/js/kjs_window.h: Added.
      
              * DerivedSources.make: Removed khtml/ecma from directory list.
              * WebCore.vcproj/WebCore/WebCore.vcproj: Moved files from
              khtml/ecma to bindings/js.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      17fa870f
  10. 29 Mar, 2006 1 commit
    • ggaren's avatar
      JavaScriptCore: · 911414cc
      ggaren authored
              Reviewed by Darin.
      
              - JavaScriptCore side of fix for <rdar://problem/4308243> 8F36 
              Regression: crash in malloc_consolidate if you use a .PAC file
      
              The crash was a result of threaded deallocation of thread-unsafe
              objects. Pure JS objects are thread-safe because all JS execution
              is synchronized through JSLock. However, JS objects that wrap WebCore 
              objects are thread-unsafe because JS and WebCore execution are not 
              synchronized.  That unsafety comes into play when the collector 
              deallocates a JS object that wraps a WebCore object, thus causing the 
              WebCore object to be deallocated.
      
              The solution here is to have each JSCell know whether it is safe to
              collect on a non-main thread, and to avoid collecting unsafe cells
              when on a non-main thread.
      
              We don't have a way to test PAC files yet, so there's no test
              attached to this patch.
      
              * kjs/collector.cpp:
              (KJS::Collector::collect):
              (1) Added the test "currentThreadIsMainThread || 
              imp->m_destructorIsThreadSafe". 
      
              * kjs/protect.h:
              (KJS::gcProtectNullTolerant):
              (KJS::gcUnprotectNullTolerant):
              * kjs/value.h:
              (KJS::JSCell::JSCell): The bools here must be bitfields, otherwise
              m_destructorIsThreadSafe becomes another whole word, ruining the
              collector optimizations we've made based on the size of a JSObject.
              * kxmlcore/FastMalloc.cpp:
              (KXMLCore::currentThreadIsMainThread):
              (KXMLCore::fastMallocRegisterThread):
              * kxmlcore/FastMalloc.h:
      
      WebCore:
      
              Reviewed by Hyatt.
      
              - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6986
              Switch to use new text field implementation for <input type="text">
      
              * css/html4.css: Added default style info for new text fields.
              * rendering/RenderTextField.cpp:
              (WebCore::RenderTextField::createDivStyle): Added an extra 1px of padding on the left & right to match Win IE & the latest Mozilla.
              (WebCore::RenderTextField::updateFromElement): Removed some outdated comments.  Cleaned up the way we add text nodes to the div.
              (WebCore::RenderTextField::setSelectionStart): Tweaked selection code to better match Mozilla behavior.
              (WebCore::RenderTextField::setSelectionEnd): ditto.
              (WebCore::RenderTextField::select): Cleaned this up by having it call setSelectionRange.
              (WebCore::RenderTextField::setSelectionRange): Calls updateLayout now in case this is called in an onload handler, and no other layout has occurred.
              (WebCore::RenderTextField::calcMinMaxWidth): Use floatWidth to calculate the width of the "0" character.
              * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isControlStyled): If the text field's specified border is different from 
               the default border, then treat the control as styled, so the engine knows to turn off the aqua appearance.
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::paintTextField): return false so the engine knows not to try to draw the border.
              (WebCore::RenderThemeMac::adjustTextFieldStyle): text field style info has been moved to html4.css. 
               We also add intrinsic margins here if the font size is large enough.
              * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler):
               No longer check for appearance. All text fields with m_type == TEXT will use the new implementation.
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::isKeyboardFocusable): ditto.
              (WebCore::HTMLInputElement::focus): ditto.
              (WebCore::HTMLInputElement::selectionStart): ditto.
              (WebCore::HTMLInputElement::selectionEnd): ditto.
              (WebCore::HTMLInputElement::setSelectionStart): ditto.
              (WebCore::HTMLInputElement::setSelectionEnd): ditto.
              (WebCore::HTMLInputElement::select): ditto.
              (WebCore::HTMLInputElement::setSelectionRange): ditto.
              (WebCore::HTMLInputElement::createRenderer): ditto.
              (WebCore::HTMLInputElement::defaultEventHandler): ditto.
              (WebCore::HTMLInputElement::isMouseFocusable): Added.  Old text fields relied on the widget to provide a focus policy.  
               A text field that is focusable should be mouse focusable, and shouldn't need to ask the base class.
              * html/HTMLInputElement.h: Added isMouseFocusable.
              * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::isMouseFocusable):
               Removed specific text field code since that is now done in HTMLInputElement::isMouseFocusable.
              * dom/Document.cpp: (WebCore::Document::clearSelectionIfNeeded): Check that the new selection is does not have a shadowAncestorNode that is focused.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      911414cc
  11. 19 Mar, 2006 1 commit
  12. 10 Dec, 2005 1 commit
    • darin's avatar
      JavaScriptCore: · 35940e83
      darin authored
              Rubber stamped by Maciej.
      
              - did long-promised KJS renaming:
      
                  ValueImp -> JSValue
                  ObjectImp -> JSObject
                  AllocatedValueImp -> JSCell
      
              A renaming to get a class out of the way
      
                  KJS::Bindings::JSObject -> JavaJSObject
      
              and some other "imp-reduction" renaming
      
                  *InstanceImp -> *Instance
                  *ProtoFuncImp -> *ProtoFunc
                  *PrototypeImp -> *Prototype
                  ArgumentsImp -> Arguments
                  RuntimeArrayImp -> RuntimeArray
                  RuntimeMethodImp -> RuntimeMethod
      
              * most files and functions
      
      WebCore:
      
              Rubber stamped by Maciej.
      
              - updated for KJS class renaming
      
              * many files and functions
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      35940e83
  13. 07 Aug, 2005 1 commit
    • darin's avatar
      JavaScriptCore: · c13d2caf
      darin authored
              Rubber stamped by Maciej.
      
              - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4313
                eliminate KJS::Value and KJS::Object smart pointer wrappers (for simplicity and speed)
      
              * JavaScriptCore.xcodeproj/project.pbxproj: Removed object_wrapper.h.
      
              Global replaces and other wonderful stuff.
      
              * bindings/NP_jsobject.cpp:
              (_NPN_Invoke):
              (_NPN_Evaluate):
              (_NPN_GetProperty):
              (_NPN_SetProperty):
              (_NPN_HasMethod):
              (_NPN_SetException):
              * bindings/c/c_instance.cpp:
              (KJS::Bindings::CInstance::CInstance):
              (KJS::Bindings::CInstance::invokeMethod):
              (KJS::Bindings::CInstance::invokeDefaultMethod):
              (KJS::Bindings::CInstance::defaultValue):
              (KJS::Bindings::CInstance::stringValue):
              (KJS::Bindings::CInstance::numberValue):
              (KJS::Bindings::CInstance::booleanValue):
              (KJS::Bindings::CInstance::valueOf):
              * bindings/c/c_instance.h:
              * bindings/c/c_runtime.cpp:
              (CField::valueFromInstance):
              (CField::setValueToInstance):
              * bindings/c/c_runtime.h:
              * bindings/c/c_utility.cpp:
              (convertNPStringToUTF16):
              (convertUTF8ToUTF16):
              (coerceValueToNPVariantStringType):
              (convertValueToNPVariant):
              (convertNPVariantToValue):
              * bindings/c/c_utility.h:
              * bindings/jni/jni_instance.cpp:
              (JavaInstance::stringValue):
              (JavaInstance::numberValue):
              (JavaInstance::booleanValue):
              (JavaInstance::invokeMethod):
              (JavaInstance::invokeDefaultMethod):
              (JavaInstance::defaultValue):
              (JavaInstance::valueOf):
              * bindings/jni/jni_instance.h:
              * bindings/jni/jni_jsobject.cpp:
              (JSObject::invoke):
              (JSObject::call):
              (JSObject::eval):
              (JSObject::getMember):
              (JSObject::getSlot):
              (JSObject::toString):
              (JSObject::convertValueToJObject):
              (JSObject::convertJObjectToValue):
              (JSObject::listFromJArray):
              * bindings/jni/jni_jsobject.h:
              * bindings/jni/jni_objc.mm:
              (KJS::Bindings::dispatchJNICall):
              * bindings/jni/jni_runtime.cpp:
              (JavaArray::convertJObjectToArray):
              (JavaField::dispatchValueFromInstance):
              (JavaField::valueFromInstance):
              (JavaField::dispatchSetValueToInstance):
              (JavaField::setValueToInstance):
              (JavaArray::setValueAt):
              (JavaArray::valueAt):
              * bindings/jni/jni_runtime.h:
              (KJS::Bindings::JavaString::ustring):
              * bindings/jni/jni_utility.cpp:
              (KJS::Bindings::getJavaVM):
              (KJS::Bindings::getJNIEnv):
              (KJS::Bindings::getMethodID):
              (KJS::Bindings::callJNIVoidMethod):
              (KJS::Bindings::callJNIObjectMethod):
              (KJS::Bindings::callJNIBooleanMethod):
              (KJS::Bindings::callJNIStaticBooleanMethod):
              (KJS::Bindings::callJNIByteMethod):
              (KJS::Bindings::callJNICharMethod):
              (KJS::Bindings::callJNIShortMethod):
              (KJS::Bindings::callJNIIntMethod):
              (KJS::Bindings::callJNILongMethod):
              (KJS::Bindings::callJNIFloatMethod):
              (KJS::Bindings::callJNIDoubleMethod):
              (KJS::Bindings::callJNIVoidMethodA):
              (KJS::Bindings::callJNIObjectMethodA):
              (KJS::Bindings::callJNIByteMethodA):
              (KJS::Bindings::callJNICharMethodA):
              (KJS::Bindings::callJNIShortMethodA):
              (KJS::Bindings::callJNIIntMethodA):
              (KJS::Bindings::callJNILongMethodA):
              (KJS::Bindings::callJNIFloatMethodA):
              (KJS::Bindings::callJNIDoubleMethodA):
              (KJS::Bindings::callJNIBooleanMethodA):
              (KJS::Bindings::callJNIVoidMethodIDA):
              (KJS::Bindings::callJNIObjectMethodIDA):
              (KJS::Bindings::callJNIByteMethodIDA):
              (KJS::Bindings::callJNICharMethodIDA):
              (KJS::Bindings::callJNIShortMethodIDA):
              (KJS::Bindings::callJNIIntMethodIDA):
              (KJS::Bindings::callJNILongMethodIDA):
              (KJS::Bindings::callJNIFloatMethodIDA):
              (KJS::Bindings::callJNIDoubleMethodIDA):
              (KJS::Bindings::callJNIBooleanMethodIDA):
              (KJS::Bindings::getCharactersFromJString):
              (KJS::Bindings::releaseCharactersForJString):
              (KJS::Bindings::getCharactersFromJStringInEnv):
              (KJS::Bindings::releaseCharactersForJStringInEnv):
              (KJS::Bindings::getUCharactersFromJStringInEnv):
              (KJS::Bindings::releaseUCharactersForJStringInEnv):
              (KJS::Bindings::JNITypeFromClassName):
              (KJS::Bindings::signatureFromPrimitiveType):
              (KJS::Bindings::JNITypeFromPrimitiveType):
              (KJS::Bindings::getJNIField):
              (KJS::Bindings::convertValueToJValue):
              * bindings/jni/jni_utility.h:
              * bindings/objc/WebScriptObject.mm:
              (_didExecute):
              (-[WebScriptObject _initializeWithObjectImp:originExecutionContext:Bindings::executionContext:Bindings::]):
              (-[WebScriptObject _initWithObjectImp:originExecutionContext:Bindings::executionContext:Bindings::]):
              (-[WebScriptObject _imp]):
              (-[WebScriptObject _executionContext]):
              (-[WebScriptObject _setExecutionContext:]):
              (-[WebScriptObject _originExecutionContext]):
              (-[WebScriptObject _setOriginExecutionContext:]):
              (+[WebScriptObject throwException:]):
              (listFromNSArray):
              (-[WebScriptObject callWebScriptMethod:withArguments:]):
              (-[WebScriptObject evaluateWebScript:]):
              (-[WebScriptObject setValue:forKey:]):
              (-[WebScriptObject valueForKey:]):
              (-[WebScriptObject removeWebScriptKey:]):
              (-[WebScriptObject stringRepresentation]):
              (-[WebScriptObject webScriptValueAtIndex:]):
              (-[WebScriptObject setException:]):
              (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:Bindings::]):
              * bindings/objc/WebScriptObjectPrivate.h:
              * bindings/objc/objc_class.h:
              * bindings/objc/objc_class.mm:
              (KJS::Bindings::ObjcClass::fallbackObject):
              * bindings/objc/objc_instance.h:
              * bindings/objc/objc_instance.mm:
              (ObjcInstance::invokeMethod):
              (ObjcInstance::invokeDefaultMethod):
              (ObjcInstance::setValueOfField):
              (ObjcInstance::setValueOfUndefinedField):
              (ObjcInstance::getValueOfField):
              (ObjcInstance::getValueOfUndefinedField):
              (ObjcInstance::defaultValue):
              (ObjcInstance::stringValue):
              (ObjcInstance::numberValue):
              (ObjcInstance::booleanValue):
              (ObjcInstance::valueOf):
              * bindings/objc/objc_runtime.h:
              * bindings/objc/objc_runtime.mm:
              (ObjcField::valueFromInstance):
              (convertValueToObjcObject):
              (ObjcField::setValueToInstance):
              (ObjcArray::setValueAt):
              (ObjcArray::valueAt):
              (ObjcFallbackObjectImp::put):
              (ObjcFallbackObjectImp::callAsFunction):
              (ObjcFallbackObjectImp::defaultValue):
              * bindings/objc/objc_utility.h:
              * bindings/objc/objc_utility.mm:
              (Bindings::JSMethodNameToObjCMethodName):
              (Bindings::convertValueToObjcValue):
              (Bindings::convertNSStringToString):
              (Bindings::convertObjcValueToValue):
              (Bindings::objcValueTypeForType):
              (Bindings::createObjcInstanceForValue):
              * bindings/runtime.cpp:
              (Instance::getValueOfField):
              (Instance::setValueOfField):
              (Instance::createRuntimeObject):
              (Instance::createLanguageInstanceForValue):
              * bindings/runtime.h:
              (KJS::Bindings::Constructor::~Constructor):
              (KJS::Bindings::Field::~Field):
              (KJS::Bindings::MethodList::MethodList):
              (KJS::Bindings::Class::fallbackObject):
              (KJS::Bindings::Class::~Class):
              (KJS::Bindings::Instance::Instance):
              (KJS::Bindings::Instance::getValueOfUndefinedField):
              (KJS::Bindings::Instance::supportsSetValueOfUndefinedField):
              (KJS::Bindings::Instance::setValueOfUndefinedField):
              (KJS::Bindings::Instance::valueOf):
              (KJS::Bindings::Instance::setExecutionContext):
              (KJS::Bindings::Instance::~Instance):
              (KJS::Bindings::Array::~Array):
              * bindings/runtime_array.cpp:
              (RuntimeArrayImp::RuntimeArrayImp):
              (RuntimeArrayImp::lengthGetter):
              (RuntimeArrayImp::indexGetter):
              (RuntimeArrayImp::put):
              * bindings/runtime_array.h:
              * bindings/runtime_method.cpp:
              (RuntimeMethodImp::lengthGetter):
              (RuntimeMethodImp::callAsFunction):
              * bindings/runtime_method.h:
              * bindings/runtime_object.cpp:
              (RuntimeObjectImp::fallbackObjectGetter):
              (RuntimeObjectImp::fieldGetter):
              (RuntimeObjectImp::methodGetter):
              (RuntimeObjectImp::getOwnPropertySlot):
              (RuntimeObjectImp::put):
              (RuntimeObjectImp::defaultValue):
              (RuntimeObjectImp::callAsFunction):
              * bindings/runtime_object.h:
              * kjs/array_instance.h:
              * kjs/array_object.cpp:
              (ArrayInstanceImp::ArrayInstanceImp):
              (ArrayInstanceImp::lengthGetter):
              (ArrayInstanceImp::getOwnPropertySlot):
              (ArrayInstanceImp::put):
              (ArrayInstanceImp::propList):
              (ArrayInstanceImp::setLength):
              (compareByStringForQSort):
              (compareWithCompareFunctionForQSort):
              (ArrayInstanceImp::sort):
              (ArrayInstanceImp::pushUndefinedObjectsToEnd):
              (ArrayPrototypeImp::ArrayPrototypeImp):
              (ArrayProtoFuncImp::ArrayProtoFuncImp):
              (ArrayProtoFuncImp::callAsFunction):
              (ArrayObjectImp::ArrayObjectImp):
              (ArrayObjectImp::construct):
              (ArrayObjectImp::callAsFunction):
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              (BooleanPrototypeImp::BooleanPrototypeImp):
              (BooleanProtoFuncImp::BooleanProtoFuncImp):
              (BooleanProtoFuncImp::callAsFunction):
              (BooleanObjectImp::BooleanObjectImp):
              (BooleanObjectImp::construct):
              (BooleanObjectImp::callAsFunction):
              * kjs/bool_object.h:
              * kjs/collector.cpp:
              (KJS::Collector::markStackObjectsConservatively):
              (KJS::Collector::collect):
              (KJS::className):
              * kjs/completion.h:
              (KJS::Completion::Completion):
              (KJS::Completion::value):
              (KJS::Completion::isValueCompletion):
              * kjs/context.h:
              (KJS::ContextImp::variableObject):
              (KJS::ContextImp::setVariableObject):
              (KJS::ContextImp::thisValue):
              (KJS::ContextImp::activationObject):
              (KJS::ContextImp::pushScope):
              * kjs/date_object.cpp:
              (formatLocaleDate):
              (KJS::timeFromArgs):
              (KJS::DatePrototypeImp::DatePrototypeImp):
              (KJS::DateProtoFuncImp::DateProtoFuncImp):
              (KJS::DateProtoFuncImp::callAsFunction):
              (KJS::DateObjectImp::DateObjectImp):
              (KJS::DateObjectImp::construct):
              (KJS::DateObjectImp::callAsFunction):
              (KJS::DateObjectFuncImp::DateObjectFuncImp):
              (KJS::DateObjectFuncImp::callAsFunction):
              (KJS::parseDate):
              (KJS::KRFCDate_parseDate):
              (KJS::timeClip):
              * kjs/date_object.h:
              * kjs/debugger.cpp:
              (Debugger::exception):
              (Debugger::callEvent):
              (Debugger::returnEvent):
              * kjs/debugger.h:
              * kjs/error_object.cpp:
              (ErrorPrototypeImp::ErrorPrototypeImp):
              (ErrorProtoFuncImp::ErrorProtoFuncImp):
              (ErrorProtoFuncImp::callAsFunction):
              (ErrorObjectImp::ErrorObjectImp):
              (ErrorObjectImp::construct):
              (ErrorObjectImp::callAsFunction):
              (NativeErrorPrototypeImp::NativeErrorPrototypeImp):
              (NativeErrorImp::NativeErrorImp):
              (NativeErrorImp::construct):
              (NativeErrorImp::callAsFunction):
              * kjs/error_object.h:
              * kjs/function.cpp:
              (KJS::FunctionImp::FunctionImp):
              (KJS::FunctionImp::callAsFunction):
              (KJS::FunctionImp::processParameters):
              (KJS::FunctionImp::argumentsGetter):
              (KJS::FunctionImp::lengthGetter):
              (KJS::FunctionImp::put):
              (KJS::DeclaredFunctionImp::DeclaredFunctionImp):
              (KJS::DeclaredFunctionImp::construct):
              (KJS::ArgumentsImp::ArgumentsImp):
              (KJS::ArgumentsImp::mappedIndexGetter):
              (KJS::ArgumentsImp::put):
              (KJS::ActivationImp::argumentsGetter):
              (KJS::GlobalFuncImp::GlobalFuncImp):
              (KJS::encode):
              (KJS::decode):
              (KJS::GlobalFuncImp::callAsFunction):
              * kjs/function.h:
              * kjs/function_object.cpp:
              (FunctionPrototypeImp::FunctionPrototypeImp):
              (FunctionPrototypeImp::callAsFunction):
              (FunctionProtoFuncImp::FunctionProtoFuncImp):
              (FunctionProtoFuncImp::callAsFunction):
              (FunctionObjectImp::FunctionObjectImp):
              (FunctionObjectImp::construct):
              (FunctionObjectImp::callAsFunction):
              * kjs/function_object.h:
              * kjs/internal.cpp:
              (KJS::UndefinedImp::toPrimitive):
              (KJS::UndefinedImp::toObject):
              (KJS::NullImp::toPrimitive):
              (KJS::NullImp::toObject):
              (KJS::BooleanImp::toPrimitive):
              (KJS::BooleanImp::toObject):
              (KJS::StringImp::toPrimitive):
              (KJS::StringImp::toObject):
              (KJS::NumberImp::toPrimitive):
              (KJS::NumberImp::toObject):
              (KJS::NumberImp::getUInt32):
              (KJS::LabelStack::push):
              (KJS::ContextImp::ContextImp):
              (KJS::InterpreterImp::globalInit):
              (KJS::InterpreterImp::globalClear):
              (KJS::InterpreterImp::InterpreterImp):
              (KJS::InterpreterImp::initGlobalObject):
              (KJS::InterpreterImp::clear):
              (KJS::InterpreterImp::mark):
              (KJS::InterpreterImp::evaluate):
              (KJS::InternalFunctionImp::hasInstance):
              (KJS::roundValue):
              (KJS::printInfo):
              * kjs/internal.h:
              (KJS::InterpreterImp::builtinObject):
              (KJS::InterpreterImp::builtinFunction):
              (KJS::InterpreterImp::builtinArray):
              (KJS::InterpreterImp::builtinBoolean):
              (KJS::InterpreterImp::builtinString):
              (KJS::InterpreterImp::builtinNumber):
              (KJS::InterpreterImp::builtinDate):
              (KJS::InterpreterImp::builtinRegExp):
              (KJS::InterpreterImp::builtinError):
              (KJS::InterpreterImp::builtinObjectPrototype):
              (KJS::InterpreterImp::builtinFunctionPrototype):
              (KJS::InterpreterImp::builtinArrayPrototype):
              (KJS::InterpreterImp::builtinBooleanPrototype):
              (KJS::InterpreterImp::builtinStringPrototype):
              (KJS::InterpreterImp::builtinNumberPrototype):
              (KJS::InterpreterImp::builtinDatePrototype):
              (KJS::InterpreterImp::builtinRegExpPrototype):
              (KJS::InterpreterImp::builtinErrorPrototype):
              (KJS::InterpreterImp::builtinEvalError):
              (KJS::InterpreterImp::builtinRangeError):
              (KJS::InterpreterImp::builtinReferenceError):
              (KJS::InterpreterImp::builtinSyntaxError):
              (KJS::InterpreterImp::builtinTypeError):
              (KJS::InterpreterImp::builtinURIError):
              (KJS::InterpreterImp::builtinEvalErrorPrototype):
              (KJS::InterpreterImp::builtinRangeErrorPrototype):
              (KJS::InterpreterImp::builtinReferenceErrorPrototype):
              (KJS::InterpreterImp::builtinSyntaxErrorPrototype):
              (KJS::InterpreterImp::builtinTypeErrorPrototype):
              (KJS::InterpreterImp::builtinURIErrorPrototype):
              * kjs/interpreter.cpp:
              (Context::variableObject):
              (Context::thisValue):
              (Interpreter::Interpreter):
              (Interpreter::globalObject):
              (Interpreter::evaluate):
              (Interpreter::builtinObject):
              (Interpreter::builtinFunction):
              (Interpreter::builtinArray):
              (Interpreter::builtinBoolean):
              (Interpreter::builtinString):
              (Interpreter::builtinNumber):
              (Interpreter::builtinDate):
              (Interpreter::builtinRegExp):
              (Interpreter::builtinError):
              (Interpreter::builtinObjectPrototype):
              (Interpreter::builtinFunctionPrototype):
              (Interpreter::builtinArrayPrototype):
              (Interpreter::builtinBooleanPrototype):
              (Interpreter::builtinStringPrototype):
              (Interpreter::builtinNumberPrototype):
              (Interpreter::builtinDatePrototype):
              (Interpreter::builtinRegExpPrototype):
              (Interpreter::builtinErrorPrototype):
              (Interpreter::builtinEvalError):
              (Interpreter::builtinRangeError):
              (Interpreter::builtinReferenceError):
              (Interpreter::builtinSyntaxError):
              (Interpreter::builtinTypeError):
              (Interpreter::builtinURIError):
              (Interpreter::builtinEvalErrorPrototype):
              (Interpreter::builtinRangeErrorPrototype):
              (Interpreter::builtinReferenceErrorPrototype):
              (Interpreter::builtinSyntaxErrorPrototype):
              (Interpreter::builtinTypeErrorPrototype):
              (Interpreter::builtinURIErrorPrototype):
              (Interpreter::createLanguageInstanceForValue):
              * kjs/interpreter.h:
              (KJS::Interpreter::isGlobalObject):
              (KJS::ExecState::setException):
              (KJS::ExecState::clearException):
              (KJS::ExecState::exception):
              (KJS::ExecState::hadException):
              (KJS::ExecState::ExecState):
              * kjs/list.cpp:
              (KJS::List::at):
              * kjs/list.h:
              (KJS::List::operator[]):
              (KJS::ListIterator::operator->):
              (KJS::ListIterator::operator*):
              (KJS::ListIterator::operator++):
              (KJS::ListIterator::operator--):
              * kjs/lookup.h:
              (KJS::staticFunctionGetter):
              (KJS::staticValueGetter):
              (KJS::lookupPut):
              (KJS::cacheGlobalObject):
              * kjs/math_object.cpp:
              (MathObjectImp::getValueProperty):
              (MathFuncImp::MathFuncImp):
              (MathFuncImp::callAsFunction):
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              (Node::evaluateReference):
              (Node::throwError):
              (Node::setExceptionDetailsIfNeeded):
              (NullNode::evaluate):
              (BooleanNode::evaluate):
              (NumberNode::evaluate):
              (StringNode::evaluate):
              (RegExpNode::evaluate):
              (ThisNode::evaluate):
              (ResolveNode::evaluate):
              (ResolveNode::evaluateReference):
              (GroupNode::evaluate):
              (ElementNode::evaluate):
              (ArrayNode::evaluate):
              (ObjectLiteralNode::evaluate):
              (PropertyValueNode::evaluate):
              (PropertyNode::evaluate):
              (AccessorNode1::evaluate):
              (AccessorNode1::evaluateReference):
              (AccessorNode2::evaluate):
              (AccessorNode2::evaluateReference):
              (ArgumentListNode::evaluate):
              (ArgumentListNode::evaluateList):
              (ArgumentsNode::evaluate):
              (NewExprNode::evaluate):
              (FunctionCallNode::evaluate):
              (PostfixNode::evaluate):
              (DeleteNode::evaluate):
              (VoidNode::evaluate):
              (TypeOfNode::evaluate):
              (PrefixNode::evaluate):
              (UnaryPlusNode::evaluate):
              (NegateNode::evaluate):
              (BitwiseNotNode::evaluate):
              (LogicalNotNode::evaluate):
              (MultNode::evaluate):
              (AddNode::evaluate):
              (ShiftNode::evaluate):
              (RelationalNode::evaluate):
              (EqualNode::evaluate):
              (BitOperNode::evaluate):
              (BinaryLogicalNode::evaluate):
              (ConditionalNode::evaluate):
              (AssignNode::evaluate):
              (CommaNode::evaluate):
              (StatListNode::execute):
              (AssignExprNode::evaluate):
              (VarDeclNode::evaluate):
              (VarDeclNode::processVarDecls):
              (VarDeclListNode::evaluate):
              (ExprStatementNode::execute):
              (IfNode::execute):
              (DoWhileNode::execute):
              (WhileNode::execute):
              (ForNode::execute):
              (ForInNode::execute):
              (ContinueNode::execute):
              (BreakNode::execute):
              (ReturnNode::execute):
              (WithNode::execute):
              (CaseClauseNode::evaluate):
              (ClauseListNode::evaluate):
              (CaseBlockNode::evaluate):
              (CaseBlockNode::evalBlock):
              (SwitchNode::execute):
              (ThrowNode::execute):
              (CatchNode::execute):
              (TryNode::execute):
              (ParameterNode::evaluate):
              (FuncDeclNode::processFuncDecl):
              (FuncExprNode::evaluate):
              (SourceElementsNode::execute):
              * kjs/nodes.h:
              (KJS::StatementNode::evaluate):
              * kjs/number_object.cpp:
              (NumberPrototypeImp::NumberPrototypeImp):
              (NumberProtoFuncImp::NumberProtoFuncImp):
              (NumberProtoFuncImp::callAsFunction):
              (NumberObjectImp::NumberObjectImp):
              (NumberObjectImp::getValueProperty):
              (NumberObjectImp::construct):
              (NumberObjectImp::callAsFunction):
              * kjs/number_object.h:
              * kjs/object.cpp:
              (KJS::ObjectImp::call):
              (KJS::ObjectImp::mark):
              (KJS::ObjectImp::classInfo):
              (KJS::ObjectImp::get):
              (KJS::ObjectImp::getProperty):
              (KJS::ObjectImp::getPropertySlot):
              (KJS::ObjectImp::put):
              (KJS::ObjectImp::hasOwnProperty):
              (KJS::ObjectImp::defaultValue):
              (KJS::ObjectImp::findPropertyHashEntry):
              (KJS::ObjectImp::construct):
              (KJS::ObjectImp::callAsFunction):
              (KJS::ObjectImp::hasInstance):
              (KJS::ObjectImp::propList):
              (KJS::ObjectImp::toPrimitive):
              (KJS::ObjectImp::toNumber):
              (KJS::ObjectImp::toString):
              (KJS::ObjectImp::toObject):
              (KJS::ObjectImp::putDirect):
              (KJS::Error::create):
              (KJS::error):
              * kjs/object.h:
              (KJS::):
              (KJS::ObjectImp::getPropertySlot):
              (KJS::AllocatedValueImp::isObject):
              (KJS::ObjectImp::ObjectImp):
              (KJS::ObjectImp::internalValue):
              (KJS::ObjectImp::setInternalValue):
              (KJS::ObjectImp::prototype):
              (KJS::ObjectImp::setPrototype):
              (KJS::ObjectImp::inherits):
              * kjs/object_object.cpp:
              (ObjectPrototypeImp::ObjectPrototypeImp):
              (ObjectProtoFuncImp::ObjectProtoFuncImp):
              (ObjectProtoFuncImp::callAsFunction):
              (ObjectObjectImp::ObjectObjectImp):
              (ObjectObjectImp::construct):
              (ObjectObjectImp::callAsFunction):
              * kjs/object_object.h:
              * kjs/operations.cpp:
              (KJS::equal):
              (KJS::strictEqual):
              (KJS::relation):
              (KJS::add):
              (KJS::mult):
              * kjs/operations.h:
              * kjs/property_map.cpp:
              (KJS::PropertyMap::mark):
              (KJS::PropertyMap::addEnumerablesToReferenceList):
              (KJS::PropertyMap::addSparseArrayPropertiesToReferenceList):
              (KJS::PropertyMap::save):
              (KJS::PropertyMap::restore):
              * kjs/property_map.h:
              * kjs/property_slot.cpp:
              (KJS::PropertySlot::undefinedGetter):
              * kjs/property_slot.h:
              (KJS::PropertySlot::getValue):
              * kjs/protect.h:
              (KJS::gcUnprotectNullTolerant):
              (KJS::ProtectedValue::ProtectedValue):
              (KJS::ProtectedValue::~ProtectedValue):
              (KJS::ProtectedValue::operator=):
              (KJS::ProtectedValue::operator ValueImp *):
              (KJS::ProtectedValue::operator->):
              * kjs/protected_object.h:
              (KJS::ProtectedObject::ProtectedObject):
              (KJS::ProtectedObject::operator=):
              (KJS::ProtectedObject::operator ValueImp *):
              (KJS::ProtectedObject::operator ObjectImp *):
              (KJS::ProtectedObject::operator->):
              (KJS::ProtectedReference::ProtectedReference):
              (KJS::ProtectedReference::~ProtectedReference):
              (KJS::ProtectedReference::operator=):
              * kjs/protected_values.cpp:
              (KJS::ProtectedValues::getProtectCount):
              (KJS::ProtectedValues::increaseProtectCount):
              (KJS::ProtectedValues::insert):
              (KJS::ProtectedValues::decreaseProtectCount):
              * kjs/protected_values.h:
              * kjs/reference.cpp:
              (KJS::Reference::Reference):
              (KJS::Reference::makeValueReference):
              (KJS::Reference::getBase):
              (KJS::Reference::getValue):
              (KJS::Reference::putValue):
              (KJS::Reference::deleteValue):
              * kjs/reference.h:
              (KJS::Reference::baseIfMutable):
              * kjs/regexp_object.cpp:
              (RegExpPrototypeImp::RegExpPrototypeImp):
              (RegExpProtoFuncImp::RegExpProtoFuncImp):
              (RegExpProtoFuncImp::callAsFunction):
              (RegExpObjectImp::RegExpObjectImp):
              (RegExpObjectImp::arrayOfMatches):
              (RegExpObjectImp::backrefGetter):
              (RegExpObjectImp::construct):
              (RegExpObjectImp::callAsFunction):
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              (StringInstanceImp::lengthGetter):
              (StringInstanceImp::indexGetter):
              (StringInstanceImp::getOwnPropertySlot):
              (StringInstanceImp::put):
              (StringPrototypeImp::StringPrototypeImp):
              (StringProtoFuncImp::StringProtoFuncImp):
              (regExpIsGlobal):
              (replace):
              (StringProtoFuncImp::callAsFunction):
              (StringObjectImp::StringObjectImp):
              (StringObjectImp::construct):
              (StringObjectImp::callAsFunction):
              (StringObjectFuncImp::StringObjectFuncImp):
              (StringObjectFuncImp::callAsFunction):
              * kjs/string_object.h:
              * kjs/testkjs.cpp:
              (TestFunctionImp::callAsFunction):
              (VersionFunctionImp::callAsFunction):
              (main):
              * kjs/value.cpp:
              (KJS::AllocatedValueImp::operator new):
              (KJS::AllocatedValueImp::getUInt32):
              (KJS::ValueImp::toInteger):
              (KJS::ValueImp::toInt32):
              (KJS::ValueImp::toUInt32):
              (KJS::ValueImp::toUInt16):
              (KJS::ValueImp::toObject):
              (KJS::AllocatedValueImp::getBoolean):
              (KJS::AllocatedValueImp::getNumber):
              (KJS::AllocatedValueImp::getString):
              (KJS::AllocatedValueImp::getObject):
              (KJS::jsString):
              (KJS::jsNumber):
              (KJS::ConstantValues::init):
              (KJS::ConstantValues::clear):
              (KJS::ConstantValues::mark):
              * kjs/value.h:
              (KJS::):
              (KJS::jsUndefined):
              (KJS::jsNull):
              (KJS::jsBoolean):
              (KJS::jsNaN):
              (KJS::ValueImp::ValueImp):
              (KJS::ValueImp::~ValueImp):
              (KJS::AllocatedValueImp::AllocatedValueImp):
              (KJS::AllocatedValueImp::~AllocatedValueImp):
              (KJS::AllocatedValueImp::isBoolean):
              (KJS::AllocatedValueImp::isNumber):
              (KJS::AllocatedValueImp::isString):
              (KJS::AllocatedValueImp::isObject):
              (KJS::AllocatedValueImp::marked):
              (KJS::AllocatedValueImp::mark):
              (KJS::ValueImp::downcast):
              (KJS::ValueImp::isUndefined):
              (KJS::ValueImp::isNull):
              (KJS::ValueImp::isUndefinedOrNull):
              (KJS::ValueImp::isBoolean):
              (KJS::ValueImp::isNumber):
              (KJS::ValueImp::isString):
              (KJS::ValueImp::isObject):
              (KJS::ValueImp::getBoolean):
              (KJS::ValueImp::getNumber):
              (KJS::ValueImp::getString):
              (KJS::ValueImp::getObject):
              (KJS::ValueImp::getUInt32):
              (KJS::ValueImp::mark):
              (KJS::ValueImp::marked):
              (KJS::ValueImp::type):
              (KJS::ValueImp::toPrimitive):
              (KJS::ValueImp::toBoolean):
              (KJS::ValueImp::toNumber):
              (KJS::ValueImp::toString):
              (KJS::jsZero):
              (KJS::jsOne):
              (KJS::jsTwo):
              (KJS::Undefined):
              (KJS::Null):
              (KJS::Boolean):
              (KJS::Number):
              (KJS::String):
      
      WebCore:
      
              Rubber stamped by Maciej.
      
              - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4313
                eliminate KJS::Value and KJS::Object smart pointer wrappers (for simplicity and speed)
      
              * khtml/ecma/domparser.cpp:
              (KJS::DOMParserConstructorImp::construct):
              (KJS::DOMParserProtoFunc::callAsFunction):
              * khtml/ecma/domparser.h:
              * khtml/ecma/kjs_binding.cpp:
              (KJS::ScriptInterpreter::ScriptInterpreter):
              (KJS::ScriptInterpreter::isGlobalObject):
              (KJS::ScriptInterpreter::createLanguageInstanceForValue):
              (KJS::getStringOrNull):
              (KJS::ValueToVariant):
              (KJS::setDOMException):
              * khtml/ecma/kjs_binding.h:
              (KJS::DOMFunction::toPrimitive):
              (KJS::cacheDOMObject):
              * khtml/ecma/kjs_css.cpp:
              (KJS::DOMCSSStyleDeclaration::indexGetter):
              (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
              (KJS::DOMCSSStyleDeclaration::getValueProperty):
              (KJS::DOMCSSStyleDeclaration::put):
              (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
              (KJS::DOMStyleSheet::getValueProperty):
              (KJS::DOMStyleSheet::put):
              (KJS::DOMStyleSheetList::getValueProperty):
              (KJS::DOMStyleSheetList::indexGetter):
              (KJS::DOMStyleSheetList::nameGetter):
              (KJS::DOMStyleSheetListFunc::callAsFunction):
              (KJS::DOMMediaList::getValueProperty):
              (KJS::DOMMediaList::indexGetter):
              (KJS::DOMMediaList::put):
              (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
              (KJS::DOMCSSStyleSheet::getValueProperty):
              (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
              (KJS::DOMCSSRuleList::getValueProperty):
              (KJS::DOMCSSRuleList::indexGetter):
              (KJS::DOMCSSRuleListFunc::callAsFunction):
              (KJS::DOMCSSRule::getValueProperty):
              (KJS::DOMCSSRule::put):
              (KJS::DOMCSSRule::putValueProperty):
              (KJS::DOMCSSRuleFunc::callAsFunction):
              (KJS::CSSRuleConstructor::getValueProperty):
              (KJS::getCSSRuleConstructor):
              (KJS::DOMCSSValue::getValueProperty):
              (KJS::DOMCSSValue::put):
              (KJS::getDOMCSSValue):
              (KJS::CSSValueConstructor::getValueProperty):
              (KJS::getCSSValueConstructor):
              (KJS::DOMCSSPrimitiveValue::getValueProperty):
              (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
              (KJS::CSSPrimitiveValueConstructor::getValueProperty):
              (KJS::getCSSPrimitiveValueConstructor):
              (KJS::DOMCSSValueList::getValueProperty):
              (KJS::DOMCSSValueList::indexGetter):
              (KJS::DOMCSSValueListFunc::callAsFunction):
              (KJS::DOMRGBColor::getValueProperty):
              (KJS::DOMRect::getValueProperty):
              (KJS::DOMCounter::getValueProperty):
              * khtml/ecma/kjs_css.h:
              * khtml/ecma/kjs_dom.cpp:
              (KJS::DOMNode::getValueProperty):
              (KJS::DOMNode::put):
              (KJS::DOMNode::putValueProperty):
              (KJS::DOMNode::toPrimitive):
              (KJS::DOMNode::getListener):
              (KJS::DOMNodeProtoFunc::callAsFunction):
              (KJS::DOMNodeList::toPrimitive):
              (KJS::DOMNodeList::getValueProperty):
              (KJS::DOMNodeList::indexGetter):
              (KJS::DOMNodeList::nameGetter):
              (KJS::DOMNodeList::callAsFunction):
              (KJS::DOMNodeListFunc::DOMNodeListFunc):
              (KJS::DOMNodeListFunc::callAsFunction):
              (KJS::DOMAttr::getValueProperty):
              (KJS::DOMAttr::put):
              (KJS::DOMAttr::putValueProperty):
              (KJS::DOMDocument::getValueProperty):
              (KJS::DOMDocument::put):
              (KJS::DOMDocument::putValueProperty):
              (KJS::DOMDocumentProtoFunc::callAsFunction):
              (KJS::DOMElement::getValueProperty):
              (KJS::DOMElement::attributeGetter):
              (KJS::DOMElement::getOwnPropertySlot):
              (KJS::DOMElementProtoFunc::callAsFunction):
              (KJS::DOMDOMImplementationProtoFunc::callAsFunction):
              (KJS::DOMDocumentType::getValueProperty):
              (KJS::DOMNamedNodeMap::lengthGetter):
              (KJS::DOMNamedNodeMap::indexGetter):
              (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
              (KJS::DOMProcessingInstruction::getValueProperty):
              (KJS::DOMProcessingInstruction::put):
              (KJS::DOMNotation::getValueProperty):
              (KJS::DOMEntity::getValueProperty):
              (KJS::NodeConstructor::getValueProperty):
              (KJS::DOMExceptionConstructor::getValueProperty):
              (KJS::DOMNamedNodesCollection::lengthGetter):
              (KJS::DOMNamedNodesCollection::indexGetter):
              (KJS::DOMCharacterData::getValueProperty):
              (KJS::DOMCharacterData::put):
              (KJS::DOMCharacterDataProtoFunc::callAsFunction):
              (KJS::DOMTextProtoFunc::callAsFunction):
              * khtml/ecma/kjs_dom.h:
              * khtml/ecma/kjs_events.cpp:
              (KJS::JSAbstractEventListener::handleEvent):
              (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener):
              (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener):
              (KJS::JSUnprotectedEventListener::listenerObj):
              (KJS::JSUnprotectedEventListener::windowObj):
              (KJS::JSUnprotectedEventListener::mark):
              (KJS::JSEventListener::JSEventListener):
              (KJS::JSEventListener::~JSEventListener):
              (KJS::JSEventListener::listenerObj):
              (KJS::JSEventListener::windowObj):
              (KJS::JSLazyEventListener::JSLazyEventListener):
              (KJS::JSLazyEventListener::handleEvent):
              (KJS::JSLazyEventListener::listenerObj):
              (KJS::JSLazyEventListener::parseCode):
              (KJS::getNodeEventListener):
              (KJS::EventConstructor::getValueProperty):
              (KJS::getEventConstructor):
              (KJS::DOMEvent::getValueProperty):
              (KJS::DOMEvent::put):
              (KJS::DOMEvent::putValueProperty):
              (KJS::DOMEventProtoFunc::callAsFunction):
              (KJS::getDOMEvent):
              (KJS::EventExceptionConstructor::getValueProperty):
              (KJS::getEventExceptionConstructor):
              (KJS::DOMUIEvent::getValueProperty):
              (KJS::DOMUIEventProtoFunc::callAsFunction):
              (KJS::DOMMouseEvent::getValueProperty):
              (KJS::DOMMouseEventProtoFunc::callAsFunction):
              (KJS::DOMKeyboardEvent::getValueProperty):
              (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
              (KJS::MutationEventConstructor::getValueProperty):
              (KJS::getMutationEventConstructor):
              (KJS::DOMMutationEvent::getValueProperty):
              (KJS::DOMMutationEventProtoFunc::callAsFunction):
              (KJS::DOMWheelEvent::getValueProperty):
              (KJS::DOMWheelEventProtoFunc::callAsFunction):
              (KJS::stringOrUndefined):
              (KJS::Clipboard::getValueProperty):
              (KJS::Clipboard::put):
              (KJS::Clipboard::putValueProperty):
              (KJS::ClipboardProtoFunc::callAsFunction):
              * khtml/ecma/kjs_events.h:
              (KJS::JSAbstractEventListener::listenerObjImp):
              * khtml/ecma/kjs_html.cpp:
              (KJS::KJS::HTMLDocFunction::callAsFunction):
              (KJS::HTMLDocument::namedItemGetter):
              (KJS::HTMLDocument::getValueProperty):
              (KJS::KJS::HTMLDocument::put):
              (KJS::KJS::HTMLDocument::putValueProperty):
              (KJS::HTMLElement::formIndexGetter):
              (KJS::HTMLElement::formNameGetter):
              (KJS::HTMLElement::selectIndexGetter):
              (KJS::HTMLElement::framesetNameGetter):
              (KJS::HTMLElement::frameWindowPropertyGetter):
              (KJS::HTMLElement::runtimeObjectGetter):
              (KJS::HTMLElement::runtimeObjectPropertyGetter):
              (KJS::HTMLElement::getOwnPropertySlot):
              (KJS::KJS::HTMLElement::implementsCall):
              (KJS::KJS::HTMLElement::callAsFunction):
              (KJS::HTMLElement::htmlGetter):
              (KJS::HTMLElement::headGetter):
              (KJS::HTMLElement::linkGetter):
              (KJS::HTMLElement::titleGetter):
              (KJS::HTMLElement::metaGetter):
              (KJS::HTMLElement::baseGetter):
              (KJS::HTMLElement::isIndexGetter):
              (KJS::HTMLElement::styleGetter):
              (KJS::HTMLElement::bodyGetter):
              (KJS::HTMLElement::formGetter):
              (KJS::HTMLElement::selectGetter):
              (KJS::HTMLElement::optGroupGetter):
              (KJS::HTMLElement::optionGetter):
              (KJS::getInputSelectionStart):
              (KJS::getInputSelectionEnd):
              (KJS::HTMLElement::inputGetter):
              (KJS::HTMLElement::textAreaGetter):
              (KJS::HTMLElement::buttonGetter):
              (KJS::HTMLElement::labelGetter):
              (KJS::HTMLElement::fieldSetGetter):
              (KJS::HTMLElement::legendGetter):
              (KJS::HTMLElement::uListGetter):
              (KJS::HTMLElement::oListGetter):
              (KJS::HTMLElement::dListGetter):
              (KJS::HTMLElement::dirGetter):
              (KJS::HTMLElement::menuGetter):
              (KJS::HTMLElement::liGetter):
              (KJS::HTMLElement::divGetter):
              (KJS::HTMLElement::paragraphGetter):
              (KJS::HTMLElement::headingGetter):
              (KJS::HTMLElement::blockQuoteGetter):
              (KJS::HTMLElement::quoteGetter):
              (KJS::HTMLElement::preGetter):
              (KJS::HTMLElement::brGetter):
              (KJS::HTMLElement::baseFontGetter):
              (KJS::HTMLElement::fontGetter):
              (KJS::HTMLElement::hrGetter):
              (KJS::HTMLElement::modGetter):
              (KJS::HTMLElement::anchorGetter):
              (KJS::HTMLElement::imageGetter):
              (KJS::HTMLElement::objectGetter):
              (KJS::HTMLElement::paramGetter):
              (KJS::HTMLElement::appletGetter):
              (KJS::HTMLElement::mapGetter):
              (KJS::HTMLElement::areaGetter):
              (KJS::HTMLElement::scriptGetter):
              (KJS::HTMLElement::tableGetter):
              (KJS::HTMLElement::tableCaptionGetter):
              (KJS::HTMLElement::tableColGetter):
              (KJS::HTMLElement::tableSectionGetter):
              (KJS::HTMLElement::tableRowGetter):
              (KJS::HTMLElement::tableCellGetter):
              (KJS::HTMLElement::frameSetGetter):
              (KJS::HTMLElement::frameGetter):
              (KJS::HTMLElement::iFrameGetter):
              (KJS::HTMLElement::marqueeGetter):
              (KJS::HTMLElement::getValueProperty):
              (KJS::HTMLElementFunction::HTMLElementFunction):
              (KJS::KJS::HTMLElementFunction::callAsFunction):
              (KJS::KJS::HTMLElement::put):
              (KJS::HTMLElement::htmlSetter):
              (KJS::HTMLElement::headSetter):
              (KJS::HTMLElement::linkSetter):
              (KJS::HTMLElement::titleSetter):
              (KJS::HTMLElement::metaSetter):
              (KJS::HTMLElement::baseSetter):
              (KJS::HTMLElement::isIndexSetter):
              (KJS::HTMLElement::styleSetter):
              (KJS::HTMLElement::bodySetter):
              (KJS::HTMLElement::formSetter):
              (KJS::HTMLElement::selectSetter):
              (KJS::HTMLElement::optGroupSetter):
              (KJS::HTMLElement::optionSetter):
              (KJS::HTMLElement::inputSetter):
              (KJS::HTMLElement::textAreaSetter):
              (KJS::HTMLElement::buttonSetter):
              (KJS::HTMLElement::labelSetter):
              (KJS::HTMLElement::fieldSetSetter):
              (KJS::HTMLElement::legendSetter):
              (KJS::HTMLElement::uListSetter):
              (KJS::HTMLElement::oListSetter):
              (KJS::HTMLElement::dListSetter):
              (KJS::HTMLElement::dirSetter):
              (KJS::HTMLElement::menuSetter):
              (KJS::HTMLElement::liSetter):
              (KJS::HTMLElement::divSetter):
              (KJS::HTMLElement::paragraphSetter):
              (KJS::HTMLElement::headingSetter):
              (KJS::HTMLElement::blockQuoteSetter):
              (KJS::HTMLElement::quoteSetter):
              (KJS::HTMLElement::preSetter):
              (KJS::HTMLElement::brSetter):
              (KJS::HTMLElement::baseFontSetter):
              (KJS::HTMLElement::fontSetter):
              (KJS::HTMLElement::hrSetter):
              (KJS::HTMLElement::modSetter):
              (KJS::HTMLElement::anchorSetter):
              (KJS::HTMLElement::imageSetter):
              (KJS::HTMLElement::objectSetter):
              (KJS::HTMLElement::paramSetter):
              (KJS::HTMLElement::appletSetter):
              (KJS::HTMLElement::mapSetter):
              (KJS::HTMLElement::areaSetter):
              (KJS::HTMLElement::scriptSetter):
              (KJS::HTMLElement::tableSetter):
              (KJS::HTMLElement::tableCaptionSetter):
              (KJS::HTMLElement::tableColSetter):
              (KJS::HTMLElement::tableSectionSetter):
              (KJS::HTMLElement::tableRowSetter):
              (KJS::HTMLElement::tableCellSetter):
              (KJS::HTMLElement::frameSetSetter):
              (KJS::HTMLElement::frameSetter):
              (KJS::HTMLElement::iFrameSetter):
              (KJS::HTMLElement::marqueeSetter):
              (KJS::HTMLElement::putValueProperty):
              (KJS::HTMLCollection::lengthGetter):
              (KJS::HTMLCollection::indexGetter):
              (KJS::HTMLCollection::nameGetter):
              (KJS::HTMLCollection::getOwnPropertySlot):
              (KJS::KJS::HTMLCollection::callAsFunction):
              (KJS::KJS::HTMLCollection::getNamedItems):
              (KJS::KJS::HTMLCollectionProtoFunc::callAsFunction):
              (KJS::HTMLSelectCollection::selectedIndexGetter):
              (KJS::KJS::HTMLSelectCollection::put):
              (KJS::OptionConstructorImp::construct):
              (KJS::ImageConstructorImp::construct):
              (KJS::Image::getValueProperty):
              (KJS::Image::put):
              (KJS::Image::putValueProperty):
              (KJS::isGradient):
              (KJS::isImagePattern):
              (KJS::KJS::Context2DFunction::callAsFunction):
              (KJS::Context2D::getValueProperty):
              (KJS::Context2D::put):
              (KJS::colorRefFromValue):
              (KJS::colorFromValue):
              (KJS::Context2D::setShadow):
              (KJS::Context2D::updateFillImagePattern):
              (KJS::Context2D::updateStrokeImagePattern):
              (KJS::Context2D::putValueProperty):
              (KJS::Context2D::Context2D):
              (KJS::Context2D::mark):
              (KJS::GradientFunction::callAsFunction):
              (KJS::Gradient::getValueProperty):
              (KJS::Gradient::put):
              (KJS::Gradient::putValueProperty):
              (KJS::ImagePattern::getValueProperty):
              (KJS::ImagePattern::put):
              (KJS::ImagePattern::putValueProperty):
              * khtml/ecma/kjs_html.h:
              * khtml/ecma/kjs_navigator.cpp:
              (KJS::Navigator::getValueProperty):
              (KJS::Plugins::getValueProperty):
              (KJS::Plugins::indexGetter):
              (KJS::Plugins::nameGetter):
              (KJS::MimeTypes::getValueProperty):
              (KJS::MimeTypes::indexGetter):
              (KJS::MimeTypes::nameGetter):
              (KJS::Plugin::getValueProperty):
              (KJS::Plugin::indexGetter):
              (KJS::Plugin::nameGetter):
              (KJS::MimeType::getValueProperty):
              (KJS::PluginsFunc::callAsFunction):
              (KJS::NavigatorFunc::callAsFunction):
              * khtml/ecma/kjs_navigator.h:
              * khtml/ecma/kjs_proxy.cpp:
              (KJSProxyImpl::evaluate):
              (TestFunctionImp::callAsFunction):
              (KJSProxyImpl::initScript):
              (KJSProxy::proxy):
              * khtml/ecma/kjs_range.cpp:
              (KJS::DOMRange::getValueProperty):
              (KJS::DOMRangeProtoFunc::callAsFunction):
              (KJS::RangeConstructor::getValueProperty):
              * khtml/ecma/kjs_range.h:
              * khtml/ecma/kjs_traversal.cpp:
              (KJS::DOMNodeIterator::getValueProperty):
              (KJS::DOMNodeIteratorProtoFunc::callAsFunction):
              (KJS::NodeFilterConstructor::getValueProperty):
              (KJS::getNodeFilterConstructor):
              (KJS::DOMNodeFilterProtoFunc::callAsFunction):
              (KJS::DOMTreeWalker::getValueProperty):
              (KJS::DOMTreeWalker::put):
              (KJS::DOMTreeWalkerProtoFunc::callAsFunction):
              (KJS::JSNodeFilterCondition::JSNodeFilterCondition):
              (KJS::JSNodeFilterCondition::acceptNode):
              * khtml/ecma/kjs_traversal.h:
              * khtml/ecma/kjs_views.cpp:
              (KJS::DOMAbstractView::getValueProperty):
              (KJS::DOMAbstractViewFunc::callAsFunction):
              * khtml/ecma/kjs_views.h:
              * khtml/ecma/kjs_window.cpp:
              (KJS::Screen::getValueProperty):
              (KJS::Window::retrieveWindow):
              (KJS::Window::retrieveActive):
              (KJS::Window::retrieve):
              (KJS::parseFeatures):
              (KJS::showModalDialog):
              (KJS::Window::getValueProperty):
              (KJS::Window::childFrameGetter):
              (KJS::Window::namedFrameGetter):
              (KJS::Window::indexGetter):
              (KJS::Window::namedItemGetter):
              (KJS::Window::put):
              (KJS::Window::installTimeout):
              (KJS::Window::setListener):
              (KJS::Window::getListener):
              (KJS::Window::getJSEventListener):
              (KJS::Window::getJSUnprotectedEventListener):
              (KJS::Window::getJSLazyEventListener):
              (KJS::WindowFunc::callAsFunction):
              (KJS::ScheduledAction::ScheduledAction):
              (KJS::ScheduledAction::execute):
              (KJS::WindowQObject::installTimeout):
              (KJS::FrameArray::getValueProperty):
              (KJS::FrameArray::indexGetter):
              (KJS::FrameArray::nameGetter):
              (KJS::Location::getValueProperty):
              (KJS::Location::put):
              (KJS::Location::toPrimitive):
              (KJS::LocationFunc::callAsFunction):
              (KJS::Selection::getValueProperty):
              (KJS::Selection::toPrimitive):
              (KJS::SelectionFunc::callAsFunction):
              (KJS::BarInfo::getValueProperty):
              (KJS::History::getValueProperty):
              (KJS::HistoryFunc::callAsFunction):
              (KJS::Konqueror::get):
              (KJS::KonquerorFunc::callAsFunction):
              * khtml/ecma/kjs_window.h:
              * khtml/ecma/xmlhttprequest.cpp:
              (KJS::XMLHttpRequestConstructorImp::construct):
              (KJS::XMLHttpRequest::getValueProperty):
              (KJS::XMLHttpRequest::put):
              (KJS::XMLHttpRequest::putValueProperty):
              (KJS::XMLHttpRequest::getAllResponseHeaders):
              (KJS::XMLHttpRequest::getResponseHeader):
              (KJS::XMLHttpRequest::getStatus):
              (KJS::XMLHttpRequest::getStatusText):
              (KJS::XMLHttpRequestProtoFunc::callAsFunction):
              * khtml/ecma/xmlhttprequest.h:
              * khtml/ecma/xmlserializer.cpp:
              (KJS::XMLSerializerConstructorImp::construct):
              (KJS::XMLSerializerProtoFunc::callAsFunction):
              * khtml/ecma/xmlserializer.h:
              * kwq/DOMUtility.mm:
              (KJS::ScriptInterpreter::createObjcInstanceForValue):
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::bindingRootObject):
              (KWQKHTMLPart::windowScriptObject):
              (KWQKHTMLPart::windowScriptNPObject):
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge executionContextForView:]):
              * kwq/WebCoreScriptDebugger.mm:
              (WebCoreScriptDebuggerImp::callEvent):
              (WebCoreScriptDebuggerImp::returnEvent):
              (-[WebCoreScriptDebugger finalize]):
              (-[WebCoreScriptCallFrame _convertValueToObjcValue:]):
              (-[WebCoreScriptCallFrame scopeChain]):
              (-[WebCoreScriptCallFrame evaluateWebScript:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10084 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c13d2caf
  14. 12 May, 2005 1 commit
    • darin's avatar
      Reviewed by Maciej (except for some parts outside the ECMA directory). · 37da08c4
      darin authored
              - switch KJS wrappers over to using the DOM impl. classes rather than using
                the DOM wrappers; will allow us to not even compile the DOM wrappers and
                make the code smaller
      
              * khtml/css/css_valueimpl.h: Added CSSStyleDeclarationImpl::isPropertyName,
              removed CSSStyleDeclarationImpl::propertyID.
              * khtml/css/css_valueimpl.cpp:
              (DOM::propertyID): Added. Gets property ID given a DOM string. Replaces the
              previous version that had hacks that we want to leave in the JS wrapper for now.
              (DOM::CSSStyleDeclarationImpl::isPropertyName): Added.
      
              * khtml/css/cssproperties.in: Fixed up comments.
      
              * khtml/css/makeprop: Added new maxCSSPropertyNameLength constant, used for
              buffer size in the propertyID function.
      
              * khtml/dom/dom2_events.h: Added handleEventImpl, making it easier to call
              handleEvent in a way that works either with or without the C++ DOM wrappers.
              * khtml/dom/dom2_events.cpp: (EventListener::handleEventImpl): Added.
      
              * khtml/dom/dom2_views.cpp: Added now-needed include.
              * khtml/dom/dom_doc.cpp: Added now-needed include.
              * khtml/dom/dom_element.cpp: Tweaked includes.
      
              * khtml/editing/htmlediting.cpp: Removed now-unneeded include.
              * khtml/html/html_baseimpl.cpp: Ditto.
              * khtml/html/html_formimpl.h: Ditto.
              * khtml/rendering/render_form.h: Ditto.
              * khtml/rendering/render_style.h: Ditto.
              * khtml/xml/dom2_eventsimpl.cpp: Ditto.
              * khtml/xml/dom2_viewsimpl.h: Ditto.
              * khtml/xml/dom_elementimpl.h: Ditto.
              * khtml/xml/dom_stringimpl.h: Ditto.
              * kwq/DOM.mm: Ditto.
              * kwq/DOMHTML.mm: Ditto.
      
              * khtml/khtml_part.cpp: Tweaked incluudes.
              * khtml/khtmlpart_p.h: Ditto.
      
              * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::canCachePage): Change to use DOM impl. rather
              than C++ DOM.
      
              * khtml/xml/dom_docimpl.cpp:
              (DOMImplementationImpl::createDocumentType): Disabled the calls to the not-implemented
              name checks in the C++ DOM wrappers. If we add name changes, we'll want them inside the
              impl, not in the wrappers.
              (DOMImplementationImpl::createDocument): Ditto.
              * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::checkSetPrefix): Ditto.
      
              * khtml/ecma/kjs_binding.cpp:
              (KJS::ScriptInterpreter::wasRunByUserGesture):
              (KJS::KJS::ValueToVariant):
              (KJS::setDOMException):
              * khtml/ecma/kjs_binding.h:
              (KJS::ScriptInterpreter::setCurrentEvent):
              (KJS::ScriptInterpreter::getCurrentEvent):
              (KJS::cacheDOMObject):
              (KJS::DOMExceptionTranslator::DOMExceptionTranslator):
              (KJS::DOMExceptionTranslator::~DOMExceptionTranslator):
              (KJS::DOMExceptionTranslator::operator int &):
              (KJS::cacheGlobalObject):
              * khtml/ecma/kjs_css.cpp:
              (KJS::cssPropertyName):
              (KJS::isCSSPropertyName):
              (KJS::DOMCSSStyleDeclaration::DOMCSSStyleDeclaration):
              (KJS::DOMCSSStyleDeclaration::~DOMCSSStyleDeclaration):
              (KJS::DOMCSSStyleDeclaration::hasProperty):
              (KJS::DOMCSSStyleDeclaration::tryGet):
              (KJS::DOMCSSStyleDeclaration::tryPut):
              (KJS::DOMCSSStyleDeclarationProtoFunc::tryCall):
              (KJS::getDOMCSSStyleDeclaration):
              (KJS::DOMStyleSheet::~DOMStyleSheet):
              (KJS::DOMStyleSheet::getValueProperty):
              (KJS::DOMStyleSheet::tryPut):
              (KJS::getDOMStyleSheet):
              (KJS::DOMStyleSheetList::~DOMStyleSheetList):
              (KJS::DOMStyleSheetList::tryGet):
              (KJS::getDOMStyleSheetList):
              (KJS::DOMStyleSheetListFunc::tryCall):
              (KJS::DOMMediaList::DOMMediaList):
              (KJS::DOMMediaList::~DOMMediaList):
              (KJS::DOMMediaList::tryGet):
              (KJS::DOMMediaList::tryPut):
              (KJS::getDOMMediaList):
              (KJS::KJS::DOMMediaListProtoFunc::tryCall):
              (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet):
              (KJS::DOMCSSStyleSheet::tryGet):
              (KJS::DOMCSSStyleSheetProtoFunc::tryCall):
              (KJS::DOMCSSRuleList::~DOMCSSRuleList):
              (KJS::DOMCSSRuleList::tryGet):
              (KJS::DOMCSSRuleListFunc::tryCall):
              (KJS::getDOMCSSRuleList):
              (KJS::DOMCSSRule::~DOMCSSRule):
              (KJS::DOMCSSRule::classInfo):
              (KJS::DOMCSSRule::tryGet):
              (KJS::DOMCSSRule::getValueProperty):
              (KJS::DOMCSSRule::putValue):
              (KJS::DOMCSSRuleFunc::tryCall):
              (KJS::getDOMCSSRule):
              (KJS::DOMCSSValue::~DOMCSSValue):
              (KJS::DOMCSSValue::tryGet):
              (KJS::DOMCSSValue::tryPut):
              (KJS::getDOMCSSValue):
              (KJS::DOMCSSPrimitiveValue::DOMCSSPrimitiveValue):
              (KJS::DOMCSSPrimitiveValue::tryGet):
              (KJS::DOMCSSPrimitiveValueProtoFunc::tryCall):
              (KJS::DOMCSSValueList::DOMCSSValueList):
              (KJS::DOMCSSValueList::tryGet):
              (KJS::DOMCSSValueListFunc::tryCall):
              (KJS::DOMRGBColor::getValueProperty):
              (KJS::getDOMRGBColor):
              (KJS::DOMRect::~DOMRect):
              (KJS::DOMRect::getValueProperty):
              (KJS::getDOMRect):
              (KJS::DOMCounter::~DOMCounter):
              (KJS::DOMCounter::getValueProperty):
              (KJS::getDOMCounter):
              * khtml/ecma/kjs_css.h:
              (KJS::DOMCSSStyleDeclaration::impl):
              (KJS::DOMStyleSheet::DOMStyleSheet):
              (KJS::DOMStyleSheet::impl):
              (KJS::DOMStyleSheetList::DOMStyleSheetList):
              (KJS::DOMStyleSheetList::impl):
              (KJS::DOMMediaList::impl):
              (KJS::DOMCSSStyleSheet::):
              (KJS::DOMCSSRuleList::DOMCSSRuleList):
              (KJS::DOMCSSRuleList::impl):
              (KJS::DOMCSSRule::DOMCSSRule):
              (KJS::DOMCSSRule::impl):
              (KJS::DOMCSSValue::DOMCSSValue):
              (KJS::DOMCSSValue::impl):
              (KJS::DOMCSSValueList::):
              (KJS::DOMRGBColor::DOMRGBColor):
              (KJS::DOMRect::DOMRect):
              (KJS::DOMCounter::DOMCounter):
              * khtml/ecma/kjs_dom.cpp:
              (KJS::DOMNodeListFunc::):
              (KJS::DOMNode::DOMNode):
              (KJS::DOMNode::toBoolean):
              (KJS::DOMNode::getValueProperty):
              (KJS::DOMNode::putValue):
              (KJS::DOMNode::toPrimitive):
              (KJS::DOMNode::toString):
              (KJS::DOMNode::setListener):
              (KJS::DOMNode::getListener):
              (KJS::DOMNodeProtoFunc::tryCall):
              (KJS::toNode):
              (KJS::DOMNodeList::~DOMNodeList):
              (KJS::DOMNodeList::toPrimitive):
              (KJS::DOMNodeList::tryGet):
              (KJS::DOMNodeList::tryCall):
              (KJS::DOMNodeListFunc::tryCall):
              (KJS::DOMAttr::DOMAttr):
              (KJS::DOMAttr::getValueProperty):
              (KJS::DOMAttr::putValue):
              (KJS::toAttr):
              (KJS::DOMDocument::DOMDocument):
              (KJS::DOMDocument::~DOMDocument):
              (KJS::DOMDocument::getValueProperty):
              (KJS::DOMDocument::putValue):
              (KJS::DOMDocumentProtoFunc::tryCall):
              (KJS::DOMElement::DOMElement):
              (KJS::DOMElement::tryGet):
              (KJS::DOMElementProtoFunc::tryCall):
              (KJS::toElement):
              (KJS::DOMDOMImplementation::DOMDOMImplementation):
              (KJS::DOMDOMImplementation::~DOMDOMImplementation):
              (KJS::DOMDOMImplementationProtoFunc::tryCall):
              (KJS::DOMDocumentType::DOMDocumentType):
              (KJS::DOMDocumentType::getValueProperty):
              (KJS::toDocumentType):
              (KJS::DOMNamedNodeMap::DOMNamedNodeMap):
              (KJS::DOMNamedNodeMap::~DOMNamedNodeMap):
              (KJS::DOMNamedNodeMap::tryGet):
              (KJS::DOMNamedNodeMapProtoFunc::tryCall):
              (KJS::DOMProcessingInstruction::DOMProcessingInstruction):
              (KJS::DOMProcessingInstruction::getValueProperty):
              (KJS::DOMProcessingInstruction::tryPut):
              (KJS::DOMNotation::DOMNotation):
              (KJS::DOMNotation::getValueProperty):
              (KJS::DOMEntity::DOMEntity):
              (KJS::DOMEntity::getValueProperty):
              (KJS::getDOMDocumentNode):
              (KJS::checkNodeSecurity):
              (KJS::getDOMNode):
              (KJS::getDOMNamedNodeMap):
              (KJS::getRuntimeObject):
              (KJS::getDOMNodeList):
              (KJS::getDOMDOMImplementation):
              (KJS::getNodeConstructor):
              (KJS::getDOMExceptionConstructor):
              (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
              (KJS::DOMNamedNodesCollection::tryGet):
              (KJS::DOMCharacterData::DOMCharacterData):
              (KJS::DOMCharacterData::getValueProperty):
              (KJS::DOMCharacterData::tryPut):
              (KJS::DOMCharacterDataProtoFunc::tryCall):
              (KJS::DOMText::DOMText):
              (KJS::DOMTextProtoFunc::tryCall):
              * khtml/ecma/kjs_dom.h:
              (KJS::DOMNode::impl):
              (KJS::DOMNodeList::DOMNodeList):
              (KJS::DOMNodeList::impl):
              (KJS::DOMDOMImplementation::impl):
              (KJS::DOMNamedNodeMap::impl):
              * khtml/ecma/kjs_events.cpp:
              (KJS::JSAbstractEventListener::handleEvent):
              (KJS::JSLazyEventListener::handleEvent):
              (KJS::getNodeEventListener):
              (KJS::DOMEvent::DOMEvent):
              (KJS::DOMEvent::~DOMEvent):
              (KJS::DOMEvent::getValueProperty):
              (KJS::DOMEvent::putValue):
              (KJS::DOMEventProtoFunc::tryCall):
              (KJS::getDOMEvent):
              (KJS::toEvent):
              (KJS::DOMUIEvent::DOMUIEvent):
              (KJS::DOMUIEvent::getValueProperty):
              (KJS::DOMUIEventProtoFunc::tryCall):
              (KJS::DOMMouseEvent::DOMMouseEvent):
              (KJS::DOMMouseEvent::getValueProperty):
              (KJS::DOMMouseEventProtoFunc::tryCall):
              (KJS::DOMKeyboardEvent::DOMKeyboardEvent):
              (KJS::DOMKeyboardEvent::getValueProperty):
              (KJS::DOMKeyboardEventProtoFunc::tryCall):
              (KJS::DOMMutationEvent::DOMMutationEvent):
              (KJS::DOMMutationEvent::getValueProperty):
              (KJS::DOMMutationEventProtoFunc::tryCall):
              (KJS::DOMWheelEvent::DOMWheelEvent):
              (KJS::DOMWheelEvent::getValueProperty):
              (KJS::ClipboardProtoFunc::tryCall):
              * khtml/ecma/kjs_events.h:
              (KJS::DOMEvent::impl):
              (KJS::DOMUIEvent::):
              (KJS::DOMMouseEvent::):
              (KJS::DOMKeyboardEvent::):
              (KJS::DOMMutationEvent::):
              * khtml/ecma/kjs_html.cpp:
              (KJS::KJS::HTMLDocFunction::tryCall):
              (KJS::HTMLDocument::HTMLDocument):
              (KJS::HTMLDocument::hasProperty):
              (KJS::HTMLDocument::tryGet):
              (KJS::KJS::HTMLDocument::putValue):
              (KJS::KJS::HTMLElement::classInfo):
              (KJS::HTMLElement::HTMLElement):
              (KJS::KJS::HTMLElement::tryGet):
              (KJS::KJS::HTMLElement::implementsCall):
              (KJS::KJS::HTMLElement::call):
              (KJS::KJS::HTMLElement::getValueProperty):
              (KJS::KJS::HTMLElement::hasProperty):
              (KJS::KJS::HTMLElement::toString):
              (KJS::getForm):
              (KJS::KJS::HTMLElement::pushEventHandlerScope):
              (KJS::KJS::HTMLElementFunction::tryCall):
              (KJS::KJS::HTMLElement::tryPut):
              (KJS::HTMLElement::putValue):
              (KJS::toHTMLElement):
              (KJS::toHTMLTableCaptionElement):
              (KJS::toHTMLTableSectionElement):
              (KJS::HTMLCollection::HTMLCollection):
              (KJS::HTMLCollection::~HTMLCollection):
              (KJS::KJS::HTMLCollection::tryGet):
              (KJS::KJS::HTMLCollection::tryCall):
              (KJS::KJS::HTMLCollection::getNamedItems):
              (KJS::KJS::HTMLCollectionProtoFunc::tryCall):
              (KJS::HTMLSelectCollection::HTMLSelectCollection):
              (KJS::KJS::HTMLSelectCollection::tryGet):
              (KJS::KJS::HTMLSelectCollection::tryPut):
              (KJS::OptionConstructorImp::OptionConstructorImp):
              (KJS::OptionConstructorImp::construct):
              (KJS::ImageConstructorImp::ImageConstructorImp):
              (KJS::ImageConstructorImp::construct):
              (KJS::Image::notifyFinished):
              (KJS::Image::Image):
              (KJS::KJS::Context2DFunction::tryCall):
              (KJS::):
              (KJS::colorRefFromValue):
              (KJS::colorFromValue):
              (KJS::Context2D::putValue):
              (KJS::Context2D::Context2D):
              (KJS::Context2D::mark):
              (KJS::GradientFunction::tryCall):
              (KJS::ImagePattern::tryGet):
              (KJS::getHTMLCollection):
              (KJS::getSelectHTMLCollection):
              * khtml/ecma/kjs_html.h:
              (KJS::HTMLDocument::):
              (KJS::HTMLElement::):
              (KJS::HTMLCollection::impl):
              * khtml/ecma/kjs_navigator.cpp:
              * khtml/ecma/kjs_proxy.cpp:
              (KJSProxyImpl::evaluate):
              (KJSProxyImpl::finishedWithEvent):
              * khtml/ecma/kjs_proxy.h:
              * khtml/ecma/kjs_range.cpp:
              (KJS::DOMRange::DOMRange):
              (KJS::DOMRange::~DOMRange):
              (KJS::DOMRange::tryGet):
              (KJS::DOMRange::getValueProperty):
              (KJS::DOMRangeProtoFunc::tryCall):
              (KJS::getDOMRange):
              (KJS::RangeConstructor::tryGet):
              (KJS::getRangeConstructor):
              (KJS::toRange):
              * khtml/ecma/kjs_range.h:
              (KJS::DOMRange::impl):
              * khtml/ecma/kjs_traversal.cpp:
              (KJS::DOMNodeIterator::DOMNodeIterator):
              (KJS::DOMNodeIterator::~DOMNodeIterator):
              (KJS::DOMNodeIterator::getValueProperty):
              (KJS::DOMNodeIteratorProtoFunc::tryCall):
              (KJS::getDOMNodeIterator):
              (KJS::DOMNodeFilter::DOMNodeFilter):
              (KJS::DOMNodeFilter::~DOMNodeFilter):
              (KJS::DOMNodeFilterProtoFunc::tryCall):
              (KJS::getDOMNodeFilter):
              (KJS::toNodeFilter):
              (KJS::DOMTreeWalker::DOMTreeWalker):
              (KJS::DOMTreeWalker::~DOMTreeWalker):
              (KJS::DOMTreeWalker::getValueProperty):
              (KJS::DOMTreeWalker::tryPut):
              (KJS::DOMTreeWalkerProtoFunc::tryCall):
              (KJS::getDOMTreeWalker):
              (KJS::JSNodeFilterCondition::acceptNode):
              * khtml/ecma/kjs_traversal.h:
              (KJS::DOMNodeIterator::impl):
              (KJS::DOMNodeFilter::impl):
              (KJS::DOMTreeWalker::impl):
              * khtml/ecma/kjs_views.cpp:
              (KJS::DOMAbstractView::~DOMAbstractView):
              (KJS::DOMAbstractView::tryGet):
              (KJS::DOMAbstractViewFunc::tryCall):
              (KJS::getDOMAbstractView):
              (KJS::toAbstractView):
              * khtml/ecma/kjs_views.h:
              (KJS::DOMAbstractView::DOMAbstractView):
              (KJS::DOMAbstractView::impl):
              * khtml/ecma/kjs_window.cpp:
              (KJS::Window::get):
              (KJS::Window::hasProperty):
              (KJS::Window::put):
              (KJS::Window::setListener):
              (KJS::Window::getListener):
              (KJS::Window::setCurrentEvent):
              (KJS::WindowFunc::tryCall):
              (KJS::Location::put):
              (KJS::LocationFunc::tryCall):
              (KJS::Selection::get):
              (KJS::SelectionFunc::tryCall):
              * khtml/ecma/kjs_window.h:
              * khtml/ecma/xmlhttprequest.cpp:
              (KJS::XMLHttpRequestConstructorImp::XMLHttpRequestConstructorImp):
              (KJS::XMLHttpRequestConstructorImp::~XMLHttpRequestConstructorImp):
              (KJS::XMLHttpRequestConstructorImp::construct):
              (KJS::XMLHttpRequest::getValueProperty):
              (KJS::XMLHttpRequest::XMLHttpRequest):
              (KJS::XMLHttpRequest::changeState):
              (KJS::XMLHttpRequest::open):
              (KJS::XMLHttpRequestProtoFunc::tryCall):
              * khtml/ecma/xmlhttprequest.h:
              * khtml/ecma/xmlserializer.cpp:
              (KJS::XMLSerializerProtoFunc::tryCall):
              * khtml/ecma/xmlserializer.h:
              * kwq/DOMInternal.mm:
              (-[WebScriptObject _initializeScriptDOMNodeImp]):
              * kwq/DOMUtility.mm:
              (KJS::ScriptInterpreter::createObjcInstanceForValue):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@9165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      37da08c4
  15. 09 Dec, 2003 1 commit
    • mjs's avatar
      Reviewed by Richard. · d851e378
      mjs authored
      	<rdar://problem/3504049>: XMLSerializer object and serializeToString method needed for XMLHttpRequest testing
      
      	Also fixed some lasst-minute mistakes in the DOM serialization
      	code that was already there.
      
              * WebCore.pbproj/project.pbxproj:
              * khtml/dom/dom_doc.h:
              * khtml/ecma/Makefile.am:
              * khtml/ecma/kjs_window.cpp:
              (Window::get):
              * khtml/ecma/kjs_window.h:
              (KJS::Window::):
              * khtml/ecma/kjs_window.lut.h:
              (KJS::):
              * khtml/ecma/xmlserializer.cpp: Added.
              (KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp):
              (KJS::XMLSerializerConstructorImp::implementsConstruct):
              (KJS::XMLSerializerConstructorImp::construct):
              (KJS::):
              (KJS::XMLSerializer::XMLSerializer):
              (KJS::XMLSerializerProtoFunc::tryCall):
              * khtml/ecma/xmlserializer.h: Added.
              (KJS::XMLSerializer::toBoolean):
              (KJS::XMLSerializer::classInfo):
              (KJS::XMLSerializer::):
              * khtml/ecma/xmlserializer.lut.h: Added.
              (KJS::):
              * khtml/xml/dom_docimpl.cpp:
              (DocumentImpl::toString):
              (DocumentFragmentImpl::toString):
              * khtml/xml/dom_elementimpl.cpp:
              (AttrImpl::toString):
              (ElementImpl::toString):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5740 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d851e378
  16. 14 Dec, 2002 1 commit
    • hyatt's avatar
      Fix for 3016385, menus on webreference.com don't show up. · 953820ad
      hyatt authored
      	Fixes to make webreference.com menus show up.  This involved
      	fixing layers to not clip positioned objects when overflow:hidden
      	is set, fixing the stupid clip/sync layout hack for livepage
      	so that it doesn't break webreference, and implementing
      	navigator.productSub (right now the date is set to
      	Christmas 2002).
      
              Reviewed by gramps/maciej.
      
              * khtml/ecma/kjs_navigator.cpp:
              (Navigator::getValueProperty):
              * khtml/ecma/kjs_navigator.h:
              * khtml/ecma/kjs_navigator.lut.h:
              * khtml/rendering/render_box.cpp:
              (RenderBox::getOverflowClipRect):
              * khtml/rendering/render_box.h:
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::layout):
              * khtml/rendering/render_layer.cpp:
              (RenderLayer::paint):
              (RenderLayer::nodeAtPoint):
              (RenderLayer::constructZTree):
              * khtml/rendering/render_layer.h:
              * khtml/rendering/render_object.cpp:
              (RenderObject::setLayouted):
              * khtml/rendering/render_object.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3054 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      953820ad
  17. 19 Nov, 2002 1 commit
    • darin's avatar
      JavaScriptCore: · 880105d6
      darin authored
      	- a first step towards atomic identifiers in JavaScript
      
      	Most places that work with identifiers now use Identifier
      	instead of UString.
      
              * kjs/identifier.cpp: Added.
              * kjs/identifier.h: Added.
              * JavaScriptCore.pbproj/project.pbxproj: Added files.
      
              * kjs/array_object.cpp:
              * kjs/array_object.h:
              * kjs/completion.cpp:
              * kjs/completion.h:
              * kjs/date_object.cpp:
              * kjs/date_object.h:
              * kjs/function.cpp:
              * kjs/function.h:
              * kjs/function_object.cpp:
              * kjs/grammar.cpp:
              * kjs/grammar.cpp.h:
              * kjs/grammar.h:
              * kjs/grammar.y:
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/lexer.cpp:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/math_object.cpp:
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/number_object.cpp:
              * kjs/number_object.h:
              * kjs/object.cpp:
              * kjs/object.h:
              * kjs/property_map.cpp:
              * kjs/property_map.h:
              * kjs/reference.cpp:
              * kjs/reference.h:
              * kjs/regexp_object.cpp:
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              * kjs/string_object.h:
      
      WebCore:
      
      	- a first step towards atomic identifiers in JavaScript
      
      	Most places that work with identifiers now use Identifier
      	instead of UString.
      
              * khtml/ecma/kjs_binding.cpp:
              * khtml/ecma/kjs_binding.h:
              * khtml/ecma/kjs_css.cpp:
              * khtml/ecma/kjs_css.h:
              * khtml/ecma/kjs_dom.cpp:
              * khtml/ecma/kjs_dom.h:
              * khtml/ecma/kjs_events.cpp:
              * khtml/ecma/kjs_events.h:
              * khtml/ecma/kjs_html.cpp:
              * khtml/ecma/kjs_html.h:
              * khtml/ecma/kjs_navigator.cpp:
              * khtml/ecma/kjs_navigator.h:
              * khtml/ecma/kjs_range.cpp:
              * khtml/ecma/kjs_range.h:
              * khtml/ecma/kjs_traversal.cpp:
              * khtml/ecma/kjs_traversal.h:
              * khtml/ecma/kjs_views.cpp:
              * khtml/ecma/kjs_views.h:
              * khtml/ecma/kjs_window.cpp:
              * khtml/ecma/kjs_window.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2760 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      880105d6
  18. 15 Apr, 2002 1 commit
    • darin's avatar
      Merged KDE 3.0 final code in and: · b70665a4
      darin authored
      JavaScriptCore:
      
      	* kjs/internal.cpp:
      	* kjs/property_map.cpp:
      	* kjs/ustring.h:
      	Removed some unneeded <config.h> includes so we are more similar
      	to the real KDE sources.
      
      	Merged changes from KDE 3.0 final and did some build fixes.
      
      	* JavaScriptCore.pbproj/project.pbxproj: Added nodes2string.cpp.
      
      	* kjs/grammar.*: Regenerated.
      	* kjs/*.lut.h: Regenerated.
      
      WebCore:
      
      	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
      	Remove some minor gratuitous diffs vs. KDE.
      
      	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
              Richard updated to reflect changes in KDE.
      
      	* src/kdelibs/khtml/css/css_valueimpl.cpp:
      	(FontFamilyValueImpl::FontFamilyValueImpl): Fix comment.
      	* src/kdelibs/khtml/css/cssstyleselector.cpp: Remove some gratuitous diffs vs. KDE.
      	* src/kdelibs/khtml/html/html_objectimpl.cpp:
      	(HTMLEmbedElementImpl::parseAttribute): Remove unneeded copy from KWQ's early days.
      	* src/kdelibs/khtml/html/html_tableimpl.cpp:
      	(HTMLTableElementImpl::parseAttribute),
      	(HTMLTablePartElementImpl::parseAttribute): Remove unneeded copy from KWQ's early days.
      	* src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::processToken): Redo the
      	APPLE_CHANGES ifdef here.
      	* src/kdelibs/khtml/khtmlpart_p.h: Update to latest kde.
      	* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::KHTMLView): Add ifdef APPLE_CHANGES.
      	(KHTMLView::~KHTMLView): Add ifdef APPLE_CHANGES.
      	(KHTMLView::print): Remove code left in here during merge process.
      	* src/kwq/KWQKHTMLPart.mm: Remove unused setFontSizes(), fontSizes(), and
      	resetFontSizes(). After the merge is landed, remove more.
      	* src/libwebcore.exp: Export updateStyleSelector() for WebKit.
      
      	Fix text to it displays at the right font size.
      
      	* src/kdelibs/khtml/css/cssstyleselector.cpp:
      	(CSSStyleSelector::computeFontSizes): Apply the same SCREEN_RESOLUTION hack here
      	that we do elsewhere.
      	* src/kdelibs/khtml/rendering/font.cpp: (Font::width): Use kMin instead of max (oops).
      	(Font::update): Turn off font database chicanery.
      	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::zoomFactor): Use zoom factor 100, not 1.
      
      	More fixes so text displays (still at wrong font size).
      
      	* src/kdelibs/khtml/rendering/font.cpp: (max): New helper.
      	(Font::drawText): Simplified implementation for now.
      	(Font::width): Simplified implementation for now.
      	* src/kwq/KWQColorGroup.mm: Reinstated QCOLOR_GROUP_SIZE.
      
      	* src/kwq/qt/qfontmetrics.h: Removed charWidth and changed _width to take QChar *.
      	* src/kwq/KWQFontMetrics.mm: Removed charWidth and changed _width to take QChar *.
      
      	Merged changes from KDE 3.0 final. Other fixes to get things compiling.
      
      	* src/kdelibs/khtml/css/css_valueimpl.cpp:
      	(CSSStyleDeclarationImpl::setProperty): Fix unused variable.
      	* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::contentsContextMenuEvent):
      	Fix unused variable.
      	* src/kdelibs/khtml/rendering/font.cpp: (Font::drawText), (Font::width),
      	(Font::update): Disable special "nsbp" logic for now. We can reenable it
      	if necessary.
      	* src/kdelibs/khtml/rendering/render_replaced.cpp: Fix mismerge.
      	* src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::nodeAtPoint):
      	Fix unused variable.
      	* src/kwq/KWQApplication.mm: (QDesktopWidget::width), (QApplication::desktop):
      	Fix mismerge.
      	* src/kwq/KWQColorGroup.mm: Fix QCOLOR_GROUP_SIZE.
      	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::lineSpacing): New.
      	(QFontMetrics::width): Remove unused optimization.
      	* src/kwq/qt/qfontmetrics.h: Add lineSpacing().
      
              Merged changes from previous merge pass.
      
              2002-03-25  Darin Adler  <darin@apple.com>
      
              Last bit of making stuff compile and link. Probably will drop the merge now
              and take it up again when it's time to merge in KDE 3.0 final.
      
      	* src/kwq/KWQEvent.mm: (QFocusEvent::reason): New.
      	* src/kwq/KWQPainter.mm: (QPainter::drawText): New overload.
      
              2002-03-25  Darin Adler  <darin@apple.com>
      
      	* src/kdelibs/khtml/rendering/font.cpp: (Font::width): Make it call _width so we
              don't lose the optimization.
      
      	* src/kwq/KWQApplication.mm: (QDesktopWidget::screenNumber): New.
      	(QDesktopWidget::screenGeometry): New.
              (QApplication::style): New.
      	* src/kwq/KWQColorGroup.mm: (QColorGroup::highlight): New.
      	(QColorGroup::highlightedText): New.
      	* src/kwq/KWQFont.mm: (QFont::setPixelSize): New.
      	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::charWidth): New.
      	* src/kwq/KWQKGlobal.mm: (KGlobal::locale): Implement.
              (KLocale::KLocale): New.
      	(KLocale::languageList): New.
      	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::sheetUsed): New.
      	(KHTMLPart::setSheetUsed): New.
              (KHTMLPart::zoomFactor): New.
      	* src/kwq/KWQKHTMLSettings.mm: (KHTMLSettings::mediumFontSize): New.
      	* src/kwq/KWQScrollView.mm: (QScrollView::childX): New.
              (QScrollView::childY): New.
      
      	* src/kwq/qt/qapplication.h: style() returns a QStyle &.
      	* src/kwq/qt/qpalette.h: Add Highlight and HighlightedText.
      
              2002-03-24  Darin Adler  <darin@apple.com>
      
              More compiling. Still won't link.
      
      	* src/kdelibs/khtml/khtmlview.cpp: Disable printing and drag and drop code.
      	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
              Temporarily turn off our smarter underlining since it relies on access to the
              string, and TextSlave doesn't have that any more.
      	(RenderText::nodeAtPoint): Get rid of a workaround we don't need any more for
              a bug that was fixed by KDE folks.
      	* src/kwq/KWQApplication.mm: (QApplication::desktop): Make the desktop be a
              QDesktopWidget.
      	* src/kwq/qt/qnamespace.h: Add MetaButton.
      	* src/kwq/qt/qtooltip.h: Add a maybeTip virtual function member and a virtual
              destructor.
      
              2002-03-24  Darin Adler  <darin@apple.com>
      
              Some fixes to get more stuff to compile.
      
      	* src/kdelibs/khtml/ecma/kjs_dom.cpp: (DOMDocument::getValueProperty):
              Don't try to look at the private m_bComplete to display "complete". Just do
              "loading" and "loaded".
              * src/kdelibs/khtml/khtmlpart_p.h: #ifdef this all out for APPLE_CHANGES.
      	* src/kdelibs/khtml/rendering/font.cpp: (Font::update): Add an explicit cast to
              int to avoid float -> int warning.
      	* src/kdelibs/khtml/rendering/render_table.cpp: (RenderTable::calcColMinMax):
              Add an explicit cast to int to avoid uint compared with int warning.
      	* src/kdelibs/khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyleSelector):
              Use sheetUsed() and setSheetUsed() functions on KHTMLPart intead of getting
              at private fields the way the real KDE code does.
      
              * src/kwq/KWQKHTMLPart.h: Declare zoomFactor(), sheetUsed(), and setSheetUsed().
      	* src/kwq/KWQStyle.h: Add PM_DefaultFramWidth as another metric.
      	* src/kwq/kdecore/klocale.h: Add languageList().
      	* src/kwq/khtml/khtml_settings.h: Add mediumFontSize().
      	* src/kwq/qt/qapplication.h: Add style() and QDesktopWidget.
      	* src/kwq/qt/qevent.h: Add reason().
      	* src/kwq/qt/qfont.h: Add setPixelSize(int).
      	* src/kwq/qt/qfontmetrics.h: Add charWidth() and _charWidth() functions.
      	* src/kwq/qt/qpainter.h: Add drawText() overload with position parameter.
      	* src/kwq/qt/qpalette.h: Add highlight() and highlightedText().
      	* src/kwq/qt/qscrollview.h: Add childX() and childY().
      
      	* src/kwq/KWQApplication.mm: Change KWQDesktopWidget to QDesktopWidget.
      
      WebKit:
      
      	* WebView.subproj/IFPreferences.h:
      	* WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Remove the old
      	WebKitFontSizes preference.
      	(-[IFPreferences mediumFontSize]), (-[IFPreferences setMediumFontSize:]): New.
      
      	* WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]): Call
      	updateStyleSelector() instead of recalcStyle().
      
              Merged changes from previous merge branch.
      
              2002-03-25  Darin Adler  <darin@apple.com>
      
      	* WebView.subproj/IFPreferences.mm: (+[IFPreferences load]):
              Add WebKitMediumFontSizePreferenceKey.
      
      WebBrowser:
      
      	* Preferences.subproj/TextPreferences.m: (-[TextPreferences defaultFontSize]),
      	(-[TextPreferences setDefaultFontSize:]): Just get and set the new mediumFontSize
      	preference rather than doing the whole fontSizes preference dance.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b70665a4
  19. 21 Mar, 2002 1 commit
  20. 24 Aug, 2001 1 commit