WebKit-https.git
13 years ago2008-12-18 Dimitri Glazkov <dglazkov@chromium.org>
darin@chromium.org [Thu, 18 Dec 2008 21:21:13 +0000 (21:21 +0000)]
2008-12-18  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Geoffrey Garen.

        https://bugs.webkit.org/show_bug.cgi?id=22859
        Abstract away the use of JSDOMWindow in CachedPage and introduce
        ScriptCachedPageData abstraction.

        * GNUmakefile.am: Added ScriptCachedPageData to project.
        * WebCore.pro: Added ScriptCachedPageData to project.
        * WebCore.vcproj/WebCore.vcproj: Added ScriptCachedPageData to project.
        * WebCore.xcodeproj/project.pbxproj: Added ScriptCachedPageData to
            project.
        * bindings/js/ScriptCachedPageData.cpp: Added.
        (WebCore::ScriptCachedPageData::ScriptCachedPageData):
        (WebCore::ScriptCachedPageData::~ScriptCachedPageData):
        (WebCore::ScriptCachedPageData::restore):
        (WebCore::ScriptCachedPageData::clear):
        * bindings/js/ScriptCachedPageData.h: Added.
        * history/CachedPage.cpp: Replaced JSDOMWindow and ProtectedPtr with
            ScriptCachedPageData.
        (WebCore::CachedPage::CachedPage):
        (WebCore::CachedPage::domWindow):
        (WebCore::CachedPage::restore):
        (WebCore::CachedPage::clear):
        * history/CachedPage.h: Replaced JSDOMWindow and ProtectedPtr with
            ScriptCachedPageData.

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

13 years ago Reviewed by Dave Hyatt.
cmarrin@apple.com [Thu, 18 Dec 2008 21:06:22 +0000 (21:06 +0000)]
    Reviewed by Dave Hyatt.

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

        To avoid future dependency issues, all the TransformOperations and Animation related files need to be moved to platform

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

13 years ago2008-12-18 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Thu, 18 Dec 2008 18:19:06 +0000 (18:19 +0000)]
2008-12-18  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Geoff Garen.

        Bug 21855: REGRESSION (r37323): Gmail complains about popup blocking when opening a link
        <https://bugs.webkit.org/show_bug.cgi?id=21855>
        <rdar://problem/6278244>

        If JavaScript is not currently executing, the handleEvent member function
        of JSAbstractEventListener should set the dynamic global object to the
        global object of the context in which the event occurred.

        If this is not set, then JavaScriptCore will simply take the global object
        of the context where the event handler function was created, which may be
        a different frame. This will cause the popup blocker to incorrectly block
        windows opened from onclick events inside of an iframe whose handler was
        created in the outer frame, as it will check the outer frame and see that
        it is not processing any events.

        JavaScriptCore:

        * interpreter/Interpreter.cpp:
        * runtime/JSGlobalObject.h:
        (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope):
        (JSC::DynamicGlobalObjectScope::~DynamicGlobalObjectScope):

        WebCore:

        * bindings/js/JSEventListener.cpp:
        (WebCore::JSAbstractEventListener::handleEvent):

        WebKitTools:

        * DumpRenderTree/mac/EventSendingController.h:
        * DumpRenderTree/mac/EventSendingController.mm:
        (+[EventSendingController isSelectorExcludedFromWebScript:]): Expose
        scheduleAsynchronousClick to JavaScript.
        (-[EventSendingController scheduleAsynchronousClick]): Add.

        LayoutTests:

        * fast/events/popup-blocking-click-in-iframe-expected.txt: Added.
        * fast/events/popup-blocking-click-in-iframe.html: Added.
        * fast/events/resources/popup-blocking-click-in-iframe-otherFrame.html: Added.
        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

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

13 years ago2008-12-18 Pamela Greene <pam@chromium.org>
pam@chromium.org [Thu, 18 Dec 2008 18:02:47 +0000 (18:02 +0000)]
2008-12-18  Pamela Greene  <pam@chromium.org>

        Submitted without review.
        Right, remove the whole misplaced directory, not just the tests.

        * fast: Removed.
        * fast/dom: Removed.

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

13 years agoRoot level:
pam@chromium.org [Thu, 18 Dec 2008 17:56:31 +0000 (17:56 +0000)]
Root level:

2008-12-18  Pamela Greene  <pam@chromium.org>

        Submitted without review.
        Moving layout test into LayoutTests where it belongs.

        * fast/dom/setter-type-enforcement-expected.txt: Removed.
        * fast/dom/setter-type-enforcement.html: Removed.

LayoutTests:

2008-12-18  Pamela Greene  <pam@chromium.org>

        Submitted without review.
        Moving layout test from root level into LayoutTests where it belongs.

        * fast/dom/setter-type-enforcement-expected.txt: Copied from fast/dom/setter-type-enforcement-expected.txt.
        * fast/dom/setter-type-enforcement.html: Copied from fast/dom/setter-type-enforcement.html.

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

13 years agoJavaScriptCore:
ggaren@apple.com [Thu, 18 Dec 2008 17:45:44 +0000 (17:45 +0000)]
JavaScriptCore:

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

        Reviewed by Gavin Barraclough.

        Fixed https://bugs.webkit.org/show_bug.cgi?id=22393
        Segfault when caching property accesses to primitive cells.

        Changed some asObject casts to asCell casts in cases where a primitive
        value may be a cell and not an object.

        Re-enabled property caching for primitives in cases where it had been
        disabled because of this bug.

        Updated a comment to better explain something Darin thought needed
        explaining in an old patch review.

        * interpreter/Interpreter.cpp:
        (JSC::countPrototypeChainEntriesAndCheckForProxies):
        (JSC::Interpreter::tryCacheGetByID):
        (JSC::Interpreter::tryCTICacheGetByID):
        (JSC::Interpreter::cti_op_get_by_id_self_fail):
        (JSC::Interpreter::cti_op_get_by_id_proto_list):

LayoutTests:

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

        Reviewed by Gavin Barraclough.

        Added a test for https://bugs.webkit.org/show_bug.cgi?id=22393
        Segfault when caching property accesses to primitive cells.

        * fast/js/primitive-property-access-edge-cases-expected.txt: Added.
        * fast/js/primitive-property-access-edge-cases.html: Added.
        * fast/js/resources/primitive-property-access-edge-cases.js: Added.
        ():

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

13 years ago2008-12-17 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Thu, 18 Dec 2008 17:42:27 +0000 (17:42 +0000)]
2008-12-17  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

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

        Add the ability to compute clip rects independently from
        caching them on the RenderLayer. When painting reflections, use
        such temporarily computed clipRects, otherwise the layer may cache
        clipRects which are invalid, since they have been computed with
        a rootLayer that is not the one usually used to paint.

        Test: fast/reflections/reflection-overflow-hidden.html

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

13 years ago2008-12-17 Laszlo Gombos <laszlo.1.gombos@nokia.com>
vestbo@webkit.org [Thu, 18 Dec 2008 14:37:51 +0000 (14:37 +0000)]
2008-12-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Simon Hausmann.

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

        Fix MinGW QtWebKit linking problems and also make the
        QtWebKit build system more robust.

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

13 years ago2008-12-17 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Thu, 18 Dec 2008 07:02:29 +0000 (07:02 +0000)]
2008-12-17  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Cameron Zwarich.

        Fixes for Sunspider failures with the JIT enabled on x86-64.

        * assembler/MacroAssembler.h:
            Switch the order of the RegisterID & Address form of je32, to keep it consistent with jne32.
        * jit/JIT.cpp:
        * jit/JIT.h:
        * jit/JITInlineMethods.h:
            Port the m_ctiVirtualCall tramopline generation to use the MacroAssembler interface.
        * jit/JITCall.cpp:
            Fix bug in the non-optimizing code path, vptr check should have been to the memory address pointer
            to by the register, not to the register itself.
        * wrec/WRECGenerator.cpp:
            See assembler/MacroAssembler.h, above.

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

13 years ago2008-12-17 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Thu, 18 Dec 2008 03:38:10 +0000 (03:38 +0000)]
2008-12-17  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig.

        print("Hello, 64-bit jitted world!");
        Get hello-world working through the JIT, on x86-64.

        * assembler/X86Assembler.h:
            Fix encoding of opcode + RegisterID format instructions for 64-bit.
        * interpreter/Interpreter.cpp:
        * interpreter/Interpreter.h:
            Make VoidPtrPair actually be a pair of void*s.
            (Possibly should make this change for 32-bit Mac platforms, too - but won't change 32-bit behaviour in this patch).
        * jit/JIT.cpp:
        * jit/JIT.h:
            Provide names for the timeoutCheckRegister & callFrameRegister on x86-64,
            force x86-64 ctiTrampoline arguments onto the stack,
            implement the asm trampolines for x86-64,
            implement the restoreArgumentReference methods for x86-64 calling conventions.
        * jit/JITCall.cpp:
        * jit/JITInlineMethods.h:
        * wtf/Platform.h:
            Add switch settings to ENABLE(JIT), on PLATFORM(X86_64) (currently still disabled).

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

13 years agoReviewed by Maciej Stachowiak.
zimmermann@webkit.org [Thu, 18 Dec 2008 01:56:52 +0000 (01:56 +0000)]
Reviewed by Maciej Stachowiak.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22866
wml.css is based on an older copy of html4.css. Synchronize them.
Remove all entries, that are irrelevant for WML.

Fix <do> appearance: should behave like HTMLs <button>.

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

13 years ago2008-12-17 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 18 Dec 2008 00:00:01 +0000 (00:00 +0000)]
2008-12-17  Sam Weinig  <sam@webkit.org>

        Reviewed by Gavin Barraclough.

        Add more CodeBlock statistics.

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

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

13 years ago2008-12-17 Yury Semikhatsky <yurys@google.com>
abarth@webkit.org [Wed, 17 Dec 2008 22:16:52 +0000 (22:16 +0000)]
2008-12-17  Yury Semikhatsky <yurys@google.com>

        Reviewed by Timothy Hatcher.
        Landed by Adam Barth.

        Added more checks that WebInspector.panels.{resources,scripts} are
        defined where they are accessed from other panels and WebInspector
        (some panels are not yet supported in Chrome).

        * inspector/front-end/Console.js:
        (WebInspector.Console.prototype.addMessage):
        (WebInspector.Console.prototype.clearMessages):
        (WebInspector.Console.prototype.completions):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.evaluateExpression):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.get searchableViews):
        (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource):
        (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._addBreakpoint):
        * inspector/front-end/inspector.js:
        (WebInspector.addResource):
        (WebInspector.removeResource):
        (WebInspector.showResourceForURL):

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

