WebKit-https.git
11 years ago2009-06-09 Simon Hausmann <simon.hausmann@nokia.com>
hausmann@webkit.org [Tue, 9 Jun 2009 08:50:14 +0000 (08:50 +0000)]
2009-06-09  Simon Hausmann  <simon.hausmann@nokia.com>

        Fix the Qt build, the time functions moved into the WTF namespace.

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

11 years ago2009-06-09 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Tue, 9 Jun 2009 08:31:31 +0000 (08:31 +0000)]
2009-06-09  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

        Enable JIT_OPTIMIZE_CALL & JIT_OPTIMIZE_METHOD_CALLS on ARMv7 platforms.

        These optimizations function correctly with no further changes.

        * wtf/Platform.h:
            Change to enable JIT_OPTIMIZE_CALL & JIT_OPTIMIZE_METHOD_CALLS.

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

11 years ago2009-06-09 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Tue, 9 Jun 2009 08:20:38 +0000 (08:20 +0000)]
2009-06-09  Gavin Barraclough  <barraclough@apple.com>

        Not Reviewed, build fix.

        * assembler/MacroAssemblerARMv7.h:

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

11 years ago2009-06-09 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Tue, 9 Jun 2009 08:14:09 +0000 (08:14 +0000)]
2009-06-09  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

        Enable JIT_OPTIMIZE_ARITHMETIC on ARMv7 platforms.

        Temporarily split support for 'branchTruncateDoubleToInt32' onto its own switch
        ('supportsFloatingPointTruncate').  See comment in MacroAssemblerARMv7, we need
        to work out wherther we are going to be able to support the current interface on
        all platforms, or whether this should be refactored.

        * assembler/MacroAssemblerARMv7.h:
        (JSC::MacroAssemblerARMv7::supportsFloatingPoint):
            Add implementation of supportsFloatingPointTruncate (returns true).
        (JSC::MacroAssemblerARMv7::supportsFloatingPointTruncate):
            Add implementation of supportsFloatingPointTruncate (returns false).
        (JSC::MacroAssemblerARMv7::loadDouble):
        (JSC::MacroAssemblerARMv7::storeDouble):
        (JSC::MacroAssemblerARMv7::addDouble):
        (JSC::MacroAssemblerARMv7::subDouble):
        (JSC::MacroAssemblerARMv7::mulDouble):
        (JSC::MacroAssemblerARMv7::convertInt32ToDouble):
        (JSC::MacroAssemblerARMv7::branchDouble):
            Implement FP code genertion operations.
        * assembler/MacroAssemblerX86.h:
        (JSC::MacroAssemblerX86::supportsFloatingPointTruncate):
            Add implementation of supportsFloatingPointTruncate (returns true).
        * assembler/MacroAssemblerX86_64.h:
        (JSC::MacroAssemblerX86_64::supportsFloatingPointTruncate):
            Add implementation of supportsFloatingPointTruncate (returns true).
        * jit/JITArithmetic.cpp:
        (JSC::JIT::emit_op_rshift):
            Changed to call supportsFloatingPointTruncate().
        (JSC::JIT::emitSlow_op_rshift):
            Changed to call supportsFloatingPointTruncate().
        * wtf/Platform.h:
            Change to enable JIT_OPTIMIZE_ARITHMETIC.

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

11 years ago2009-06-09 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Tue, 9 Jun 2009 07:46:31 +0000 (07:46 +0000)]
2009-06-09  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Mark Rowe & Geoff Garen.

        Enable JIT_OPTIMIZE_PROPERTY_ACCESS on ARMv7 platforms.

        Firm up interface for planting load intructions that will be repatched by
        repatchLoadPtrToLEA().  This method should now no longer be applied to just
        any loadPtr instruction.

        * assembler/MacroAssemblerARMv7.h:
        (JSC::MacroAssemblerARMv7::loadPtrWithPatchToLEA):
            Implement loadPtrWithPatchToLEA interface (plants a load with a fixed width address).
        (JSC::MacroAssemblerARMv7::move):
        (JSC::MacroAssemblerARMv7::nearCall):
        (JSC::MacroAssemblerARMv7::call):
        (JSC::MacroAssemblerARMv7::moveWithPatch):
        (JSC::MacroAssemblerARMv7::tailRecursiveCall):
            Switch to use common method 'moveFixedWidthEncoding()' to perform fixed width (often patchable) loads.
        (JSC::MacroAssemblerARMv7::moveFixedWidthEncoding):
            Move an immediate to a register, always plants movT3/movt instruction pair.
        * assembler/MacroAssemblerX86.h:
        (JSC::MacroAssemblerX86::loadPtrWithPatchToLEA):
            Implement loadPtrWithPatchToLEA interface (just a regular 32-bit load on x86).
        * assembler/MacroAssemblerX86_64.h:
        (JSC::MacroAssemblerX86_64::loadPtrWithPatchToLEA):
            Implement loadPtrWithPatchToLEA interface (just a regular 64-bit load on x86_64).
        * jit/JITPropertyAccess.cpp:
        (JSC::JIT::compileGetByIdHotPath):
        (JSC::JIT::emit_op_put_by_id):
        * wtf/Platform.h:
            Change to enable JIT_OPTIMIZE_PROPERTY_ACCESS.

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

11 years agoFix <https://bugs.webkit.org/show_bug.cgi?id=24642>.
mrowe@apple.com [Tue, 9 Jun 2009 07:33:06 +0000 (07:33 +0000)]
Fix <https://bugs.webkit.org/show_bug.cgi?id=24642>.
Bug 24642: REGRESSION: Nightly builds sometimes erroneously display a message about failing to launch successfully

Safari 4 on Tiger plays some shenanigans during launch that can confuse the nightly launcher application
in to running its initialization code too soon.

* WebKitLauncher/WebKitNightlyEnabler.m:
(insideSafariOnTigerTrampoline): Detect these shenanigans.
(enableWebKitNightlyBehaviour): Delay initialization when needed.

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

11 years ago2009-06-08 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Tue, 9 Jun 2009 06:52:25 +0000 (06:52 +0000)]
2009-06-08  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

        Enable JS language JIT for ARM thumb2 platforms.  Add ARMv7 specific
        asm & constants, add appropriate configuration switches to Platform.h.

        Landing this disabled until jump linking is completed (see YARR jit patch).

        * assembler/MacroAssemblerARMv7.h:
        (JSC::MacroAssemblerARMv7::load32):
            Fix: should load pointer with ImmPtr not Imm32.
        (JSC::MacroAssemblerARMv7::store32):
            Fix: should load pointer with ImmPtr not Imm32.
        (JSC::MacroAssemblerARMv7::move):
            Fix: When moving an Imm32 that is actually a pointer, should call movT3()
            not mov(), to ensure code generation is repeatable (for exception handling).
        * jit/JIT.cpp:
        (JSC::JIT::privateCompileCTIMachineTrampolines):
            Disable JIT_OPTIMIZE_NATIVE_CALL specific code generation if the optimization is not enabled.
        * jit/JIT.h:
            Add ARMv7 specific values of constants & register names.
        * jit/JITInlineMethods.h:
        (JSC::JIT::preverveReturnAddressAfterCall):
        (JSC::JIT::restoreReturnAddressBeforeReturn):
        (JSC::JIT::restoreArgumentReferenceForTrampoline):
            Implement for ARMv7 (move value to/from lr).
        * jit/JITStubs.cpp:
            Add JIT entry/thow trampolines, add macro to add thunk wrapper around stub routines.
        * jit/JITStubs.h:
        (JSC::JITStackFrame::returnAddressSlot):
            Add ARMv7 stack frame object.
        * wtf/Platform.h:
            Add changes necessary to allow JIT to build on this platform, disabled.

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

11 years agoRevert r44521 as it causes regressions on windows for some reason.
oliver@apple.com [Tue, 9 Jun 2009 06:24:37 +0000 (06:24 +0000)]
Revert r44521 as it causes regressions on windows for some reason.

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

11 years agoBug 26249: Support JSON.stringify
oliver@apple.com [Tue, 9 Jun 2009 06:02:24 +0000 (06:02 +0000)]
Bug 26249: Support JSON.stringify
<https://bugs.webkit.org/show_bug.cgi?id=26249>

Reviewed by Sam Weinig.

Implement JSON.stringify.  This patch handles all the semantics of the ES5
JSON.stringify function, including replacer functions and arrays and both
string and numeric gap arguments.

Currently uses a clamped recursive algorithm basically identical to the spec
description but with a few minor tweaks for performance and corrected semantics
discussed in the es-discuss mailing list.

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

11 years agoWebKit:
mitz@apple.com [Tue, 9 Jun 2009 05:27:45 +0000 (05:27 +0000)]
WebKit:

        Rubber-stamped by Mark Rowe.

        - updated the project after giving Objective-C++ the .mm extension

        * WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

        Rubber-stamped by Mark Rowe.

        - gave Objective-C++ files the .mm extension

        * Carbon/HIWebView.m: Removed.
        * Carbon/HIWebView.mm: Copied from WebKit/mac/Carbon/HIWebView.m.
        * Misc/WebKitNSStringExtras.m: Removed.
        * Misc/WebKitNSStringExtras.mm: Copied from WebKit/mac/Misc/WebKitNSStringExtras.m.
        * Misc/WebStringTruncator.m: Removed.
        * Misc/WebStringTruncator.mm: Copied from WebKit/mac/Misc/WebStringTruncator.m.
        * WebInspector/WebNodeHighlight.m: Removed.
        * WebInspector/WebNodeHighlight.mm: Copied from WebKit/mac/WebInspector/WebNodeHighlight.m.
        * WebInspector/WebNodeHighlightView.m: Removed.
        * WebInspector/WebNodeHighlightView.mm: Copied from WebKit/mac/WebInspector/WebNodeHighlightView.m.
        * WebView/WebDynamicScrollBarsView.m: Removed.
        * WebView/WebDynamicScrollBarsView.mm: Copied from WebKit/mac/WebView/WebDynamicScrollBarsView.m.

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

11 years agoWebCore:
beidson@apple.com [Tue, 9 Jun 2009 05:11:01 +0000 (05:11 +0000)]
WebCore:

2009-06-08  Brady Eidson  <beidson@apple.com>

        Reviewed by Antti Koivisto

        <rdar://problem/6727495> Repro crash in WebCore::Loader::Host::servePendingRequests() and dupes.

        Test: http/tests/loading/deleted-host-in-resource-load-delegate-callback.html

        Loader::Host objects were manually managed via new/delete.
        There's a variety of circumstances where a Host might've been deleted while it was still in the middle
        of a resource load delegate callback.
        Changing them to be RefCounted then adding protectors in the callbacks makes this possibility disappear.

        At the same time, remove ProcessingResource which was an earlier fix for this same problem that wasn't
        fully implemented.

        * loader/loader.cpp:
        (WebCore::Loader::Loader):
        (WebCore::Loader::load):
        (WebCore::Loader::servePendingRequests):
        (WebCore::Loader::resumePendingRequests):
        (WebCore::Loader::cancelRequests):
        (WebCore::Loader::Host::didFinishLoading):
        (WebCore::Loader::Host::didFail):
        (WebCore::Loader::Host::didReceiveResponse):
        (WebCore::Loader::Host::didReceiveData):
        * loader/loader.h:
        (WebCore::Loader::Host::create):

WebKitTools:

2009-06-08  Brady Eidson  <beidson@apple.com>

        Reviewed by Antti Koivisto

        Add dispatchPendingLoadRequests() to test fix for <rdar://problem/6727495>

        * DumpRenderTree/LayoutTestController.cpp:
        (dispatchPendingLoadRequestsCallback):
        (LayoutTestController::staticFunctions):
        * DumpRenderTree/LayoutTestController.h:

        * DumpRenderTree/mac/LayoutTestControllerMac.mm:
        (LayoutTestController::dispatchPendingLoadRequests): Implement using [WebView _dispatchPendingLoadRequests] SPI

        * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
        (LayoutTestController::dispatchPendingLoadRequests): Need implementations.
        * DumpRenderTree/qt/jsobjects.cpp:
        (LayoutTestController::dispatchPendingLoadRequests): Ditto.
        * DumpRenderTree/win/LayoutTestControllerWin.cpp:
        (LayoutTestController::dispatchPendingLoadRequests): Ditto.
        * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
        (LayoutTestController::dispatchPendingLoadRequests): Ditto.

LayoutTests:

2009-06-08  Brady Eidson  <beidson@apple.com>

        Reviewed by Antti Koivisto

        <rdar://problem/6727495> Repro crash in WebCore::Loader::Host::servePendingRequests() and dupes.

        Note this "Loader::Host deleted while still in use" could come up in a variety of ways but this layout
        test only covers the single most reproducible way we know that *could* be tested by DRT.

        * http/tests/loading/deleted-host-in-resource-load-delegate-callback-expected.txt: Added.
        * http/tests/loading/deleted-host-in-resource-load-delegate-callback.html: Added.
        * http/tests/loading/resources/snow-shoes-vs-pie-copy.png: Added.
        * http/tests/loading/resources/snow-shoes-vs-pie.png: Added.

        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

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

11 years agoSpeculative GTK build fix.
mrowe@apple.com [Tue, 9 Jun 2009 04:48:45 +0000 (04:48 +0000)]
Speculative GTK build fix.

* wtf/DateMath.cpp:

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

11 years ago2009-06-08 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Tue, 9 Jun 2009 04:20:36 +0000 (04:20 +0000)]
2009-06-08  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Mark Rowe.

        Previous patch caused a regression.

        Restructure so no new (empty, inline) function calls are added on x86.

        * jit/ExecutableAllocator.h:
        (JSC::ExecutableAllocator::makeWritable):
        (JSC::ExecutableAllocator::makeExecutable):
        (JSC::ExecutableAllocator::reprotectRegion):
        (JSC::ExecutableAllocator::cacheFlush):

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

11 years ago2009-06-08 Dimitri Glazkov <dglazkov@chromium.org>
dglazkov@chromium.org [Tue, 9 Jun 2009 03:56:34 +0000 (03:56 +0000)]
2009-06-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, GTK build fix (thanks, bdash).

        * GNUmakefile.am: Moved DateMath with all other wtf kin.

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

11 years ago2009-06-08 Dmitry Titov <dimich@chromium.org>
dimich@chromium.org [Tue, 9 Jun 2009 03:01:52 +0000 (03:01 +0000)]
2009-06-08  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=26126
        Refactor methods of WorkerMessagingProxy used to talk to main-thread loader into new interface.

        Split a couple of methods used to schedule cross-thread tasks between worker thread and loader thread
        implemented on WorkerMessagingProxy into a separate interface so the loading can be implemented in
        Chromium's workers.

        No changes in functionality so no tests added.

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Added WorkerLoaderProxy.h to the bulid.

        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate): WorkerThread::workerObjectProxy() now returns & instead of *
        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate): same.
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::~WorkerContext): same.
        (WebCore::WorkerContext::reportException): same.
        (WebCore::WorkerContext::addMessage): same.
        (WebCore::WorkerContext::postMessage): same.

        * loader/WorkerThreadableLoader.cpp:
        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
        Use WorkerLoaderProxy instead of WorkerMessagingProxy for the MainThreadBridge.
        Mostly rename.

        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
        In addition to using WorkerLoaderProxy instead of WorkerMessagingProxy, the check for
        AskedToTerminate is removed. It seems to be an optimization for a very small number of cases
        when worker termination is requested a very short time before the request to load something
        (XHR or importScript) was dispatched on the main thread.

        * loader/WorkerThreadableLoader.h:
        Now keeps a pointer to WorkerLoaderProxy rather then to a WorkerMessagingProxy. This allows
        to implement WorkerThreadableLoader for Chromium.

        * workers/WorkerLoaderProxy.h: Added.
        (WebCore::WorkerLoaderProxy::~WorkerLoaderProxy):

        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerMessagingProxy::startWorkerContext):
        (WebCore::WorkerMessagingProxy::postTaskToLoader): Added ASSERT since this needs to be implemented for nested workers.
        * workers/WorkerMessagingProxy.h:
        Derived from WorkerLoaderProxy, the methods for posting tasks cross-thread are now virtual.
        Removed unused postTaskToWorkerContext() method.

        * workers/WorkerThread.cpp:
        (WebCore::WorkerThread::create):
        (WebCore::WorkerThread::WorkerThread):
        * workers/WorkerThread.h:
        (WebCore::WorkerThread::workerLoaderProxy):
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThread::create):
        (WebCore::WorkerThread::WorkerThread):
        (WebCore::WorkerThread::workerThread):
        * workers/WorkerThread.h:
        (WebCore::WorkerThread::workerLoaderProxy):
        (WebCore::WorkerThread::workerObjectProxy):
        WorkerThread gets a new member of type WorkerLoaderProxy&, and accessor.
        Also, existing WorkerObjectProxy* member is now WorkerObjectProxy& because it can't be null.

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

11 years ago2009-06-08 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Tue, 9 Jun 2009 01:40:59 +0000 (01:40 +0000)]
2009-06-08  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

        Add (incomplete) support to YARR for running with the jit enabled
        on Arm thumb2 platforms.  Adds new Assembler/MacroAssembler classes,
        along with cache flushing support, tweaks to MacroAssemblerCodePtr
        to support decorated thumb code pointers, and new enter/exit code
        to YARR jit for the platform.

        Support for this platform is still under development - the assembler
        currrently only supports planting and linking jumps with a 16Mb range.
        As such, initially commiting in a disabled state.

        * JavaScriptCore.xcodeproj/project.pbxproj:
            Add new assembler files.
        * assembler/ARMv7Assembler.h: Added.
            Add new Assembler.
        * assembler/AbstractMacroAssembler.h:
            Tweaks to ensure sizes of pointer values planted in JIT code do not change.
        * assembler/MacroAssembler.h:
            On ARMv7 platforms use MacroAssemblerARMv7.
        * assembler/MacroAssemblerARMv7.h: Added.
            Add new MacroAssembler.
        * assembler/MacroAssemblerCodeRef.h:
        (JSC::FunctionPtr::FunctionPtr):
            Add better ASSERT.
        (JSC::ReturnAddressPtr::ReturnAddressPtr):
            Add better ASSERT.
        (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
            On ARMv7, MacroAssemblerCodePtr's mush be 'decorated' with a low bit set,
            to indicate to the processor that the code is thumb code, not traditional
            32-bit ARM.
        (JSC::MacroAssemblerCodePtr::dataLocation):
            On ARMv7, decoration must be removed.
        * jit/ExecutableAllocator.h:
        (JSC::ExecutableAllocator::makeWritable):
            Reformatted, no change.
        (JSC::ExecutableAllocator::makeExecutable):
            When marking code executable also cache flush it, where necessary.
        (JSC::ExecutableAllocator::MakeWritable::MakeWritable):
            Only use the null implementation of this class if both !ASSEMBLER_WX_EXCLUSIVE
            and running on x86(_64) - on other platforms we may also need ensure that
            makeExecutable is called at the end to flush caches.
        (JSC::ExecutableAllocator::reprotectRegion):
            Reformatted, no change.
        (JSC::ExecutableAllocator::cacheFlush):
            Cache flush a region of memory, or platforms where this is necessary.
        * wtf/Platform.h:
            Add changes necessary to allow YARR jit to build on this platform, disabled.
        * yarr/RegexJIT.cpp:
        (JSC::Yarr::RegexGenerator::generateEnter):
        (JSC::Yarr::RegexGenerator::generateReturn):
            Add support to these methods for ARMv7.

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

11 years ago2009-06-08 Dimitri Glazkov <dglazkov@chromium.org>
dglazkov@chromium.org [Mon, 8 Jun 2009 23:59:14 +0000 (23:59 +0000)]
2009-06-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, fix my previous fix.

        * runtime/DateInstance.cpp:
        (JSC::DateInstance::msToGregorianDateTime): Use WTF namespace qualifier to
            disambiguate func signatures.

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

11 years ago2009-06-08 Dimitri Glazkov <dglazkov@chromium.org>
dglazkov@chromium.org [Mon, 8 Jun 2009 23:52:09 +0000 (23:52 +0000)]
2009-06-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, another Windows build fix.

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:

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

11 years agoAttempt to fix the Tiger build.
mrowe@apple.com [Mon, 8 Jun 2009 23:48:49 +0000 (23:48 +0000)]
Attempt to fix the Tiger build.

* wtf/Platform.h: Only test the value of the macro once we know it is defined.

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

11 years ago2009-06-08 Dimitri Glazkov <dglazkov@chromium.org>
dglazkov@chromium.org [Mon, 8 Jun 2009 23:16:04 +0000 (23:16 +0000)]
2009-06-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, projectile-fixing Windows build.

        * runtime/DateConversion.cpp: Added StringExtras include.
        * wtf/DateMath.cpp: Replaced math with algorithm include (looking for std::min def for Windows).

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

11 years ago2009-06-08 Dimitri Glazkov <dglazkov@chromium.org>
dglazkov@chromium.org [Mon, 8 Jun 2009 23:01:48 +0000 (23:01 +0000)]
2009-06-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, Windows build fix.

        * runtime/DateConstructor.cpp: Changed to use WTF namespace.
        * runtime/DateConversion.cpp: Added UString include.
        * runtime/DateInstance.cpp: Changed to use WTF namespace.
        * wtf/DateMath.cpp: Added math include.

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

11 years agoJavaScriptCore:
dglazkov@chromium.org [Mon, 8 Jun 2009 22:37:06 +0000 (22:37 +0000)]
JavaScriptCore:

2009-06-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26238
        Move most of runtime/DateMath functions to wtf/DateMath, and split off conversion-related
        helpers to DateConversion.

        * AllInOneFile.cpp: Changed DateMath->DateConversion.
        * GNUmakefile.am: Ditto and added DateMath.
        * JavaScriptCore.exp: Ditto.
        * JavaScriptCore.pri: Ditto.
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Ditto.
        * JavaScriptCore.vcproj/WTF/WTF.vcproj: Added DateMath.
        * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
        * JavaScriptCoreSources.bkl: Ditto.
        * pcre/pcre_exec.cpp: Changed to use DateMath.
        * profiler/ProfileNode.cpp:
        (JSC::getCount): Changed to use DateConversion.
        * runtime/DateConstructor.cpp: Ditto.
        * runtime/DateConversion.cpp: Copied from JavaScriptCore/runtime/DateMath.cpp.
        (JSC::parseDate): Refactored to use null-terminated characters as input.
        * runtime/DateConversion.h: Copied from JavaScriptCore/runtime/DateMath.h.
        * runtime/DateInstance.cpp: Changed to use wtf/DateMath.
        * runtime/DateInstance.h: Ditto.
        * runtime/DateMath.cpp: Removed.
        * runtime/DateMath.h: Removed.
        * runtime/DatePrototype.cpp: Ditto.
        * runtime/InitializeThreading.cpp: Ditto.
        * wtf/DateMath.cpp: Copied from JavaScriptCore/runtime/DateMath.cpp.
        * wtf/DateMath.h: Copied from JavaScriptCore/runtime/DateMath.h.

WebCore:

2009-06-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26238
        Add parseDate helper to HTTPParsers, which uses WTF::parseDateFromNullTerminatedCharacters.

        * ForwardingHeaders/runtime/DateMath.h: Removed.
        * ForwardingHeaders/wtf/DateMath.h: Copied from WebCore/ForwardingHeaders/runtime/DateMath.h.
        * platform/network/HTTPParsers.cpp:
        (WebCore::parseDate): Added.
        * platform/network/HTTPParsers.h:
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::parseDateValueInHeader): Changed to use the new helper.

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

