WebKit-https.git
12 years agoPut ENABLE(ASSEMBLER) guards around use of ExecutableAllocator in global data
oliver@apple.com [Mon, 8 Dec 2008 01:28:48 +0000 (01:28 +0000)]
Put ENABLE(ASSEMBLER) guards around use of ExecutableAllocator in global data
Correct Qt and Gtk project files

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39087 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-07 Antti Koivisto <antti@apple.com>
antti@apple.com [Mon, 8 Dec 2008 01:27:48 +0000 (01:27 +0000)]
2008-12-07  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22717
        Make CSS values use less memory

        Get CSSValues off from the common StyleBase base class. They don't
        need a parent pointer or anything else there and there is no real
        reason to have them in same data structures with other CSSOM objects.

        Disabled (instead of refactoring around the lack of common base) the ability
        to have style declaration blocks as CSS variable values. They don't exist in
        the spec so I wasn't sure if they have future or not. It would not be hard to
        get them back. CSS variables are in any case an experimental feature and
        not enabled by default.

        * css/CSSInitialValue.h:
        (WebCore::CSSInitialValue::createExplicit):
        (WebCore::CSSInitialValue::createImplicit):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::addVariableDeclarationBlock):
        * css/CSSParser.h:
        * css/CSSValue.h:
        (WebCore::CSSValue::~CSSValue):
        (WebCore::CSSValue::parserValue):
        * css/CSSVariablesDeclaration.cpp:
        (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
        (WebCore::CSSVariablesDeclaration::getVariableValue):
        (WebCore::CSSVariablesDeclaration::removeVariable):
        (WebCore::CSSVariablesDeclaration::addParsedVariable):
        (WebCore::CSSVariablesDeclaration::getParsedVariable):
        (WebCore::CSSVariablesDeclaration::getParsedVariableDeclarationBlock):
        * css/CSSVariablesDeclaration.h:
        (WebCore::CSSVariablesDeclaration::create):
        * css/StyleBase.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39086 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdd new files to other projects.
oliver@apple.com [Mon, 8 Dec 2008 00:39:39 +0000 (00:39 +0000)]
Add new files to other projects.

Reviewed by NOBODY (Build fix).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39085 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRename ExecutableAllocatorMMAP to the more sensible ExecutableAllocatorPosix
oliver@apple.com [Mon, 8 Dec 2008 00:35:12 +0000 (00:35 +0000)]
Rename ExecutableAllocatorMMAP to the more sensible ExecutableAllocatorPosix

Rubber stamped by Mark Rowe.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39084 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago<rdar://problem/6309878> Need more granular control over allocation of executable...
oliver@apple.com [Sun, 7 Dec 2008 23:55:04 +0000 (23:55 +0000)]
<rdar://problem/6309878> Need more granular control over allocation of executable memory (21783)
<https://bugs.webkit.org/show_bug.cgi?id=21783>

Reviewed by Cameron Zwarich and Sam Weinig

Add a new allocator for use by the JIT that provides executable pages, so
we can get rid of the current hack that makes the entire heap executable.

1-2% progression on SunSpider-v8, 1% on SunSpider.  Reduces memory usage as well!

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39083 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[Gtk+] Use glib's unit test facilities to test the WebKit/Gtk+ API
zecke@webkit.org [Sun, 7 Dec 2008 19:16:17 +0000 (19:16 +0000)]
[Gtk+] Use glib's unit test facilities to test the WebKit/Gtk+ API

    https://bugs.webkit.org/show_bug.cgi?id=22491

    Add the skeleton to WebKit/gtk/tests and integrate that into the
    buildsystem. Testing support was added in glib 2.16. For versions
    using glib < 2.16 we compile an empty application.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39082 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[GTK] Define ENABLE_JIT_OPTIMIZE_CALL, ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS, ENABLE_JI...
zecke@webkit.org [Sun, 7 Dec 2008 18:41:46 +0000 (18:41 +0000)]
[GTK] Define ENABLE_JIT_OPTIMIZE_CALL, ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS, ENABLE_JIT_OPTIMIZE_ARITHMETIC

    When building the jit on i*86 also enable the above optimizations.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39081 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-07 Dirk Schulze <krit@webkit.org>
krit@webkit.org [Sun, 7 Dec 2008 09:23:17 +0000 (09:23 +0000)]
2008-12-07  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

WebCore:

        Add gradient and pattern support for strokeRect on canvas/Cg.

        Canvas strokeRect() doesn't support gradients
        https://bugs.webkit.org/show_bug.cgi?id=19790

        Test: fast/canvas/canvas-strokeRect.html

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::strokeRect):

LayoutTests:

        Tests strokeRect with patterns and gradients.

        * fast/canvas/canvas-strokeRect-expected.txt: Added.
        * fast/canvas/canvas-strokeRect.html: Added.
        * fast/canvas/resources/canvas-strokeRect.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39080 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-06 Dirk Schulze <krit@webkit.org>
krit@webkit.org [Sun, 7 Dec 2008 07:48:53 +0000 (07:48 +0000)]
2008-12-06  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

WebCore:

        Add support for setTransform() in canvas.

        <canvas> lacks transform() and setTransform()
        https://bugs.webkit.org/show_bug.cgi?id=16604

        Test: fast/canvas/canvas-setTransform.html

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::State::State):
        (WebCore::CanvasRenderingContext2D::setStrokeStyle):
        (WebCore::CanvasRenderingContext2D::setFillStyle):
        (WebCore::CanvasRenderingContext2D::scale):
        (WebCore::CanvasRenderingContext2D::rotate):
        (WebCore::CanvasRenderingContext2D::translate):
        (WebCore::CanvasRenderingContext2D::transform):
        (WebCore::CanvasRenderingContext2D::setTransform):
        (WebCore::CanvasRenderingContext2D::beginPath):
        (WebCore::CanvasRenderingContext2D::closePath):
        (WebCore::CanvasRenderingContext2D::moveTo):
        (WebCore::CanvasRenderingContext2D::lineTo):
        (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
        (WebCore::CanvasRenderingContext2D::bezierCurveTo):
        (WebCore::CanvasRenderingContext2D::arcTo):
        (WebCore::CanvasRenderingContext2D::arc):
        (WebCore::CanvasRenderingContext2D::rect):
        (WebCore::CanvasRenderingContext2D::fill):
        (WebCore::CanvasRenderingContext2D::stroke):
        (WebCore::CanvasRenderingContext2D::clip):
        (WebCore::CanvasRenderingContext2D::isPointInPath):
        (WebCore::CanvasRenderingContext2D::clearRect):
        (WebCore::CanvasRenderingContext2D::fillRect):
        (WebCore::CanvasRenderingContext2D::strokeRect):
        (WebCore::CanvasRenderingContext2D::drawImage):
        (WebCore::CanvasRenderingContext2D::drawImageFromRect):
        (WebCore::CanvasRenderingContext2D::willDraw):
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        * html/CanvasRenderingContext2D.h:
        * html/CanvasRenderingContext2D.idl:
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::baseTransform):
        * html/HTMLCanvasElement.h:
        * platform/graphics/ImageBuffer.h:
        (WebCore::ImageBuffer::baseTransform):

LayoutTests:

        Added tests for canvas's setTransform() and updated an existing one.

        * fast/canvas/canvas-setTransform-expected.txt: Added.
        * fast/canvas/canvas-setTransform.html: Added.
        * fast/canvas/resources/canvas-setTransform.js: Added.
        * fast/dom/Window/window-properties-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39079 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-06 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Sun, 7 Dec 2008 06:15:49 +0000 (06:15 +0000)]
2008-12-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Antti Koivisto, Dan Bernstein

        https://bugs.webkit.org/show_bug.cgi?id=22088

        Fix logic related to repainting when transform changes:
        If an object has a layer, and the transform changes, then we need
        to do a repaintIncludingDescendants(), not just a repaint.

        Test: fast/repaint/transform-repaint-descendants.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::styleWillChange):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39078 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-06 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sun, 7 Dec 2008 04:20:56 +0000 (04:20 +0000)]
2008-12-06  Sam Weinig  <sam@webkit.org>

        Fix the Gtk build.

        * jit/JITPropertyAccess.cpp:
        (JSC::JIT::compileGetByIdHotPath):
        (JSC::JIT::compilePutByIdHotPath):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39077 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-06 Antti Koivisto <antti@apple.com>
antti@apple.com [Sun, 7 Dec 2008 02:05:19 +0000 (02:05 +0000)]
2008-12-06  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin Adler.

        Also copy m_implicit field. Darin wanted this change commited separately.

        * css/CSSProperty.h:
        (WebCore::CSSProperty::operator=):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39076 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
antti@apple.com [Sun, 7 Dec 2008 01:40:31 +0000 (01:40 +0000)]
WebCore:

2008-12-06  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22379
        Make CSSOM use less memory

        Use vector instead of a double linked list for properties in CSSMutableStyleDeclaration.

        Taught setter functions to use existing slots to avoid memory moves, plus some
        other optimizations.

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        (WebCore::CSSMutableStyleDeclaration::operator=):
        (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
        (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):
        (WebCore::CSSMutableStyleDeclaration::removeProperty):
        (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
        (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
        (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
        (WebCore::CSSMutableStyleDeclaration::setProperty):
        (WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
        (WebCore::CSSMutableStyleDeclaration::setStringProperty):
        (WebCore::CSSMutableStyleDeclaration::setImageProperty):
        (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
        (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
        (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
        (WebCore::CSSMutableStyleDeclaration::setLengthProperty):
        (WebCore::CSSMutableStyleDeclaration::length):
        (WebCore::CSSMutableStyleDeclaration::item):
        (WebCore::CSSMutableStyleDeclaration::cssText):
        (WebCore::CSSMutableStyleDeclaration::setCssText):
        (WebCore::CSSMutableStyleDeclaration::merge):
        (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
        (WebCore::CSSMutableStyleDeclaration::copy):
        (WebCore::CSSMutableStyleDeclaration::findPropertyWithId):
        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSMutableStyleDeclarationConstIterator::operator*):
        (WebCore::CSSMutableStyleDeclarationConstIterator::operator->):
        (WebCore::CSSMutableStyleDeclarationConstIterator::operator!=):
        (WebCore::CSSMutableStyleDeclarationConstIterator::operator==):
        (WebCore::CSSMutableStyleDeclaration::create):
        (WebCore::CSSMutableStyleDeclaration::begin):
        (WebCore::CSSMutableStyleDeclaration::end):
        (WebCore::CSSMutableStyleDeclarationConstIterator::CSSMutableStyleDeclarationConstIterator):
        (WebCore::CSSMutableStyleDeclarationConstIterator::~CSSMutableStyleDeclarationConstIterator):
        (WebCore::CSSMutableStyleDeclarationConstIterator::operator=):
        (WebCore::CSSMutableStyleDeclarationConstIterator::operator++):
        (WebCore::CSSMutableStyleDeclarationConstIterator::operator--):
        * css/CSSProperty.h:
        (WTF::):
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::diff):
        (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
        (WebCore::CSSStyleSelector::applyDeclarations):
        * dom/EventTarget.h:
        * editing/ApplyStyleCommand.cpp:
        (WebCore::StyleChange::init):
        (WebCore::ApplyStyleCommand::isHTMLStyleNode):
        (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
        (WebCore::ApplyStyleCommand::removeCSSStyle):
        * editing/Editor.cpp:
        (WebCore::Editor::selectionStartHasStyle):
        (WebCore::updateState):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::handleStyleSpans):
        * editing/markup.cpp:
        (WebCore::appendStartMarkup):

LayoutTests:

2008-12-06  Antti Koivisto  <antti@apple.com>

        Reusing property slots changed property ordering in this text.

        * editing/pasteboard/5780697-2-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39075 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-06 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Sun, 7 Dec 2008 01:07:56 +0000 (01:07 +0000)]
2008-12-06  Simon Fraser  <simon.fraser@apple.com>

        Update expected image now that the caret renders in transformed
        content.

        https://bugs.webkit.org/show_bug.cgi?id=15671

        * platform/mac/fast/forms/search-transformed-expected.checksum:
        * platform/mac/fast/forms/search-transformed-expected.png:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39074 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-06 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Sun, 7 Dec 2008 01:03:55 +0000 (01:03 +0000)]
2008-12-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

        https://bugs.webkit.org/show_bug.cgi?id=15739

        When painting the selection on a replaced element, paint
        using local coordinates so that the selection is correctly
        painted for transformed elements.

        Test: fast/replaced/selection-rect-transform.html

        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39073 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-06 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sat, 6 Dec 2008 22:31:14 +0000 (22:31 +0000)]
2008-12-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Cameron Zwarich,

        Move CodeBlock constructor into the .cpp file.

        Sunspider reports a .7% progression, but I can only assume this
        is noise.

        * bytecode/CodeBlock.cpp:
        (JSC::CodeBlock::CodeBlock):
        * bytecode/CodeBlock.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39072 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-06 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sat, 6 Dec 2008 22:19:22 +0000 (22:19 +0000)]
2008-12-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Cameron Zwarich.

        Split JumpTable code into its own file.

        * GNUmakefile.am:
        * JavaScriptCore.pri:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * JavaScriptCoreSources.bkl:
        * bytecode/CodeBlock.cpp:
        * bytecode/CodeBlock.h:
        * bytecode/JumpTable.cpp: Copied from bytecode/CodeBlock.cpp.
        * bytecode/JumpTable.h: Copied from bytecode/CodeBlock.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39071 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sat, 6 Dec 2008 22:01:05 +0000 (22:01 +0000)]
2008-12-05  Sam Weinig  <sam@webkit.org>

        Reviewed by Cameron Zwarich.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=22715
        Encapsulate more CodeBlock members in preparation
        of moving some of them to a rare data structure.

        * bytecode/CodeBlock.cpp:
        (JSC::locationForOffset):
        (JSC::printConditionalJump):
        (JSC::printGetByIdOp):
        (JSC::printPutByIdOp):
        (JSC::CodeBlock::printStructure):
        (JSC::CodeBlock::printStructures):
        (JSC::CodeBlock::dump):
        (JSC::CodeBlock::~CodeBlock):
        (JSC::CodeBlock::unlinkCallers):
        (JSC::CodeBlock::derefStructures):
        (JSC::CodeBlock::refStructures):
        (JSC::CodeBlock::mark):
        (JSC::CodeBlock::getHandlerForVPC):
        (JSC::CodeBlock::nativeExceptionCodeForHandlerVPC):
        (JSC::CodeBlock::lineNumberForVPC):
        (JSC::CodeBlock::expressionRangeForVPC):
        (JSC::CodeBlock::shrinkToFit):
        * bytecode/CodeBlock.h:
        (JSC::CodeBlock::CodeBlock):
        (JSC::CodeBlock::addCaller):
        (JSC::CodeBlock::removeCaller):
        (JSC::CodeBlock::isKnownNotImmediate):
        (JSC::CodeBlock::isConstantRegisterIndex):
        (JSC::CodeBlock::getConstant):
        (JSC::CodeBlock::isTemporaryRegisterIndex):
        (JSC::CodeBlock::getStubInfo):
        (JSC::CodeBlock::getCallLinkInfo):
        (JSC::CodeBlock::instructions):
        (JSC::CodeBlock::setJITCode):
        (JSC::CodeBlock::jitCode):
        (JSC::CodeBlock::ownerNode):
        (JSC::CodeBlock::setGlobalData):
        (JSC::CodeBlock::setThisRegister):
        (JSC::CodeBlock::thisRegister):
        (JSC::CodeBlock::setNeedsFullScopeChain):
        (JSC::CodeBlock::needsFullScopeChain):
        (JSC::CodeBlock::setUsesEval):
        (JSC::CodeBlock::usesEval):
        (JSC::CodeBlock::setUsesArguments):
        (JSC::CodeBlock::usesArguments):
        (JSC::CodeBlock::codeType):
        (JSC::CodeBlock::source):
        (JSC::CodeBlock::sourceOffset):
        (JSC::CodeBlock::addGlobalResolveInstruction):
        (JSC::CodeBlock::numberOfPropertyAccessInstructions):
        (JSC::CodeBlock::addPropertyAccessInstruction):
        (JSC::CodeBlock::propertyAccessInstruction):
        (JSC::CodeBlock::numberOfCallLinkInfos):
        (JSC::CodeBlock::addCallLinkInfo):
        (JSC::CodeBlock::callLinkInfo):
        (JSC::CodeBlock::numberOfJumpTargets):
        (JSC::CodeBlock::addJumpTarget):
        (JSC::CodeBlock::jumpTarget):
        (JSC::CodeBlock::lastJumpTarget):
        (JSC::CodeBlock::numberOfExceptionHandlers):
        (JSC::CodeBlock::addExceptionHandler):
        (JSC::CodeBlock::exceptionHandler):
        (JSC::CodeBlock::addExpressionInfo):
        (JSC::CodeBlock::numberOfLineInfos):
        (JSC::CodeBlock::addLineInfo):
        (JSC::CodeBlock::lastLineInfo):
        (JSC::CodeBlock::jitReturnAddressVPCMap):
        (JSC::CodeBlock::numberOfIdentifiers):
        (JSC::CodeBlock::addIdentifier):
        (JSC::CodeBlock::identifier):
        (JSC::CodeBlock::numberOfConstantRegisters):
        (JSC::CodeBlock::addConstantRegister):
        (JSC::CodeBlock::constantRegister):
        (JSC::CodeBlock::addFunction):
        (JSC::CodeBlock::function):
        (JSC::CodeBlock::addFunctionExpression):
        (JSC::CodeBlock::functionExpression):
        (JSC::CodeBlock::addUnexpectedConstant):
        (JSC::CodeBlock::unexpectedConstant):
        (JSC::CodeBlock::addRegExp):
        (JSC::CodeBlock::regexp):
        (JSC::CodeBlock::symbolTable):
        (JSC::CodeBlock::evalCodeCache):
        New inline setters/getters.

        (JSC::ProgramCodeBlock::ProgramCodeBlock):
        (JSC::ProgramCodeBlock::~ProgramCodeBlock):
        (JSC::ProgramCodeBlock::clearGlobalObject):
        * bytecode/SamplingTool.cpp:
        (JSC::ScopeSampleRecord::sample):
        (JSC::SamplingTool::dump):
        * bytecompiler/BytecodeGenerator.cpp:
        * bytecompiler/BytecodeGenerator.h:
        * bytecompiler/Label.h:
        * interpreter/CallFrame.cpp:
        * interpreter/Interpreter.cpp:
        * jit/JIT.cpp:
        * jit/JITCall.cpp:
        * jit/JITInlineMethods.h:
        * jit/JITPropertyAccess.cpp:
        * parser/Nodes.cpp:
        * runtime/Arguments.h:
        * runtime/ExceptionHelpers.cpp:
        * runtime/JSActivation.cpp:
        * runtime/JSActivation.h:
        * runtime/JSGlobalObject.cpp:
        Change direct access to use new getter/setters.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39070 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-06 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Sat, 6 Dec 2008 19:58:44 +0000 (19:58 +0000)]
2008-12-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        https://bugs.webkit.org/show_bug.cgi?id=15671

        Fix caret rendering to behave correctly with transforms:
        * Rename caretRect() methods to localCaretRect() and
          absoluteCaretBounds() as appropriate
        * Fix localCaretRect() methods to return a rect in the
          appropriate coordinates.
        * Pass tx, ty down through the paintCaret() methods, after fixing them
          up to account for differences between contents coords, and renderer-local
          coords (via RenderBlock::offsetForContents()).
        * Remove m_caretPositionOnLayout from SelectionController, and instead
          call invalidateSelection() from RenderLayer::scrollToOffset(), because
          we can no longer assume simple x/y offsets from scrolling with transforms.
        * Move the logic to compute which RenderObject actually paints the caret into
          SelectionController::caretRenderer(), rather than having it in RenderBlock.
        * SelectionController now computes and caches a local caret rect. For invalidation,
          it computes the absolute bounds of that (possibly transformed) local rect.
          The local rect is computed in the coordinate system of the RenderObject that
          will paint the caret (this may require offsetting from the actual renderer
          at the start of the selection).
        * Fix LayoutState(RenderObject* root) to take transforms into account
        * Make offsetFromContainer() a virtual method on RenderObject, and implement
          the RenderObject version. It's used to map from selection start renderer
          to caret renderer.

        Test: fast/transforms/transformed-caret.html

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39069 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdded reference to bugs.webkit.org bug.
ddkilzer@apple.com [Sat, 6 Dec 2008 17:20:55 +0000 (17:20 +0000)]
Added reference to bugs.webkit.org bug.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39068 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago BUILD FIX for r39065: Forgot parentheses after "document".
ddkilzer@apple.com [Sat, 6 Dec 2008 17:15:19 +0000 (17:15 +0000)]
    BUILD FIX for r39065: Forgot parentheses after "document".

        Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
        <https://bugs.webkit.org/show_bug.cgi?id=22666>

        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Changed
        document to document().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39067 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-06 Dmitry Titov <dimich@chromium.org>
ap@webkit.org [Sat, 6 Dec 2008 16:04:36 +0000 (16:04 +0000)]
2008-12-06  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=22710
        Memory leak due to circular reference Document->DOMTimer->ScheduledAction->[JS objects]->Document

        * bindings/js/DOMTimer.cpp:
        (WebCore::DOMTimer::stop): Delete ScheduledAction, which contains a protected object.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39066 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Bug 22666: Clean up data structures used when collecting URLs of subresources...
ddkilzer@apple.com [Sat, 6 Dec 2008 11:54:46 +0000 (11:54 +0000)]
    Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives

        <https://bugs.webkit.org/show_bug.cgi?id=22666>

        Reviewed by Darin Adler.

WebCore:

        When creating a webarchive from WebCore::LegacyWebArchive::create(),
        HashSet<String>, Vector<KURL> and Vector<String> were all used to
        store a list of URLs for resources found in the document.  Instead
        use a single ListHashSet<KURL> to store the list and resolve the
        relative URLs as they're added.  We use a new inline method called
        WebCore::addSubresourceURL() to add KURL objects to the ListHashSet
        to prevent "null" KURL objects from crashing in the KURL hashing
        function.

        * WebCore.base.exp: Changed export of
        WebCore::Node::getSubresourceURLs() to take a ListHashSet<KURL>
        argument instead of a Vector<KURL>.

        * WebCore.xcodeproj/project.pbxproj: Marked KURLHash.h as a private
        header for use in WebKit.

        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Renamed from
        addSubresourceURLStrings().  Changed to use ListHashSet<KURL>
        instead of HashSet<String>.  Cleaned up code.
        * css/CSSStyleSheet.h:
        (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Ditto.
        * css/StyleSheet.h:
        (WebCore::StyleSheet::addSubresourceStyleURLs): Ditto.

        * dom/Node.cpp:
        (WebCore::Node::getSubresourceURLs): Changed to use
        ListHashSet<KURL> instead of Vector<KURL>.  Cleaned up code.
        * dom/Node.h:
        (WebCore::Node::getSubresourceURLs): Ditto.
        (WebCore::Node::addSubresourceAttributeURLs): Renamed from
        getSubresourceAttributeStrings().  Changed to use ListHashSet<KURL>
        instead of Vector<String>.
        (WebCore::addSubresourceURL): Added.  Safely adds new KURL objects
        to a ListHashSet<KURL> object.  A "null" KURL object will cause the
        hash function to crash since it contains a null StringImpl.  Used in
        Node::addSubresourceAttributeURLs() and addSubresourceStyleURLs() in
        the style subsystem.

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::addSubresourceAttributeURLs):
        Renamed from getSubresourceAttributeStrings().  Changed to use
        ListHashSet<KURL> instead of Vector<String>.  Use
        WebCore::addSubresourceURL() to add new KURL objects.
        * dom/ProcessingInstruction.h: Ditto.
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Ditto.
        * html/HTMLBodyElement.h: Ditto.
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto.
        * html/HTMLEmbedElement.h: Ditto.
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto.
        * html/HTMLImageElement.h: Ditto.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto.
        * html/HTMLInputElement.h: Ditto.
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto.
        * html/HTMLLinkElement.h: Ditto.
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto.
        * html/HTMLObjectElement.h: Ditto.
        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto.
        * html/HTMLParamElement.h: Ditto.
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto.
        * html/HTMLScriptElement.h: Ditto.
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto.
        * html/HTMLStyleElement.h: Ditto.
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto.
        * html/HTMLTableCellElement.h: Ditto.
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto.
        * html/HTMLTableElement.h: Ditto.

        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::create): Changed from using
        HashSet<String> to ListHashSet<KURL> for tracking unique
        subresources.  Changed from using Vector<KURL> to ListHashSet<KURL>
        when calling WebCore::Node::getSubresourceURLs().  Cleaned up code.

        * svg/SVGCursorElement.cpp:
        (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Renamed
        from getSubresourceAttributeStrings().  Changed to use
        ListHashSet<KURL> instead of Vector<String>.  Use
        WebCore::addSubresourceURL() to add new KURL objects.
        * svg/SVGCursorElement.h: Ditto.
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto.
        * svg/SVGFEImageElement.h: Ditto.
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto.
        * svg/SVGImageElement.h: Ditto.
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto.
        * svg/SVGScriptElement.h: Ditto.

WebKit/mac:

        * DOM/WebDOMOperations.mm:
        (-[DOMNode _subresourceURLs]): Changed from using Vector<KURL> to
        ListHashSet<KURL> when calling WebCore::Node::getSubresourceURLs().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39065 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFixed ChangeLog date.
ddkilzer@apple.com [Sat, 6 Dec 2008 11:51:31 +0000 (11:51 +0000)]
Fixed ChangeLog date.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39064 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoMis-commit in ChangeLog entry
barraclough@apple.com [Sat, 6 Dec 2008 05:00:05 +0000 (05:00 +0000)]
Mis-commit in ChangeLog entry

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39063 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Sat, 6 Dec 2008 04:57:19 +0000 (04:57 +0000)]
2008-12-05  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Please don't die in a fire while trying to compile Interpreter.cpp on GCC 4.2.
        Added "-fno-var-tracking" compiler flag.

        https://bugs.webkit.org/show_bug.cgi?id=22704

        * JavaScriptCore.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39062 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Sat, 6 Dec 2008 03:25:23 +0000 (03:25 +0000)]