13 years ago2008-12-17 Sam Weinig <sam@webkit.org>
weinig@apple.com [Wed, 17 Dec 2008 21:25:40 +0000 (21:25 +0000)]
2008-12-17  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=22897
        <rdar://problem/6428342>
        Look into feasibility of discarding bytecode after native codegen

        Clear the bytecode Instruction vector at the end JIT generation.

        Saves 4.8 MB on Membuster head.

        * bytecode/CodeBlock.cpp:
        (JSC::CodeBlock::dump): Add logging for the case that someone tries
        to dump the instructions of a CodeBlock that has had its bytecode
        vector cleared.
        (JSC::CodeBlock::CodeBlock): Initialize the instructionCount
        (JSC::CodeBlock::handlerForBytecodeOffset): Use instructionCount instead
        of the size of the instruction vector in the assertion.
        (JSC::CodeBlock::lineNumberForBytecodeOffset): Ditto.
        (JSC::CodeBlock::expressionRangeForBytecodeOffset): Ditto.
        (JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset): Ditto.
        (JSC::CodeBlock::functionRegisterForBytecodeOffset): Ditto.
        * bytecode/CodeBlock.h:
        (JSC::CodeBlock::setInstructionCount): Store the instruction vector size
        in debug builds for assertions.
        * bytecompiler/BytecodeGenerator.cpp:
        (JSC::BytecodeGenerator::generate):
        * jit/JIT.cpp:
        (JSC::JIT::privateCompile): Clear the bytecode vector unless we
        have compiled with Opcode sampling where we will continue to require it

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

13 years ago2008-12-17 Feng Qian <feng@chromium.org>
abarth@webkit.org [Wed, 17 Dec 2008 21:12:57 +0000 (21:12 +0000)]
2008-12-17  Feng Qian <feng@chromium.org>

        Reviewed by Alexey Proskuryakov.
        Landed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=21948
        Change two tests to use the host url in XMLHttpRequest so that
        it does not fail because of Chrome's file URL security policy.
        It does not affect the expected behaviors of tests.
        * fast/dom/null-document-xmlhttprequest-open.html:
        * fast/dom/xmlhttprequest-invalid-values.html:

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

13 years ago2008-12-17 Pamela Greene <pam@chromium.org>
abarth@webkit.org [Wed, 17 Dec 2008 21:12:27 +0000 (21:12 +0000)]
2008-12-17  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.
        Landed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=22577
        Add a test to ensure that checkboxes and radio buttons with duplicate
        names map to a collection.

        * fast/dom/HTMLInputElement/duplicate-element-names-expected.txt: Added.
        * fast/dom/HTMLInputElement/duplicate-element-names.html: Added.

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

13 years ago2008-12-17 Pamela Greene <pam@chromium.org>
abarth@webkit.org [Wed, 17 Dec 2008 21:11:57 +0000 (21:11 +0000)]
2008-12-17  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.
        Landed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=22612
        Add test to verify type enforcement in DOM setters.

        * fast/dom/setter-type-enforcement-expected.txt: Added.
        * fast/dom/setter-type-enforcement.html: Added.

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

13 years agoWebCore:
abarth@webkit.org [Wed, 17 Dec 2008 21:11:31 +0000 (21:11 +0000)]
WebCore:

2008-12-17  Cary Clark  < caryclark@google.com>

        Reviewed by Darin Adler.
        Landed by Adam Barth.

        Add ENABLE_TEXT_CARET to permit the ANDROID platform
        to invalidate and draw the caret in a separate thread.

        * page/Frame.cpp:
        (WebCore::Frame::clearCaretRectIfNeeded): Body of
        function does nothing if text caret is disabled.
        (WebCore::Frame::selectionLayoutChanged): Do nothing
        if text caret is disabled and the caret only blinked.
        (WebCore::Frame::caretBlinkTimerFired):
        (WebCore::Frame::paintCaret):
        (WebCore::Frame::paintDragCaret): Body of
        functions does nothing if text caret is disabled.

JavaScriptCore:

2008-12-17  Cary Clark  <caryclark@google.com>

        Reviewed by Darin Adler.
        Landed by Adam Barth.

        Add ENABLE_TEXT_CARET to permit the ANDROID platform
        to invalidate and draw the caret in a separate thread.

        * wtf/Platform.h:
        Default ENABLE_TEXT_CARET to 1.

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

13 years agoRubber-stamped by Timothy Hatcher.
zimmermann@webkit.org [Wed, 17 Dec 2008 19:01:41 +0000 (19:01 +0000)]
Rubber-stamped by Timothy Hatcher.

Fix wml/ tests, by doing s/</\&lt;/ and s/>/\&gt;/.
Not sure why this problem wasn't visible before, something has changed.

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

13 years ago Reviewed by Darin Adler.
ap@webkit.org [Wed, 17 Dec 2008 18:10:51 +0000 (18:10 +0000)]
    Reviewed by Darin Adler.

        Don't use unique context group in JSGlobalContextCreate() on Tiger or Leopard, take two.

        * API/JSContextRef.cpp: The previous patch that claimed to do this was making Tiger and
        Leopard always use unique context group instead.

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

13 years ago2008-12-16 Simon Hausmann <hausmann@webkit.org>
hausmann@webkit.org [Wed, 17 Dec 2008 13:41:36 +0000 (13:41 +0000)]
2008-12-16  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Holger Freyther.

        Added support for unload event counting to the Qt DRT.

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

13 years ago2008-12-16 Simon Hausmann <hausmann@webkit.org>
hausmann@webkit.org [Wed, 17 Dec 2008 13:41:19 +0000 (13:41 +0000)]
2008-12-16  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Holger Freyther.

        Added mac API specific loader test to the skip list for the Qt DRT.

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

13 years ago2008-12-16 Antti Koivisto <antti@apple.com>
antti@apple.com [Wed, 17 Dec 2008 12:15:31 +0000 (12:15 +0000)]
2008-12-16  Antti Koivisto  <antti@apple.com>

        Reviewed by John Sullivan.

        Add version check for shift-reload behavior.

        * Misc/WebKitVersionChecks.h:
        * WebView/WebFrame.mm:
        (-[WebFrame reload]):

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

13 years agoVersioning.
mrowe@apple.com [Wed, 17 Dec 2008 07:36:55 +0000 (07:36 +0000)]
Versioning.

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

13 years ago2008-12-16 Sam Weinig <sam@webkit.org>
weinig@apple.com [Wed, 17 Dec 2008 06:30:17 +0000 (06:30 +0000)]
2008-12-16  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoffrey Garen.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=22838
        Remove dependency on the bytecode Instruction buffer in Interpreter::throwException
        Part of <rdar://problem/6428342>

        * bytecode/CodeBlock.cpp:
        (JSC::CodeBlock::functionRegisterForBytecodeOffset): Added. Function to get
        a function Register index in a callFrame for a bytecode offset.
        (JSC::CodeBlock::shrinkToFit): Shrink m_getByIdExceptionInfo and m_functionRegisterInfos.
        * bytecode/CodeBlock.h:
        (JSC::FunctionRegisterInfo::FunctionRegisterInfo): Added.
        (JSC::CodeBlock::addFunctionRegisterInfo):
        * bytecompiler/BytecodeGenerator.cpp:
        (JSC::BytecodeGenerator::emitCall):
        * interpreter/Interpreter.cpp:
        (JSC::Interpreter::throwException): Use functionRegisterForBytecodeOffset in JIT
        mode.

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

13 years ago Windows build fix.
sfalken@apple.com [Wed, 17 Dec 2008 06:25:42 +0000 (06:25 +0000)]
    Windows build fix.

        Reviewed by Stephanie Lewis.

        * COMPropertyBag.h:
        (::createInstance):
        (::adopt):
        (::QueryInterface):
        (::AddRef):
        (::Release):
        (::Read):
        (::Write):
        (::CountProperties):
        (::GetPropertyInfo):
        (::LoadObject):
        * WebURLResponse.cpp:
        (WebURLResponse::allHeaderFields):

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

13 years ago2008-12-16 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Wed, 17 Dec 2008 02:35:44 +0000 (02:35 +0000)]
2008-12-16  Stephanie Lewis  <slewis@apple.com>

        Another Windows Build Fix.

        * WebURLResponse.cpp:
        (WebURLResponse::allHeaderFields):

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

13 years ago2008-12-16 Sam Weinig <sam@webkit.org>
weinig@apple.com [Wed, 17 Dec 2008 02:34:59 +0000 (02:34 +0000)]
2008-12-16  Sam Weinig  <sam@webkit.org>

        Reviewed by Gavin Barraclough.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=22837
        Remove dependency on the bytecode Instruction buffer in Interpreter::cti_op_call_NotJSFunction
        Part of <rdar://problem/6428342>

        * interpreter/CallFrame.h: Added comment regarding returnPC storing a void*.
        * interpreter/Interpreter.cpp:
        (JSC::bytecodeOffsetForPC): We no longer have any cases of the PC
        being in the instruction stream for JIT, so we can remove the check.
        (JSC::Interpreter::cti_op_call_NotJSFunction): Use the CTI_RETURN_ADDRESS
        as the call frame returnPC as it is only necessary for looking up when
        throwing an exception.
        * interpreter/RegisterFile.h:
        (JSC::RegisterFile::): Added comment regarding returnPC storing a void*.
        * jit/JIT.h: Remove ARG_instr4.
        * jit/JITCall.cpp:
        (JSC::JIT::compileOpCallSetupArgs): Don't pass the instruction pointer.

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

13 years ago2008-12-16 Darin Adler <darin@apple.com>
cwzwarich@webkit.org [Wed, 17 Dec 2008 02:23:02 +0000 (02:23 +0000)]
2008-12-16  Darin Adler  <darin@apple.com>

        Reviewed and landed by Cameron Zwarich.

        Preparatory work for fixing

        Bug 22887: Make UString::Rep use RefCounted rather than implementing its own ref counting
        <https://bugs.webkit.org/show_bug.cgi?id=22887>

        Change the various string translators used by Identifier:add() so that
        they never zero the ref count of a newly created UString::Rep. Also,
        change similar code for AtomicString to use the same idiomatic style.

        JavaScriptCore:

        * runtime/Identifier.cpp:
        (JSC::CStringTranslator::translate):
        (JSC::Identifier::add):
        (JSC::UCharBufferTranslator::translate):

        WebCore:

        * platform/text/AtomicString.cpp:
        (WebCore::AtomicString::add):

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

13 years ago2008-12-16 Adele Peterson <adele@apple.com>
adele@apple.com [Wed, 17 Dec 2008 01:54:55 +0000 (01:54 +0000)]
2008-12-16  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=22827
        <rdar://problem/6247724> RenderThemeWin buttons have weird heavy text

        * rendering/RenderThemeWin.cpp:
        (WebCore::fillFontDescription): Add version that takes a font size.
        (WebCore::RenderThemeWin::systemFont): Use the default GUI font for control fonts, but specify the size.
        This will match Firefox.

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

13 years ago2008-12-16 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Wed, 17 Dec 2008 01:27:13 +0000 (01:27 +0000)]
2008-12-16  Gavin Barraclough  <barraclough@apple.com>

        Build fix for 'doze.

        * assembler/AssemblerBuffer.h:

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