11 years ago Windows build fix.
sfalken@apple.com [Mon, 8 Jun 2009 21:38:22 +0000 (21:38 +0000)]
    Windows build fix.

        * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:

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

11 years ago2009-06-07 David Kilzer <ddkilzer@apple.com>
barraclough@apple.com [Mon, 8 Jun 2009 20:47:43 +0000 (20:47 +0000)]
2009-06-07  David Kilzer  <ddkilzer@apple.com>

        Make JavaScriptCore compile for iPhone and iPhone Simulator

        Reviewed by Gavin Barraclough.

        * Configurations/Base.xcconfig: Split GCC_ENABLE_OBJC_GC on
        $(REAL_PLATFORM_NAME).  Added $(ARCHS_UNIVERSAL_IPHONE_OS) to
        VALID_ARCHS.  Added REAL_PLATFORM_NAME_iphoneos,
        REAL_PLATFORM_NAME_iphonesimulator, HAVE_DTRACE_iphoneos and
        HAVE_DTRACE_iphonesimulator variables.
        * Configurations/DebugRelase.xcconfig: Split ARCHS definition on
        $(REAL_PLATFORM_NAME).
        * Configurations/JavaScriptCore.xcconfig: Added
        EXPORTED_SYMBOLS_FILE_armv6 and EXPORTED_SYMBOLS_FILE_armv7
        variables.  Split OTHER_LDFLAGS into OTHER_LDFLAGS_BASE and
        OTHER_LDFLAGS_$(REAL_PLATFORM_NAME) since CoreServices.framework
        is only linked to on Mac OS X.
        * JavaScriptCore.xcodeproj/project.pbxproj: Removed references
        to CoreServices.framework since it's linked using OTHER_LDFLAGS
        in JavaScriptCore.xcconfig.
        * profiler/ProfilerServer.mm: Added #import for iPhone
        Simulator.
        (-[ProfilerServer init]): Conditionalize use of
        NSDistributedNotificationCenter to non-iPhone or iPhone
        Simulator.
        * wtf/FastMalloc.cpp:
        (WTF::TCMallocStats::): Build fix for iPhone and iPhone
        Simulator.
        * wtf/Platform.h: Defined PLATFORM(IPHONE) and
        PLATFORM(IPHONE_SIMULATOR).
        * wtf/ThreadingPthreads.cpp:
        (WTF::setThreadNameInternal): Build fix for iPhone and iPhone
        Simulator.

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

11 years ago2009-06-08 Adam Langley <agl@google.com>
agl@chromium.org [Mon, 8 Jun 2009 17:52:30 +0000 (17:52 +0000)]
2009-06-08  Adam Langley  <agl@google.com>

        Reviewed by Eric Siedel.

        Chromium Linux ignored the background color on <select>s. Rather
        than encode magic colours, we start with a base color (specified
        via CSS) and derive the other colors from it. Thus, setting the
        CSS background-color now correctly changes the colour of the
        control.

        This should not change the appearence controls without
        background-colors. However, <select>s with a background-color
        will now renderer correctly, which may require rebaselining
        pixel tests in the Chromium tree.

        https://bugs.webkit.org/show_bug.cgi?id=26030
        http://code.google.com/p/chromium/issues/detail?id=12596

        * platform/graphics/Color.cpp:
        (WebCore::Color::getHSL): new member
        * platform/graphics/Color.h:
        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::systemColor):
        (WebCore::brightenColor):
        (WebCore::paintButtonLike):

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

11 years ago2009-06-08 Gustavo Noronha Silva <gns@gnome.org>
kov@webkit.org [Mon, 8 Jun 2009 17:19:16 +0000 (17:19 +0000)]
2009-06-08  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Jan Alonzo.

        https://bugs.webkit.org/show_bug.cgi?id=26240
        [GTK] Try again button loses query strings

        Only trigger reload, when try again is clicked, this way we do not
        lose the query strings, like we did when also triggering a form
        submission.

        * resources/error.html:

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

11 years agoFixed the name in the ChangeLog
dglazkov@chromium.org [Mon, 8 Jun 2009 16:24:26 +0000 (16:24 +0000)]
Fixed the name in the ChangeLog

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

11 years ago2009-06-08 victorw <victorw@chromium.org>
dglazkov@chromium.org [Mon, 8 Jun 2009 16:23:41 +0000 (16:23 +0000)]
2009-06-08  victorw  <victorw@chromium.org>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=26087
        Bug 26087: Removing element in JS crashes Chrome tab if it fired the change event

        Fix tab crash caused by destroying the popup list that fired the change event on abandon.

        If a popup list is abandoned (press a key to jump to an item
        and then use tab or mouse to get away from the select box),
        the current code fires a change event in PopupListBox::updateFromElemt().
        The JS that listens to this event may destroy the object and cause the
        rest of popup list code crashes.

        The updateFromElement() is called before abandon() and this causes
        the selected index to be discarded after updateFromElement(). From
        the code comments, this appears to be the reason why valueChanged is
        called in updateFromElement.

        Fix the issue by removing the valueChanged call in updateFromElement,
        saving the selected index that we should accept on abandon and pass
        it to the valueChange in abandon().

        A manual test has been added.

        * manual-tests/chromium: Added.
        * manual-tests/chromium/onchange-reload-popup.html: Added.
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::PopupListBox):
        (WebCore::PopupListBox::handleKeyEvent):
        (WebCore::PopupListBox::abandon):
        (WebCore::PopupListBox::updateFromElement):

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

11 years ago2009-06-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
vestbo@webkit.org [Mon, 8 Jun 2009 15:53:41 +0000 (15:53 +0000)]
2009-06-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Disable a few warnings on Windows

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

11 years ago2009-06-08 Simon Hausmann <simon.hausmann@nokia.com>
hausmann@webkit.org [Mon, 8 Jun 2009 15:51:51 +0000 (15:51 +0000)]
2009-06-08  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Holger Freyther.

        Renamed QWebElement::enclosingBlock to enclosingBlockElement
        and changed the return type to QWebElement, as discussed in
        the API review. This API is more generic and through
        QWebElement's geometry() it is possible to retrieve the
        same information.

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

11 years ago2009-06-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
vestbo@webkit.org [Mon, 8 Jun 2009 15:38:43 +0000 (15:38 +0000)]
2009-06-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Don't enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH on Windows

        This define was brought in after refactoring some code from
        PluginPackage(Qt|Gtk).cpp into the shared PluginPackage.cpp.

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

11 years ago2009-06-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
vestbo@webkit.org [Mon, 8 Jun 2009 14:35:46 +0000 (14:35 +0000)]
2009-06-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Use $QMAKE_PATH_SEP instead of hardcoded / to fix Windows build

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

11 years ago2009-06-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
ariya@webkit.org [Mon, 8 Jun 2009 12:05:46 +0000 (12:05 +0000)]
2009-06-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] Build fix when NETSCAPE_PLUGIN_API support is turned off
        https://bugs.webkit.org/show_bug.cgi?id=26244

        * WebCore.pro: Define PLUGIN_PACKAGE_SIMPLE_HASH only if
        NETSCAPE_PLUGIN_API is turned on
        * plugins/PluginPackage.cpp: Guard initializeBrowserFuncs()
        * plugins/PluginViewNone.cpp: Match guards with PluginView.h

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