2008-12-05  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Ordering of branch operands in MacroAssembler in unnecessarily  inconsistent.

        je, jg etc take an immediate operand as the second argument, but for the
        equality branches (je, jne) the immediate operand was the first argument.  This
        was unnecessarily inconsistent.  Change je, jne methods to take the immediate
        as the second argument.

        https://bugs.webkit.org/show_bug.cgi?id=22703

        * assembler/MacroAssembler.h:
        (JSC::MacroAssembler::je32):
        (JSC::MacroAssembler::jne32):
        * jit/JIT.cpp:
        (JSC::JIT::compileOpStrictEq):
        * wrec/WRECGenerator.cpp:
        (JSC::WREC::Generator::generateEnter):
        (JSC::WREC::Generator::generateNonGreedyQuantifier):
        (JSC::WREC::Generator::generateGreedyQuantifier):
        (JSC::WREC::Generator::generatePatternCharacterPair):
        (JSC::WREC::Generator::generatePatternCharacter):
        (JSC::WREC::Generator::generateCharacterClassInvertedRange):
        (JSC::WREC::Generator::generateCharacterClassInverted):
        (JSC::WREC::Generator::generateAssertionBOL):
        (JSC::WREC::Generator::generateAssertionWordBoundary):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39061 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Darin Adler.
brettw@chromium.org [Sat, 6 Dec 2008 02:27:15 +0000 (02:27 +0000)]
Reviewed by Darin Adler.

Make the page group use the proper link hashing functions rather than
calling the string hash functions directly. Add Chromium-specfic ifdefs
in the visited link computation functions to allow integration.

* page/PageGroup.cpp:
(WebCore::PageGroup::isLinkVisited):
(WebCore::PageGroup::addVisitedLink):
* platform/LinkHash.cpp:
(WebCore::visitedLinkHash):
* platform/LinkHash.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39060 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Chris Marrin <cmarrin@apple.com>
cmarrin@apple.com [Sat, 6 Dec 2008 01:42:16 +0000 (01:42 +0000)]
2008-12-05  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Dave Hyatt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=22635
        For iteration and end events, previous fixes to prevent the deletion of
        Animation objects (ref counting and hanging onto a ref during event callbacks)
        was sufficient to prevent dangling pointers. But start events are sent in
        the styleAvailable() call, which iterates over CompositeAnimation objects,
        which are not ref counted. So that object can get destroyed in the event
        handler while still active. So I added refcounting for CompositeAnimations.

        Additionally, when am iterating over the CompositingAnimation list, it can
        be deleted, which mutates the list. So I now make one pass over the list
        building a vector of CompositeAnimation objects that need to be called and
        then iterate over that vector to make the actual calls.

        Finally, to make sure the lifetime of the CompositeAnimation exceeds that of
        the Animation objects it owns, I now keep a ref to the CompositeAnimation
        in the timer callback for the iteration and end events. That means I no
        longer need to keep a ref to the Animation objects themselves in that timer
        callback, since the CompositeAnimation already has one.

        Tests: animations/animation-iteration-event-destroy-renderer.html
               animations/animation-start-event-destroy-renderer.html

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39059 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Sat, 6 Dec 2008 01:36:16 +0000 (01:36 +0000)]
2008-12-05  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

        Second tranche of porting JIT.cpp to MacroAssembler interface.

        * assembler/MacroAssembler.h:
        (JSC::MacroAssembler::mul32):
        (JSC::MacroAssembler::jl32):
        (JSC::MacroAssembler::jnzSub32):
        (JSC::MacroAssembler::joAdd32):
        (JSC::MacroAssembler::joMul32):
        (JSC::MacroAssembler::jzSub32):
        * jit/JIT.cpp:
        (JSC::JIT::emitSlowScriptCheck):
        (JSC::JIT::privateCompileMainPass):
        (JSC::JIT::privateCompileSlowCases):
        (JSC::JIT::privateCompileCTIMachineTrampolines):
        * jit/JIT.h:
        * jit/JITInlineMethods.h:
        (JSC::JIT::emitJumpIfNotJSCell):
        (JSC::JIT::emitJumpSlowCaseIfNotJSCell):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39058 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdded bugs.webkit.org URL to ChangeLog entry.
ddkilzer@apple.com [Sat, 6 Dec 2008 01:07:19 +0000 (01:07 +0000)]
Added bugs.webkit.org URL to ChangeLog entry.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39057 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago <rdar://problem/6331749> Provide a mechanism to disable perfect hashing in...
ddkilzer@apple.com [Sat, 6 Dec 2008 01:05:06 +0000 (01:05 +0000)]
    <rdar://problem/6331749> Provide a mechanism to disable perfect hashing in the DOM at build time

        Reviewed by Darin Adler.

        Initial patch by Yosen Lin.  Adapted for ToT WebKit by David Kilzer.

        Added back the code that generates a "compact" hash (instead of a
        perfect hash) as a build-time option using the
        ENABLE(PERFECT_HASH_SIZE) macro as defined in Lookup.h.

JavaScriptCore:

        * create_hash_table: Rename variables to differentiate perfect hash
        values from compact hash values.  Added back code to compute compact
        hash tables.  Generate both hash table sizes and emit
        conditionalized code based on ENABLE(PERFECT_HASH_SIZE).
        * runtime/Lookup.cpp:
        (JSC::HashTable::createTable): Added version of createTable() for
        use with compact hash tables.
        (JSC::HashTable::deleteTable): Updated to work with compact hash
        tables.
        * runtime/Lookup.h: Defined ENABLE(PERFECT_HASH_SIZE) macro here.
        (JSC::HashEntry::initialize): Set m_next to zero when using compact
        hash tables.
        (JSC::HashEntry::setNext): Added for compact hash tables.
        (JSC::HashEntry::next): Added for compact hash tables.
        (JSC::HashTable::entry): Added version of entry() for use with
        compact hash tables.
        * runtime/Structure.cpp:
        (JSC::Structure::getEnumerablePropertyNames): Updated to work with
        compact hash tables.