13 years ago2008-12-16 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Wed, 17 Dec 2008 01:11:00 +0000 (01:11 +0000)]
2008-12-16  Stephanie Lewis  <slewis@apple.com>

        Another build fix.

        * platform/text/AtomicString.h:
        (WebCore::AtomicString::AtomicString):

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

13 years ago2008-12-16 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Wed, 17 Dec 2008 01:10:15 +0000 (01:10 +0000)]
2008-12-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Start sending keyboard events to the plug-in host.

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::keyEvent):
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView keyDown:]):
        (-[WebHostedNetscapePluginView keyUp:]):
        * Plugins/Hosted/WebKitPluginHost.defs:

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

13 years ago2008-12-16 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Wed, 17 Dec 2008 00:57:35 +0000 (00:57 +0000)]
2008-12-16  Stephanie Lewis  <slewis@apple.com>

        Windows Build Fix.

        * platform/text/AtomicString.h:
        (WebCore::AtomicString::AtomicString):
        (WebCore::AtomicString::createCFString):

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

13 years ago2008-12-16 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Wed, 17 Dec 2008 00:11:52 +0000 (00:11 +0000)]
2008-12-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by Kevin Decker.

        <rdar://problem/6450538>

        Fix flag enumeration.

        * Plugins/Hosted/WebKitPluginHostTypes.h:

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

13 years ago2008-12-16 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Wed, 17 Dec 2008 00:03:56 +0000 (00:03 +0000)]
2008-12-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by Kevin Decker.

        Instead of passing a gazillion booleans to WKPCLoadURL, pass a single set of flags.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCLoadURL):
        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::loadURL):
        * Plugins/Hosted/WebKitPluginClient.defs:
        * Plugins/Hosted/WebKitPluginHostTypes.h:

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

13 years ago2008-12-16 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Wed, 17 Dec 2008 00:03:34 +0000 (00:03 +0000)]
2008-12-16  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Cameron Zwarich.

        Make the JIT compile on x86-64.
        This largely involves populting the missing calls in MacroAssembler.h.
        In addition some reinterpret_casts need removing from the JIT, and the
        repatching property access code will need to be fully compiled out for
        now.  The changes in interpret.cpp are to reorder the functions so that
        the _generic forms come before all other property access methods, and
        then to place all property access methods other than the generic forms
        under control of the ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS macro.

        No performance impact.

        * assembler/AssemblerBuffer.h:
        (JSC::AssemblerBuffer::putInt64Unchecked):
        * assembler/MacroAssembler.h:
        (JSC::MacroAssembler::loadPtr):
        (JSC::MacroAssembler::load32):
        (JSC::MacroAssembler::storePtr):
        (JSC::MacroAssembler::storePtrWithRepatch):
        (JSC::MacroAssembler::store32):
        (JSC::MacroAssembler::poke):
        (JSC::MacroAssembler::move):
        (JSC::MacroAssembler::testImm64):
        (JSC::MacroAssembler::jePtr):
        (JSC::MacroAssembler::jnePtr):
        (JSC::MacroAssembler::jnzPtr):
        (JSC::MacroAssembler::jzPtr):
        * assembler/X86Assembler.h:
        (JSC::X86Assembler::):
        (JSC::X86Assembler::cmpq_rr):
        (JSC::X86Assembler::cmpq_rm):
        (JSC::X86Assembler::cmpq_im):
        (JSC::X86Assembler::testq_i32m):
        (JSC::X86Assembler::movl_mEAX):
        (JSC::X86Assembler::movl_i32r):
        (JSC::X86Assembler::movl_EAXm):
        (JSC::X86Assembler::movq_rm):
        (JSC::X86Assembler::movq_mEAX):
        (JSC::X86Assembler::movq_mr):
        (JSC::X86Assembler::movq_i64r):
        (JSC::X86Assembler::movl_mr):
        (JSC::X86Assembler::X86InstructionFormatter::oneByteOp64):
        (JSC::X86Assembler::X86InstructionFormatter::immediate64):
        * interpreter/Interpreter.cpp:
        (JSC::Interpreter::cti_op_put_by_id_generic):
        (JSC::Interpreter::cti_op_get_by_id_generic):
        (JSC::Interpreter::cti_op_put_by_id):
        (JSC::Interpreter::cti_op_put_by_id_second):
        * jit/JIT.cpp:
        (JSC::JIT::privateCompileMainPass):
        (JSC::JIT::privateCompile):
        (JSC::JIT::privateCompileCTIMachineTrampolines):
        * jit/JITCall.cpp:
        (JSC::JIT::compileOpCallSetupArgs):
        (JSC::JIT::compileOpCall):
        * jit/JITPropertyAccess.cpp:
        (JSC::JIT::compileGetByIdHotPath):
        (JSC::JIT::compilePutByIdHotPath):
        * runtime/JSImmediate.h:
        (JSC::JSImmediate::makeInt):

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

13 years ago2008-12-16 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Tue, 16 Dec 2008 22:36:27 +0000 (22:36 +0000)]
2008-12-16  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Darin Adler.

        Bug 22869: REGRESSION (r38407): http://news.cnet.com/8301-13579_3-9953533-37.html crashes
        <https://bugs.webkit.org/show_bug.cgi?id=22869>
        <rdar://problem/6402499>

        Before r38407, Structure::m_nameInPrevious was ref'd due to it being
        stored in a PropertyMap. However, PropertyMaps are created lazily after
        r38407, so Structure::m_nameInPrevious is not necessarily ref'd while
        it is being used. Making it a RefPtr instead of a raw pointer fixes
        the problem.

        Unfortunately, the crash in the bug is rather intermittent, and it is
        impossible to add an assertion in UString::Ref::ref() to catch this bug
        because some users of UString::Rep deliberately zero out the reference
        count. Therefore, there is no layout test accompanying this bug fix.

        * runtime/Structure.cpp:
        (JSC::Structure::~Structure): Use get().
        (JSC::Structure::materializePropertyMap): Use get().
        (JSC::Structure::addPropertyTransitionToExistingStructure): Use get().
        (JSC::Structure::addPropertyTransition): Use get().
        * runtime/Structure.h: Make Structure::m_nameInPrevious a RefPtr instead
        of a raw pointer.

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

13 years ago2008-12-16 Peter Kasting <pkasting@google.com>
pkasting@chromium.org [Tue, 16 Dec 2008 21:44:14 +0000 (21:44 +0000)]
2008-12-16  Peter Kasting  <pkasting@google.com>

        Reviewed by David Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=22885
        Fix memory corruption in GIFImageDecoder.cpp with certain GIFs.

        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::frameComplete):

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

13 years agoNot reviewed. Attempt to fix win build. No 'using namespace WTF' in this file, needs...
zimmermann@webkit.org [Tue, 16 Dec 2008 21:33:00 +0000 (21:33 +0000)]
Not reviewed. Attempt to fix win build. No 'using namespace WTF' in this file, needs manual WTF:: prefix.
Not sure why the build works as is here.

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

13 years ago2008-12-16 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Tue, 16 Dec 2008 21:20:38 +0000 (21:20 +0000)]
2008-12-16  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Geoff Garen.

        Change HTTPHeaderMap to use an AtomicString as its key.
        Shaves ~1MB off of the Mozilla Memory Test
        No functionality difference

        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorController.cpp:
        (WebCore::addHeaders):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::parseHeader):
        * platform/network/HTTPHeaderMap.h:
        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::httpHeaderField):
        (WebCore::ResourceRequestBase::setHTTPHeaderField):
        (WebCore::ResourceRequestBase::addHTTPHeaderField):
        * platform/network/ResourceRequestBase.h:
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::httpHeaderField):
        (WebCore::ResourceResponseBase::setHTTPHeaderField):
        * platform/network/ResourceResponseBase.h:
        * platform/text/StringHash.h:
        (WebCore::CaseFoldingHash::hash):
        (WebCore::CaseFoldingHash::equal):
        * xml/XMLHttpRequest.cpp:
        (WebCore::isSetCookieHeader):
        (WebCore::XMLHttpRequest::setRequestHeader):
        (WebCore::XMLHttpRequest::setRequestHeaderInternal):
        (WebCore::XMLHttpRequest::getRequestHeader):
        (WebCore::XMLHttpRequest::getResponseHeader):
        * xml/XMLHttpRequest.h:

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

13 years agoReviewed by Darin Adler.
zimmermann@webkit.org [Tue, 16 Dec 2008 21:15:22 +0000 (21:15 +0000)]
Reviewed by Darin Adler.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22876
Unify random number generation in JavaScriptCore & WebCore, by introducing
wtf/RandomNumber.h and moving wtf_random/wtf_random_init out of MathExtras.h.

wtf_random_init() has been renamed to initializeRandomNumberGenerator() and
lives in it's own private header: wtf/RandomNumberSeed.h, only intended to
be used from within JavaScriptCore.

wtf_random() has been renamed to randomNumber() and lives in a public header
wtf/RandomNumber.h, usable from within JavaScriptCore & WebCore. It encapsulates
the code taking care of initializing the random number generator (only when
building without ENABLE(JSC_MULTIPLE_THREADS), otherwhise initializeThreading()
already took care of that).

Functional change on darwin: Use random() instead of rand(), as it got a larger
period (more randomness). HTMLFormElement already contains this implementation
and I just moved it in randomNumber(), as  special case for PLATFORM(DARWIN).

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

13 years ago2008-12-16 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Tue, 16 Dec 2008 19:49:05 +0000 (19:49 +0000)]
2008-12-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by Kevin Decker.

        Add trailing null to headers to avoid a crash in the plug-in host.

        * Plugins/Hosted/HostedNetscapePluginStream.mm:
        (WebKit::HostedNetscapePluginStream::didReceiveResponse):

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

13 years ago2008-12-16 Yael Aharon <yael.aharon@nokia.com>
vestbo@webkit.org [Tue, 16 Dec 2008 16:02:46 +0000 (16:02 +0000)]
2008-12-16 Yael Aharon <yael.aharon@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Qt/Win build fix

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

13 years ago[CURL] memory leak of ResouceHandles
zecke@webkit.org [Tue, 16 Dec 2008 15:28:50 +0000 (15:28 +0000)]
[CURL] memory leak of ResouceHandles

http://bugs.webkit.org/show_bug.cgi?id=20777

Fix ResourceHandle ref management to be consistent and correct.
Original patch from Marco Barisione.

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

13 years ago2008-12-16 Simon Hausmann <simon.hausmann@nokia.com>
hausmann@webkit.org [Tue, 16 Dec 2008 09:44:08 +0000 (09:44 +0000)]
2008-12-16  Simon Hausmann  <simon.hausmann@nokia.com>

        Fix the Qt build.

        * platform/graphics/qt/ImageSourceQt.cpp:
        (WebCore::ImageSource::clear): Adjust to new signature.

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