11 years agoRevert "2009-06-05 WANG Lu <coolwanglu@gmail.com>"
jmalonzo@webkit.org [Mon, 8 Jun 2009 06:38:57 +0000 (06:38 +0000)]
Revert "2009-06-05  WANG Lu  <coolwanglu@gmail.com>"

Revert commit r44479 as we need to workout first what the best option is for adding
optional features like this.

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

11 years ago2009-06-07 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Mon, 8 Jun 2009 04:28:39 +0000 (04:28 +0000)]
2009-06-07  Gavin Barraclough  <barraclough@apple.com>

        RS by Sam Weinig.

        Remove bonus bogus \n from last commit.

        * jit/JITStubs.cpp:
        (JSC::):

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

11 years ago2009-06-07 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Mon, 8 Jun 2009 04:23:57 +0000 (04:23 +0000)]
2009-06-07  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig.

        Change the implementation of op_throw so the stub function always modifies its
        return address - if it doesn't find a 'catch' it will switch to a trampoline
        to force a return from JIT execution.  This saves memory, by avoiding the need
        for a unique return for every op_throw.

        * jit/JITOpcodes.cpp:
        (JSC::JIT::emit_op_throw):
            JITStubs::cti_op_throw now always changes its return address,
            remove return code generated after the stub call (this is now
            handled by ctiOpThrowNotCaught).
        * jit/JITStubs.cpp:
        (JSC::):
            Add ctiOpThrowNotCaught definitions.
        (JSC::JITStubs::DEFINE_STUB_FUNCTION):
            Change cti_op_throw to always change its return address.
        * jit/JITStubs.h:
            Add ctiOpThrowNotCaught declaration.

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

11 years ago Reviewed by Sam Weinig.
mitz@apple.com [Mon, 8 Jun 2009 02:19:19 +0000 (02:19 +0000)]
    Reviewed by Sam Weinig.

        - fix <rdar://problem/6931661> -[WebView _selectionIsAll] returns YES
          when the selection is inside a text field.

        * editing/VisibleSelection.cpp:
        (WebCore::VisibleSelection::isAll): Return false if the selection is in
        a shadow tree.

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

11 years ago2009-06-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
kov@webkit.org [Sun, 7 Jun 2009 20:25:01 +0000 (20:25 +0000)]
2009-06-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=26106
        [GTK] Crashes when you keep a combo open during a page transition, then close it

        Hide the combo popup and disconnect from its signals during
        PopupMenu destruction to handle this exceptional case with no
        crash.

        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::menuUnmapped):

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

11 years agoDelete the AccessibilityController that we allocated in -init.
mrowe@apple.com [Sun, 7 Jun 2009 08:55:48 +0000 (08:55 +0000)]
Delete the AccessibilityController that we allocated in -init.

Rubber-stamped by Cameron Zwarich.

* DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate dealloc]):

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

11 years agoFactor out the code to check whether a library contains a given symbol in to a helper...
mrowe@apple.com [Sun, 7 Jun 2009 05:45:55 +0000 (05:45 +0000)]
Factor out the code to check whether a library contains a given symbol in to a helper function.

Reviewed by Dan Bernstein.

* Scripts/webkitdirs.pm:

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

11 years agoDetect when XHTML MP and WCSS are disabled and skip their associated regression tests.
mrowe@apple.com [Sun, 7 Jun 2009 05:25:30 +0000 (05:25 +0000)]
Detect when XHTML MP and WCSS are disabled and skip their associated regression tests.

Reviewed by Sam Weinig.

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

Remove XHTML MP and WCSS tests from the skipped lists as run-webkit-tests
now treats them like our other optional features and will skip them automatically
when the feature is not compiled in.

* platform/gtk/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:

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

11 years agoUnskip two more tests that now pass.
mrowe@apple.com [Sun, 7 Jun 2009 03:09:39 +0000 (03:09 +0000)]
Unskip two more tests that now pass.

* platform/mac-snowleopard/Skipped:

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

11 years ago2009-06-06 Gustavo Noronha Silva <gns@gnome.org>
kov@webkit.org [Sun, 7 Jun 2009 01:38:57 +0000 (01:38 +0000)]
2009-06-06  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Xan Lopez.

        https://bugs.webkit.org/show_bug.cgi?id=26175
        [GTK] Download progress notification should be throttled, for the benefit of download managers

        Throttle notifications for the 'progress' property of the Download
        object, and update documentation to note the fact that this is
        being done, and how to get all notifications if you really care
        about them.

        * webkit/webkitdownload.cpp:
        (webkit_download_class_init):
        (webkit_download_received_data):

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

11 years agoUnskip some tests now that they pass.
mrowe@apple.com [Sun, 7 Jun 2009 01:10:05 +0000 (01:10 +0000)]
Unskip some tests now that they pass.

* platform/mac-snowleopard/Skipped:

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

11 years ago<rdar://problem/6778101> Four SSL-related test failures
mrowe@apple.com [Sun, 7 Jun 2009 01:10:02 +0000 (01:10 +0000)]
<rdar://problem/6778101> Four SSL-related test failures

Reviewed by Brady Eidson.

With newer versions of CFNetwork we receive a NSURLErrorServerCertificateUntrusted error
code rather than the more specific NSURLErrorServerCertificateHasUnknownRoot that DumpRenderTree
was looking for.  Update DumpRenderTree to accommodate the different error code.

* DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):

* platform/mac-snowleopard/Skipped: Unskip the tests.

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

11 years agoWebCore:
weinig@apple.com [Sun, 7 Jun 2009 00:20:25 +0000 (00:20 +0000)]
WebCore:

2009-06-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Fix for <rdar://problem/6930540>
        REGRESSION (r43797): Serif and fantasy font-family names are wrong in result of getComputedStyle

        Test: fast/css/font-family-builtins.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::identifierForFamily): Fix typo. Fantasy family should be
        -webkit-fantasy not, -webkit-serif.

LayoutTests:

2009-06-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Test for <rdar://problem/6930540>
        REGRESSION (r43797): Serif and fantasy font-family names are wrong in result of getComputedStyle

        * fast/css/font-family-builtins-expected.txt: Added.
        * fast/css/font-family-builtins.html: Added.

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

11 years agoWebCore:
weinig@apple.com [Sat, 6 Jun 2009 22:17:09 +0000 (22:17 +0000)]
WebCore:

2009-06-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Brady Eidson.

        Fix for <rdar://problem/6936235>
        Need to support StorageEvent.storageArea to meet the Web Storage spec

        * storage/LocalStorageArea.cpp:
        (WebCore::LocalStorageArea::dispatchStorageEvent): Pass the localStorage for
        the frame being dispatched to.
        * storage/SessionStorageArea.cpp:
        (WebCore::SessionStorageArea::dispatchStorageEvent): Ditto, only for sessionStorage.

        * storage/StorageEvent.cpp:
        (WebCore::StorageEvent::StorageEvent):
        (WebCore::StorageEvent::initStorageEvent):
        * storage/StorageEvent.h:
        (WebCore::StorageEvent::create):
        (WebCore::StorageEvent::storageArea):
        * storage/StorageEvent.idl:
        Add storageArea member.

LayoutTests:

2009-06-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Brady Eidson.

        Update tests for <rdar://problem/6936235>
        Need to support StorageEvent.storageArea to meet the Web Storage spec

        Test StorageEvent.uri, StorageEvent.source and StorageEvent.storageArea.

        * storage/domstorage/localstorage/iframe-events-expected.txt:
        * storage/domstorage/localstorage/iframe-events.html:
        * storage/domstorage/localstorage/resources/iframe-events-second.html:
        * storage/domstorage/sessionstorage/iframe-events-expected.txt:
        * storage/domstorage/sessionstorage/iframe-events.html:
        * storage/domstorage/sessionstorage/resources/iframe-events-second.html:

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

11 years agoReviewed by Anders Carlsson.
zimmermann@webkit.org [Sat, 6 Jun 2009 16:53:03 +0000 (16:53 +0000)]
Reviewed by Anders Carlsson.

Force initialization of the WML variable state, right after the dynamically created WML elements have been added to the tree.
Note that "regular WML" doesn't support JavaScript at all, in a normal WML document WMLDocument::finishedParsing() takes care of that.

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

11 years ago2009-06-05 WANG Lu <coolwanglu@gmail.com>
jmalonzo@webkit.org [Sat, 6 Jun 2009 04:49:05 +0000 (04:49 +0000)]
2009-06-05  WANG Lu  <coolwanglu@gmail.com>

        Reviewed by Jan Alonzo.

        [Gtk] WebKit GTK with libsoup won't recognize proxies
        https://bugs.webkit.org/show_bug.cgi?id=25263

        Added --with-libsoup-gnome (default=no) to enable GNOME-specific
        features of libsoup, an important one of which is the proxy-resolver
        feature.

        * configure.ac:

2009-06-05  WANG Lu  <coolwanglu@gmail.com>

        Reviewed by Jan Alonzo.

        [Gtk] WebKit GTK with libsoup won't recognize proxies
        https://bugs.webkit.org/show_bug.cgi?id=25263

        If libsoup-gnome is enabled, proper parameters are added when creating
        a new soup session, in order to enable GNOME-specific features of
        libsoup.

        * GNUmakefile.am:
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::createSoupSession):

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

11 years ago2009-06-05 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Sat, 6 Jun 2009 02:54:22 +0000 (02:54 +0000)]
2009-06-05  Gavin Barraclough  <barraclough@apple.com>

        Rudder stamped by Sam Weinig.

        Add missing ASSERT.

        * assembler/X86Assembler.h:
        (JSC::X86Assembler::getRelocatedAddress):

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

11 years ago2009-06-05 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Sat, 6 Jun 2009 02:39:36 +0000 (02:39 +0000)]
2009-06-05  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig.

        Switch storePtrWithPatch to take the initial immediate value as an argument.

        * assembler/MacroAssemblerX86.h:
        (JSC::MacroAssemblerX86::storePtrWithPatch):
        * assembler/MacroAssemblerX86_64.h:
        (JSC::MacroAssemblerX86_64::storePtrWithPatch):
        * jit/JITOpcodes.cpp:
        (JSC::JIT::emit_op_jsr):

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