WebCore:

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation): Compute the number of elements that will
        be stored in each hash table and pass it to GenerateHashTable().
        (GenerateHashTable): Added new second parameter representing the
        number of elements to store in the compact hash table.  Added back
        code to compute compact hash tables.  Generate both hash table sizes
        and emit conditionalized code based on ENABLE(PERFECT_HASH_SIZE).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39056 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Sat, 6 Dec 2008 00:52:05 +0000 (00:52 +0000)]
2008-12-05  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

        Remove redundant calls to JIT::emitSlowScriptCheck.
        This is checked in the hot path, so is not needed on the slow path - and the code
        was being planted before the start of the slow case, so was completely unreachable!

        * jit/JIT.cpp:
        (JSC::JIT::privateCompileSlowCases):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39055 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Pamela Greene <pam@chromium.org>
pam@chromium.org [Sat, 6 Dec 2008 00:02:27 +0000 (00:02 +0000)]
2008-12-05  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22608
        Add a test for line numbers of uncaught JS exceptions.

        * fast/js/uncaught-exception-line-number-expected.txt: Added.
        * fast/js/uncaught-exception-line-number.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39054 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Fri, 5 Dec 2008 23:57:43 +0000 (23:57 +0000)]
2008-12-05  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

        Move JIT::compileOpStrictEq to MacroAssembler interface.

        The rewrite also looks like a small (<1%) performance progression.

        https://bugs.webkit.org/show_bug.cgi?id=22697

        * jit/JIT.cpp:
        (JSC::JIT::compileOpStrictEq):
        (JSC::JIT::privateCompileSlowCases):
        * jit/JIT.h:
        * jit/JITInlineMethods.h:
        (JSC::JIT::emitJumpIfJSCell):
        (JSC::JIT::emitJumpSlowCaseIfJSCell):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39053 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Pamela Greene <pam@chromium.org>
pam@chromium.org [Fri, 5 Dec 2008 23:56:33 +0000 (23:56 +0000)]
2008-12-05  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22604
        Add test for onload handler named 'onload'.

        * fast/events/onload-name-collision-expected.txt: Added.
        * fast/events/onload-name-collision.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39052 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Pamela Greene <pam@chromium.org>
pam@chromium.org [Fri, 5 Dec 2008 23:53:43 +0000 (23:53 +0000)]
2008-12-05  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22601
        Add test to verify that calling functions on a Java applet from JS works.

        * fast/dom/java-applet-calls-expected.txt: Added.
        * fast/dom/java-applet-calls.html: Added.
        * fast/dom/resources/TestApplet.class: Added.
        * fast/dom/resources/TestApplet.java: Added.
        (TestApplet): Source of test applet for use by layout test(s).
        (TestApplet.init):
        (TestApplet.setString):
        (TestApplet.getString):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39051 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Pamela Greene <pam@chromium.org>
pam@chromium.org [Fri, 5 Dec 2008 23:48:17 +0000 (23:48 +0000)]
2008-12-05  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22592
        Make sure the onload handler is only called once, even when there are
        multiple <body> nodes in the document.

        * fast/events/onload-fires-twice-expected.txt: Added.
        * fast/events/onload-fires-twice.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39050 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Pamela Greene <pam@chromium.org>
pam@chromium.org [Fri, 5 Dec 2008 23:25:53 +0000 (23:25 +0000)]
2008-12-05  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22575
        Add a test for accessing NodeList items by name.

        * fast/dom/NodeList/nodelist-item-with-name-expected.txt: Added.
        * fast/dom/NodeList/nodelist-item-with-name.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39049 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoMerge branch 'ownptr' into ownptr_commit
brettw@chromium.org [Fri, 5 Dec 2008 23:22:06 +0000 (23:22 +0000)]
Merge branch 'ownptr' into ownptr_commit

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39048 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Pamela Greene <pam@chromium.org>
pam@chromium.org [Fri, 5 Dec 2008 23:19:47 +0000 (23:19 +0000)]
2008-12-05  Pamela Greene  <pam@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=22632
        Add a test for DOM operations with incompatible receivers or arguments.

        * fast/dom/incompatible-operations-expected.txt: Added.
        * fast/dom/incompatible-operations.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39047 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Eric Seidel.
brettw@chromium.org [Fri, 5 Dec 2008 23:13:10 +0000 (23:13 +0000)]
Reviewed by Eric Seidel.

Add a missing include for OwnPtr to make CSSSelector compile without
precompiled headers.

* css/CSSSelector.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39046 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Bug 22555: Sort "children" sections in Xcode project files
ddkilzer@apple.com [Fri, 5 Dec 2008 22:53:11 +0000 (22:53 +0000)]
    Bug 22555: Sort "children" sections in Xcode project files

        <https://bugs.webkit.org/show_bug.cgi?id=22555>

        Reviewed by Darin Adler.

        Sort "children" sections alphabetically, moving groups (folders) to
        the top of each of the lists.  Files are assumed to have extensions,
        so %isFile is used to override this behavior.

        * Scripts/sort-Xcode-project-file:
        (sortChildrenByFileName): Added.
        (sortFilesByFileName): Renamed from sortByFileName().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39045 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Geoff Garen.
eric@webkit.org [Fri, 5 Dec 2008 22:15:57 +0000 (22:15 +0000)]
    Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=22683
        Fix gtk and qt builds which depend on --qt and --gtk being removed from ARGV
        Add a new argumentsForConfiguration() function and clean up some old code to use it.
        Rename checkArgV to checkForArgumentAndRemoveFromARGV to be more self-documenting.

        * Scripts/run-javascriptcore-tests:
        * Scripts/run-launcher:
        * Scripts/run-webkit-tests:
        * Scripts/webkitdirs.pm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39044 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Fri, 5 Dec 2008 22:14:11 +0000 (22:14 +0000)]
2008-12-05  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

        Remove m_assembler from MacroAssembler::Jump.
        Keeping a pointer allowed for some syntactic sugar - "link()" looks nicer
        than "link(this)".  But maintaining this doubles the size of Jump, which
        is even more unfortunate for the JIT, since there are many large structures
        holding JmpSrcs.  Probably best to remove it.

        https://bugs.webkit.org/show_bug.cgi?id=22693

        * assembler/MacroAssembler.h:
        (JSC::MacroAssembler::Jump::Jump):
        (JSC::MacroAssembler::Jump::link):
        (JSC::MacroAssembler::Jump::linkTo):
        (JSC::MacroAssembler::JumpList::link):
        (JSC::MacroAssembler::JumpList::linkTo):
        (JSC::MacroAssembler::jae32):
        (JSC::MacroAssembler::je32):
        (JSC::MacroAssembler::je16):
        (JSC::MacroAssembler::jg32):
        (JSC::MacroAssembler::jge32):
        (JSC::MacroAssembler::jl32):
        (JSC::MacroAssembler::jle32):
        (JSC::MacroAssembler::jnePtr):
        (JSC::MacroAssembler::jne32):
        (JSC::MacroAssembler::jnset32):
        (JSC::MacroAssembler::jset32):
        (JSC::MacroAssembler::jump):
        (JSC::MacroAssembler::jzSub32):
        (JSC::MacroAssembler::joAdd32):
        (JSC::MacroAssembler::call):
        * wrec/WREC.cpp:
        (JSC::WREC::Generator::compileRegExp):
        * wrec/WRECGenerator.cpp:
        (JSC::WREC::Generator::generateEnter):
        (JSC::WREC::Generator::generateBackreferenceQuantifier):
        (JSC::WREC::Generator::generateNonGreedyQuantifier):
        (JSC::WREC::Generator::generateGreedyQuantifier):
        (JSC::WREC::Generator::generatePatternCharacter):
        (JSC::WREC::Generator::generateCharacterClassInvertedRange):
        (JSC::WREC::Generator::generateCharacterClassInverted):
        (JSC::WREC::Generator::generateCharacterClass):
        (JSC::WREC::Generator::generateParenthesesAssertion):
        (JSC::WREC::Generator::generateParenthesesInvertedAssertion):
        (JSC::WREC::Generator::generateParenthesesNonGreedy):
        (JSC::WREC::Generator::generateParenthesesResetTrampoline):
        (JSC::WREC::Generator::generateAssertionBOL):
        (JSC::WREC::Generator::generateAssertionEOL):
        (JSC::WREC::Generator::generateAssertionWordBoundary):
        (JSC::WREC::Generator::generateBackreference):
        (JSC::WREC::Generator::terminateAlternative):
        (JSC::WREC::Generator::terminateDisjunction):
        * wrec/WRECParser.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39043 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Finnur Thorarinsson <finnur.webkit@gmail.com>
eric@webkit.org [Fri, 5 Dec 2008 22:10:27 +0000 (22:10 +0000)]
2008-12-05  Finnur Thorarinsson  <finnur.webkit@gmail.com>

        Reviewed by Darin Adler.

        Bug 22579: Providing a function to ScrollbarClient.h which allows us to get at the tickmarks
        without relying on high-level WebCore types, as requested by Dave Hyatt.

        No functional changes, thus no test cases.

        * page/FrameView.cpp:
        (WebCore::FrameView::getTickmarks):
        * page/FrameView.h:
        * platform/ScrollbarClient.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39042 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Justin Garcia <justin.garcia@apple.com>
justin.garcia@apple.com [Fri, 5 Dec 2008 21:54:49 +0000 (21:54 +0000)]
2008-12-05  Justin Garcia  <justin.garcia@apple.com>

        Updating these test results.  On Tiger the fragment created from RTFD data
        contained interchange newlines that we incorrectly handled before r38983.

        * platform/mac-tiger/editing/pasteboard/paste-RTFD-expected.checksum:
        * platform/mac-tiger/editing/pasteboard/paste-RTFD-expected.png:
        * platform/mac-tiger/editing/pasteboard/paste-RTFD-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39041 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Fri, 5 Dec 2008 20:56:33 +0000 (20:56 +0000)]
2008-12-05  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Added a test for a bug I discovered while working on
        https://bugs.webkit.org/show_bug.cgi?id=22685.

        * fast/regex/non-capturing-backtracking-expected.txt: Added.
        * fast/regex/non-capturing-backtracking.html: Added.
        * fast/regex/resources/non-capturing-backtracking.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39040 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Fri, 5 Dec 2008 20:39:57 +0000 (20:39 +0000)]
2008-12-05  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoffrey Garen.

        Simplify JIT generated checks for timeout code, by moving more work into the C function.
        https://bugs.webkit.org/show_bug.cgi?id=22688

        * interpreter/Interpreter.cpp:
        (JSC::Interpreter::cti_timeout_check):
        * interpreter/Interpreter.h:
        * jit/JIT.cpp:
        (JSC::JIT::emitSlowScriptCheck):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39039 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 5 Dec 2008 20:27:58 +0000 (20:27 +0000)]