13 years agoFix the build with GCC 4.0.
mrowe@apple.com [Tue, 16 Dec 2008 07:38:32 +0000 (07:38 +0000)]
Fix the build with GCC 4.0.

Reviewed by Cameron Zwarich.

* Configurations/JavaScriptCore.xcconfig:  GCC 4.0 appears to have a bug when compiling with -funwind-tables on,
so don't use it with that compiler version.

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

13 years ago<rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on...
mrowe@apple.com [Tue, 16 Dec 2008 07:38:27 +0000 (07:38 +0000)]
<rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.

Rubber-stamped by Cameron Zwarich.

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

13 years ago Reviewed by Darin Adler.
ap@webkit.org [Tue, 16 Dec 2008 07:08:31 +0000 (07:08 +0000)]
    Reviewed by Darin Adler.

        Don't use unique context group in JSGlobalContextCreate() on Tiger or Leopard.

        * API/JSContextRef.cpp: (JSGlobalContextCreate):

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

13 years ago Reviewed by Darin Adler.
ap@webkit.org [Tue, 16 Dec 2008 07:05:34 +0000 (07:05 +0000)]
    Reviewed by Darin Adler.

        <rdar://problem/6445089> Mach ports leak from worker threads

        * interpreter/Interpreter.cpp: (JSC::getCPUTime):
        Deallocate the thread self port.

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

13 years ago2008-12-15 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Tue, 16 Dec 2008 06:39:21 +0000 (06:39 +0000)]
2008-12-15  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Mark Rowe.

        Construct stack frames in JIT code, so that backtracing can still work.
        <rdar://problem/6447870> JIT should play nice with attempts to take stack traces

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

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

13 years ago<rdar://problem/6402262> JavaScriptCore needs exception handling tables in order...
mrowe@apple.com [Tue, 16 Dec 2008 06:27:13 +0000 (06:27 +0000)]
<rdar://problem/6402262> JavaScriptCore needs exception handling tables in order to get stack traces without frame pointers

Reviewed by Gavin Barraclough.

* Configurations/JavaScriptCore.xcconfig:

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

13 years ago2008-12-15 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Tue, 16 Dec 2008 05:58:37 +0000 (05:58 +0000)]
2008-12-15  Stephanie Lewis  <slewis@apple.com>

        Fix build.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:

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

13 years ago2008-12-15 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Tue, 16 Dec 2008 04:48:16 +0000 (04:48 +0000)]
2008-12-15  Gavin Barraclough  <barraclough@apple.com>

        Rubber stamped by Mark Rowe.

        Revert r39226 / Bug 22818: Unify JIT callback argument access OS X / Windows
        This causes Acid3 failures – reverting for now & will revisit later.
        https://bugs.webkit.org/show_bug.cgi?id=22873

        * interpreter/Interpreter.h:
        * jit/JIT.cpp:
        (JSC::JIT::privateCompileCTIMachineTrampolines):
        * jit/JIT.h:
        * jit/JITInlineMethods.h:
        (JSC::JIT::restoreArgumentReference):
        (JSC::JIT::restoreArgumentReferenceForTrampoline):
        (JSC::JIT::emitCTICall_internal):
        * jit/JITPropertyAccess.cpp:
        (JSC::JIT::privateCompilePutByIdTransition):
        * wtf/Platform.h:

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

13 years ago2008-12-15 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Tue, 16 Dec 2008 01:08:06 +0000 (01:08 +0000)]
2008-12-15  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Change InstantiatePlugin to be asynchronous so we won't deadlock if the plug-in tries to call
        back into us while it's being instantiated.

        * Plugins/Hosted/NetscapePluginHostManager.mm:
        (WebKit::NetscapePluginHostManager::instantiatePlugin):
        * Plugins/Hosted/NetscapePluginHostProxy.h:
        (WebKit::NetscapePluginHostProxy::clientPort):
        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCInstantiatePluginReply):
        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        (WebKit::NetscapePluginInstanceProxy::Reply::):
        (WebKit::NetscapePluginInstanceProxy::Reply::Reply):
        (WebKit::NetscapePluginInstanceProxy::Reply::~Reply):
        (WebKit::NetscapePluginInstanceProxy::InstantiatePluginReply::InstantiatePluginReply):
        (WebKit::NetscapePluginInstanceProxy::setCurrentReply):
        (WebKit::NetscapePluginInstanceProxy::waitForReply):
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
        (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
        * Plugins/Hosted/WebKitPluginClient.defs:
        * Plugins/Hosted/WebKitPluginHost.defs:

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

13 years ago2008-12-15 Adele Peterson <adele@apple.com>
adele@apple.com [Tue, 16 Dec 2008 00:52:23 +0000 (00:52 +0000)]
2008-12-15  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=22871
        <rdar://problem/6417316> RenderThemeWin buttons are too short/thin

        * rendering/RenderButton.cpp: (WebCore::RenderButton::setupInnerStyle):
        Check if the button's style (not the new inner style) has appearance set to determine whether we should set padding on the inner style.

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

13 years agoOops, forgot to include ChangeLog in last commit.
zimmermann@webkit.org [Tue, 16 Dec 2008 00:30:26 +0000 (00:30 +0000)]
Oops, forgot to include ChangeLog in last commit.

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

13 years agoReviewed by Oliver Hunt.
zimmermann@webkit.org [Tue, 16 Dec 2008 00:26:24 +0000 (00:26 +0000)]
Reviewed by Oliver Hunt.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22865
Add complete WML <table> / <tr> / <td> element support.
Proper handling of all table related attributes, including tests.

Tests: fast/wml/table-element-align-attribute-invalid.wml (variable reference in 'align' attribute, raises error)
       fast/wml/table-element-columns-attribute-invalid-number.wml (columns='0', raises error)
       fast/wml/table-element-columns-attribute-invalid.wml (non-numeric 'columns' attribute value, raises error)
       fast/wml/table-element-columns-attribute-missing.wml (missing 'columns')
       fast/wml/table-element-columns-attribute.wml (test 'columns' attribute and <td> count mismatches)

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

13 years agoJavaScriptCore:
darin@apple.com [Tue, 16 Dec 2008 00:22:14 +0000 (00:22 +0000)]
JavaScriptCore:

2008-12-15  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - fix <rdar://problem/6427048> crash due to infinite recursion after setting window.__proto__ = window

        Replaced toGlobalObject with the more generally useful unwrappedObject and used it to
        fix the cycle detection code in put(__proto__).

        * JavaScriptCore.exp: Updated.

        * runtime/JSGlobalObject.cpp: Removed toGlobalObject. We now use unwrappedObject instead.
        * runtime/JSGlobalObject.h:
        (JSC::JSGlobalObject::isGlobalObject): Ditto.

        * runtime/JSGlobalObjectFunctions.cpp:
        (JSC::globalFuncEval): Use unwrappedObject and isGlobalObject here rather than toGlobalObject.

        * runtime/JSObject.cpp:
        (JSC::JSObject::put): Rewrote prototype cycle checking loop. Use unwrappedObject in the loop now.
        (JSC::JSObject::unwrappedObject): Replaced toGlobalObject with this new function.
        * runtime/JSObject.h: More of the same.

WebCore:

2008-12-15  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - fix <rdar://problem/6427048> crash due to infinite recursion after setting window.__proto__ = window

        Test: fast/dom/Window/window-custom-prototype.html

        Replaced toGlobalObject with the more generally useful unwrappedObject.

        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::unwrappedObject): Added.
        * bindings/js/JSDOMWindowShell.h: Declared unwrappedObject.
        * bindings/js/JSQuarantinedObjectWrapper.h:
        (WebCore::JSQuarantinedObjectWrapper::unwrappedObject): Ditto.

LayoutTests:

2008-12-15  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - test for <rdar://problem/6427048> crash due to infinite recursion after setting window.__proto__ = window

        * fast/canvas/canvas-gradient-without-path.html: Let make-js-test-wrappers update this one.

        * fast/dom/Window/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
        * fast/dom/Window/resources/window-custom-prototype.js: Added.
        * fast/dom/Window/window-custom-prototype-expected.txt: Added.
        * fast/dom/Window/window-custom-prototype.html: Added.

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

13 years ago2008-12-15 Steve Falkenburg <sfalken@apple.com>
sfalken@apple.com [Tue, 16 Dec 2008 00:19:24 +0000 (00:19 +0000)]
2008-12-15  Steve Falkenburg  <sfalken@apple.com>

        Windows build fix.

        Visual Studio requires visibility of forward declarations to match class declaration.

        * assembler/X86Assembler.h:

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

13 years agoJavaScriptCore:
zecke@webkit.org [Tue, 16 Dec 2008 00:09:38 +0000 (00:09 +0000)]
JavaScriptCore:
2008-12-15  Gustavo Noronha Silva  <kov@kov.eti.br>

        Reviewed by Mark Rowe.

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

        GTK+ build fix.

        * GNUmakefile.am:

WebCore:
2008-12-15  Gustavo Noronha Silva  <kov@kov.eti.br>

        Reviewed by Mark Rowe.

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

        GTK+ build fix.

        * GNUmakefile.am:

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

13 years ago2008-12-15 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 15 Dec 2008 23:38:43 +0000 (23:38 +0000)]
2008-12-15  Darin Adler  <darin@apple.com>

        * Scripts/make-js-test-wrappers: Added another exception to avoid overwriting
        a custom-written test.

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