11 years ago2009-06-05 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Sat, 6 Jun 2009 00:08:00 +0000 (00:08 +0000)]
2009-06-05  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig.

        Remove patchLength..tByIdExternalLoadPrefix magic numbers from JIT.h.

        These aren't really suitable values to be tracking within common code
        of the JIT, since they are not (and realistically cannot) be checked
        by ASSERTs, as the other repatch offsets are.  Move this functionality
        (skipping the REX prefix when patching load instructions to LEAs on
        x86-64) into the X86Assembler.

        * assembler/AbstractMacroAssembler.h:
        (JSC::AbstractMacroAssembler::CodeLocationInstruction::repatchLoadPtrToLEA):
        * assembler/X86Assembler.h:
        (JSC::X86Assembler::repatchLoadPtrToLEA):
        * jit/JIT.h:
        * jit/JITPropertyAccess.cpp:
        (JSC::JIT::patchGetByIdSelf):
        (JSC::JIT::patchPutByIdReplace):

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

11 years ago2009-06-05 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 5 Jun 2009 23:24:58 +0000 (23:24 +0000)]
2009-06-05  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Add ononline and onoffline attributes for the <body> element.

        * html/HTMLAttributeNames.in: Added ononlineAttr and onofflineAttr.
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::parseMappedAttribute): Map ononlineAttr
        and onofflineAttr to window event listeners.

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

11 years ago2009-06-05 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 5 Jun 2009 20:22:32 +0000 (20:22 +0000)]
2009-06-05  David Hyatt  <hyatt@apple.com>

        Reviewed by Mark Rowe.

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

        Update a WebView's active state when it moves to a different window.

        * WebView/WebView.mm:
        (-[WebView viewDidMoveToWindow]):

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

11 years ago2009-06-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.com>
ddkilzer@apple.com [Fri, 5 Jun 2009 17:43:07 +0000 (17:43 +0000)]
2009-06-05  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.com>

        Bug 26188: Clarify some of the cases in the coding style guide

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

        Reviewed and tweaked by David Kilzer.

        Changed the coding style document to clarify some cases of ambiguity.

        * coding/coding-style.html:

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

11 years ago2009-06-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
vestbo@webkit.org [Fri, 5 Jun 2009 16:02:29 +0000 (16:02 +0000)]
2009-06-05  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Add missing includes of config.h

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

11 years ago2009-06-05 Fumitoshi Ukai <ukai@google.com>
dglazkov@chromium.org [Fri, 5 Jun 2009 14:53:24 +0000 (14:53 +0000)]
2009-06-05  Fumitoshi Ukai  <ukai@google.com>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=26215
        Try to fix the Chromium build.

        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
        (WebCore::fillBMPGlyphs):
        (WebCore::fillNonBMPGlyphs):

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

11 years agoJavaScriptCore:
ddkilzer@apple.com [Fri, 5 Jun 2009 14:43:52 +0000 (14:43 +0000)]
JavaScriptCore:

2009-06-05  Shinichiro Hamaji  <hamaji@chromium.org>

        Bug 26160: Compile fails in MacOSX when GNU fileutils are installed

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

        Reviewed by Alexey Proskuryakov.

        Use /bin/ln instead of ln for cases where this command is used with -h option.
        As this option is not supported by GNU fileutils, this change helps users
        who have GNU fileutils in their PATH.

        * JavaScriptCore.xcodeproj/project.pbxproj:

WebCore:

2009-06-05  Shinichiro Hamaji  <hamaji@chromium.org>

        Bug 26160: Compile fails in MacOSX when GNU fileutils are installed

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

        Reviewed by Alexey Proskuryakov.

        Use /bin/ln instead of ln for cases where this command is used with -h option.
        As this option is not supported by GNU fileutils, this change helps users
        who have GNU fileutils in their PATH.

        * WebCore.xcodeproj/project.pbxproj:

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

11 years agoFix the Qt build after r44413
vestbo@webkit.org [Fri, 5 Jun 2009 14:10:38 +0000 (14:10 +0000)]
Fix the Qt build after r44413

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

11 years ago2009-06-03 Ben Murdoch <benm@google.com>
oliver@apple.com [Fri, 5 Jun 2009 14:00:20 +0000 (14:00 +0000)]
2009-06-03  Ben Murdoch  <benm@google.com>

        <https://bugs.webkit.org/show_bug.cgi?id=25710> HTML5 Database stops executing transactions if the URL hash changes while a transaction is open and an XHR is in progress.

        Reviewed by Alexey Proskuryakov.

        Fix a bug that causes database transactions to fail if a history navigation to a hash fragment of the same document is made while resources (e.g. an XHR) are loading
        https://bugs.webkit.org/show_bug.cgi?id=25710

        Test: storage/hash-change-with-xhr.html

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::stopLoading):
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::stopAllLoaders):
        * loader/FrameLoader.h:
        * loader/FrameLoaderTypes.h:
        (WebCore::):
        * page/Page.cpp:
        (WebCore::Page::goToItem):
        * WebCore.base.exp:

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

11 years ago2009-06-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
vestbo@webkit.org [Fri, 5 Jun 2009 12:12:25 +0000 (12:12 +0000)]
2009-06-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Make sure the correct config.h is included when shadow-building

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

11 years ago2009-06-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
vestbo@webkit.org [Fri, 5 Jun 2009 12:05:38 +0000 (12:05 +0000)]
2009-06-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Rubber-stamped by Simon Hausmann.

        [Qt] Fix Perl warning when calling chdir with an empty/undefined path

        This happened when the included makespec was in the same directory as
        the parent makespec, so the relative path between the two was empty.

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

11 years ago2009-06-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
vestbo@webkit.org [Fri, 5 Jun 2009 12:03:55 +0000 (12:03 +0000)]
2009-06-05  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        Fix Qt build after r44452

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

11 years agoAdd missing changelog for r44462
vestbo@webkit.org [Fri, 5 Jun 2009 11:27:03 +0000 (11:27 +0000)]
Add missing changelog for r44462

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

11 years agoFix the Qt build (missing symbols)
vestbo@webkit.org [Fri, 5 Jun 2009 11:24:49 +0000 (11:24 +0000)]
Fix the Qt build (missing symbols)

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

11 years ago[Qt] Remove some dead code (MenuEventProxy)
vestbo@webkit.org [Fri, 5 Jun 2009 11:24:38 +0000 (11:24 +0000)]
[Qt] Remove some dead code (MenuEventProxy)

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

11 years ago2009-06-05 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Fri, 5 Jun 2009 10:58:16 +0000 (10:58 +0000)]
2009-06-05  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Remove DoubleNotEqual floating point comparison condition for now -
        it is not used, and it is unclear the semantics are correct (I think
        this comparison would actually give you not-equal-or-unordered, which
        might be what is wanted... we can revisit this interface & get it
        right when required).

        Also, fix asserts in branchArith32 ops.  All adds & subs can check
        for Signed, multiply only sets OF so can only check for overflow.

        * assembler/MacroAssemblerX86Common.h:
        (JSC::MacroAssemblerX86Common::):
        (JSC::MacroAssemblerX86Common::branchAdd32):
        (JSC::MacroAssemblerX86Common::branchMul32):
        (JSC::MacroAssemblerX86Common::branchSub32):

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

11 years ago2009-06-05 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Fri, 5 Jun 2009 10:46:18 +0000 (10:46 +0000)]
2009-06-05  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Minor tidy up in JITStubs.

        * jit/JITStubs.cpp:
        (JSC::StackHack::StackHack):
        * jit/JITStubs.h:

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

11 years ago2009-06-05 Koen Kooi <koen@dominion.thruhere.net>
xan@webkit.org [Fri, 5 Jun 2009 10:15:30 +0000 (10:15 +0000)]
2009-06-05  Koen Kooi <koen@dominion.thruhere.net>

        Reviewed by Xan Lopez.

        Build fix for glib unicode backend.

        * wtf/unicode/glib/UnicodeMacrosFromICU.h:

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

11 years ago2009-06-05 Xan Lopez <xlopez@igalia.com>
xan@webkit.org [Fri, 5 Jun 2009 09:31:39 +0000 (09:31 +0000)]
2009-06-05  Xan Lopez  <xlopez@igalia.com>

        More build fixes.

        * platform/graphics/gtk/GlyphPageTreeNodePango.cpp:
        (WebCore::GlyphPage::fill):

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

11 years ago2009-06-05 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Fri, 5 Jun 2009 09:19:23 +0000 (09:19 +0000)]
2009-06-05  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        3 tiny cleanups:

        * assembler/MacroAssemblerX86.h:
        * assembler/MacroAssemblerX86_64.h:
        (JSC::MacroAssemblerX86_64::storePtrWithPatch):
            store*() methods should take an ImplicitAddress, rather than an Address.
        * assembler/X86Assembler.h:
            Make patchPointer private.
        * jit/JITOpcodes.cpp:
        (JSC::JIT::emit_op_ret):
            Remove empty line at end of function.

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

11 years ago2009-06-05 Xan Lopez <xlopez@igalia.com>
xan@webkit.org [Fri, 5 Jun 2009 09:16:25 +0000 (09:16 +0000)]
2009-06-05  Xan Lopez  <xlopez@igalia.com>

        Fix the GTK+ build.

        * GNUmakefile.am:
        * platform/graphics/gtk/FontCacheGtk.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
        (WebCore::GlyphPage::fill):

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