2008-12-05  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoffrey Garen.

        Encapsulate access to jump tables in the CodeBlock in preparation
        of moving them to a rare data structure.

        * bytecode/CodeBlock.cpp:
        (JSC::CodeBlock::dump):
        (JSC::CodeBlock::shrinkToFit):
        * bytecode/CodeBlock.h:
        (JSC::CodeBlock::numberOfImmediateSwitchJumpTables):
        (JSC::CodeBlock::addImmediateSwitchJumpTable):
        (JSC::CodeBlock::immediateSwitchJumpTable):
        (JSC::CodeBlock::numberOfCharacterSwitchJumpTables):
        (JSC::CodeBlock::addCharacterSwitchJumpTable):
        (JSC::CodeBlock::characterSwitchJumpTable):
        (JSC::CodeBlock::numberOfStringSwitchJumpTables):
        (JSC::CodeBlock::addStringSwitchJumpTable):
        (JSC::CodeBlock::stringSwitchJumpTable):
        * bytecompiler/BytecodeGenerator.cpp:
        (JSC::BytecodeGenerator::generate):
        (JSC::BytecodeGenerator::endSwitch):
        * interpreter/Interpreter.cpp:
        (JSC::Interpreter::privateExecute):
        (JSC::Interpreter::cti_op_switch_imm):
        (JSC::Interpreter::cti_op_switch_char):
        (JSC::Interpreter::cti_op_switch_string):
        * jit/JIT.cpp:
        (JSC::JIT::privateCompileMainPass):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39038 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Dean Jackson <dino@apple.com>
dino@apple.com [Fri, 5 Dec 2008 19:00:09 +0000 (19:00 +0000)]
2008-12-05  Dean Jackson  <dino@apple.com>

        Reviewed by David Hyatt.

        WebCore:
        Make sure Window event listeners also tell the
        Document about the event type, so noisy events
        will be dispatched even if nothing in the document
        is listening.
        https://bugs.webkit.org/show_bug.cgi?id=20572

        * dom/Document.cpp:
        (WebCore::Document::addWindowEventListener):

        LayoutTests:
        No longer need to add a fake listener on a document
        node in order to get events passed up to Window.
        https://bugs.webkit.org/show_bug.cgi?id=20572

        * transitions/transition-end-event-window.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39037 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Fri, 5 Dec 2008 18:27:29 +0000 (18:27 +0000)]
2008-12-05  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim Hatcher.

        - Fix intermittent profiler test failures.  The problem is that idle
        time only shows up some times, probably dependent on if the system is
        running a little slow or has a network hiccup.  I've removed this.
        - I've also added <rdar://problem/6422004> Profiler tests fail because
        they sometimes don't have (idle) time. This is to investigate whether or
        not idle time should be showing up at all when running these tests.

        * fast/profiler/anonymous-event-handler-expected.txt:
        * fast/profiler/anonymous-function-called-from-different-contexts-expected.txt:
        * fast/profiler/anonymous-function-calls-built-in-functions-expected.txt:
        * fast/profiler/anonymous-function-calls-eval-expected.txt:
        * fast/profiler/apply-expected.txt:
        * fast/profiler/built-in-function-calls-anonymous-expected.txt:
        * fast/profiler/built-in-function-calls-user-defined-function-expected.txt:
        * fast/profiler/call-expected.txt:
        * fast/profiler/call-nodelist-as-function-expected.txt:
        * fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope-expected.txt:
        * fast/profiler/compare-multiple-profiles-expected.txt:
        * fast/profiler/constructor-expected.txt:
        * fast/profiler/dead-time-expected.txt:
        * fast/profiler/document-dot-write-expected.txt:
        * fast/profiler/event-handler-expected.txt:
        * fast/profiler/execution-context-and-eval-on-same-line-expected.txt:
        * fast/profiler/heavy-view-expected.txt:
        * fast/profiler/inline-event-handler-expected.txt:
        * fast/profiler/many-calls-in-the-same-scope-expected.txt:
        * fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt:
        * fast/profiler/multiple-and-different-scoped-function-calls-expected.txt:
        * fast/profiler/multiple-frames-expected.txt:
        * fast/profiler/nested-anonymous-functon-expected.txt:
        * fast/profiler/nested-start-and-stop-profiler-expected.txt:
        * fast/profiler/one-execution-context-expected.txt:
        * fast/profiler/profile-calls-in-included-file-expected.txt:
        * fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting-expected.txt:
        * fast/profiler/profiling-from-a-nested-location-expected.txt:
        * fast/profiler/resources/profiler-test-JS-resources.js:
        (printProfileNodeWithoutTime):
        * fast/profiler/simple-event-call-expected.txt:
        * fast/profiler/simple-no-level-change-expected.txt:
        * fast/profiler/start-and-stop-profiler-multiple-times-expected.txt:
        * fast/profiler/start-and-stop-profiling-in-the-same-function-expected.txt:
        * fast/profiler/stop-profiling-after-setTimeout-expected.txt:
        * fast/profiler/stop-then-function-call-expected.txt:
        * fast/profiler/throw-exception-from-eval-expected.txt:
        * fast/profiler/two-execution-contexts-expected.txt:
        * fast/profiler/user-defined-function-calls-built-in-functions-expected.txt:
        * fast/profiler/window-dot-eval-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39036 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Mac build fix.
mitz@apple.com [Fri, 5 Dec 2008 18:03:21 +0000 (18:03 +0000)]
    Mac build fix.

        * WebKit.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39035 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Simon Hausmann <simon.hausmann@nokia.com>
hausmann@webkit.org [Fri, 5 Dec 2008 17:23:08 +0000 (17:23 +0000)]
2008-12-05  Simon Hausmann  <simon.hausmann@nokia.com>

        Rubber-stamped by Tor Arne Vestbø.

        Disable the JIT for the Qt build alltogether again, after observing
        more miscompilations in a wider range of newer gcc versions.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39034 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Windows build fix after r39026
aroben@apple.com [Fri, 5 Dec 2008 17:22:06 +0000 (17:22 +0000)]
    Windows build fix after r39026

        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        (WebCore::ResourceRequest::doUpdateResourceRequest):
        Add some missing .get()s.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39033 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Windows build fix after r39020
aroben@apple.com [Fri, 5 Dec 2008 17:21:47 +0000 (17:21 +0000)]
    Windows build fix after r39020

        * jit/JITInlineMethods.h:
        (JSC::JIT::restoreArgumentReference):
        (JSC::JIT::restoreArgumentReferenceForTrampoline):
        Add some apparently-missing __.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39032 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Mac build fix.
mitz@apple.com [Fri, 5 Dec 2008 17:20:25 +0000 (17:20 +0000)]
    Mac build fix.

        * WebKit.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39031 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-04 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Fri, 5 Dec 2008 16:49:56 +0000 (16:49 +0000)]
2008-12-04  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22673

        Added support for the assertion (?=) and inverted assertion (?!) atoms
        in WREC.

        * wrec/WRECGenerator.cpp:
        (JSC::WREC::Generator::generateParenthesesAssertion):
        (JSC::WREC::Generator::generateParenthesesInvertedAssertion): Split the
        old (unused) generateParentheses into these two functions, with more
        limited capabilities.

        * wrec/WRECGenerator.h:
        (JSC::WREC::Generator::): Moved an enum to the top of the class definition,
        to match the WebKit style, and removed a defunct comment.

        * wrec/WRECParser.cpp:
        (JSC::WREC::Parser::parseParentheses):
        (JSC::WREC::Parser::consumeParenthesesType):
        * wrec/WRECParser.h:
        (JSC::WREC::Parser::): Added support for parsing (?=) and (?!).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39030 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Tiger build fix.
ap@webkit.org [Fri, 5 Dec 2008 16:33:52 +0000 (16:33 +0000)]
    Tiger build fix.

        * platform/network/mac/ResourceRequestMac.mm: Define NSUInteger.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39029 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Darin Adler.
ap@webkit.org [Fri, 5 Dec 2008 15:53:39 +0000 (15:53 +0000)]
    Reviewed by Darin Adler.

        <rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page"
        in Safari before opening a mail message in Mail

WebCore:
        * platform/mac/WebCoreObjCExtras.mm:
        (WebCoreObjCFinalizeOnMainThread):
        Don't call initializeThreading: we now expect the caller to do it, to simplify keeping
        Tiger and post-Tiger behavior in line.

        * bindings/objc/DOMRGBColor.mm:
        (+[DOMRGBColor initialize]):
        * bindings/objc/WebScriptObject.mm:
        (+[WebScriptObject initialize]):
        * page/mac/AccessibilityObjectWrapper.mm:
        (+[AccessibilityObjectWrapper initialize]):
        * platform/mac/SharedBufferMac.mm:
        (+[WebCoreSharedBufferData initialize]):
        Call JSC::initializeThreading();

WebKit:
        * Carbon/CarbonWindowAdapter.m: Removed.
        * Carbon/CarbonWindowAdapter.mm: Copied from WebKit/mac/Carbon/CarbonWindowAdapter.m.
        (+[CarbonWindowAdapter initialize]):
        * History/WebBackForwardList.mm:
        (+[WebBackForwardList initialize]):
        * History/WebHistoryItem.mm:
        (+[WebHistoryItem initialize]):
        * Misc/WebElementDictionary.mm:
        (+[WebElementDictionary initialize]):
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (+[WebHostedNetscapePluginView initialize]):
        * Plugins/WebBaseNetscapePluginView.mm:
        * Plugins/WebBasePluginPackage.m: Removed.
        * Plugins/WebBasePluginPackage.mm: Copied from WebKit/mac/Plugins/WebBasePluginPackage.m.
        (+[WebBasePluginPackage initialize]):
        * Plugins/WebNetscapePluginView.mm:
        (+[WebNetscapePluginView initialize]):
        * WebCoreSupport/WebEditorClient.mm:
        (+[WebEditCommand initialize]):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        * WebView/WebArchive.mm:
        (+[WebArchivePrivate initialize]):
        * WebView/WebDataSource.mm:
        (+[WebDataSourcePrivate initialize]):
        * WebView/WebHTMLView.mm:
        (+[WebHTMLViewPrivate initialize]):
        (+[WebHTMLView initialize]):
        * WebView/WebResource.mm:
        (+[WebResourcePrivate initialize]):
        * WebView/WebView.mm:
        (+[WebViewPrivate initialize]):
        Call JSC::initializeThreading();

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39028 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 5 Dec 2008 15:47:24 +0000 (15:47 +0000)]
2008-12-05  Darin Adler  <darin@apple.com>

        Reviewed by Alexey Proskuryakov.

        - fix https://bugs.webkit.org/show_bug.cgi?id=22674
          Webkit r39005 does not start, an entry point not found

        * WebView.cpp:
        (findCFNetworkModule): Added.
        (findCopySharedURLCacheFunction): Added.
        (WebView::setCacheModel): Call CFURLCacheCopySharedURLCache via dynamic loading
        instead of compiling based on which version of CFNetwork headers are present.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39027 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Darin Adler.