13 years ago2008-12-15 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Mon, 15 Dec 2008 23:38:19 +0000 (23:38 +0000)]
2008-12-15  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

        Add support to X86Assembler emitting instructions that access all 16 registers on x86-64.
        Add a new formating class, that is reponsible for both emitting the opcode bytes and the
        ModRm  bytes of an instruction in a single call; this can insert the REX byte as necessary
        before the opcode, but has access to the register numbers to build the REX.

        * assembler/AssemblerBuffer.h:
        (JSC::AssemblerBuffer::isAligned):
        (JSC::AssemblerBuffer::data):
        * assembler/MacroAssembler.h:
        (JSC::MacroAssembler::addPtr):
        (JSC::MacroAssembler::add32):
        (JSC::MacroAssembler::and32):
        (JSC::MacroAssembler::or32):
        (JSC::MacroAssembler::sub32):
        (JSC::MacroAssembler::xor32):
        (JSC::MacroAssembler::loadPtr):
        (JSC::MacroAssembler::load32):
        (JSC::MacroAssembler::load16):
        (JSC::MacroAssembler::storePtr):
        (JSC::MacroAssembler::storePtrWithRepatch):
        (JSC::MacroAssembler::store32):
        (JSC::MacroAssembler::pop):
        (JSC::MacroAssembler::push):
        (JSC::MacroAssembler::compareImm32ForBranch):
        (JSC::MacroAssembler::compareImm32ForBranchEquality):
        (JSC::MacroAssembler::testImm32):
        (JSC::MacroAssembler::jae32):
        (JSC::MacroAssembler::jb32):
        (JSC::MacroAssembler::je16):
        (JSC::MacroAssembler::jg32):
        (JSC::MacroAssembler::jnePtr):
        (JSC::MacroAssembler::jne32):
        (JSC::MacroAssembler::jump):
        * assembler/X86Assembler.h:
        (JSC::X86::):
        (JSC::X86Assembler::):
        (JSC::X86Assembler::size):
        (JSC::X86Assembler::push_r):
        (JSC::X86Assembler::pop_r):
        (JSC::X86Assembler::push_i32):
        (JSC::X86Assembler::push_m):
        (JSC::X86Assembler::pop_m):
        (JSC::X86Assembler::addl_rr):
        (JSC::X86Assembler::addl_mr):
        (JSC::X86Assembler::addl_ir):
        (JSC::X86Assembler::addq_ir):
        (JSC::X86Assembler::addl_im):
        (JSC::X86Assembler::andl_rr):
        (JSC::X86Assembler::andl_ir):
        (JSC::X86Assembler::orl_rr):
        (JSC::X86Assembler::orl_mr):
        (JSC::X86Assembler::orl_ir):
        (JSC::X86Assembler::subl_rr):
        (JSC::X86Assembler::subl_mr):
        (JSC::X86Assembler::subl_ir):
        (JSC::X86Assembler::subl_im):
        (JSC::X86Assembler::xorl_rr):
        (JSC::X86Assembler::xorl_ir):
        (JSC::X86Assembler::sarl_i8r):
        (JSC::X86Assembler::sarl_CLr):
        (JSC::X86Assembler::shll_i8r):
        (JSC::X86Assembler::shll_CLr):
        (JSC::X86Assembler::imull_rr):
        (JSC::X86Assembler::imull_i32r):
        (JSC::X86Assembler::idivl_r):
        (JSC::X86Assembler::cmpl_rr):
        (JSC::X86Assembler::cmpl_rm):
        (JSC::X86Assembler::cmpl_mr):
        (JSC::X86Assembler::cmpl_ir):
        (JSC::X86Assembler::cmpl_ir_force32):
        (JSC::X86Assembler::cmpl_im):
        (JSC::X86Assembler::cmpl_im_force32):
        (JSC::X86Assembler::cmpw_rm):
        (JSC::X86Assembler::testl_rr):
        (JSC::X86Assembler::testl_i32r):
        (JSC::X86Assembler::testl_i32m):
        (JSC::X86Assembler::testq_rr):
        (JSC::X86Assembler::testq_i32r):
        (JSC::X86Assembler::testb_i8r):
        (JSC::X86Assembler::sete_r):
        (JSC::X86Assembler::setz_r):
        (JSC::X86Assembler::setne_r):
        (JSC::X86Assembler::setnz_r):
        (JSC::X86Assembler::cdq):
        (JSC::X86Assembler::xchgl_rr):
        (JSC::X86Assembler::movl_rr):
        (JSC::X86Assembler::movl_rm):
        (JSC::X86Assembler::movl_mr):
        (JSC::X86Assembler::movl_i32r):
        (JSC::X86Assembler::movl_i32m):
        (JSC::X86Assembler::movq_rr):
        (JSC::X86Assembler::movq_rm):
        (JSC::X86Assembler::movq_mr):
        (JSC::X86Assembler::movzwl_mr):
        (JSC::X86Assembler::movzbl_rr):
        (JSC::X86Assembler::leal_mr):
        (JSC::X86Assembler::call):
        (JSC::X86Assembler::jmp):
        (JSC::X86Assembler::jmp_r):
        (JSC::X86Assembler::jmp_m):
        (JSC::X86Assembler::jne):
        (JSC::X86Assembler::jnz):
        (JSC::X86Assembler::je):
        (JSC::X86Assembler::jl):
        (JSC::X86Assembler::jb):
        (JSC::X86Assembler::jle):
        (JSC::X86Assembler::jbe):
        (JSC::X86Assembler::jge):
        (JSC::X86Assembler::jg):
        (JSC::X86Assembler::ja):
        (JSC::X86Assembler::jae):
        (JSC::X86Assembler::jo):
        (JSC::X86Assembler::jp):
        (JSC::X86Assembler::js):
        (JSC::X86Assembler::addsd_rr):
        (JSC::X86Assembler::addsd_mr):
        (JSC::X86Assembler::cvtsi2sd_rr):
        (JSC::X86Assembler::cvttsd2si_rr):
        (JSC::X86Assembler::movd_rr):
        (JSC::X86Assembler::movsd_rm):
        (JSC::X86Assembler::movsd_mr):
        (JSC::X86Assembler::mulsd_rr):
        (JSC::X86Assembler::mulsd_mr):
        (JSC::X86Assembler::pextrw_irr):
        (JSC::X86Assembler::subsd_rr):
        (JSC::X86Assembler::subsd_mr):
        (JSC::X86Assembler::ucomis_rr):
        (JSC::X86Assembler::int3):
        (JSC::X86Assembler::ret):
        (JSC::X86Assembler::predictNotTaken):
        (JSC::X86Assembler::label):
        (JSC::X86Assembler::align):
        (JSC::X86Assembler::link):
        (JSC::X86Assembler::executableCopy):
        (JSC::X86Assembler::X86InstructionFormater::prefix):
        (JSC::X86Assembler::X86InstructionFormater::oneByteOp):
        (JSC::X86Assembler::X86InstructionFormater::twoByteOp):
        (JSC::X86Assembler::X86InstructionFormater::oneByteOp64):
        (JSC::X86Assembler::X86InstructionFormater::oneByteOp8):
        (JSC::X86Assembler::X86InstructionFormater::twoByteOp8):
        (JSC::X86Assembler::X86InstructionFormater::instructionImmediate8):
        (JSC::X86Assembler::X86InstructionFormater::instructionImmediate32):
        (JSC::X86Assembler::X86InstructionFormater::instructionRel32):
        (JSC::X86Assembler::X86InstructionFormater::size):
        (JSC::X86Assembler::X86InstructionFormater::isAligned):
        (JSC::X86Assembler::X86InstructionFormater::data):
        (JSC::X86Assembler::X86InstructionFormater::executableCopy):
        (JSC::X86Assembler::X86InstructionFormater::registerModRM):
        (JSC::X86Assembler::X86InstructionFormater::memoryModRM):
        * jit/JIT.cpp:
        (JSC::JIT::privateCompileMainPass):
        (JSC::JIT::privateCompile):
        (JSC::JIT::privateCompileCTIMachineTrampolines):
        * jit/JITArithmetic.cpp:
        (JSC::JIT::putDoubleResultToJSNumberCellOrJSImmediate):
        (JSC::JIT::compileBinaryArithOp):
        * jit/JITCall.cpp:
        (JSC::JIT::compileOpCall):
        (JSC::JIT::compileOpCallSlowCase):
        * jit/JITPropertyAccess.cpp:
        (JSC::JIT::compileGetByIdHotPath):
        (JSC::JIT::compilePutByIdHotPath):
        (JSC::JIT::privateCompilePutByIdTransition):
        (JSC::JIT::privateCompilePatchGetArrayLength):
        (JSC::JIT::privateCompileGetByIdProto):
        (JSC::JIT::privateCompileGetByIdProtoList):
        (JSC::JIT::privateCompileGetByIdChainList):
        (JSC::JIT::privateCompileGetByIdChain):

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

13 years ago2008-12-15 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Mon, 15 Dec 2008 23:31:35 +0000 (23:31 +0000)]
2008-12-15  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Let WebKit generate a plug-in ID instead of having the plug-in host do it.

        * Plugins/Hosted/NetscapePluginHostManager.mm:
        (WebKit::NetscapePluginHostManager::instantiatePlugin):
        Create the plug-in proxy before instantiating the plug-in.

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        (WebKit::NetscapePluginInstanceProxy::create):
        (WebKit::NetscapePluginInstanceProxy::setRenderContextID):
        (WebKit::NetscapePluginInstanceProxy::setUseSoftwareRenderer):
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
        * Plugins/Hosted/WebKitPluginHost.defs:

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

13 years ago2008-12-15 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Mon, 15 Dec 2008 22:30:49 +0000 (22:30 +0000)]
2008-12-15  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        LoadURL doesn't need to be asynchronous.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCLoadURL):
        * Plugins/Hosted/WebKitPluginClient.defs:
        * Plugins/Hosted/WebKitPluginHost.defs:

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

13 years ago2008-12-15 Daniel Macks <dmacks@netspace.org>
eric@webkit.org [Mon, 15 Dec 2008 22:18:40 +0000 (22:18 +0000)]
2008-12-15  Daniel Macks  <dmacks@netspace.org>

        Reviewed by Darin Adler.

        Default to use external libicu-config if avail on all platforms.
        https://bugs.webkit.org/show_bug.cgi?id=22713

        * configure.ac:

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

13 years ago2008-12-15 Pierre-Olivier Latour <pol@apple.com>
pol@apple.com [Mon, 15 Dec 2008 21:51:37 +0000 (21:51 +0000)]
2008-12-15  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        Added an extra layout test for transitions.

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

        * transitions/change-values-during-transition-expected.txt: Added.
        * transitions/change-values-during-transition.html: Added.

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

13 years ago2008-12-15 Sam Weinig <sam@webkit.org>
weinig@apple.com [Mon, 15 Dec 2008 21:09:35 +0000 (21:09 +0000)]
2008-12-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=22847
        Geolocation PositionOptions cannot be an arbitrary object.

        Allow the PositionOptions to be a vanilla JS object and parse it
        appropriately.

        * DerivedSources.make: Remove PositionOptions.
        * GNUmakefile.am: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * WebCoreSources.bkl: Ditto.

        * bindings/js/JSGeolocationCustom.cpp:
        (WebCore::createPositionOptions): Added. Extracts the enableHighAccuracy
        and timeout fields from a vanilla JS object in order to create the
        PositionOptions object, checking for exceptions as necessary.
        (WebCore::JSGeolocation::getCurrentPosition): Use createPositionOptions
        instead of toPositionOptions.
        (WebCore::JSGeolocation::watchPosition): Ditto.
        * page/PositionOptions.idl: Removed

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

13 years ago2008-12-15 Pierre-Olivier Latour <pol@apple.com>
pol@apple.com [Mon, 15 Dec 2008 21:06:01 +0000 (21:06 +0000)]
2008-12-15  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        Added an extra layout test for animations.

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

        * animations/combo-transform-rotate+scale-expected.txt: Added.
        * animations/combo-transform-rotate+scale.html: Added.

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