11 years ago2009-06-05 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Fri, 5 Jun 2009 07:55:38 +0000 (07:55 +0000)]
2009-06-05  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Encapsulate many uses of void* in the assembler & jit with types that provide
        more semantic information.  The new types are:

            * MacroAssemblerCodePtr - this wraps a pointer into JIT generated code.
            * FunctionPtr - this wraps a pointer to a C/C++ function in JSC.
            * ReturnAddressPtr - this wraps a return address resulting from a 'call' instruction.

        Wrapping these types allows for stronger type-checking than is possible with everything
        represented a void*.  For example, it is now enforced by the type system that near
        calls can only be linked to JIT code and not to C functions in JSC (this was previously
        required, but could not be enforced on the interface).

        * assembler/AbstractMacroAssembler.h:
        (JSC::AbstractMacroAssembler::CodeLocationCommon::CodeLocationCommon):
        (JSC::AbstractMacroAssembler::CodeLocationCommon::dataLocation):
        (JSC::AbstractMacroAssembler::CodeLocationCommon::executableAddress):
        (JSC::AbstractMacroAssembler::CodeLocationCommon::reset):
        (JSC::AbstractMacroAssembler::CodeLocationInstruction::repatchLoadToLEA):
        (JSC::AbstractMacroAssembler::CodeLocationInstruction::CodeLocationInstruction):
        (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForSwitch):
        (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForExceptionHandler):
        (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForJSR):
        (JSC::AbstractMacroAssembler::CodeLocationLabel::operator!):
        (JSC::AbstractMacroAssembler::CodeLocationLabel::reset):
        (JSC::AbstractMacroAssembler::CodeLocationLabel::CodeLocationLabel):
        (JSC::AbstractMacroAssembler::CodeLocationLabel::getJumpDestination):
        (JSC::AbstractMacroAssembler::CodeLocationJump::relink):
        (JSC::AbstractMacroAssembler::CodeLocationJump::CodeLocationJump):
        (JSC::AbstractMacroAssembler::CodeLocationCall::relink):
        (JSC::AbstractMacroAssembler::CodeLocationCall::calleeReturnAddressValue):
        (JSC::AbstractMacroAssembler::CodeLocationCall::CodeLocationCall):
        (JSC::AbstractMacroAssembler::CodeLocationNearCall::relink):
        (JSC::AbstractMacroAssembler::CodeLocationNearCall::calleeReturnAddressValue):
        (JSC::AbstractMacroAssembler::CodeLocationNearCall::CodeLocationNearCall):
        (JSC::AbstractMacroAssembler::CodeLocationDataLabel32::repatch):
        (JSC::AbstractMacroAssembler::CodeLocationDataLabel32::CodeLocationDataLabel32):
        (JSC::AbstractMacroAssembler::CodeLocationDataLabelPtr::repatch):
        (JSC::AbstractMacroAssembler::CodeLocationDataLabelPtr::CodeLocationDataLabelPtr):
        (JSC::AbstractMacroAssembler::ProcessorReturnAddress::relinkCallerToTrampoline):
        (JSC::AbstractMacroAssembler::ProcessorReturnAddress::relinkCallerToFunction):
        (JSC::AbstractMacroAssembler::ProcessorReturnAddress::relinkNearCallerToTrampoline):
        (JSC::AbstractMacroAssembler::ProcessorReturnAddress::addressForLookup):
        (JSC::AbstractMacroAssembler::trampolineAt):
        (JSC::AbstractMacroAssembler::PatchBuffer::link):
        (JSC::AbstractMacroAssembler::PatchBuffer::performFinalization):
        (JSC::::CodeLocationCommon::instructionAtOffset):
        (JSC::::CodeLocationCommon::labelAtOffset):
        (JSC::::CodeLocationCommon::jumpAtOffset):
        (JSC::::CodeLocationCommon::callAtOffset):
        (JSC::::CodeLocationCommon::nearCallAtOffset):
        (JSC::::CodeLocationCommon::dataLabelPtrAtOffset):
        (JSC::::CodeLocationCommon::dataLabel32AtOffset):
        * assembler/MacroAssemblerCodeRef.h:
        (JSC::FunctionPtr::FunctionPtr):
        (JSC::FunctionPtr::value):
        (JSC::FunctionPtr::executableAddress):
        (JSC::ReturnAddressPtr::ReturnAddressPtr):
        (JSC::ReturnAddressPtr::value):
        (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
        (JSC::MacroAssemblerCodePtr::executableAddress):
        (JSC::MacroAssemblerCodePtr::dataLocation):
        (JSC::MacroAssemblerCodeRef::MacroAssemblerCodeRef):
        * assembler/X86Assembler.h:
        (JSC::X86Assembler::patchPointerForCall):
        * jit/JIT.cpp:
        (JSC::ctiPatchNearCallByReturnAddress):
        (JSC::ctiPatchCallByReturnAddress):
        (JSC::JIT::privateCompile):
        (JSC::JIT::privateCompileCTIMachineTrampolines):
        * jit/JIT.h:
        (JSC::JIT::compileCTIMachineTrampolines):
        * jit/JITCall.cpp:
        (JSC::JIT::compileOpCall):
        * jit/JITCode.h:
        (JSC::JITCode::operator !):
        (JSC::JITCode::addressForCall):
        (JSC::JITCode::offsetOf):
        (JSC::JITCode::execute):
        (JSC::JITCode::size):
        (JSC::JITCode::HostFunction):
        * jit/JITInlineMethods.h:
        (JSC::JIT::emitNakedCall):
        * jit/JITPropertyAccess.cpp:
        (JSC::JIT::privateCompilePutByIdTransition):
        (JSC::JIT::patchGetByIdSelf):
        (JSC::JIT::patchPutByIdReplace):
        (JSC::JIT::privateCompilePatchGetArrayLength):
        (JSC::JIT::privateCompileGetByIdProto):
        (JSC::JIT::privateCompileGetByIdChain):
        * jit/JITStubs.cpp:
        (JSC::JITThunks::JITThunks):
        (JSC::JITThunks::tryCachePutByID):
        (JSC::JITThunks::tryCacheGetByID):
        (JSC::JITStubs::DEFINE_STUB_FUNCTION):
        * jit/JITStubs.h:
        (JSC::JITThunks::ctiArrayLengthTrampoline):
        (JSC::JITThunks::ctiStringLengthTrampoline):
        (JSC::JITThunks::ctiVirtualCallPreLink):
        (JSC::JITThunks::ctiVirtualCallLink):
        (JSC::JITThunks::ctiVirtualCall):
        (JSC::JITThunks::ctiNativeCallThunk):
        * yarr/RegexJIT.h:
        (JSC::Yarr::RegexCodeBlock::operator!):
        (JSC::Yarr::RegexCodeBlock::execute):

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

11 years ago2009-06-05 Antti Koivisto <antti@apple.com>
antti@apple.com [Fri, 5 Jun 2009 07:51:42 +0000 (07:51 +0000)]
2009-06-05  Antti Koivisto  <antti@apple.com>

        Try to unbreak Windows build.

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:

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

11 years ago2009-06-05 Antti Koivisto <antti@apple.com>
antti@apple.com [Fri, 5 Jun 2009 07:36:17 +0000 (07:36 +0000)]
2009-06-05  Antti Koivisto  <antti@apple.com>

        Try to fix Windows (and possibly other platforms) build.

        Restore ResourceResponseBase::lastModifiedDate() and setLastModifiedDate() removed in previous commit.
        for now since PluginStream used on some platforms expects them and calculations differ from plain
        Last-modified header value.

        Also include <wtf/MathExtras.h> to get isfinite().

        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::adopt):
        (WebCore::ResourceResponseBase::copyData):
        (WebCore::ResourceResponseBase::setLastModifiedDate):
        (WebCore::ResourceResponseBase::lastModifiedDate):
        * platform/network/ResourceResponseBase.h:
        * platform/network/cf/ResourceResponseCFNet.cpp:
        (WebCore::ResourceResponse::platformLazyInit):

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

11 years agoJavaScriptCore:
antti@apple.com [Fri, 5 Jun 2009 06:24:21 +0000 (06:24 +0000)]
JavaScriptCore:

2009-06-03  Antti Koivisto  <antti@apple.com>

        Reviewed by Dave Kilzer.

        https://bugs.webkit.org/show_bug.cgi?id=13128
        Safari not obeying cache header

        Export JSC::parseDate()

        * JavaScriptCore.exp:
        * JavaScriptCore.xcodeproj/project.pbxproj:

WebCore:

2009-06-03  Antti Koivisto  <antti@apple.com>

        Reviewed by Dave Kilzer.

        https://bugs.webkit.org/show_bug.cgi?id=13128
        Safari not obeying cache header

        Implement RFC 2616 cache expiration calculations in WebKit instead of
        relying on the networking layer.

        * ForwardingHeaders/runtime/DateMath.h: Added.
        * WebCore.base.exp:
        * loader/Cache.cpp:
        (WebCore::Cache::revalidationSucceeded):
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::CachedResource):
        (WebCore::CachedResource::isExpired):
        (WebCore::CachedResource::currentAge):
        (WebCore::CachedResource::freshnessLifetime):
        (WebCore::CachedResource::setResponse):
        (WebCore::CachedResource::updateResponseAfterRevalidation):
        (WebCore::CachedResource::mustRevalidate):
        * loader/CachedResource.h:
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::ResourceResponseBase):
        (WebCore::ResourceResponseBase::adopt):
        (WebCore::ResourceResponseBase::copyData):
        (WebCore::ResourceResponseBase::setHTTPHeaderField):
        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
        (WebCore::ResourceResponseBase::cacheControlContainsNoCache):
        (WebCore::ResourceResponseBase::cacheControlContainsMustRevalidate):
        (WebCore::ResourceResponseBase::cacheControlMaxAge):
        (WebCore::parseDateValueInHeader):
        (WebCore::ResourceResponseBase::date):
        (WebCore::ResourceResponseBase::age):
        (WebCore::ResourceResponseBase::expires):
        (WebCore::ResourceResponseBase::lastModified):
        (WebCore::ResourceResponseBase::isAttachment):
        (WebCore::ResourceResponseBase::compare):
        * platform/network/ResourceResponseBase.h:
        * platform/network/cf/ResourceResponseCFNet.cpp:
        (WebCore::ResourceResponse::platformLazyInit):
        * platform/network/mac/ResourceResponseMac.mm:
        (WebCore::ResourceResponse::platformLazyInit):

LayoutTests:

2009-06-03  Antti Koivisto  <antti@apple.com>

        Reviewed by Dave Kilzer.

        https://bugs.webkit.org/show_bug.cgi?id=13128
        Safari not obeying cache header

        Test subresource caching and expiration.

        * http/tests/cache: Added.
        * http/tests/cache/resources: Added.
        * http/tests/cache/resources/cache-simulator.cgi: Added.
        * http/tests/cache/resources/subresource-test.js: Added.
        (frame1.onload):
        (frame2.onload):
        (loadTestFrame.scr.onload):
        (nextTest):
        (testComplete):
        (runTests):
        * http/tests/cache/resources/test-frame.html: Added.
        * http/tests/cache/subresource-expiration-expected.txt: Added.
        * http/tests/cache/subresource-expiration.html: Added.

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