ap@webkit.org [Fri, 5 Dec 2008 14:43:53 +0000 (14:43 +0000)]
    Reviewed by Darin Adler.

        <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled

        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
        * platform/network/ResourceRequestBase.h:
        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
        (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
        (WebCore::setContentDispositionEncodingFallbackArray):
        (WebCore::copyContentDispositionEncodingFallbackArray):
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        (WebCore::ResourceRequest::doUpdateResourceRequest):
        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::ResourceRequest::doUpdateResourceRequest):
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        Added a way to specify encoding fallback list for Content-Disposition header.

        * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Generate and
        pass a list of encodings to try when decoding Content-Disposition header, as described
        in comments.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39026 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Darin Adler.
ap@webkit.org [Fri, 5 Dec 2008 14:23:19 +0000 (14:23 +0000)]
    Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22672
        ASSERT(m_table) when xhr.onabort creates another xhr or calls setTimeout

        Test: http/tests/xmlhttprequest/send-on-abort.html

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
        Add a comment explaining that ActiveDOMObject methods shouldn't execute arbitrary JS.

        * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::stop): Don't dispatch events. This
        reverts a recent change that made the behavior slightly closer to Firefox - but the
        compatibility effect should be very minor if any, and Firefox itself behaves inconsistently.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39025 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Tobias König <tobias.koenig@nokia.com>
hausmann@webkit.org [Fri, 5 Dec 2008 13:02:30 +0000 (13:02 +0000)]
2008-12-05  Tobias König <tobias.koenig@nokia.com>

        Reviewed by Simon Hausmann.

        Record required package dependencies for the Qt build for a correct
        pkg-config file.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39024 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Simon Hausmann <simon.hausmann@nokia.com>
hausmann@webkit.org [Fri, 5 Dec 2008 12:50:06 +0000 (12:50 +0000)]
2008-12-05  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Disable the JIT for the Qt build on Linux unless gcc is >= 4.2,
        due to miscompilations.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39023 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Tor Arne Vestbø <tavestbo@trolltech.com>
vestbo@webkit.org [Fri, 5 Dec 2008 11:27:07 +0000 (11:27 +0000)]
2008-12-05  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Rubber-stamped by Simon Hausmann.

        [Qt/Mac] Blacklist QuickTime plugin until we support the QuickDraw drawing model

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39022 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-05 Jungshik Shin <jshin@chromium.org>
ap@webkit.org [Fri, 5 Dec 2008 09:48:50 +0000 (09:48 +0000)]
2008-12-05  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=22472

        Revises charset alias map for TextCodecICU.
        - Uses windows-949 and windows-874 instead of windows-949-2000 and windows-874-2000
        - Replaces 'windows874' in a couple of place with 'windows-874' (for the canonical name)
        - Maps 'dos-874' to 'windows-874'. Currently, it's aliases to 'cp874', which is in turn
          mapped to 'TIS-620'. 'TIS-620' is manually aliased to 'windows-874'. We'd better directly
          alias 'dos-874' to 'windows-874'.
        - Replaces 'EUC-CN' with 'GBK' when it's used as the canonical name.
          Similar to the above case, we're getting rid of indirection that eventually leads to 'GBK' by
          directly going to 'GBK'.
        - Adds 'x-uhc' as an alias for 'windows-949'. It's used in some web pages.

        Tests: fast/encoding/char-decoding-mac.html
               fast/encoding/char-decoding.html

        * platform/text/TextCodecICU.cpp:
        (WebCore::TextCodecICU::registerExtendedEncodingNames):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39021 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-04 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Fri, 5 Dec 2008 06:58:40 +0000 (06:58 +0000)]
2008-12-04  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

        Start porting the JIT to use the MacroAssembler.

        https://bugs.webkit.org/show_bug.cgi?id=22671
        No change in performance.

        * assembler/MacroAssembler.h:
        (JSC::MacroAssembler::Jump::operator X86Assembler::JmpSrc):
        (JSC::MacroAssembler::add32):
        (JSC::MacroAssembler::and32):
        (JSC::MacroAssembler::lshift32):
        (JSC::MacroAssembler::rshift32):
        (JSC::MacroAssembler::storePtr):
        (JSC::MacroAssembler::store32):
        (JSC::MacroAssembler::poke):
        (JSC::MacroAssembler::move):
        (JSC::MacroAssembler::compareImm32ForBranchEquality):
        (JSC::MacroAssembler::jnePtr):
        (JSC::MacroAssembler::jnset32):
        (JSC::MacroAssembler::jset32):
        (JSC::MacroAssembler::jzeroSub32):
        (JSC::MacroAssembler::joverAdd32):
        (JSC::MacroAssembler::call):
        * assembler/X86Assembler.h:
        (JSC::X86Assembler::shll_i8r):
        * jit/JIT.cpp:
        (JSC::JIT::privateCompileMainPass):
        (JSC::JIT::privateCompile):
        (JSC::JIT::privateCompileCTIMachineTrampolines):
        * jit/JIT.h:
        * jit/JITArithmetic.cpp:
        (JSC::JIT::compileBinaryArithOp):
        * jit/JITInlineMethods.h:
        (JSC::JIT::emitGetVirtualRegister):
        (JSC::JIT::emitPutCTIArg):
        (JSC::JIT::emitPutCTIArgConstant):
        (JSC::JIT::emitGetCTIArg):
        (JSC::JIT::emitPutCTIArgFromVirtualRegister):
        (JSC::JIT::emitPutCTIParam):
        (JSC::JIT::emitGetCTIParam):
        (JSC::JIT::emitPutToCallFrameHeader):
        (JSC::JIT::emitPutImmediateToCallFrameHeader):
        (JSC::JIT::emitGetFromCallFrameHeader):
        (JSC::JIT::emitPutVirtualRegister):
        (JSC::JIT::emitInitRegister):
        (JSC::JIT::emitNakedCall):
        (JSC::JIT::restoreArgumentReference):
        (JSC::JIT::restoreArgumentReferenceForTrampoline):
        (JSC::JIT::emitCTICall):
        (JSC::JIT::checkStructure):
        (JSC::JIT::emitJumpSlowCaseIfNotJSCell):
        (JSC::JIT::emitJumpSlowCaseIfNotImmNum):
        (JSC::JIT::emitJumpSlowCaseIfNotImmNums):
        (JSC::JIT::emitFastArithDeTagImmediate):
        (JSC::JIT::emitFastArithDeTagImmediateJumpIfZero):
        (JSC::JIT::emitFastArithReTagImmediate):
        (JSC::JIT::emitFastArithPotentiallyReTagImmediate):
        (JSC::JIT::emitFastArithImmToInt):
        (JSC::JIT::emitFastArithIntToImmOrSlowCase):
        (JSC::JIT::emitFastArithIntToImmNoCheck):
        (JSC::JIT::emitTagAsBoolImmediate):
        * jit/JITPropertyAccess.cpp:
        (JSC::JIT::privateCompilePutByIdTransition):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39020 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoVersioning.
mrowe@apple.com [Fri, 5 Dec 2008 04:38:32 +0000 (04:38 +0000)]
Versioning.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39019 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-04 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Fri, 5 Dec 2008 04:13:20 +0000 (04:13 +0000)]
2008-12-04  Stephanie Lewis  <slewis@apple.com>

        Fix build.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCLoadURL):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39015 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Kevin Ollivier.
kevino@webkit.org [Fri, 5 Dec 2008 03:42:15 +0000 (03:42 +0000)]
Reviewed by Kevin Ollivier.

Add a MIME mapping for the .htm extension to wx and GTK ports.

https://bugs.webkit.org/show_bug.cgi?id=22668

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39014 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Kevin Ollivier.
kevino@webkit.org [Fri, 5 Dec 2008 03:29:11 +0000 (03:29 +0000)]
Reviewed by Kevin Ollivier.

Implement basic text paste support in wx and add notImplemented stubs to catch other methods.

https://bugs.webkit.org/show_bug.cgi?id=22667

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39013 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agowx build fix for !USE(WXGC) build config.
kevino@webkit.org [Fri, 5 Dec 2008 01:55:17 +0000 (01:55 +0000)]
wx build fix for !USE(WXGC) build config.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39012 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Kevin Ollivier.
kevino@webkit.org [Fri, 5 Dec 2008 01:39:20 +0000 (01:39 +0000)]
Reviewed by Kevin Ollivier.

Turn off styled controls until we can implement them properly.

https://bugs.webkit.org/show_bug.cgi?id=22662

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39011 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-04 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Fri, 5 Dec 2008 00:40:07 +0000 (00:40 +0000)]
2008-12-04  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Some refactoring for generateGreedyQuantifier.

        SunSpider reports no change (possibly a 0.3% speedup).

        * wrec/WRECGenerator.cpp:
        (JSC::WREC::Generator::generateGreedyQuantifier): Clarified label
        meanings and unified some logic to simplify things.

        * wrec/WRECParser.h:
        (JSC::WREC::Parser::parseAlternative): Added a version of parseAlternative
        that can jump to a Label, instead of a JumpList, upon failure. (Eventually,
        when we have a true Label class, this will be redundant.) This makes
        things easier for generateGreedyQuantifier, because it can avoid
        explicitly linking things.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39010 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago..:
andersca@apple.com [Fri, 5 Dec 2008 00:10:52 +0000 (00:10 +0000)]
..:

2008-12-04  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add HostedNetscapePluginStream.

        * WebKit.xcodeproj/project.pbxproj:

../mac:

2008-12-04  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        More work on streams.

        * Plugins/Hosted/HostedNetscapePluginStream.h: Added.
        (WebKit::HostedNetscapePluginStream::create):
        * Plugins/Hosted/HostedNetscapePluginStream.mm: Added.
        (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
        (WebKit::HostedNetscapePluginStream::startStreamWithResponse):
        (WebKit::HostedNetscapePluginStream::startStream):
        (WebKit::HostedNetscapePluginStream::didReceiveData):
        (WebKit::HostedNetscapePluginStream::didFinishLoading):
        (WebKit::HostedNetscapePluginStream::didReceiveResponse):
        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        (WebKit::NetscapePluginInstanceProxy::pluginView):
        (WebKit::NetscapePluginInstanceProxy::hostProxy):
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest):
        (WebKit::NetscapePluginInstanceProxy::PluginRequest::requestID):
        (WebKit::NetscapePluginInstanceProxy::PluginRequest::request):
        (WebKit::NetscapePluginInstanceProxy::PluginRequest::frameName):
        (WebKit::NetscapePluginInstanceProxy::PluginRequest::didStartFromUserGesture):
        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
        (WebKit::NetscapePluginInstanceProxy::performRequest):
        (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript):
        (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
        (WebKit::NetscapePluginInstanceProxy::loadRequest):
        * Plugins/Hosted/WebKitPluginHost.defs:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39009 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Kevin Ollivier.
kevino@webkit.org [Fri, 5 Dec 2008 00:03:08 +0000 (00:03 +0000)]
Reviewed by Kevin Ollivier.

wx implementations for Path API.

https://bugs.webkit.org/show_bug.cgi?id=22661

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39008 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-04 Julien Chaffraix <jchaffraix@webkit.org>
jchaffraix@webkit.org [Thu, 4 Dec 2008 22:39:05 +0000 (22:39 +0000)]
2008-12-04  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric Seidel.

        Bug 22564: Make HTML elements' constructors take a QualifiedName
        https://bugs.webkit.org/show_bug.cgi?id=22564

        Updated the remaining constructors.

        * bindings/js/JSImageConstructor.cpp:
        (WebCore::constructImage):
        * dom/Document.cpp:
        (WebCore::Document::getCSSCanvasElement):
        * editing/DeleteButton.cpp:
        (WebCore::DeleteButton::DeleteButton):
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::HTMLAppletElement):
        * html/HTMLAppletElement.h:
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::HTMLAreaElement):
        * html/HTMLAreaElement.h:
        * html/HTMLBaseFontElement.cpp:
        (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
        * html/HTMLBaseFontElement.h:
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
        * html/HTMLCanvasElement.h:
        * html/HTMLElementFactory.cpp:
        (WebCore::hrConstructor):
        (WebCore::paragraphConstructor):
        (WebCore::basefontConstructor):
        (WebCore::fontConstructor):
        (WebCore::anchorConstructor):
        (WebCore::imageConstructor):
        (WebCore::mapConstructor):
        (WebCore::areaConstructor):
        (WebCore::canvasConstructor):
        (WebCore::appletConstructor):
        (WebCore::embedConstructor):
        (WebCore::objectConstructor):
        (WebCore::paramConstructor):
        (WebCore::scriptConstructor):
        (WebCore::tableConstructor):
        (WebCore::tableCaptionConstructor):
        (WebCore::tableRowConstructor):
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::HTMLEmbedElement):
        * html/HTMLEmbedElement.h:
        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::HTMLFontElement):
        * html/HTMLFontElement.h:
        * html/HTMLHRElement.cpp:
        (WebCore::HTMLHRElement::HTMLHRElement):
        * html/HTMLHRElement.h:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::HTMLImageElement):
        * html/HTMLImageElement.h:
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::HTMLMapElement):
        * html/HTMLMapElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::HTMLObjectElement):
        * html/HTMLObjectElement.h:
        * html/HTMLParagraphElement.cpp:
        (WebCore::HTMLParagraphElement::HTMLParagraphElement):
        * html/HTMLParagraphElement.h:
        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::HTMLParamElement):
        * html/HTMLParamElement.h:
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError):
        (WebCore::HTMLParser::mapCreateErrorCheck):
        (WebCore::HTMLParser::handleIsindex):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::HTMLScriptElement):
        * html/HTMLScriptElement.h:
        * html/HTMLTableCaptionElement.cpp:
        (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
        * html/HTMLTableCaptionElement.h:
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::HTMLTableElement):
        (WebCore::HTMLTableElement::createCaption):
        (WebCore::HTMLTableElement::insertRow):
        * html/HTMLTableElement.h:
        * html/HTMLTableRowElement.cpp:
        (WebCore::HTMLTableRowElement::HTMLTableRowElement):
        * html/HTMLTableRowElement.h:
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::insertRow):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable):
        (WebCore::HTMLViewSourceDocument::addLine):
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentElement::ImageDocumentElement):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39007 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Implement IPropertyBag2::Read.
sfalken@apple.com [Thu, 4 Dec 2008 22:02:42 +0000 (22:02 +0000)]
    Implement IPropertyBag2::Read.
        Fill in dwType for IPropertyBag2::GetPropertyInfo (we always use PROPBAG2_TYPE_DATA).
        https://bugs.webkit.org/show_bug.cgi?id=22659

        This fixes <rdar://problem/6419127> REGRESSION: Forms autocomplete is broken for "other forms"

        Reviewed by Ada Chan, Alice Liu.

        * COMPropertyBag.h:
        (::Read): Implemented.
        (::GetPropertyInfo): Set dwType to PROPBAG2_TYPE_DATA.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39006 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago No review, build fix only.
eric@webkit.org [Thu, 4 Dec 2008 21:08:37 +0000 (21:08 +0000)]
    No review, build fix only.

        Add file missing from last commit.

        * bindings/js/ScriptState.h: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39005 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-04 Simon Hausmann <simon.hausmann@nokia.com>
hausmann@webkit.org [Thu, 4 Dec 2008 21:01:44 +0000 (21:01 +0000)]
2008-12-04  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Holger Freyther.

        Fix crashes in the Qt build on Linux/i386 with non-executable memory
        by enabling TCSystemAlloc and the PROT_EXEC flag for mmap.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39004 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Geoff Garen.
eric@webkit.org [Thu, 4 Dec 2008 20:51:21 +0000 (20:51 +0000)]
    Reviewed by Geoff Garen.

        Implement ScriptState abstraction (initially, a simple typedef)
        as means of carrying exception information across bindings boundaries
        and in a script engine-independent way.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::scriptStateFromNode):
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSNodeFilterCondition.h:
        * bindings/js/ScriptState.h: Added.
        * dom/NodeFilter.cpp:
        (WebCore::NodeFilter::acceptNode):
        * dom/NodeFilter.h:
        (WebCore::NodeFilter::acceptNode):
        * dom/NodeFilterCondition.cpp:
        (WebCore::NodeFilterCondition::acceptNode):
        * dom/NodeFilterCondition.h:
        * dom/NodeIterator.cpp:
        (WebCore::NodeIterator::nextNode):
        (WebCore::NodeIterator::previousNode):
        * dom/NodeIterator.h:
        (WebCore::NodeIterator::nextNode):
        (WebCore::NodeIterator::previousNode):
        * dom/Traversal.cpp:
        (WebCore::Traversal::acceptNode):
        * dom/Traversal.h:
        * dom/TreeWalker.cpp:
        (WebCore::TreeWalker::parentNode):
        (WebCore::TreeWalker::firstChild):
        (WebCore::TreeWalker::lastChild):
        (WebCore::TreeWalker::previousSibling):
        (WebCore::TreeWalker::nextSibling):
        (WebCore::TreeWalker::previousNode):
        (WebCore::TreeWalker::nextNode):
        * dom/TreeWalker.h:
        (WebCore::TreeWalker::parentNode):
        (WebCore::TreeWalker::firstChild):
        (WebCore::TreeWalker::lastChild):
        (WebCore::TreeWalker::previousSibling):
        (WebCore::TreeWalker::nextSibling):
        (WebCore::TreeWalker::previousNode):
        (WebCore::TreeWalker::nextNode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39003 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-04 Pierre-Olivier Latour <pol@apple.com>
pol@apple.com [Thu, 4 Dec 2008 20:44:47 +0000 (20:44 +0000)]
2008-12-04  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        Fixed pauseTransitionAtTimeOnElementWithId() in DRT asserting when passed invalid property name
        and potential similar issue with pauseAnimationAtTimeOnElementWithId().

        https://bugs.webkit.org/show_bug.cgi?id=22641

        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
        (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39002 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-04 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 4 Dec 2008 20:42:46 +0000 (20:42 +0000)]
2008-12-04  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Start implementing WKPCLoadURL. Currently this has copied a lot of code from WebNetscapePluginView
        but once we have a more complete implementation of NPStreams we can start refactoring things so that the
        implementations can share more code.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCLoadURL):
        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
        (WebKit::NetscapePluginInstanceProxy::loadURL):
        (WebKit::NetscapePluginInstanceProxy::performRequest):
        (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
        (WebKit::NetscapePluginInstanceProxy::loadRequest):
        * Plugins/Hosted/WebKitPluginClient.defs:
        * Plugins/Hosted/WebKitPluginHost.defs:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39001 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Darin Adler.
brettw@chromium.org [Thu, 4 Dec 2008 20:37:36 +0000 (20:37 +0000)]
Reviewed by Darin Adler.

Remove unused Completion.h include.

* html/CanvasRenderingContext2D.cpp: Removed Completion.h include.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39000 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-11-13 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 4 Dec 2008 20:07:41 +0000 (20:07 +0000)]
2008-11-13  David Hyatt  <hyatt@apple.com>

        Fix a bug in ScrollView's refactoring.  An isVisible check should have been isSelfVisible.

        Reviewed by Darin Adler

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setParentVisible):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38999 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-04 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 4 Dec 2008 19:38:26 +0000 (19:38 +0000)]
2008-12-04  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Move requestWithURLCString to WebBaseNetscapePluginView.

        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView requestWithURLCString:]):
        * Plugins/WebNetscapePluginView.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38998 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFix the Qt build
vestbo@webkit.org [Thu, 4 Dec 2008 16:38:43 +0000 (16:38 +0000)]
Fix the Qt build

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38997 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-04 Simon Hausmann <simon.hausmann@nokia.com>
hausmann@webkit.org [Thu, 4 Dec 2008 16:21:43 +0000 (16:21 +0000)]
2008-12-04  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Enable ENABLE_JIT_OPTIMIZE_CALL, ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS
        and ENABLE_JIT_OPTIMIZE_ARITHMETIC, as suggested by Niko.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38996 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-04 Friedemann Kleint <friedemann.kleint@nokia.com>
hausmann@webkit.org [Thu, 4 Dec 2008 14:41:26 +0000 (14:41 +0000)]
2008-12-04  Friedemann Kleint  <friedemann.kleint@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Fix small translation glitch in the Qt file chooser.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38995 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-04 Kent Hansen <khansen@trolltech.com>
hausmann@webkit.org [Thu, 4 Dec 2008 14:32:00 +0000 (14:32 +0000)]
2008-12-04  Kent Hansen  <khansen@trolltech.com>

        Reviewed by Simon Hausmann.

        Enable the JSC JIT for the Qt build by default for release builds on
        linux-g++ and win32-msvc.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38994 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-04 Tor Arne Vestbø <tavestbo@trolltech.com>