13 years ago2008-12-15 Peter Kasting <pkasting@google.com>
pkasting@chromium.org [Mon, 15 Dec 2008 20:45:46 +0000 (20:45 +0000)]
2008-12-15  Peter Kasting  <pkasting@google.com>

        Reviewed by David Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=22108
        Large animated GIFs weren't always animating.  The code that deleted
        the entire decoder after each frame of a large image was resulting in
        us forgetting the loop count, breaking animations intermittently.

        Instead of throwing the whole decoder away, we're more careful to just
        delete frames we don't care about.  This additionally addresses
        problems in the Cairo and Chromium ports with excessive peak memory
        use and CPU use when decoding large animated GIFs because it leads to
        much less redecoding (O(n) instead of O(n^2) CPU, and O(1) instead of
        O(n) memory).

        This change has less impact on the CG decoder, which seems to throw
        away frames automatically when their external references are dropped;
        this means the CG decoder didn't suffer from the peak memory usage
        issue before (and still doesn't), but it also still burns excessive
        CPU redecoding earlier frames, that in theory it wouldn't need to
        redecode if it would judiciously save the most recent frames.  At
        least this patch plumbs some useful info to the ImageSource so it can
        help guide the CG decoder heuristics in the future.

        * platform/graphics/BitmapImage.cpp:
        (WebCore::frameBytes):
        (WebCore::BitmapImage::destroyDecodedData):
        (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
        (WebCore::BitmapImage::destroyMetadataAndNotify):
        (WebCore::BitmapImage::clearFrame):
        (WebCore::BitmapImage::cacheFrame):
        (WebCore::BitmapImage::dataChanged):
        (WebCore::BitmapImage::startAnimation):
        (WebCore::BitmapImage::resetAnimation):
        (WebCore::BitmapImage::internalAdvanceAnimation):
        * platform/graphics/BitmapImage.h:
        * platform/graphics/GeneratedImage.h:
        (WebCore::GeneratedImage::destroyDecodedData):
        * platform/graphics/Image.h:
        * platform/graphics/ImageSource.h:
        * platform/graphics/cairo/ImageSourceCairo.cpp:
        (WebCore::ImageSource::~ImageSource):
        (WebCore::ImageSource::clear):
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::~ImageSource):
        (WebCore::ImageSource::clear):
        * platform/graphics/cg/PDFDocumentImage.h:
        (WebCore::PDFDocumentImage::destroyDecodedData):
        * platform/graphics/qt/StillImageQt.h:
        (WebCore::StillImage::destroyDecodedData):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::RGBA32Buffer::clear):
        (WebCore::ImageDecoder::clearFrameBufferCache):
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::repetitionCount):
        (WebCore::GIFImageDecoder::clearFrameBufferCache):
        (WebCore::GIFImageDecoder::initFrameBuffer):
        * platform/image-decoders/gif/GIFImageDecoder.h:
        * platform/image-decoders/gif/GIFImageReader.h:
        (GIFImageReader::GIFImageReader):
        * svg/graphics/SVGImage.h:
        (WebCore::SVGImage::destroyDecodedData):

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

13 years ago2008-12-15 Pierre-Olivier Latour <pol@apple.com>
pol@apple.com [Mon, 15 Dec 2008 20:18:00 +0000 (20:18 +0000)]
2008-12-15  Pierre-Olivier Latour  <pol@apple.com>

        Updated transform-value-types.html and transform-value-types-expected.txt to latest version
        since change r39264 was lost when relocating these files.

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

        * transforms/2d/transform-value-types-expected.txt:
        * transforms/2d/transform-value-types.html:

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

13 years ago2008-12-15 Pierre-Olivier Latour <pol@apple.com>
pol@apple.com [Mon, 15 Dec 2008 19:49:19 +0000 (19:49 +0000)]
2008-12-15  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Sam Weinig.

        Add new layout tests for transforms, animations & transitions.
        Also move a couple transform layout tests to the proper subdirectory.

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

        * animations/combo-transform-translate+scale-expected.txt: Added.
        * animations/combo-transform-translate+scale.html: Added.
        * transforms/2d/computed-style-origin-expected.txt: Copied from LayoutTests/transforms/computed-style-origin-expected.txt.
        * transforms/2d/computed-style-origin.html: Copied from LayoutTests/transforms/computed-style-origin.html.
        * transforms/2d/transform-value-types-expected.txt: Copied from LayoutTests/transforms/transform-value-types-expected.txt.
        * transforms/2d/transform-value-types.html: Copied from LayoutTests/transforms/transform-value-types.html.
        * transforms/computed-style-origin-expected.txt: Removed.
        * transforms/computed-style-origin.html: Removed.
        * transforms/transform-value-types-expected.txt: Removed.
        * transforms/transform-value-types.html: Removed.
        * transitions/interrupt-transform-transition-expected.txt: Added.
        * transitions/interrupt-transform-transition.html: Added.
        * transitions/start-transform-transition-expected.txt: Added.
        * transitions/start-transform-transition.html: Added.
        * transitions/transition-timing-function-software-expected.txt: Added.
        * transitions/transition-timing-function-software.html: Added.
        * transitions/zero-duration-in-list-expected.txt: Added.
        * transitions/zero-duration-in-list.html: Added.
        * transitions/zero-duration-without-units-expected.txt: Added.
        * transitions/zero-duration-without-units.html: Added.

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

13 years ago2008-12-15 Cameron Zwarich <zwarich@apple.com>
cwzwarich@webkit.org [Mon, 15 Dec 2008 19:42:59 +0000 (19:42 +0000)]
2008-12-15  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Darin Adler.

        Bug 22562: REGRESSION (r37971): events not firing after going back in back/forward cache
        <https://bugs.webkit.org/show_bug.cgi?id=22562>
        <rdar://problem/6414593>

        Restore the Frame's DOMWindow to its previous value when going back in
        the back/forward cache. The fact that it was not getting set before may
        have always caused some subtle bugs with the back/forward cache, but
        after r37971, it causes no events to fire after restoring a page.

        Previously, ScriptController::clearScriptObjects() was calling
        clearPlatformScriptObjects(), which was not actually clearing any
        objects, only updating them to reflect some change in state. Since the
        window shell was not updated until after the call to clearScriptObjects(),
        this didn't actually make that much sense.

        We rename clearPlatformScriptObjects() to reflect its actual purpose and
        call it after the window shell has been updated rather than before.

        Unfortunately, there is no way to test this with a layout test because
        it involves the back/forward cache.

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::updatePlatformScriptObjects): Renamed from
        clearPlatformScriptObjects(), because the only nonempty implementation
        doesn't actually clear any objects, it updates them. Also made public.
        (WebCore::ScriptController::clearScriptObjects): Remove the call to
        clearPlatformScriptObjects().
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptControllerMac.mm:
        (WebCore::ScriptController::updatePlatformScriptObjects):
        * history/CachedPage.cpp:
        (WebCore::CachedPage::domWindow): Added.
        * history/CachedPage.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::cancelAndClear): Added call to updatePlatformScriptObjects().
        (WebCore::FrameLoader::begin): Added call to updatePlatformScriptObjects().
        (WebCore::FrameLoader::open): Added call to updatePlatformScriptObjects().
        * page/Frame.cpp:
        (WebCore::Frame::setDOMWindow): Added.
        (WebCore::Frame::pageDestroyed): Added call to updatePlatformScriptObjects().
        * page/Frame.h:

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

13 years ago2008-12-15 Antti Koivisto <antti@apple.com>
antti@apple.com [Mon, 15 Dec 2008 15:31:48 +0000 (15:31 +0000)]
2008-12-15  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin Adler.

        - Add [WebFrame reloadFromOrigin] for performing end-to-end reload.
        - Add corresponding IBAction to WebView.
        - Temporarily make [WebFrame reload] trigger end-to-end reload if shift modifier is pressed when it is called.

        * WebView/WebFrame.h:
        * WebView/WebFrame.mm:
        (-[WebFrame reload]):
        (-[WebFrame reloadFromOrigin]):
        * WebView/WebFramePrivate.h: Match the FrameLoadType enum in WebCore.
        * WebView/WebView.h:
        * WebView/WebView.mm:
        (-[WebView reloadFromOrigin:]):

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

13 years ago2008-12-15 Antti Koivisto <antti@apple.com>
antti@apple.com [Mon, 15 Dec 2008 15:28:41 +0000 (15:28 +0000)]
2008-12-15  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin Adler.

        When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
        https://bugs.webkit.org/show_bug.cgi?id=17998

        - Enable conditional revalidation for reloads by default.
        - Add a parameter to FrameLoader::reload() for forcing end-to-end reload.
        - To avoid duplicating state remove m_cachePolicy variables from FrameLoader and DocLoader.
          Instead synthezise the policy on demand.

        This speeds up reloads and makes them use way less bandwidth.

        * WebCore.base.exp:
        * loader/CachePolicy.h: Rename CachePolicyRefresh to CachePolicyRevalidate.
        (WebCore::):
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::DocLoader):
        (WebCore::DocLoader::checkForReload): Support CachePolicyRevalidate.
        (WebCore::DocLoader::requestResource):
        (WebCore::DocLoader::cachePolicy):
        * loader/DocLoader.h: Get rid of m_cachePolicy member.
        * loader/FrameLoader.cpp:
        (WebCore::ScheduledRedirection::ScheduledRedirection):
            Add parameter to differentiate refresh from other types of redirects.
            m_cachePolicy was used for signaling this before.
        (WebCore::isBackForwardLoadType):
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::changeLocation):
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::receivedFirstData):
        (WebCore::FrameLoader::write):
        (WebCore::FrameLoader::startIconLoader):
        (WebCore::FrameLoader::restoreDocumentState):
        (WebCore::FrameLoader::scheduleHTTPRedirection):
        (WebCore::FrameLoader::scheduleLocationChange):
        (WebCore::FrameLoader::scheduleRefresh):
        (WebCore::FrameLoader::redirectionTimerFired):
        (WebCore::FrameLoader::canCachePage):
        (WebCore::FrameLoader::loadURL):
        (WebCore::FrameLoader::reload):
            Differentiate between revalidation and reload.
            No need to use setHTTPHeaderField here, addExtraFieldsToRequest will set the headers.
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::cachePolicy): Determine the cache policy based on current load type.
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        (WebCore::FrameLoader::addExtraFieldsToRequest): Set Cache-control: no-cache for FrameLoadTypeReloadFromOrigin
        (WebCore::FrameLoader::shouldScrollToAnchor):
        (WebCore::FrameLoader::loadItem):
        (WebCore::FrameLoader::updateHistoryForReload):
        (WebCore::FrameLoader::updateHistoryForCommit):
        (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
        * loader/FrameLoader.h:
        * loader/FrameLoaderTypes.h: Add FrameLoadTypeReloadFromOrigin
        (WebCore::):
        * loader/NavigationAction.cpp:
        (WebCore::navigationType):  Support FrameLoadTypeReloadFromOrigin
        * loader/loader.cpp:
        (WebCore::Loader::Host::servePendingRequests):

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

13 years ago2008-12-15 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 15 Dec 2008 14:25:06 +0000 (14:25 +0000)]
2008-12-15  Darin Adler  <darin@apple.com>

        * interpreter/RegisterFile.h: Tweak include formatting.

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