11 years agoWebKit:
weinig@apple.com [Fri, 5 Jun 2009 05:29:08 +0000 (05:29 +0000)]
WebKit:

2009-06-04  Sam Weinig  <sam@webkit.org>

        Reviewed by Alice Liu.

        Move WebView internal data into WebViewData.h/mm.

        * WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

2009-06-04  Sam Weinig  <sam@webkit.org>

        Reviewed by Alice Liu.

        Move WebView internal data into WebViewData.h/mm.

        * WebView/WebDelegateImplementationCaching.mm:
        * WebView/WebView.mm:
        * WebView/WebViewData.h: Copied from mac/WebView/WebViewInternal.h.
        * WebView/WebViewData.mm: Copied from mac/WebView/WebViewInternal.mm.
        * WebView/WebViewInternal.h:
        * WebView/WebViewInternal.mm: Removed.

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

11 years ago2009-06-04 Roland Steiner <rolandsteiner@google.com>
eric@webkit.org [Fri, 5 Jun 2009 03:45:58 +0000 (03:45 +0000)]
2009-06-04  Roland Steiner <rolandsteiner@google.com>

        Reviewed by Eric Seidel.

        Bug 26201: Remove superfluous 'if' statements in RenderTable::addChild
        https://bugs.webkit.org/show_bug.cgi?id=26201

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild): remove superfluous 'if' statements

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

11 years ago2009-06-04 Roland Steiner <rolandsteiner@google.com>
eric@webkit.org [Fri, 5 Jun 2009 03:31:01 +0000 (03:31 +0000)]
2009-06-04  Roland Steiner <rolandsteiner@google.com>

        Reviewed by Eric Seidel.

        Bug 26202: add macros for primitive values to simplify CSSStyleSelector::applyProperty
        https://bugs.webkit.org/show_bug.cgi?id=26202

        * css/CSSStyleSelector.cpp: add HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE[_WITH_VALUE] macros
        (WebCore::CSSStyleSelector::applyProperty): use new macros

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

11 years ago2009-06-04 Roland Steiner <rolandsteiner@google.com>
eric@webkit.org [Fri, 5 Jun 2009 03:30:02 +0000 (03:30 +0000)]
2009-06-04  Roland Steiner <rolandsteiner@google.com>

        Reviewed by Eric Seidel

        Bug 26203: Move parsing of 'attr(X)' values to own method
        https://bugs.webkit.org/show_bug.cgi?id=26203

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseAttr): new method
        (WebCore::CSSParser::parseContent): use new parseAttr method
        * css/CSSParser.h:
        (WebCore::CSSParser::parseAttr): new method

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

11 years ago2009-06-04 Roland Steiner <rolandsteiner@google.com>
eric@webkit.org [Fri, 5 Jun 2009 03:25:12 +0000 (03:25 +0000)]
2009-06-04  Roland Steiner <rolandsteiner@google.com>

        Reviewed by Eric Seidel.

        Bug 26205: RenderTableSection::addChild : correct comment
        https://bugs.webkit.org/show_bug.cgi?id=26205

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addChild): correct comment

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

11 years ago2009-06-04 Roland Steiner <rolandsteiner@google.com>
eric@webkit.org [Fri, 5 Jun 2009 03:22:22 +0000 (03:22 +0000)]
2009-06-04  Roland Steiner <rolandsteiner@google.com>

        Reviewed by Eric Seidel.

        Bug 26204: RenderBlock : simplify handleSpecialChild, comment correction
        https://bugs.webkit.org/show_bug.cgi?id=26204

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::handleSpecialChild): simplify usage
        (WebCore::RenderBlock::handlePositionedChild): simplify usage
        (WebCore::RenderBlock::handleFloatingChild): simplify usage
        (WebCore::RenderBlock::handleRunInChild): simplify usage
        (WebCore::RenderBlock::layoutBlock): correct comment
        (WebCore::RenderBlock::layoutBlockChildren): simplify loop, change call to handleSpecialChild
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::handleSpecialChild): change signature
        (WebCore::RenderBlock::handlePositionedChild): change signature
        (WebCore::RenderBlock::handleFloatingChild): change signature
        (WebCore::RenderBlock::handleRunInChild): change signature

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

11 years agoBug in property caching of getters and setters.
oliver@apple.com [Fri, 5 Jun 2009 01:27:42 +0000 (01:27 +0000)]
Bug in property caching of getters and setters.

Reviewed by Gavin Barraclough

Make sure that the transition logic accounts for getters and setters.
If we don't we end up screwing up the transition tables so that some
transitions will start incorrectly believing that they need to check
for getters and setters.

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

11 years ago - retry to fix the Tiger build
mitz@apple.com [Fri, 5 Jun 2009 00:58:19 +0000 (00:58 +0000)]
    - retry to fix the Tiger build

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::initFontData):

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

11 years ago2009-06-04 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Fri, 5 Jun 2009 00:36:56 +0000 (00:36 +0000)]
2009-06-04  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig.

        Minor tweak to PatchBuffer, change it so it no longer holds a CodeRef, and instead
        holds a separate code pointer and executable pool.  Since it now always holds its
        own copy of the code size, and to simplify the construction sequence, it's neater
        this way.

        * assembler/AbstractMacroAssembler.h:
        (JSC::AbstractMacroAssembler::PatchBuffer::PatchBuffer):
        (JSC::AbstractMacroAssembler::PatchBuffer::finalizeCode):
        (JSC::AbstractMacroAssembler::PatchBuffer::code):
        (JSC::AbstractMacroAssembler::PatchBuffer::performFinalization):

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

11 years ago - try to fix the Tiger build
mitz@apple.com [Fri, 5 Jun 2009 00:36:02 +0000 (00:36 +0000)]
    - try to fix the Tiger build

        * platform/graphics/SimpleFontData.h:

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

11 years ago - try to fix the Leopard and Tiger builds
mitz@apple.com [Fri, 5 Jun 2009 00:26:26 +0000 (00:26 +0000)]
    - try to fix the Leopard and Tiger builds

        * platform/graphics/SimpleFontData.h:

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

11 years ago - try to fix the Windows build
mitz@apple.com [Fri, 5 Jun 2009 00:24:12 +0000 (00:24 +0000)]
    - try to fix the Windows build

        * platform/graphics/win/UniscribeController.cpp:
        (WebCore::UniscribeController::shapeAndPlaceItem):

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

11 years ago Reviewed by Sam Weinig.
mitz@apple.com [Fri, 5 Jun 2009 00:11:53 +0000 (00:11 +0000)]
    Reviewed by Sam Weinig.

        - make SimpleFontData's data members private
        - rename SimpleFontData's m_font member to m_platformData

        * platform/graphics/Font.h:
        (WebCore::Font::spaceWidth):
        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::SimpleFontData):
        * platform/graphics/SimpleFontData.h:
        (WebCore::SimpleFontData::platformData):
        (WebCore::SimpleFontData::spaceWidth):
        (WebCore::SimpleFontData::adjustedSpaceWidth):
        (WebCore::SimpleFontData::syntheticBoldOffset):
        (WebCore::SimpleFontData::spaceGlyph):
        (WebCore::SimpleFontData::getNSFont):
        (WebCore::SimpleFontData::getQtFont):
        (WebCore::SimpleFontData::getWxFont):
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance):
        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::determinePitch):
        (WebCore::SimpleFontData::platformWidthForGlyph):
        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::containsCharacters):
        (WebCore::SimpleFontData::platformWidthForGlyph):
        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::setPangoAttributes):
        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::containsCharacters):
        (WebCore::SimpleFontData::determinePitch):
        (WebCore::SimpleFontData::platformWidthForGlyph):
        (WebCore::SimpleFontData::setFont):
        * platform/graphics/gtk/SimpleFontDataPango.cpp:
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::containsCharacters):
        (WebCore::SimpleFontData::determinePitch):
        (WebCore::SimpleFontData::platformWidthForGlyph):
        (WebCore::SimpleFontData::setFont):
        * platform/graphics/mac/CoreTextController.cpp:
        (WebCore::CoreTextController::adjustGlyphsAndAdvances):
        * platform/graphics/mac/FontMac.mm:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/mac/FontMacATSUI.mm:
        (WebCore::initializeATSUStyle):
        (WebCore::overrideLayoutOperation):
        (WebCore::ATSULayoutParameters::initialize):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::initFontData):
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::platformCharWidthInit):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::containsCharacters):
        (WebCore::SimpleFontData::determinePitch):
        (WebCore::SimpleFontData::platformWidthForGlyph):
        (WebCore::SimpleFontData::checkShapesArabic):
        (WebCore::SimpleFontData::getCTFont):
        * platform/graphics/qt/SimpleFontDataQt.cpp:
        (WebCore::SimpleFontData::determinePitch):
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::platformCharWidthInit):
        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::drawGDIGlyphs):
        (WebCore::Font::drawGlyphs):
        * platform/graphics/win/SimpleFontDataCGWin.cpp:
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::platformCharWidthInit):
        (WebCore::SimpleFontData::platformWidthForGlyph):
        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::platformDestroy):
        (WebCore::SimpleFontData::platformWidthForGlyph):
        (WebCore::SimpleFontData::setFont):
        * platform/graphics/win/SimpleFontDataWin.cpp:
        (WebCore::SimpleFontData::initGDIFont):
        (WebCore::SimpleFontData::smallCapsFontData):
        (WebCore::SimpleFontData::containsCharacters):
        (WebCore::SimpleFontData::determinePitch):
        (WebCore::SimpleFontData::widthForGDIGlyph):
        (WebCore::SimpleFontData::scriptFontProperties):
        * platform/graphics/wx/SimpleFontDataWx.cpp:
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::determinePitch):
        (WebCore::SimpleFontData::platformWidthForGlyph):

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