vestbo@webkit.org [Thu, 4 Dec 2008 13:01:19 +0000 (13:01 +0000)]
2008-12-04  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Rubber-stamped by Simon Hausmann.

        Blacklist Silverlight plugin on Qt/Mac until supported

        Currently the plugin crashes with a corrupted stack trace, possibly
        related to https://bugs.webkit.org/show_bug.cgi?id=20635

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38993 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-04 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Thu, 4 Dec 2008 11:10:21 +0000 (11:10 +0000)]
2008-12-04  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Allow JIT to function without property access repatching and arithmetic optimizations.
        Controlled by ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS and ENABLE_JIT_OPTIMIZE_ARITHMETIC switches.

        https://bugs.webkit.org/show_bug.cgi?id=22643

        * JavaScriptCore.xcodeproj/project.pbxproj:
        * jit/JIT.cpp:
        (JSC::JIT::privateCompileMainPass):
        (JSC::JIT::privateCompileSlowCases):
        * jit/JIT.h:
        * jit/JITArithmetic.cpp: Copied from jit/JIT.cpp.
        (JSC::JIT::compileBinaryArithOp):
        (JSC::JIT::compileBinaryArithOpSlowCase):
        * jit/JITPropertyAccess.cpp: Copied from jit/JIT.cpp.
        (JSC::JIT::compileGetByIdHotPath):
        (JSC::JIT::compileGetByIdSlowCase):
        (JSC::JIT::compilePutByIdHotPath):
        (JSC::JIT::compilePutByIdSlowCase):
        (JSC::resizePropertyStorage):
        (JSC::transitionWillNeedStorageRealloc):
        (JSC::JIT::privateCompilePutByIdTransition):
        (JSC::JIT::patchGetByIdSelf):
        (JSC::JIT::patchPutByIdReplace):
        (JSC::JIT::privateCompilePatchGetArrayLength):
        * wtf/Platform.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38992 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoQt build fix after r38975
vestbo@webkit.org [Thu, 4 Dec 2008 10:26:07 +0000 (10:26 +0000)]
Qt build fix after r38975

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38991 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-03 Dmitry Titov <dimich@chromium.org>
ap@webkit.org [Thu, 4 Dec 2008 08:41:24 +0000 (08:41 +0000)]
2008-12-03  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Fix non-Mac build.

        * page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38990 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoJavaScriptCore:
ggaren@apple.com [Thu, 4 Dec 2008 07:43:11 +0000 (07:43 +0000)]
JavaScriptCore:

2008-12-03  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Optimized sequences of characters in regular expressions by comparing
        two characters at a time.

        1-2% speedup on SunSpider, 19-25% speedup on regexp-dna.

        * assembler/MacroAssembler.h:
        (JSC::MacroAssembler::load32):
        (JSC::MacroAssembler::jge32): Filled out a few more macro methods.

        * assembler/X86Assembler.h:
        (JSC::X86Assembler::movl_mr): Added a verion of movl_mr that operates
        without an offset, to allow the macro assembler to optmize for that case.

        * wrec/WREC.cpp:
        (JSC::WREC::Generator::compileRegExp): Test the saved value of index
        instead of the index register when checking for "end of input." The
        index register doesn't increment by 1 in an orderly fashion, so testing
        it for == "end of input" is not valid.

        Also, jump all the way to "return failure" upon reaching "end of input,"
        instead of executing the next alternative. This is more logical, and
        it's a slight optimization in the case of an expression with many alternatives.

        * wrec/WRECGenerator.cpp:
        (JSC::WREC::Generator::generateIncrementIndex): Added support for
        jumping to a failure label in the case where the index has reached "end
        of input."

        (JSC::WREC::Generator::generatePatternCharacterSequence):
        (JSC::WREC::Generator::generatePatternCharacterPair): This is the
        optmization. It's basically like generatePatternCharacter, but it runs two
        characters at a time.

        (JSC::WREC::Generator::generatePatternCharacter): Changed to use isASCII,
        since it's clearer than comparing to a magic hex value.

        * wrec/WRECGenerator.h:

LayoutTests:

2008-12-03  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Added a test for another input length miscalculation.

        * fast/regex/alternative-length-miscalculation-expected.txt:
        * fast/regex/resources/alternative-length-miscalculation.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38989 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Darin Adler.
ap@webkit.org [Thu, 4 Dec 2008 07:27:27 +0000 (07:27 +0000)]
    Reviewed by Darin Adler.

        Add missing test files (utf-16,32 files) and two php files
        for bug 21635 and enabled utf-7 tests (bug 22492). The patch
        for bug 21635 was landed in http://trac.webkit.org/changeset/38755,
        but binary test files (utf-16/32) were omitted in the changeset.

        https://bugs.webkit.org/show_bug.cgi?id=21635
        https://bugs.webkit.org/show_bug.cgi?id=22492

        * http/tests/misc/resources/check-query-param.php: Added.
        * http/tests/misc/resources/echo-query-param.php: Added.
        * http/tests/misc/submit-get-in-utf16be.html: Added.
        * http/tests/misc/submit-get-in-utf16le.html: Added.
        * http/tests/misc/submit-get-in-utf32be.html: Added.
        * http/tests/misc/submit-get-in-utf32le.html: Added.
        * http/tests/misc/submit-get-in-utf7.html: Copied from http/tests/misc/submit-get-in-utf7.html-disabled.
        * http/tests/misc/submit-get-in-utf7.html-disabled: Removed.
        * http/tests/misc/submit-post-in-utf16be.html: Added.
        * http/tests/misc/submit-post-in-utf16le.html: Added.
        * http/tests/misc/submit-post-in-utf32be.html: Added.
        * http/tests/misc/submit-post-in-utf32le.html: Added.
        * http/tests/misc/submit-post-in-utf7.html: Copied from http/tests/misc/submit-post-in-utf7.html-disabled.
        * http/tests/misc/submit-post-in-utf7.html-disabled: Removed.
        * http/tests/misc/url-in-utf16be.html: Added.
        * http/tests/misc/url-in-utf16le.html: Added.
        * http/tests/misc/url-in-utf32be.html: Added.
        * http/tests/misc/url-in-utf32le.html: Added.
        * http/tests/misc/url-in-utf7.html: Copied from http/tests/misc/url-in-utf7.html-disabled.
        * http/tests/misc/url-in-utf7.html-disabled: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38988 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-03 David Levin <levin@chromium.org>
ap@webkit.org [Thu, 4 Dec 2008 07:21:58 +0000 (07:21 +0000)]
2008-12-03  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Remove uses of document() in XMLHttpRequest where simple.
        https://bugs.webkit.org/show_bug.cgi?id=22619

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseXML):
        Return NULL in the worker case which is according to spec (and avoids using document()).

        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
        (WebCore::XMLHttpRequest::initSend):
        Use scriptExecutionContext() instead of document().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38987 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Alexey Proskuryakov.
ap@webkit.org [Thu, 4 Dec 2008 07:20:45 +0000 (07:20 +0000)]
    Reviewed by Alexey Proskuryakov.

        Make ScriptExecutionContextTaskWorkerTask::performTask a pure virtual function.
        https://bugs.webkit.org/show_bug.cgi?id=22642

        * dom/Document.cpp:
        (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
        (WebCore::ScriptExecutionContextTaskTimer::fired):
        (WebCore::PerformTaskContext::PerformTaskContext):
        (WebCore::performTask):
        (WebCore::Document::postTask):
        * dom/Document.h:
        * dom/ScriptExecutionContext.cpp:
        * dom/ScriptExecutionContext.h:
        * dom/WorkerContext.cpp:
        (WebCore::ScriptExecutionContextTaskWorkerTask::create):
        (WebCore::ScriptExecutionContextTaskWorkerTask::ScriptExecutionContextTaskWorkerTask):
        (WebCore::ScriptExecutionContextTaskWorkerTask::performTask):
        (WebCore::WorkerContext::postTask):
        * dom/WorkerContext.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38986 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-12-03 Dmitry Titov <dimich@chromium.org>
ap@webkit.org [Thu, 4 Dec 2008 07:19:25 +0000 (07:19 +0000)]
2008-12-03  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Using ActiveDOMObject as base class for DOMTimer.
        https://bugs.webkit.org/show_bug.cgi?id=22620

        Using ActiveDOMObject simplifies the code because ActiveDOMObject
        is wired for stop/pause/resume on loading/unloading/caching the page etc
        so the timer-specific code that does the same can be removed.
        In addition, timers can be now paused/resumed 'in place' which
        makes it unnecessary to 'serialize' them into special PausedTimeouts
        instance, so pause/resumeTimeouts implementation in JSDOMWindowBase can also be removed.
        Also, moving TimeoutMap from JSDOMWindowBase to Document matches lifetime
        of timeouts and makes it possible to not roundtrip them via PausedTimeouts
        every time when JSDOMWindow wrapper is destroyed while the page is in the b/f cache.

        Timeouts are now paused with other ActiveDOMObjects:
        - before creating CachedPage in FrameLoader::commitProvisionalLoad()
        - in JavaScriptDebugServer::setJavaScriptPaused
        - during modal UI operations in Chrome::*
        this is equivalent to previous usage of JSDOMWindowBase::pauseTimeouts()

        Timeouts are stopped to prevent future firing from:
        - FrameLoader::clear()
        - FrameLoader::frameDetached()
        this is equivalent to previous usage of JSDOMWindowBase::clearAllTimeouts()

        This is also one of the steps to having timers in Workers. See the plan of
        the next steps in the bug above.

        * bindings/js/DOMTimer.cpp:
        (WebCore::DOMTimer::DOMTimer):
        (WebCore::DOMTimer::fired):
        (WebCore::DOMTimer::hasPendingActivity):
        (WebCore::DOMTimer::contextDestroyed):
        (WebCore::DOMTimer::stop):
        (WebCore::DOMTimer::suspend):
        (WebCore::DOMTimer::resume):
        (WebCore::DOMTimer::canSuspend): Implemented ActiveDOMObject methods.

        * bindings/js/DOMTimer.h:
        * bindings/js/JSDOMBinding.cpp: ActiveDOMObject can have no JS wrapper
        (WebCore::markActiveObjectsForContext):

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
        (WebCore::JSDOMWindowBase::clear):
        (WebCore::JSDOMWindowBase::installTimeout):
        (WebCore::JSDOMWindowBase::removeTimeout):
        (WebCore::JSDOMWindowBase::timerFired):
        (WebCore::JSDOMWindowBase::disconnectFrame):
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/ScriptController.cpp:
        * bindings/js/ScriptController.h:

        * dom/Document.cpp: Document now holds a hash map id->timeout
        (WebCore::Document::addTimeout):
        (WebCore::Document::removeTimeout):
        (WebCore::Document::findTimeout):
        * dom/Document.h:
        * history/CachedPage.cpp:
        (WebCore::CachedPage::CachedPage):
        (WebCore::CachedPage::restore):
        (WebCore::CachedPage::clear):
        * history/CachedPage.h:
        * inspector/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
        (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
        * inspector/JavaScriptDebugServer.h:

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::commitProvisionalLoad):
        removed clearAllTimeouts since all ActiveDOMObjects will be stopped in FrameLoader::clear();
        I don't see how the old comment can be correct - the code in the same method proceeds to invoke 'onunload'
        and then calls into client which can be external code and can cause any active object created in onunload
        to fire. We can stop them all before firing onunload but it does not make a lot of sense.
        I have a test to go with the next patch which verifies that timers set in onunload do not fire.

        (WebCore::FrameLoader::open):
        * page/Chrome.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38985 268f45cc-cd09-0410-ab3c-d52691b4dbfc