13 years agoBuild fix for Gtk+
zecke@webkit.org [Mon, 15 Dec 2008 14:14:17 +0000 (14:14 +0000)]
Build fix for Gtk+

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

13 years agoChange the order of sub frame initialisation to avoid crashes
zecke@webkit.org [Mon, 15 Dec 2008 12:34:56 +0000 (12:34 +0000)]
Change the order of sub frame initialisation to avoid crashes

Add the newly created frame to the FrameTree before calling
WebCore::Frame::init to not segfault on
LayoutTests/fast/loader/frame-creation-removal.html.

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

13 years agoAdd null checks to PlatformScreenQt
zecke@webkit.org [Mon, 15 Dec 2008 12:32:48 +0000 (12:32 +0000)]
Add null checks to PlatformScreenQt

The other ports do the null checks and JSDOMWindowBase is
at least one caller that is passing 0.

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

13 years ago2008-12-15 Simon Hausmann <hausmann@webkit.org>
hausmann@webkit.org [Mon, 15 Dec 2008 12:19:14 +0000 (12:19 +0000)]
2008-12-15  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Holger Freyther.

        Add worker tests to the skip list for the Qt DRT as the feature is not enabled.

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

13 years ago2008-12-15 Simon Hausmann <hausmann@webkit.org>
hausmann@webkit.org [Mon, 15 Dec 2008 12:19:02 +0000 (12:19 +0000)]
2008-12-15  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Holger Freyther.

        Implement setJavaScriptProfilingEnabled in the Qt DRT to pass fast/profiler.

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

13 years ago Reviewed by Oliver Hunt.
ap@webkit.org [Mon, 15 Dec 2008 12:03:41 +0000 (12:03 +0000)]
    Reviewed by Oliver Hunt.

        <rdar://problem/6444455> Worker Thread crash running multiple workers for a moderate amount of time

WebCore:
        * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
        Detach the thread. Without this, one page of its stack was never unmmaped, and fragmentation
        made RegisterFile allocaiton fail after a while.

JavaScriptCore:
        * interpreter/RegisterFile.h: (JSC::RegisterFile::RegisterFile):
        Improve error handling: if mmap fails, crash immediately, and print out the reason.

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

13 years ago2008-12-13 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 15 Dec 2008 02:13:51 +0000 (02:13 +0000)]
2008-12-13  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - half of https://bugs.webkit.org/show_bug.cgi?id=17425
          eliminate DeprecatedPtrList

        * dom/Document.cpp:
        (WebCore::Document::removeImage): Change to set slots in the vector
        to 0 rather than removing items from a list.
        (WebCore::Document::dispatchImageLoadEventsNow): Rewrite to process
        the list. Since we now use a "set to zero" design, we don't need to
        be careful about where the iterator points while iterating the list,
        instead we just have to skip zeros.

        * dom/Document.h: Use Vector instead of DeprecatedPtrList.

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchGenericEvent): Use a Vector instead
        of a DeprecatedPtrList for the list of nodes to handle. Also streamlined
        the logic a bit and used goto in a couple key places.

        * dom/Node.cpp:
        (WebCore::Node::eventParentNode): Moved this function into this file
        because it's a virtual function so already can't be inlined. Also updated
        to return a ContainerNode, so it needs to be in a place where the
        definition of ContainerNode is visible, not the header file.

        * dom/Node.h: Changed return type of eventParentNode to ContainerNode
        and moved its definition into the cpp file.

        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::PendingCallbacks::~PendingCallbacks): Added a call to
        deleteAllValues here instead of setAutoDelete in the constructor, since
        we're using Deque instead of DeprecatedPtrList.
        (WebCore::PendingCallbacks::callAndRemoveFirstCallback): Changed the
        code to use an OwnPtr since the deque won't delete the callback object.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Use a
        Vector instead of a DeprecatedPtrList.

        * svg/SVGElement.cpp:
        (WebCore::SVGElement::eventParentNode): Moved this function into this file
        because it's a virtual function so already can't be inlined. Also updated
        to return a ContainerNode.

        * svg/SVGElement.h: Changed setShadowParentNode to take a ContainerNode*,
        made eventParentNode return a ContainerNode*, and made m_shadowParent a
        ContainerNode*.

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

13 years agoWebKit/mac:
mitz@apple.com [Mon, 15 Dec 2008 00:41:18 +0000 (00:41 +0000)]
WebKit/mac:

        Reviewed by Darin Adler.

        - fix <rdar://problem/3258561> WebHistoryAllItemsRemovedNotification
          should add items to userInfo

        * History/WebHistory.mm:
        (-[WebHistoryPrivate allItems]): Added this helper method, which returns
        all values in the _entriesByURL dictionary.
        (-[WebHistory removeAllItems]): Changed to send the array of all items
        in the notification.

WebKit/win:

        Reviewed by Darin Adler.

        - Windows equivalent of <rdar://problem/3258561>
          WebHistoryAllItemsRemovedNotification should add items to userInfo

        * WebHistory.cpp:
        (WebHistory::removeAllItems): Changed to create an array of all items
        and send it in the notification.

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

13 years agoReviewed by George Staikos.
zimmermann@webkit.org [Sun, 14 Dec 2008 23:37:27 +0000 (23:37 +0000)]
Reviewed by George Staikos.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22857
Jumps within a WML deck using <go> task elements fail. Manual reloading
is necessary to display the page - fix cache-policy in WMLGoElement::executeTask
to prevent the problem.

Refactor setActiveCardInDocument in two new functions: findNamedCardInDocument
and determineActiveCard, to fix a side-effect of executing a <go> task:
when switching cards within a deck the active card was changed before the load
was fired which resulted in a flash effect on the screen, and doing unnecessary work.

Test: wml/go-task-animation.html

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

13 years ago2008-12-14 Dirk Schulze <krit@webkit.org>
krit@webkit.org [Sun, 14 Dec 2008 14:47:54 +0000 (14:47 +0000)]
2008-12-14  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        WebCore:

        Fixes an issue in cairo. A fully transparent color can cause wrong
        drawings on canvas' composite.

        https://bugs.webkit.org/show_bug.cgi?id=22846
        [CAIRO] Canvas: transparent color and composite

        Test: fast/canvas/canvas-transparency-and-composite.html

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):

        LayoutTest:

        Ensure correct behaviour of composite on a fully transparent color.

        * fast/canvas/canvas-transparency-and-composite-expected.txt: Added.
        * fast/canvas/canvas-transparency-and-composite.html: Added.
        * fast/canvas/resources/canvas-transparency-and-composite.js: Added.

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

13 years ago2008-12-13 Julien Chaffraix <jchaffraix@webkit.org>
jchaffraix@webkit.org [Sun, 14 Dec 2008 11:46:36 +0000 (11:46 +0000)]
2008-12-13  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
        https://bugs.webkit.org/show_bug.cgi?id=22665

        Remove setCreatedByParser from frame and iframe.

        * html/HTMLElementFactory.cpp:
        (WebCore::frameConstructor):
        (WebCore::iframeConstructor):
        (WebCore::objectConstructor):
        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::HTMLFrameElement):
        * html/HTMLFrameElement.h:
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
        * html/HTMLFrameElementBase.h:
        * html/HTMLFrameOwnerElement.cpp:
        (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
        * html/HTMLFrameOwnerElement.h:
        (WebCore::HTMLFrameOwnerElement::createdByParser):
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::HTMLIFrameElement):
        * html/HTMLIFrameElement.h:
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::HTMLPlugInElement):
        * html/HTMLTagNames.in:

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

13 years agoFix a typo in ChangeLog.
ap@webkit.org [Sun, 14 Dec 2008 10:45:24 +0000 (10:45 +0000)]
Fix a typo in ChangeLog.

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

13 years ago Suggested by Holger Freyther.
ap@webkit.org [Sun, 14 Dec 2008 10:07:21 +0000 (10:07 +0000)]
    Suggested by Holger Freyther.

        * fast/workers/worker-navigator-expected.txt:
        * fast/workers/worker-navigator.html:
        navigator.platform.length is intentionally zero on Gtk+, changed to check for uts type.

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

13 years ago Reviewed by Darin Adler.
ap@webkit.org [Sun, 14 Dec 2008 09:55:08 +0000 (09:55 +0000)]
    Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22843
        Auto-generate JSWorkerContext

        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/WorkerContext.idl: Added.
        * page/DOMWindow.idl:
        Added ExtendsDOMGlobalObject, a new attribute for behaviors common to DOMWindow and
        WorkerContext.

        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::initScript):
        Made JSWorkerContext creation look more like JSDOMWindow creation, to work with generated code.

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.scons:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWorkerContext.cpp: Removed.
        * bindings/js/JSWorkerContext.h: Removed.
        * bindings/js/JSWorkerContextBase.cpp: Copied from WebCore/bindings/js/JSWorkerContext.cpp.
        (WebCore::JSWorkerContextBase::JSWorkerContextBase):
        (WebCore::JSWorkerContextBase::~JSWorkerContextBase):
        (WebCore::JSWorkerContextBase::scriptExecutionContext):
        (WebCore::getJSWorkerContextBaseTable):
        (WebCore::):
        (WebCore::JSWorkerContextBase::put):
        * bindings/js/JSWorkerContextBase.h: Copied from WebCore/bindings/js/JSWorkerContext.h.
        * bindings/js/JSWorkerContextCustom.cpp: Added.
        (WebCore::JSWorkerContext::customGetOwnPropertySlot):
        (WebCore::JSWorkerContext::mark):
        (WebCore::JSWorkerContext::self):
        (WebCore::JSWorkerContext::setSelf):
        (WebCore::JSWorkerContext::addEventListener):
        (WebCore::JSWorkerContext::removeEventListener):
        Moved code around. Note that currently, JSWorkerContextBase lookup table is empty, but we'll
        need to add some global objects to it in the future, as it is done in JSDOMWindowBase.

        * page/WorkerNavigator.cpp:
        * page/WorkerNavigator.h:
        Added ENABLE(WORKERS) ifdefs.

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

13 years ago2008-12-13 Dirk Schulze <krit@webkit.org>
krit@webkit.org [Sun, 14 Dec 2008 07:55:39 +0000 (07:55 +0000)]
2008-12-13  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        LayoutTest:

        This test is wrong. We shouldn't fill something with a gradient, if the
        path is empty.

        * fast/canvas/gradient-empty-path.html: Removed.
        * platform/mac/fast/canvas/gradient-empty-path-expected.checksum: Removed.
        * platform/mac/fast/canvas/gradient-empty-path-expected.png: Removed.
        * platform/mac/fast/canvas/gradient-empty-path-expected.txt: Removed.

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