11 years ago2009-06-04 Paul Godavari <paul@chromium.org>
eric@webkit.org [Thu, 4 Jun 2009 23:01:51 +0000 (23:01 +0000)]
2009-06-04  Paul Godavari  <paul@chromium.org>

        Reviewed by Eric Seidel.

        Initialize the width of PopupMenuListBox properly for Mac Chromium.

        Added a test that works only with this patch applied. The test is
        a manual one, since the hit testing infrastructure in the layout
        tests sends keyboard and mouse events to the main window and not
        the cocoa control that implements the popup up, which means we can't
        select items from the popup up.

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

        * manual-tests/select-narrow-width.html: Added.
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::PopupListBox):
        (WebCore::PopupContainer::showExternal):

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

11 years ago2009-06-04 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Thu, 4 Jun 2009 22:52:06 +0000 (22:52 +0000)]
2009-06-04  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Remove 'JIT_STUB_ARGUMENT_STACK' this is unused and untested.

        This just leaves JIT_STUB_ARGUMENT_REGISTER and JIT_STUB_ARGUMENT_VA_LIST.
        Since JIT_STUB_ARGUMENT_REGISTER is the sensible configuration on most platforms,
        remove this define and make this the default behaviour.
        Platforms must now define JIT_STUB_ARGUMENT_VA_LIST to get crazy va_list voodoo,
        if they so desire.

        (Refactoring of #ifdefs only, no functional change, no performance impact.)

        * jit/JIT.h:
        * jit/JITInlineMethods.h:
        (JSC::JIT::restoreArgumentReference):
        (JSC::JIT::restoreArgumentReferenceForTrampoline):
        * jit/JITStubs.cpp:
        (JSC::):
        * jit/JITStubs.h:
        * wtf/Platform.h:

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

11 years ago2009-06-04 Brent Fulgham <bfulgham@webkit.org>
bfulgham@webkit.org [Thu, 4 Jun 2009 22:34:38 +0000 (22:34 +0000)]
2009-06-04  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed Windows build correction.

        * WebCore.vcproj/WebCore.vcproj: Add missing 'ReplaceNodeWithSpanCommand.cpp'
          and 'ReplaceNodeWithSpanCommand.h'

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

11 years ago2009-02-03 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 4 Jun 2009 22:17:09 +0000 (22:17 +0000)]
2009-02-03  Eric Seidel  <eric@webkit.org>

        Reviewed by Justin Garcia.

        Make sure execCommand("bold") on <b style="text-decoration: underline">test</b>
        only removes the bold and not the underline.
        https://bugs.webkit.org/show_bug.cgi?id=23496

        Test: editing/execCommand/convert-style-elements-to-spans.html

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSStyleDeclaration.h:
        (WebCore::CSSStyleDeclaration::isEmpty):
        * dom/NamedAttrMap.h:
        (WebCore::NamedAttrMap::isEmpty):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::isUnstyledStyleSpan):
        (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan):
        (WebCore::ApplyStyleCommand::applyBlockStyle):
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle):
        (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
        (WebCore::ApplyStyleCommand::removeCSSStyle):
        (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
        (WebCore::ApplyStyleCommand::removeInlineStyle):
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
        * editing/ApplyStyleCommand.h:
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::replaceNodeWithSpanPreservingChildrenAndAttributes):
        * editing/CompositeEditCommand.h:
        * editing/RemoveNodePreservingChildrenCommand.cpp:
        (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
        * editing/ReplaceNodeWithSpanCommand.cpp: Added.
        (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand):
        (WebCore::swapInNodePreservingAttributesAndChildren):
        (WebCore::ReplaceNodeWithSpanCommand::doApply):
        (WebCore::ReplaceNodeWithSpanCommand::doUnapply):
        * editing/ReplaceNodeWithSpanCommand.h: Added.
        (WebCore::ReplaceNodeWithSpanCommand::create):

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

11 years ago2009-06-04 Brent Fulgham <bfulgham@webkit.org>
bfulgham@webkit.org [Thu, 4 Jun 2009 21:51:15 +0000 (21:51 +0000)]
2009-06-04  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed build fix for Windows Cairo target.

        Add missing post-build command to copy history/cf contents
        to output directory.

        * WebCore.vcproj/WebCore.vcproj: Update Debug_Cairo and Release_Cairo
          target post-build steps with copy commands.

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

11 years ago2009-06-04 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Thu, 4 Jun 2009 21:51:02 +0000 (21:51 +0000)]
2009-06-04  Gavin Barraclough  <barraclough@apple.com>

        Rubber stamped by Sam Weinig.

        * jit/JITArithmetic.cpp:
            Remove some redundant typedefs, unused since arithmetic was added to the MacroAssembler interface.

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

11 years ago2009-06-04 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Thu, 4 Jun 2009 21:31:46 +0000 (21:31 +0000)]
2009-06-04  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/6854695> Movie controller thumb fails to scale with full page zoom

        Account for zoom level when drawing media controller thumb on Windows.

        * rendering/RenderMediaControls.cpp:
        (WebCore::RenderMediaControls::adjustMediaSliderThumbSize):

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

11 years agoWebCore:
hyatt@apple.com [Thu, 4 Jun 2009 20:55:09 +0000 (20:55 +0000)]
WebCore:

2009-06-04  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        Move DOM window focus/blur out of SelectionController and into FocusController.  Make sure it
        fires on the focused frame when the page activation state changes also.  This is covered by an existing
        layout test (albeit badly).  I have modified the test to be correct.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setFocused):
        * page/FocusController.cpp:
        (WebCore::FocusController::setFocusedFrame):
        (WebCore::FocusController::setActive):

WebKit/mac:

2009-06-04  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        Remove _updateFocusedStateForFrame, since it's actually not even necessary now that I made
        setFocusedFrame get called explicitly from become/ResignFirstResponder.  setFocusedFrame does
        the work of focusing the selection already.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::transitionToCommittedForNewPage):
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView becomeFirstResponder]):
        (-[WebHTMLView resignFirstResponder]):
        * WebView/WebView.mm:
        * WebView/WebViewInternal.h:

LayoutTests:

2009-06-04  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        Fix the Window focus test to not resign first responder, since that actually made the test
        incorrect.  An unfocused WebHTMLView's DOM window should not receive focus/blur events when the activation
        changes.

        Now the test just checks that a first responder WebHTMLView will actually fire focus/blur on the DOM window
        as the window gains/loses key.

        * fast/dom/Window/window-onFocus.html:

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

11 years ago2009-06-04 Albert J. Wong <ajwong@chromium.org>
eric@webkit.org [Thu, 4 Jun 2009 20:44:39 +0000 (20:44 +0000)]
2009-06-04  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26148
        Adding in empty files to stage the extract of RenderThemeChromiumSkia
        from RenderThemeChromiumLinux and RenderThemeChromiumWindows.

        * rendering/RenderThemeChromiumSkia.cpp: Added.
        * rendering/RenderThemeChromiumSkia.h: Added.

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

11 years ago2009-06-04 Darin Adler <darin@apple.com>
darin@apple.com [Thu, 4 Jun 2009 20:39:05 +0000 (20:39 +0000)]
2009-06-04  Darin Adler  <darin@apple.com>

        Reviewed by Tim Hatcher.

        Fix crashes due to unbalanced start/stop observer calls.

        * DumpRenderTree/mac/DumpRenderTreeWindow.h: Added observingWebView.
        * DumpRenderTree/mac/DumpRenderTreeWindow.mm:
        (-[DumpRenderTreeWindow startObservingWebView]): Call stopObservingWebView
        in case we're already observing some other WebView. Set observingWebView.
        (-[DumpRenderTreeWindow stopObservingWebView]): Do nothing if
        observingWebView is already NO. Clear observingWebView.

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

11 years ago2009-06-04 Andrei Popescu <andreip@google.com>
bfulgham@webkit.org [Thu, 4 Jun 2009 20:07:07 +0000 (20:07 +0000)]
2009-06-04  Andrei Popescu <andreip@google.com>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=25562
        Potential crash after ApplicationCacheStorage::storeNewestCache() fails

              Fix the crash by checking the return value of cacheStorage().storeNewestCache(this)
              in WebCore::ApplicationCacheGroup::checkIfLoadIsComplete. If storeNewestCache failed,
              we run the cache failure steps:

        1. Fire the error events to all pending master entries, as well any other cache hosts
           currently associated with a cache in this group.
        2. Disassociate the pending master entries from the failed new cache.
        3. Reinstate the old "newest cache", if there was one.

        We also introduce two other changes:

        1. a mechanism to rollback storageID changes to the in-memory resource
           objects when the storing of an ApplicationCache object fails.

        2. defer removing the pending master entries from the list of pending master entries
           until the entire load is complete. This matches the HTML 5 spec better. To track
           if the load is complete we now introduce a counter for those pending master entries
           that haven't yet finshed downloading.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): initializes the new counter to 0
        (WebCore::ApplicationCacheGroup::selectCache): increments the counter when a new pending
        master entry is added.
        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): decrements the counter
        instead of removing the pending master entry.
        (WebCore::ApplicationCacheGroup::failedLoadingMainResource): decrements the counter
        instead of removing the pending master entry.
        (WebCore::ApplicationCacheGroup::setNewestCache): removes an assertion that no longer
        holds true. In particular, the newest cache is not necessarily new anymore. We can
        set an old cache as the new cache. This can happen if we failed to store a newly
        downloaded cache to the database and we are now reinstating the former newest cache.
        (WebCore::ApplicationCacheGroup::manifestNotFound): resets the counter to 0.
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): check if the loading is complete
        based on the counter instead of the list of pending master entries. Empty the list of
        master entries if the load is complete.
        * loader/appcache/ApplicationCacheGroup.h: add the new counter.
        * loader/appcache/ApplicationCacheStorage.cpp: introduce the journaling mechanism for
        in-memory resource objects.
        (WebCore::ResourceStorageIDJournal::~ResourceStorageIDJournal):
        (WebCore::ResourceStorageIDJournal::add):
        (WebCore::ResourceStorageIDJournal::commit):
        (WebCore::ResourceStorageIDJournal::Record::Record):
        (WebCore::ResourceStorageIDJournal::Record::restore):
        (WebCore::ApplicationCacheStorage::store): log the changes to the in-memory resource
        objects.
        (WebCore::ApplicationCacheStorage::storeNewestCache): create the journal object.
        * loader/appcache/ApplicationCacheStorage.h:  modify the signature of
        bool store(ApplicationCache*) to add a pointer to the logger object used to
        trace the changes to the storageID of the resource objects.

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