13 years ago2008-12-13 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Sun, 14 Dec 2008 07:19:40 +0000 (07:19 +0000)]
2008-12-13  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Cameron Zwarich.

        Re-enable WREC on 64-bit.
        Implements one of the MacroAssembler::jnzPtr methods, previously only implemented for 32-bit x86.

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

        * assembler/MacroAssembler.h:
        (JSC::MacroAssembler::testImm64):
        (JSC::MacroAssembler::jnzPtr):
        * assembler/X86Assembler.h:
        (JSC::X86Assembler::testq_i32r):
        (JSC::X86Assembler::testq_rr):
        * wtf/Platform.h:

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

13 years ago2008-12-13 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Sun, 14 Dec 2008 01:28:58 +0000 (01:28 +0000)]
2008-12-13  Gavin Barraclough  <barraclough@apple.com>

        Fix PPC builds.

        * assembler/MacroAssembler.h:

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

13 years ago2008-12-13 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Sun, 14 Dec 2008 00:24:05 +0000 (00:24 +0000)]
2008-12-13  Gavin Barraclough  <barraclough@apple.com>

        Build fix only, no review.

        * bytecode/CodeBlock.h:

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

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

        Reviewed by Cameron Zwarich.

        Port the remainder of the JIT, bar calling convention related code, and code
        implementing optimizations which can be disabled, to use the MacroAssembler.

        * assembler/MacroAssembler.h:
        (JSC::MacroAssembler::DataLabelPtr::DataLabelPtr):
        (JSC::MacroAssembler::RepatchBuffer::RepatchBuffer):
        (JSC::MacroAssembler::RepatchBuffer::link):
        (JSC::MacroAssembler::RepatchBuffer::addressOf):
        (JSC::MacroAssembler::RepatchBuffer::setPtr):
        (JSC::MacroAssembler::addPtr):
        (JSC::MacroAssembler::lshift32):
        (JSC::MacroAssembler::mod32):
        (JSC::MacroAssembler::rshift32):
        (JSC::MacroAssembler::storePtrWithRepatch):
        (JSC::MacroAssembler::jnzPtr):
        (JSC::MacroAssembler::jzPtr):
        (JSC::MacroAssembler::jump):
        (JSC::MacroAssembler::label):
        * assembler/X86Assembler.h:
        (JSC::X86Assembler::):
        (JSC::X86Assembler::xchgl_rr):
        (JSC::X86Assembler::jmp_m):
        (JSC::X86Assembler::repatchAddress):
        (JSC::X86Assembler::getRelocatedAddress):
        * bytecode/CodeBlock.cpp:
        (JSC::CodeBlock::CodeBlock):
        * bytecode/CodeBlock.h:
        (JSC::JITCodeRef::JITCodeRef):
        (JSC::CodeBlock::setJITCode):
        (JSC::CodeBlock::jitCode):
        (JSC::CodeBlock::executablePool):
        * jit/JIT.cpp:
        (JSC::JIT::privateCompileMainPass):
        (JSC::JIT::privateCompileLinkPass):
        (JSC::JIT::privateCompile):
        (JSC::JIT::privateCompileCTIMachineTrampolines):
        * jit/JIT.h:
        (JSC::CallRecord::CallRecord):
        (JSC::JumpTable::JumpTable):
        (JSC::JIT::emitCTICall):
        (JSC::JIT::JSRInfo::JSRInfo):
        * jit/JITArithmetic.cpp:
        * jit/JITCall.cpp:
        * jit/JITInlineMethods.h:
        (JSC::JIT::emitNakedCall):
        (JSC::JIT::emitCTICall_internal):
        (JSC::JIT::checkStructure):
        (JSC::JIT::emitFastArithDeTagImmediateJumpIfZero):
        (JSC::JIT::addSlowCase):
        (JSC::JIT::addJump):
        (JSC::JIT::emitJumpSlowToHot):
        * jit/JITPropertyAccess.cpp:
        (JSC::JIT::privateCompileGetByIdChainList):
        (JSC::JIT::privateCompileGetByIdChain):

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

13 years ago2008-12-13 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 13 Dec 2008 23:28:30 +0000 (23:28 +0000)]
2008-12-13  Darin Adler  <darin@apple.com>

        - fix Release build

        * dom/Node.cpp:
        (WebCore::Node::rareData): Remove inappropriate inline directive.

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

13 years ago2008-12-13 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 13 Dec 2008 23:17:40 +0000 (23:17 +0000)]
2008-12-13  Darin Adler  <darin@apple.com>

        - <rdar://problem/6441035> WebTextIterator class not exported in WebKit

        * WebKit.exp: Added the class. We forgot to export it when we added
        the WebTextIterator SPI.

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

13 years agoWebCore:
darin@apple.com [Sat, 13 Dec 2008 23:02:11 +0000 (23:02 +0000)]
WebCore:

2008-12-13  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        - fix https://bugs.webkit.org/show_bug.cgi?id=18734
          REGRESSION (r31081): Focus problems in Gmail 2/Plain text message text
          <rdar://problem/5892415>

        Test: fast/forms/textarea-selection-preservation.html

        The regression reported was caused by the fact that the renderer code had
        a bug where it would constantly think the newline at the end of text was
        missing, and so it would replace all the text even though it wasn't changing,
        which would destroy the selection.

        When writing the regression test I discovered another problem: The value
        property in HTMLTextAreaElement was intentionally changing the selection
        to the end of the textarea, but doing that even when the value wasn't changing.

        This patch fixes both and the test checks both.

        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::setValue): Exit early if the value is
        not changing.

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::text): Add a newline character for each <br>
        element encountered in the control

LayoutTests:

2008-12-13  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        - test for https://bugs.webkit.org/show_bug.cgi?id=18734
          REGRESSION (r31081): Focus problems in Gmail 2/Plain text message text
          <rdar://problem/5892415>

        * fast/forms/textarea-selection-preservation-expected.txt: Added.
        * fast/forms/textarea-selection-preservation.html: Added.

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

13 years ago2008-12-13 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 13 Dec 2008 22:58:14 +0000 (22:58 +0000)]
2008-12-13  Darin Adler  <darin@apple.com>

        - file deletion part of https://bugs.webkit.org/show_bug.cgi?id=17497
          eliminate DeprecatedValueList

        * GNUmakefile.am: Removed references to deleted files.
        * WebCore.pro: Ditto.
        * WebCore.scons: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * WebCoreSources.bkl: Ditto.

        * platform/DeprecatedPtrQueue.h: Removed.
        * platform/DeprecatedValueList.h: Removed.
        * platform/DeprecatedValueListImpl.cpp: Removed.
        * platform/DeprecatedValueListImpl.h: Removed.

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

13 years ago2008-12-13 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 13 Dec 2008 22:53:55 +0000 (22:53 +0000)]
2008-12-13  Darin Adler  <darin@apple.com>

        Reviewed by Anders Carlsson.

        - https://bugs.webkit.org/show_bug.cgi?id=17497
          eliminate DeprecatedValueList

        * css/CSSStyleDeclaration.cpp: Removed unneeded include.

        * dom/Document.cpp:
        (WebCore::Document::removeAllEventListenersFromAllNodes):
        Set the removed flag on the window event listeners in case we
        are in the middle of dispatching events on this window.
        (WebCore::Document::clear): Ditto.
        (WebCore::Document::handleWindowEvent): Changed to use a vector
        instead of a DeprecatedPtrList.
        (WebCore::Document::windowInlineEventListenerForType): Ditto.
        (WebCore::Document::removeWindowInlineEventListenerForType): Ditto.
        Also added a call to setRemoved, which is needed here just as in
        other functions that remove.
        (WebCore::Document::removeWindowEventListener): Ditto.
        (WebCore::Document::hasWindowEventListener): Ditto.

        * dom/Document.h: Changed RegisteredEventListenerList to
        RegisteredEventListeners.

        * dom/Element.cpp:
        (WebCore::Element::attach): Use a function to access rare data instead
        of getting directly at the data field.
        (WebCore::Element::focus): Ditto.
        (WebCore::Element::cancelFocusAppearanceUpdate): Ditto.

        * dom/ElementRareData.h: Use "using" to make things that are protected
        in NodeRareData be public here.

        * dom/EventTarget.h: Removed include of DeprecatedValueList and
        related declearations that weren't needed. Tweaked the definitions
        of the forbidEventDispatch functions too.

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::EventTargetNode): Eliminated code that
        was used to initialized m_regdListeners.
        (WebCore::EventTargetNode::~EventTargetNode): Elminated delete of
        m_regdListeners. Changed code to use eventListeners() instead of
        m_regdListeners.
        (WebCore::EventTargetNode::eventListeners): Added.
        (WebCore::EventTargetNode::insertedIntoDocument): Use eventListeners.
        (WebCore::EventTargetNode::removedFromDocument): Ditto.
        (WebCore::EventTargetNode::willMoveToNewOwnerDocument): Ditto.
        (WebCore::EventTargetNode::didMoveToNewOwnerDocument): Ditto.
        (WebCore::EventTargetNode::addEventListener): Ditto.
        (WebCore::EventTargetNode::removeEventListener): Ditto.
        (WebCore::EventTargetNode::removeAllEventListeners): Ditto.
        Also added code to call setRemoved on all the listeners.
        (WebCore::EventTargetNode::handleLocalEvents): Ditto.
        (WebCore::EventTargetNode::dispatchGenericEvent): Fixed indentation.
        (WebCore::EventTargetNode::removeInlineEventListenerForType): Use
        the new event listeners vector. Also added missing call to setRemoved.
        (WebCore::EventTargetNode::inlineEventListenerForType): Ditto.

        * dom/EventTargetNode.h: Added a new RegisteredEventListenerVector
        type and replaced the old localEventListeners function with a new
        eventListeners function. Removed m_regdListeners.

        * dom/Node.cpp:
        (WebCore::Node::childNodes): Removed unneeded std prefix.
        (WebCore::Node::setFocus): Use function instead of going directly
        at rare data.
        (WebCore::Node::rareDataFocused): Ditto.
        (WebCore::Node::registerDynamicNodeList): Removed unneeded std prefix.
        (WebCore::Node::getElementsByName): Ditto.
        (WebCore::Node::getElementsByClassName): Ditto.
        (WebCore::Node::compareDocumentPosition): Ditto.

        * dom/Node.h: Removed unneeded forward declaration of
        RegisteredEventListener. This is now in EventTargetNode.

        * dom/NodeRareData.h: Renamed m_focused to m_isFocused and made it
        private. Made m_needsFocusAppearanceUpdateSoonAfterAttach private.
        Added listeners and ensureListeners functions as well as isFocused,
        setFocused, and focus-appearance functions. Made all data members private.

        * dom/RegisteredEventListener.cpp: Removed operator ==.
        * dom/RegisteredEventListener.h: Removed operator == and !=.

        * svg/SVGElement.cpp:
        (WebCore::hasLoadListener): Rewrote to work with the vector.
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::transferEventListenersToShadowTree): Ditto.

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