WebKit-https.git
13 years ago2009-01-09 Dimitri Glazkov <dglazkov@chromium.org>
eric@webkit.org [Fri, 9 Jan 2009 22:55:20 +0000 (22:55 +0000)]
2009-01-09  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        Add PlatformContextSkia and PlatformGraphics.h to platform/graphics/skia
        https://bugs.webkit.org/show_bug.cgi?id=23215

        * platform/graphics/skia/PlatformContextSkia.cpp: Added.
        (PlatformContextSkia::State::State):
        (PlatformContextSkia::State::~State):
        (PlatformContextSkia::State::applyAlpha):
        (PlatformContextSkia::PlatformContextSkia):
        (PlatformContextSkia::~PlatformContextSkia):
        (PlatformContextSkia::setCanvas):
        (PlatformContextSkia::save):
        (PlatformContextSkia::restore):
        (PlatformContextSkia::drawRect):
        (PlatformContextSkia::setupPaintCommon):
        (PlatformContextSkia::setupPaintForFilling):
        (PlatformContextSkia::setupPaintForStroking):
        (PlatformContextSkia::setDrawLooper):
        (PlatformContextSkia::setMiterLimit):
        (PlatformContextSkia::setAlpha):
        (PlatformContextSkia::setLineCap):
        (PlatformContextSkia::setLineJoin):
        (PlatformContextSkia::setPorterDuffMode):
        (PlatformContextSkia::setFillColor):
        (PlatformContextSkia::getDrawLooper):
        (PlatformContextSkia::getStrokeStyle):
        (PlatformContextSkia::setStrokeStyle):
        (PlatformContextSkia::setStrokeColor):
        (PlatformContextSkia::getStrokeThickness):
        (PlatformContextSkia::setStrokeThickness):
        (PlatformContextSkia::getTextDrawingMode):
        (PlatformContextSkia::setTextDrawingMode):
        (PlatformContextSkia::setUseAntialiasing):
        (PlatformContextSkia::fillColor):
        (PlatformContextSkia::beginPath):
        (PlatformContextSkia::addPath):
        (PlatformContextSkia::setFillRule):
        (PlatformContextSkia::setGradient):
        (PlatformContextSkia::setPattern):
        (PlatformContextSkia::setDashPathEffect):
        (PlatformContextSkia::paintSkPaint):
        (PlatformContextSkia::bitmap):
        (PlatformContextSkia::isPrinting):
        * platform/graphics/skia/PlatformContextSkia.h: Added.
        (PlatformContextSkia::currentPath):
        (PlatformContextSkia::canvas):
        (PlatformContextSkia::gdk_skia):
        * platform/graphics/skia/PlatformGraphics.h: Added.

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

13 years ago2009-01-09 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Fri, 9 Jan 2009 22:35:15 +0000 (22:35 +0000)]
2009-01-09  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * WebCore.LP64.exp:

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

13 years ago2009-01-09 Dimitri Glazkov <dglazkov@chromium.org>
eric@webkit.org [Fri, 9 Jan 2009 22:34:02 +0000 (22:34 +0000)]
2009-01-09  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        Add TransformationMatrixSkia to platform/graphics/skia
        https://bugs.webkit.org/show_bug.cgi?id=23215

        * platform/graphics/skia/TransformationMatrixSkia.cpp: Added.
        (WebCore::TransformationMatrix::TransformationMatrix):
        (WebCore::TransformationMatrix::setMatrix):
        (WebCore::TransformationMatrix::map):
        (WebCore::TransformationMatrix::mapRect):
        (WebCore::TransformationMatrix::isIdentity):
        (WebCore::TransformationMatrix::reset):
        (WebCore::TransformationMatrix::scale):
        (WebCore::TransformationMatrix::rotate):
        (WebCore::TransformationMatrix::translate):
        (WebCore::TransformationMatrix::shear):
        (WebCore::TransformationMatrix::det):
        (WebCore::TransformationMatrix::inverse):
        (WebCore::TransformationMatrix::operator SkMatrix):
        (WebCore::TransformationMatrix::operator==):
        (WebCore::TransformationMatrix::operator*=):
        (WebCore::TransformationMatrix::operator*):
        (WebCore::TransformationMatrix::a):
        (WebCore::TransformationMatrix::setA):
        (WebCore::TransformationMatrix::b):
        (WebCore::TransformationMatrix::setB):
        (WebCore::TransformationMatrix::c):
        (WebCore::TransformationMatrix::setC):
        (WebCore::TransformationMatrix::d):
        (WebCore::TransformationMatrix::setD):
        (WebCore::TransformationMatrix::e):
        (WebCore::TransformationMatrix::setE):
        (WebCore::TransformationMatrix::f):
        (WebCore::TransformationMatrix::setF):

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

13 years ago2009-01-09 Brent Fulgham <bfulgham@gmail.com>
ap@webkit.org [Fri, 9 Jan 2009 22:33:14 +0000 (22:33 +0000)]
2009-01-09  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Adam Roben.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=23092
        Separate CFNetwork-specific code in WebKit.dll into separate
        implementation files. Create cURL stub files to be populated
        with new implementation in a future bug report.

        * WebCookieManager.cpp: Move CFNetwork-specific routines to
          the new WebCookieManagerCFNet.cpp file.
        (WebCookieManager::Release):
        * WebCookieManagerCFNet.cpp: Copied from WebCookieManager.cpp.
        (WebCookieManager::cookieStorage):
        * WebCookieManagerCurl.cpp: Added.
        (WebCookieManager::cookieStorage):
        (WebCookieManager::setCookieStorage):
        * WebCoreSupport/WebFrameLoaderClient.cpp: Conditionalize two
          methods in this file.
        (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
        (WebFrameLoaderClient::savePlatformDataToCachedPage):
        * WebDownload.cpp: Move CFNetwork-specific logic to the new
          WebDownloadCFNet.cpp
        (WebDownload::bundleExtension):
        (WebDownload::bundleMagicNumber):
        (WebDownload::bundlePathForTargetPath):
        (WebDownload::extractResumeDataFromBundle): Made static class method
          so it could be used in WebDownload.cpp and WebDownloadCFNet.cpp
        (WebDownload::appendResumeDataToBundle): Made static class method
          so it could be used in WebDownload.cpp and WebDownloadCFNet.cpp
        * WebDownload.h:
        * WebDownloadCFNet.cpp: Copied from WebDownload.cpp.
        (WebDownload::initToResumeWithBundle):
        (WebDownload::setDestination):
        (didFailCallback):
        * WebDownloadCurl.cpp: Added.
        (WebDownload::init):
        (WebDownload::initWithRequest):
        (WebDownload::initToResumeWithBundle):
        (WebDownload::start):
        (WebDownload::cancel):
        (WebDownload::cancelForResume):
        (WebDownload::deletesFileUponFailure):
        (WebDownload::setDeletesFileUponFailure):
        (WebDownload::setDestination):
        (WebDownload::cancelAuthenticationChallenge):
        (WebDownload::continueWithoutCredentialForAuthenticationChallenge):
        (WebDownload::useCredential):
        * WebKit.vcproj/WebKit.vcproj: Modify Apple targets to exclude the
          new cURL files. Modify Cairo targets to exclude CFNet files.
        * WebMutableURLRequest.cpp: Conditionalize the single method
          with a CFNetwork-speicic call.
        (WebMutableURLRequest::mutableCopy):
        * WebURLAuthenticationChallenge.cpp: Conditionalize one line that
          causes build problems for cURL. This will be removed later.
        (WebURLAuthenticationChallenge::initWithProtectionSpace):
        * WebURLAuthenticationChallengeSender.cpp:
        * WebURLAuthenticationChallengeSenderCFNet.cpp: Copied from WebURLAuthenticationChallengeSender.cpp.
        (WebURLAuthenticationChallengeSender::useCredential):
        * WebURLAuthenticationChallengeSenderCurl.cpp: Added.
        (WebURLAuthenticationChallengeSender::cancelAuthenticationChallenge):
        (WebURLAuthenticationChallengeSender::continueWithoutCredentialForAuthenticationChallenge):
        (WebURLAuthenticationChallengeSender::useCredential):
        * WebURLResponse.cpp: Exclude WebKitSystemInterface when compiling
          for the cURL target.

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

13 years ago Reviewed by Darin Adler.
ap@webkit.org [Fri, 9 Jan 2009 22:21:48 +0000 (22:21 +0000)]
    Reviewed by Darin Adler.

        <rdar://problem/6477502> Repro crash reloading page using HTML5 AppCache on Windows

        Test: http/tests/appcache/reload.html

        On Windows, reloading resulted in the following sequence of events:
        1) A new main resource loader was created and associated with the cache. Its document loader
        was not associated with the cache yet.
        2) The old document loader was destroyed, and since it was the last one, ApplicationCacheGroup
        teardown started, with newestCache being zeroed out.
        3) The new document loader was associated with the cache group, and cache update started.
        4) Since newestCache was null, this caused many problems.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::documentLoaderDestroyed): Improve comments and assertions,
        no functional changes.
        (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache): Revive the cache group
        if its newest cache pointer is already saved for teardown. Note that the cache pointer
        validity is ensured by MainResourceLoader that holds a reference to it.

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

13 years ago Reviewed by Darin Adler.
ap@webkit.org [Fri, 9 Jan 2009 22:20:36 +0000 (22:20 +0000)]
    Reviewed by Darin Adler.

        Fix many appcache tests on Windows by making synchronous XMLHttpRequest throw on cache miss.

        * WebFrame.cpp: (WebFrame::cannotShowURLError): Implement, so that synchronous XHR can
        raise exceptions, as needed for AppCache tests. I do not know why this error was not
        implemented.

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

13 years ago2009-01-09 Darin Fisher <darin@chromium.org>
darin@chromium.org [Fri, 9 Jan 2009 22:12:05 +0000 (22:12 +0000)]
2009-01-09  Darin Fisher  <darin@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=23214
        Upstream platform/network/chromium/

        * platform/network/chromium/AuthenticationChallenge.h: Added.
        (WebCore::AuthenticationChallenge::AuthenticationChallenge):
        (WebCore::AuthenticationChallenge::sourceHandle):
        * platform/network/chromium/AuthenticationChallengeChromium.cpp: Added.
        (WebCore::AuthenticationChallenge::platformCompare):
        * platform/network/chromium/CookieJarChromium.cpp: Added.
        (WebCore::setCookies):
        (WebCore::cookies):
        (WebCore::cookiesEnabled):
        * platform/network/chromium/DNSChromium.cpp: Added.
        (WebCore::prefetchDNS):
        * platform/network/chromium/NetworkStateNotifierChromium.cpp: Added.
        (WebCore::NetworkStateNotifier::updateState):
        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
        * platform/network/chromium/NetworkStateNotifierPrivate.h: Added.
        * platform/network/chromium/ResourceError.h: Added.
        (WebCore::ResourceError::ResourceError):
        * platform/network/chromium/ResourceRequest.h: Added.
        (WebCore::ResourceRequest::):
        (WebCore::ResourceRequest::ResourceRequest):
        (WebCore::ResourceRequest::frame):
        (WebCore::ResourceRequest::setFrame):
        (WebCore::ResourceRequest::setTargetType):
        (WebCore::ResourceRequest::targetType):
        (WebCore::ResourceRequest::originPid):
        (WebCore::ResourceRequest::setOriginPid):
        (WebCore::ResourceRequest::securityInfo):
        (WebCore::ResourceRequest::setSecurityInfo):
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        (WebCore::ResourceRequest::doUpdateResourceRequest):
        * platform/network/chromium/ResourceResponse.h:
        (WebCore::ResourceResponse::ResourceResponse):
        (WebCore::ResourceResponse::getSecurityInfo):
        (WebCore::ResourceResponse::setSecurityInfo):
        (WebCore::ResourceResponse::isContentFiltered):
        (WebCore::ResourceResponse::setIsContentFiltered):
        (WebCore::ResourceResponse::doUpdateResourceResponse):

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

13 years agofix tyop in Changelog
barraclough@apple.com [Fri, 9 Jan 2009 21:44:16 +0000 (21:44 +0000)]
fix tyop in Changelog

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

13 years ago Reviewed by Darin Adler.
mitz@apple.com [Fri, 9 Jan 2009 21:42:20 +0000 (21:42 +0000)]
    Reviewed by Darin Adler.

        - fixed <rdar://problem/6234347> Add/change conditional key
          bindings for changing paragraph- and character-level writing
          direction (to match NSTextView)

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Added
        code to validate makeBaseWritingDirectionLeftToRight: and
        makeBaseWritingDirectionRightToLeft:.
        (writingDirectionKeyBindingsEnabled): Changed this function to
        always return YES, except on Tiger and Leopard.
        (-[WebHTMLView makeBaseWritingDirectionLeftToRight:]): Renamed
        changeBaseWritingDirectionToLTR: to this.
        (-[WebHTMLView makeBaseWritingDirectionRightToLeft:]): Renamed
        changeBaseWritingDirectionToRTL: to this.
        (-[WebHTMLView changeBaseWritingDirectionToLTR:]): Now calls
        makeBaseWritingDirectionLeftToRight:.
        (-[WebHTMLView changeBaseWritingDirectionToRTL:]): Now calls
        makeBaseWritingDirectionRightToLeft:.
        * WebView/WebView.mm: Added makeBaseWritingDirectionLeftToRight
        and makeBaseWritingDirectionRightToLeft to
        FOR_EACH_RESPONDER_SELECTOR.

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

13 years ago2009-01-09 Darin Adler <darin@apple.com>
adele@apple.com [Fri, 9 Jan 2009 21:01:35 +0000 (21:01 +0000)]
2009-01-09  Darin Adler  <darin@apple.com>

        Reviewed and landed by Adele Peterson.

        Bug 23160: add setMemoryCacheClientCallsEnabled SPI so Safari can be faster with activity window closed
        https://bugs.webkit.org/show_bug.cgi?id=23160

        * Interfaces/IWebViewPrivate.idl: Added setMemoryCacheDelegateCallsEnabled.
        * WebView.cpp:
        (WebView::setMemoryCacheDelegateCallsEnabled): Ditto.
        * WebView.h: Ditto.

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

13 years ago2009-01-09 William Siegrist <wsiegrist@apple.com>
wsiegrist@apple.com [Fri, 9 Jan 2009 20:53:03 +0000 (20:53 +0000)]
2009-01-09 William Siegrist <wsiegrist@apple.com>
Reviewed by David Kilzer

Update URLs which go through redirects by changing bugs.webkit.org URLs to use https and removing /projects/webkit from Trac URLs.

Replace tabs in bugpriorities.html with spaces.

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

13 years ago2009-01-09 David Levin <levin@chromium.org>
oliver@apple.com [Fri, 9 Jan 2009 20:17:00 +0000 (20:17 +0000)]
2009-01-09  David Levin  <levin@chromium.org>

        Reviewed by Oliver Hunt.

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

        Adjustment to previous patch.  Remove call to initilizeThreading from JSGlobalCreate
        and fix jsc.cpp instead.

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

13 years ago2009-01-09 Joel Weinberger <jww@cs.berkeley.edu>
abarth@webkit.org [Fri, 9 Jan 2009 19:42:04 +0000 (19:42 +0000)]
2009-01-09  Joel Weinberger  <jww@cs.berkeley.edu>

        Reviewed by Darin Adler.
        Landed by Adam Barth.

        The test intended to test reload, but reference reload in one place and
        replace in another. This makes them consistent.

        * http/tests/security/resources/xss-DENIED-assign-location-reload-attacker.html:

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

13 years ago2009-01-09 Simon Hausmann <simon.hausmann@nokia.com>
hausmann@webkit.org [Fri, 9 Jan 2009 19:12:59 +0000 (19:12 +0000)]
2009-01-09  Simon Hausmann  <simon.hausmann@nokia.com>

        Rubber-stamped by Tor Arne Vestbø.

        Documentation fixes, remove duplicated docs, document missing
        parameters and return values.

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

13 years ago2009-01-09 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 9 Jan 2009 18:47:37 +0000 (18:47 +0000)]
2009-01-09  Sam Weinig  <sam@webkit.org>

        Roll r39720 back in with a working interpreted mode.

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

13 years ago2009-01-09 Peter Kasting <pkasting@google.com>
pkasting@chromium.org [Fri, 9 Jan 2009 18:46:51 +0000 (18:46 +0000)]
2009-01-09  Peter Kasting  <pkasting@google.com>

        Reviewed by David Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=22995
        Fix flaky image animation by resetting the metadata for a frame when
        we get new data for that frame.  This fixes animations that halted
        when the next frame of the animation wasn't complete by the time the
        current frame's duration expired.

        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::destroyDecodedData):
        (WebCore::BitmapImage::dataChanged):
        * platform/graphics/BitmapImage.h:
        (WebCore::FrameData::~FrameData):
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::FrameData::clear):
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::FrameData::clear):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::FrameData::clear):
        * platform/graphics/wx/ImageWx.cpp:
        (WebCore::FrameData::clear):

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

13 years agoWhoops, include actual file the the forwarding headers point to.
oliver@apple.com [Fri, 9 Jan 2009 18:28:48 +0000 (18:28 +0000)]
Whoops, include actual file the the forwarding headers point to.

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

13 years ago2009-01-09 Simon Hausmann <simon.hausmann@nokia.com>
hausmann@webkit.org [Fri, 9 Jan 2009 17:58:50 +0000 (17:58 +0000)]
2009-01-09  Simon Hausmann  <simon.hausmann@nokia.com>

        Rubber-stamped by Tor Arne Vestbø.

        Swap the .h and the .cpp output in the Qt build for the
        UserAgentStyleSheetData files, to put the definition in the .cpp file
        and the declaration in the header file.

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

13 years agoinclude files missed in last commit.
oliver@apple.com [Fri, 9 Jan 2009 17:54:28 +0000 (17:54 +0000)]
include files missed in last commit.

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

13 years ago2009-01-09 David Levin <levin@chromium.org>
oliver@apple.com [Fri, 9 Jan 2009 17:53:36 +0000 (17:53 +0000)]
2009-01-09  David Levin  <levin@chromium.org>

        Reviewed by Oliver Hunt.

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

        Added a template to make the pointer and flags combination
        in UString more readable and less error prone.

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

13 years ago2009-01-09 Simon Hausmann <simon.hausmann@nokia.com>
hausmann@webkit.org [Fri, 9 Jan 2009 17:47:24 +0000 (17:47 +0000)]
2009-01-09  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Fix linking against QtWebKit on Windows, by defining the EXPORT macros
        _exactly_ the same way as in qglobal.h, depending on QT_NODLL,
        QT_MAKEDLL and QT_SHARED.

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

13 years ago2009-01-09 Tor Arne Vestbø <tavestbo@trolltech.com>
vestbo@webkit.org [Fri, 9 Jan 2009 16:51:49 +0000 (16:51 +0000)]
2009-01-09  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon Hausmann.

        Prevent qmake from generating duplicate rules for embedded stylesheets

        The STYLESHEETS_EMBED variable used to contain only one file name, but
        now that it is a list of files we need to change it to be a dependency
        for the stylesheet generator instead of the input.

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

13 years agoWebCore:
hausmann@webkit.org [Fri, 9 Jan 2009 13:03:00 +0000 (13:03 +0000)]
WebCore:
    2009-01-09  Simon Hausmann  <simon.hausmann@nokia.com>

            Reviewed by Tor Arne Vestbø.

            Fix qmake warning about missing test function, a contains() call was
            missing.

WebKit/qt:
    2009-01-09  Simon Hausmann  <simon.hausmann@nokia.com>

            Reviewed by Tor Arne Vestbø.

            Remove qwebnetworkinterface.h from WEBKIT_API_HEADERS as it's not
            public Qt 4.4/4.5 API.

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

13 years ago https://bugs.webkit.org/show_bug.cgi?id=23165
ap@webkit.org [Fri, 9 Jan 2009 12:32:08 +0000 (12:32 +0000)]
    https://bugs.webkit.org/show_bug.cgi?id=23165

        * fast/dom/Window/window-properties-expected.txt: Forgot to commit this with r39699, too.

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

13 years ago2009-01-09 Simon Hausmann <simon.hausmann@nokia.com>
hausmann@webkit.org [Fri, 9 Jan 2009 12:16:44 +0000 (12:16 +0000)]
2009-01-09  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed Qt build fix, remove qcookiejar.h from the API headers and
        therefore HEADERS. It's not part of the API and it moc shouldn't be
        called on it.

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

13 years ago2009-01-09 Simon Hausmann <simon.hausmann@nokia.com>
hausmann@webkit.org [Fri, 9 Jan 2009 11:10:47 +0000 (11:10 +0000)]
2009-01-09  Simon Hausmann  <simon.hausmann@nokia.com>

        Rubber-stamped by Tor Arne Vestbø.

        Add the Qt API headers to HEADERS, too, for improved completion in IDEs.

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

13 years ago2009-01-09 David Levin <levin@chromium.org>
ap@webkit.org [Fri, 9 Jan 2009 09:42:20 +0000 (09:42 +0000)]
2009-01-09  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

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

        Fix deref's of string happening on two different threads.

        No observable change in behavior, so no test.  However, there are asserts
        being added for https://bugs.webkit.org/show_bug.cgi?id=23175 which
        will detect this issue while running the normal worker tests.

        * dom/WorkerThread.cpp:
        (WebCore::WorkerThreadStartupData::create):
        (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
        (WebCore::WorkerThread::WorkerThread):
        (WebCore::WorkerThread::workerThread):
        * dom/WorkerThread.h:

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

13 years ago2009-01-08 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Fri, 9 Jan 2009 08:12:56 +0000 (08:12 +0000)]
2009-01-08  Gavin Barraclough  <barraclough@apple.com>

        RS by Oliver Hunt.

        Looks like this should have been updated with r39699.

        * fast/js/global-constructors-expected.txt:

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

13 years ago2009-01-08 Gavin Barraclough <barraclough@apple.com>
barraclough@apple.com [Fri, 9 Jan 2009 08:11:00 +0000 (08:11 +0000)]
2009-01-08  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Encode immediates in the low word of JSValuePtrs, on x86-64.

        On 32-bit platforms a JSValuePtr may represent a 31-bit signed integer.
        On 64-bit platforms, if USE(ALTERNATE_JSIMMEDIATE) is defined, a full
        32-bit integer may be stored in an immediate.

        Presently USE(ALTERNATE_JSIMMEDIATE) uses the same encoding as the default
        immediate format - the value is left shifted by one, so a one bit tag can
        be added to indicate the value is an immediate.  However this means that
        values must be commonly be detagged (by right shifting by one) before
        arithmetic operations can be performed on immediates.  This patch modifies
        the formattting so the the high bits of the immediate mark values as being
        integer.

        * assembler/MacroAssembler.h:
        (JSC::MacroAssembler::not32):
        (JSC::MacroAssembler::orPtr):
        (JSC::MacroAssembler::zeroExtend32ToPtr):
        (JSC::MacroAssembler::jaePtr):
        (JSC::MacroAssembler::jbPtr):
        (JSC::MacroAssembler::jnzPtr):
        (JSC::MacroAssembler::jzPtr):
        * assembler/X86Assembler.h:
        (JSC::X86Assembler::):
        (JSC::X86Assembler::notl_r):
        (JSC::X86Assembler::testq_i32r):
        * jit/JIT.cpp:
        (JSC::JIT::privateCompileMainPass):
        (JSC::JIT::privateCompileSlowCases):
        (JSC::JIT::privateCompileCTIMachineTrampolines):
        * jit/JIT.h:
        * jit/JITArithmetic.cpp:
        (JSC::JIT::compileFastArith_op_lshift):
        (JSC::JIT::compileFastArith_op_rshift):
        (JSC::JIT::compileFastArith_op_bitand):
        (JSC::JIT::compileFastArithSlow_op_bitand):
        (JSC::JIT::compileFastArith_op_mod):
        (JSC::JIT::compileFastArithSlow_op_mod):
        (JSC::JIT::compileFastArith_op_add):
        (JSC::JIT::compileFastArith_op_mul):
        (JSC::JIT::compileFastArith_op_post_inc):
        (JSC::JIT::compileFastArith_op_post_dec):
        (JSC::JIT::compileFastArith_op_pre_inc):
        (JSC::JIT::compileFastArith_op_pre_dec):
        (JSC::JIT::putDoubleResultToJSNumberCellOrJSImmediate):
        (JSC::JIT::compileBinaryArithOp):
        * jit/JITCall.cpp:
        (JSC::JIT::compileOpCallSlowCase):
        * jit/JITInlineMethods.h:
        (JSC::JIT::emitJumpIfJSCell):
        (JSC::JIT::emitJumpIfNotJSCell):
        (JSC::JIT::emitJumpIfImmNum):
        (JSC::JIT::emitJumpSlowCaseIfNotImmNum):
        (JSC::JIT::emitJumpSlowCaseIfNotImmNums):
        (JSC::JIT::emitFastArithDeTagImmediate):
        (JSC::JIT::emitFastArithDeTagImmediateJumpIfZero):
        (JSC::JIT::emitFastArithReTagImmediate):
        (JSC::JIT::emitFastArithImmToInt):
        (JSC::JIT::emitFastArithIntToImmNoCheck):
        (JSC::JIT::emitTagAsBoolImmediate):
        * jit/JITPropertyAccess.cpp:
        (JSC::resizePropertyStorage):
        (JSC::JIT::privateCompilePutByIdTransition):
        (JSC::JIT::privateCompilePatchGetArrayLength):
        (JSC::JIT::privateCompileGetByIdSelf):
        (JSC::JIT::privateCompileGetByIdProto):
        (JSC::JIT::privateCompileGetByIdChain):
        (JSC::JIT::privateCompilePutByIdReplace):
        * runtime/JSImmediate.h:
        (JSC::JSImmediate::isNumber):
        (JSC::JSImmediate::isPositiveNumber):
        (JSC::JSImmediate::areBothImmediateNumbers):
        (JSC::JSImmediate::xorImmediateNumbers):
        (JSC::JSImmediate::rightShiftImmediateNumbers):
        (JSC::JSImmediate::canDoFastAdditiveOperations):
        (JSC::JSImmediate::addImmediateNumbers):
        (JSC::JSImmediate::subImmediateNumbers):
        (JSC::JSImmediate::makeInt):
        (JSC::JSImmediate::toBoolean):
        * wtf/Platform.h:

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

13 years ago2009-01-08 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 9 Jan 2009 05:41:01 +0000 (05:41 +0000)]
2009-01-08  Sam Weinig  <sam@webkit.org>

        Revert r39720. It broke Interpreted mode.

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

13 years agoWebCore:
mitz@apple.com [Fri, 9 Jan 2009 03:45:20 +0000 (03:45 +0000)]
WebCore:

        Reviewed by Adam Roben.

        - use native glyph support in Core Graphics when available

        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::Font::drawGlyphs): Changed to use drawGDIGlyphs() only if
        native glyph support is not available or stroking is required. Changed
        to pass the font's useGDI() flag to wkSetCGContextFontRenderingStyle to
        request the use of native glyphs.
        * platform/graphics/win/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData): Added a call to
        wkSetFontPlatformInfo to attach the LOGFONT to the CGFont.
        * platform/graphics/win/FontPlatformDataCGWin.cpp:
        (WebCore::FontPlatformData::platformDataInit): Ditto.

WebKit/win:

        Reviewed by Adam Roben.

        - WebPreferences changes to support Core Graphics native glyph drawing

        * Interfaces/IWebPreferencesPrivate.idl: Added font smoothing contrast
        getter and setter.
        * WebPreferenceKeysPrivate.h: Added
        WebKitFontSmoothingContrastPreferenceKey.
        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings): Initialized
        WebKitFontSmoothingContrastPreferenceKey to 2.
        (WebPreferences::setFloatValue): Added.
        (WebPreferences::setFontSmoothing): Changed to map
        FontSmoothingTypeWindows to FontSmoothingTypeMedium.
        (WebPreferences::fontSmoothingContrast): Added.
        (WebPreferences::setFontSmoothingContrast): Added. Calls
        wkSetFontSmoothingContrast().
        * WebPreferences.h:

WebKitLibraries:

        Reviewed by Adam Roben.

        - WebKitSystemInterface changes to support Core Graphics native glyph drawing

        * win/include/WebKitSystemInterface/WebKitSystemInterface.h:
        * win/lib/WebKitSystemInterface.lib:
        * win/lib/WebKitSystemInterface_debug.lib:

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

13 years ago <rdar://problem/6474244> REGRESSION(39561-39603): Heap corruption when saving...
sfalken@apple.com [Fri, 9 Jan 2009 03:12:49 +0000 (03:12 +0000)]
    <rdar://problem/6474244> REGRESSION(39561-39603): Heap corruption when saving passwords?

        Reviewed by Adam Roben.

        * WebView.cpp:
        (WebViewWndProc): Hold a ref to the WebView inside the WNDPROC, since it could go away in an event handler.

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

13 years ago2009-01-08 Peter Kasting <pkasting@google.com>
pkasting@chromium.org [Fri, 9 Jan 2009 01:51:48 +0000 (01:51 +0000)]
2009-01-08  Peter Kasting  <pkasting@google.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=22929
        Fix memory regression when decoding large animated GIFs.

        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::clear):

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

13 years ago2009-01-08 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Fri, 9 Jan 2009 01:41:53 +0000 (01:41 +0000)]
2009-01-08  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add and implement WKPCGetStringIdentifier.

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

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

13 years agoCorrect my changelog error.
eric@webkit.org [Fri, 9 Jan 2009 01:36:19 +0000 (01:36 +0000)]
Correct my changelog error.

2009-01-08  Scott Violet  <sky@chromium.org>

        Reviewed by Eric Seidel (and Adam Barth).

        Fix Images to return their file extension
        http://code.google.com/p/chromium/issues/detail?id=5827

        * platform/graphics/skia/ImageSourceSkia.cpp:
        (WebCore::ImageSource::filenameExtension):

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

13 years ago2009-01-08 Berend-Jan Wever <sky@chromium.org>
eric@webkit.org [Fri, 9 Jan 2009 01:22:14 +0000 (01:22 +0000)]
2009-01-08  Berend-Jan Wever  <sky@chromium.org>

        Reviewed by Adam Barth.

        Fix Images to return their file extension
        http://code.google.com/p/chromium/issues/detail?id=5827

        * platform/graphics/skia/ImageSourceSkia.cpp:
        (WebCore::ImageSource::filenameExtension):

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

13 years ago2009-01-08 Dimitri Glazkov <dglazkov@chromium.org>
eric@webkit.org [Fri, 9 Jan 2009 01:18:28 +0000 (01:18 +0000)]
2009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        Add PathSkia and PatternSkia implementations to WebCore
        https://bugs.webkit.org/show_bug.cgi?id=23200

        * platform/graphics/skia/PathSkia.cpp: Added.
        (WebCore::Path::Path):
        (WebCore::Path::~Path):
        (WebCore::Path::operator=):
        (WebCore::Path::isEmpty):
        (WebCore::Path::contains):
        (WebCore::Path::translate):
        (WebCore::Path::boundingRect):
        (WebCore::Path::moveTo):
        (WebCore::Path::addLineTo):
        (WebCore::Path::addQuadCurveTo):
        (WebCore::Path::addBezierCurveTo):
        (WebCore::Path::addArcTo):
        (WebCore::Path::closeSubpath):
        (WebCore::Path::addArc):
        (WebCore::Path::addRect):
        (WebCore::Path::addEllipse):
        (WebCore::Path::clear):
        (WebCore::convertPathPoints):
        (WebCore::Path::apply):
        (WebCore::Path::transform):
        (WebCore::Path::debugString):
        (WebCore::boundingBoxForCurrentStroke):
        (WebCore::Path::strokeBoundingRect):
        * platform/graphics/skia/PatternSkia.cpp: Added.
        (WebCore::shaderRule):
        (WebCore::Pattern::createPlatformPattern):

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

13 years ago2009-01-08 Dimitri Glazkov <dglazkov@chromium.org>
eric@webkit.org [Fri, 9 Jan 2009 01:06:01 +0000 (01:06 +0000)]
2009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        Add ImageSourceSkia to platform/graphics/skia
        https://bugs.webkit.org/show_bug.cgi?id=23200

        ImageSourceSkia is mostly a hack to support our
        ICO decoder model.  See ImageSourceSkia.h for more
        explanation.  Eventually we'd like to make our ICO
        decoder lazy.

        * platform/graphics/ImageSource.h: mark m_decoder as protected
        * platform/graphics/skia/ImageSourceSkia.cpp: Added.
        (WebCore::createDecoder):
        (WebCore::ImageSource::ImageSource):
        (WebCore::ImageSource::~ImageSource):
        (WebCore::ImageSource::clear):
        (WebCore::ImageSource::initialized):
        (WebCore::ImageSource::setData):
        (WebCore::ImageSource::isSizeAvailable):
        (WebCore::ImageSource::size):
        (WebCore::ImageSource::frameSizeAtIndex):
        (WebCore::ImageSource::repetitionCount):
        (WebCore::ImageSource::frameCount):
        (WebCore::ImageSource::createFrameAtIndex):
        (WebCore::ImageSource::frameIsCompleteAtIndex):
        (WebCore::ImageSource::frameDurationAtIndex):
        (WebCore::ImageSource::frameHasAlphaAtIndex):
        (WebCore::ImageSourceSkia::setData):
        (WebCore::ImageSource::filenameExtension):
        * platform/graphics/skia/ImageSourceSkia.h: Added.

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

13 years ago2009-01-08 Dimitri Glazkov <dglazkov@chromium.org>
eric@webkit.org [Fri, 9 Jan 2009 00:54:48 +0000 (00:54 +0000)]
2009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        Add NativeImageSkia (PlatformImagePtr) to platform/graphics/skia
        https://bugs.webkit.org/show_bug.cgi?id=23200

        * platform/graphics/skia/NativeImageSkia.cpp: Added.
        (NativeImageSkia::NativeImageSkia):
        (NativeImageSkia::decodedSize):
        (NativeImageSkia::hasResizedBitmap):
        (NativeImageSkia::resizedBitmap):
        (NativeImageSkia::shouldCacheResampling):
        * platform/graphics/skia/NativeImageSkia.h: Added.
        (NativeImageSkia::setDataComplete):
        (NativeImageSkia::isDataComplete):

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

13 years ago2009-01-08 Dimitri Glazkov <dglazkov@chromium.org>
eric@webkit.org [Fri, 9 Jan 2009 00:41:51 +0000 (00:41 +0000)]
2009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        Add ImageBufferSkia and ImageSkia files.
        https://bugs.webkit.org/show_bug.cgi?id=23200
        For now we've left BitmapImage and BitmapImageSingleFrameSkia
        implementations in the ImageSkia file (like ImageCG has), but
        we intend to break them out into their own files.

        * platform/graphics/skia/ImageBufferSkia.cpp: Added.
        (WebCore::ImageBufferData::ImageBufferData):
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::~ImageBuffer):
        (WebCore::ImageBuffer::context):
        (WebCore::ImageBuffer::image):
        (WebCore::ImageBuffer::getImageData):
        (WebCore::ImageBuffer::putImageData):
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/skia/ImageSkia.cpp: Added.
        (WebCore::):
        (WebCore::FrameData::clear):
        (WebCore::Image::loadPlatformResource):
        (WebCore::Image::drawPattern):
        (WebCore::BitmapImage::initPlatformData):
        (WebCore::BitmapImage::invalidatePlatformData):
        (WebCore::BitmapImage::checkForSolidColor):
        (WebCore::BitmapImage::draw):
        (WebCore::BitmapImageSingleFrameSkia::draw):
        (WebCore::BitmapImageSingleFrameSkia::create):

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

13 years ago2009-01-08 James Robinson <jamesr@google.com>
pam@chromium.org [Fri, 9 Jan 2009 00:30:06 +0000 (00:30 +0000)]
2009-01-08  James Robinson  <jamesr@google.com>

        Reviewed by Mark Rowe.
        Landed by Pamela Greene.

        WebCore::Event::timeStamp() is a simple accessor and should be const

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

        * dom/Event.h:
        (WebCore::Event::timeStamp):

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

13 years ago2009-01-08 Antti Koivisto <antti@apple.com>
antti@apple.com [Thu, 8 Jan 2009 23:44:59 +0000 (23:44 +0000)]
2009-01-08  Antti Koivisto  <antti@apple.com>

        Reviewed by Oliver Hunt.

        Fix <rdar://problem/6467206>
        Resources loaded from the memory cache do not get correctly inserted into the DocLoader resource map (22994)

        Use CachedResourceHandle in document resource map so resources get updated correctly when using
        using cache validation conditionals.

        * loader/Cache.cpp:
        (WebCore::Cache::evict):
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::~DocLoader):
        (WebCore::DocLoader::requestResource):
        (WebCore::DocLoader::setAutoLoadImages):
        (WebCore::DocLoader::removeCachedResource):
        * loader/DocLoader.h:
        (WebCore::DocLoader::cachedResource):
        (WebCore::DocLoader::allCachedResources):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::getSubresources):
        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::updateFromElement):

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

13 years agoVersioning.
mrowe@apple.com [Thu, 8 Jan 2009 23:36:42 +0000 (23:36 +0000)]
Versioning.

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

13 years ago2009-01-08 Stephanie Lewis <slewis@gmail.com>
slewis@apple.com [Thu, 8 Jan 2009 23:07:43 +0000 (23:07 +0000)]
2009-01-08  Stephanie Lewis  <slewis@gmail.com>

        Fix Tiger build.

        * WebView/WebTextIterator.mm:

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

13 years ago2009-01-08 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 8 Jan 2009 23:00:01 +0000 (23:00 +0000)]
2009-01-08  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add basic support for evaluating scripts.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WebKit::fromUTF8WithLatin1Fallback):
        (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
        (WKPCReleaseObject):
        (marshalValue):
        (WKPCEvaluate):
        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::releaseObject):
        (WebKit::NetscapePluginInstanceProxy::evaluate):
        * Plugins/Hosted/WebKitPluginClient.defs:
        * Plugins/Hosted/WebKitPluginHostTypes.h:

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

13 years ago2009-01-08 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 8 Jan 2009 22:51:19 +0000 (22:51 +0000)]
2009-01-08  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=23197
        Delay creating the PCVector until an exception is thrown
        Part of <rdar://problem/6469060>
        Don't store exception information for a CodeBlock until first exception is thrown

        - Change the process for re-parsing/re-generating bytecode for exception information
          to use data from the original CodeBlock (offsets of GlobalResolve instructions) to
          aid in creating an identical instruction stream on re-parse, instead of padding
          interchangeable opcodes, which would result in different JITed code.
        - Fix bug where the wrong ScopeChainNode was used when re-parsing/regenerating from
          within some odd modified scope chains.
        - Lazily create the pcVector by re-JITing the regenerated CodeBlock and stealing the
          the pcVector from it.

        Saves ~2MB on Membuster head.

        * bytecode/CodeBlock.cpp:
        (JSC::CodeBlock::dump):
        (JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
        (JSC::CodeBlock::hasGlobalResolveInstructionAtBytecodeOffset):
        (JSC::CodeBlock::hasGlobalResolveInfoAtBytecodeOffset):
        * bytecode/CodeBlock.h:
        (JSC::JITCodeRef::JITCodeRef):
        (JSC::GlobalResolveInfo::GlobalResolveInfo):
        (JSC::CodeBlock::getBytecodeIndex):
        (JSC::CodeBlock::addGlobalResolveInstruction):
        (JSC::CodeBlock::addGlobalResolveInfo):
        (JSC::CodeBlock::addFunctionRegisterInfo):
        (JSC::CodeBlock::hasExceptionInfo):
        (JSC::CodeBlock::pcVector):
        (JSC::EvalCodeBlock::EvalCodeBlock):
        (JSC::EvalCodeBlock::baseScopeDepth):
        * bytecode/Opcode.h:
        * bytecompiler/BytecodeGenerator.cpp:
        (JSC::BytecodeGenerator::BytecodeGenerator):
        (JSC::BytecodeGenerator::emitResolve):
        (JSC::BytecodeGenerator::emitGetScopedVar):
        * bytecompiler/BytecodeGenerator.h:
        (JSC::BytecodeGenerator::setRegeneratingForExceptionInfo):
        * interpreter/Interpreter.cpp:
        (JSC::bytecodeOffsetForPC):
        (JSC::Interpreter::unwindCallFrame):
        (JSC::Interpreter::privateExecute):
        (JSC::Interpreter::retrieveLastCaller):
        (JSC::Interpreter::cti_op_instanceof):
        (JSC::Interpreter::cti_op_call_NotJSFunction):
        (JSC::Interpreter::cti_op_resolve):
        (JSC::Interpreter::cti_op_construct_NotJSConstruct):
        (JSC::Interpreter::cti_op_resolve_func):
        (JSC::Interpreter::cti_op_resolve_skip):
        (JSC::Interpreter::cti_op_resolve_global):
        (JSC::Interpreter::cti_op_resolve_with_base):
        (JSC::Interpreter::cti_op_throw):
        (JSC::Interpreter::cti_op_in):
        (JSC::Interpreter::cti_vm_throw):
        * jit/JIT.cpp:
        (JSC::JIT::privateCompile):
        * parser/Nodes.cpp:
        (JSC::EvalNode::generateBytecode):
        (JSC::EvalNode::bytecodeForExceptionInfoReparse):
        (JSC::FunctionBodyNode::bytecodeForExceptionInfoReparse):
        * parser/Nodes.h:

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

13 years ago2009-01-08 Dimitri Glazkov <dglazkov@chromium.org>
eric@webkit.org [Thu, 8 Jan 2009 22:06:29 +0000 (22:06 +0000)]
2009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        Add a cleaned-up GraphicsContextSkia implementation to WebKit.
        https://bugs.webkit.org/show_bug.cgi?id=23191

        * platform/graphics/skia/GraphicsContextSkia.cpp: Added.
        (WebCore::):
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):
        (WebCore::GraphicsContext::platformContext):
        (WebCore::GraphicsContext::savePlatformState):
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::beginTransparencyLayer):
        (WebCore::GraphicsContext::endTransparencyLayer):
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        (WebCore::GraphicsContext::addPath):
        (WebCore::GraphicsContext::beginPath):
        (WebCore::GraphicsContext::clearPlatformShadow):
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::clipOutEllipseInRect):
        (WebCore::GraphicsContext::clipPath):
        (WebCore::GraphicsContext::clipToImageBuffer):
        (WebCore::GraphicsContext::concatCTM):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::drawFocusRing):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
        (WebCore::GraphicsContext::drawLineForText):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::getCTM):
        (WebCore::GraphicsContext::roundToDevicePixels):
        (WebCore::GraphicsContext::scale):
        (WebCore::GraphicsContext::setAlpha):
        (WebCore::GraphicsContext::setCompositeOperation):
        (WebCore::GraphicsContext::setImageInterpolationQuality):
        (WebCore::GraphicsContext::setLineCap):
        (WebCore::GraphicsContext::setLineDash):
        (WebCore::GraphicsContext::setLineJoin):
        (WebCore::GraphicsContext::setMiterLimit):
        (WebCore::GraphicsContext::setPlatformFillColor):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::setPlatformStrokeColor):
        (WebCore::GraphicsContext::setPlatformStrokeStyle):
        (WebCore::GraphicsContext::setPlatformStrokeThickness):
        (WebCore::GraphicsContext::setPlatformTextDrawingMode):
        (WebCore::GraphicsContext::setURLForRect):
        (WebCore::GraphicsContext::setUseAntialiasing):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::strokeRect):
        (WebCore::GraphicsContext::rotate):
        (WebCore::GraphicsContext::translate):

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

13 years ago2009-01-08 Dimitri Glazkov <dglazkov@chromium.org>
eric@webkit.org [Thu, 8 Jan 2009 21:51:01 +0000 (21:51 +0000)]
2009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        Add two more files for platform/graphics/skia.
        https://bugs.webkit.org/show_bug.cgi?id=23191

        * platform/graphics/skia/GradientSkia.cpp: Added.
        (WebCore::Gradient::platformDestroy):
        (WebCore::F2B):
        (WebCore::makeSkColor):
        (WebCore::totalStopsNeeded):
        (WebCore::fillStops):
        (WebCore::compareStops):
        (WebCore::Gradient::platformGradient):
        (WebCore::Gradient::fill):
        * platform/graphics/skia/GraphicsContextPlatformPrivate.h: Copied from WebCore/bindings/js/ScriptValue.h.
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContextPlatformPrivate::context):

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

13 years agoWebCore:
hyatt@apple.com [Thu, 8 Jan 2009 21:27:36 +0000 (21:27 +0000)]
WebCore:

2009-01-08  David Hyatt  <hyatt@apple.com>

        Fix for <rdar://problem/6465682> REGRESSION: In Mail, can't force a message to auto scroll.

        Make scrollRectIntoViewRecursively call out to the HostWindow to continue the recursive scroll for
        any scrollable views that may contain a WebView.  Does nothing on platforms other than the Mac, but
        might eventually be of interest to other platforms.

        Reviewed by Oliver Hunt

        * WebCore.base.exp:
        * page/Chrome.cpp:
        (WebCore::Chrome::scrollRectIntoView):
        * page/Chrome.h:
        * page/ChromeClient.h:
        (WebCore::ChromeClient::scrollRectIntoView):
        * platform/HostWindow.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollRectIntoViewRecursively):

WebKit/mac:

2009-01-08  David Hyatt  <hyatt@apple.com>

        Fix for <rdar://problem/6465682> REGRESSION: In Mail, can't force a message to auto scroll

        Add a new ChromeClient method for handling exposure of scrolled rects.

        Reviewed by Oliver Hunt

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::scrollRectIntoView):

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

13 years agoNo need to make this part of HostWindow and moreover HostWindow should
treat@webkit.org [Thu, 8 Jan 2009 21:12:26 +0000 (21:12 +0000)]
No need to make this part of HostWindow and moreover HostWindow should
not have any reference to non-platform parts of WebCore.

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

13 years ago2009-01-08 Darin Adler <darin@apple.com>
darin@apple.com [Thu, 8 Jan 2009 20:59:59 +0000 (20:59 +0000)]
2009-01-08  Darin Adler  <darin@apple.com>

        Reviewed by Tim Hatcher.

        Bug 23185: add a currentRange method to the WebTextIterator SPI
        https://bugs.webkit.org/show_bug.cgi?id=23185
        rdar://problem/6455834

        I also noticed a garbage-collection-related threading issue that I fixed, and
        that the SPI for getting text was unnecessarily inefficient, so I fixed that too.

        * WebView/WebTextIterator.h: Moved currentNode and currentText into a "deprecated"
        category. Added currentTextPointer and currentTextLength.

        * WebView/WebTextIterator.mm: Changed m_textIterator into an OwnPtr, and also
        used _textIterator to be consistent with ObjC rather than C++ naming.
        (+[WebTextIteratorPrivate initialize]): Added. Calls WebCoreObjCFinalizeOnMainThread,
        since the finalize method here works with main-thread only WebCore objects.
        (-[WebTextIterator initWithRange:]): Changed since _textIterator is an OwnPtr now.
        (-[WebTextIterator advance]): Changed name of m_textIterator. Removed null assertion,
        since I don't think it provides much value.
        (-[WebTextIterator atEnd]): Ditto.
        (-[WebTextIterator currentRange]): Added.
        (-[WebTextIterator currentTextPointer]): Added.
        (-[WebTextIterator currentTextLength]): Added.
        (-[WebTextIterator currentNode]): Did same as above, but also put into new category.
        (-[WebTextIterator currentText]): Ditto.

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

13 years ago2009-01-08 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Thu, 8 Jan 2009 20:19:01 +0000 (20:19 +0000)]
2009-01-08  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adele Peterson.

        Simplify Mac interfaces for drawing media controller elements

        <rdar://problem/6293969>

        * WebCore.base.exp: update for changed WebKitSystemInterface media controller functions

        * platform/mac/WebCoreSystemInterface.h: Ditto
        * platform/mac/WebCoreSystemInterface.mm: Ditto

        * rendering/MediaControlElements.h:
        (WebCore::): Add MediaControlElements enum

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMediaFullscreenButton):  update for changed WebKitSystemInterface
        media controller functions
        (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto
        (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto
        (WebCore::RenderThemeMac::paintMediaSeekBackButton): Ditto
        (WebCore::RenderThemeMac::paintMediaSeekForwardButton): Ditto
        (WebCore::RenderThemeMac::paintMediaSliderTrack): Ditto
        (WebCore::RenderThemeMac::paintMediaSliderThumb): Ditto

2009-01-08  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adele Peterson.

        Simplify Mac interfaces for drawing media controller elements

        <rdar://problem/6293969>

        * WebCoreSupport/WebSystemInterface.m:
        (InitWebCoreSystemInterface): Update for changes to media controller functions

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

13 years ago2009-01-08 Dimitri Glazkov <dglazkov@chromium.org>
eric@webkit.org [Thu, 8 Jan 2009 19:45:23 +0000 (19:45 +0000)]
2009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        Commit the right files this time!  (Instead of the ugly unfixed ones.)
        https://bugs.webkit.org/show_bug.cgi?id=23191

        * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
        * platform/graphics/skia/FloatPointSkia.cpp:
        * platform/graphics/skia/FloatRectSkia.cpp:
        * platform/graphics/skia/IntPointSkia.cpp:
        * platform/graphics/skia/IntRectSkia.cpp:
        (WebCore::IntRect::operator SkRect):
        * platform/graphics/skia/SkiaUtils.cpp:
        (WebCore::):
        (WebCore::WebCoreCompositeToSkiaComposite):
        (WebCore::SkPMColorToWebCoreColor):
        (WebCore::IntersectRectAndRegion):
        (WebCore::ClipRectToCanvas):
        (WebCore::SkPathContainsPoint):
        (WebCore::scratchContext):
        * platform/graphics/skia/SkiaUtils.h:
        (WebCore::WebCoreFloatToSkScalar):
        (WebCore::WebCoreDoubleToSkScalar):

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

13 years ago2009-01-08 Dimitri Glazkov <dglazkov@chromium.org>
eric@webkit.org [Thu, 8 Jan 2009 18:58:50 +0000 (18:58 +0000)]
2009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        Add the first few files from platform/graphics/skia
        https://bugs.webkit.org/show_bug.cgi?id=23191

        These are all pretty simple.
        Eventually BitmapImageSingleFrameSkia might grow a .cpp file, for now it's just a header.
        SkiaUtils needs to die, but that can come later, no need to block up-streaming now.

        * platform/graphics/skia/BitmapImageSingleFrameSkia.h: Added.
        (WebCore::BitmapImageSingleFrameSkia::isBitmapImage):
        (WebCore::BitmapImageSingleFrameSkia::size):
        (WebCore::BitmapImageSingleFrameSkia::destroyDecodedData):
        (WebCore::BitmapImageSingleFrameSkia::decodedSize):
        (WebCore::BitmapImageSingleFrameSkia::nativeImageForCurrentFrame):
        (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
        * platform/graphics/skia/FloatPointSkia.cpp: Copied from WebCore/platform/graphics/mac/FloatPointMac.mm.
        (WebCore::FloatPoint::FloatPoint):
        (WebCore::FloatPoint::operator SkPoint):
        * platform/graphics/skia/FloatRectSkia.cpp: Copied from WebCore/platform/graphics/qt/IntRectQt.cpp.
        (WebCore::FloatRect::FloatRect):
        (WebCore::FloatRect::operator SkRect):
        * platform/graphics/skia/IntPointSkia.cpp: Copied from WebCore/platform/graphics/win/IntPointWin.cpp.
        (WebCore::IntPoint::IntPoint):
        (WebCore::IntPoint::operator SkIPoint):
        (WebCore::IntPoint::operator SkPoint):
        * platform/graphics/skia/IntRectSkia.cpp: Copied from WebCore/platform/graphics/qt/IntRectQt.cpp.
        (WebCore::IntRect::operator SkIRect):
        (WebCore::IntRect::operator SkRect):
        (WebCore::IntRect::IntRect):
        * platform/graphics/skia/SkiaUtils.cpp: Added.
        (WebCore::WebCorePointToSkiaPoint):
        (WebCore::WebCoreRectToSkiaRect):
        (WebCore::):
        (WebCore::WebCoreCompositeToSkiaComposite):
        (WebCore::InvScaleByte):
        (WebCore::SkPMColorToColor):
        (WebCore::SkPMColorToWebCoreColor):
        (WebCore::IntersectRectAndRegion):
        (WebCore::ClipRectToCanvas):
        (WebCore::SkPathContainsPoint):
        (WebCore::scratchContext):
        * platform/graphics/skia/SkiaUtils.h: Added.
        (WebCore::WebCoreFloatToSkScalar):
        (WebCore::WebCoreDoubleToSkScalar):

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

13 years ago2009-01-08 Pierre-Olivier Latour <pol@apple.com>
pol@apple.com [Thu, 8 Jan 2009 18:24:47 +0000 (18:24 +0000)]
2009-01-08  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        Fixed CSS Transitions with zero-duration but non-zero-delay not starting or ending properly.

        Also updated AnimationController::numberOfActiveAnimations() which now returns the number of "active" animations,
        instead of simply the "running" ones.

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

        Tests: transitions/zero-duration-with-non-zero-delay-end.html
               transitions/zero-duration-with-non-zero-delay-start.html

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::animationTimerFired):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations):

        Added layout tests for CSS Transitions with zero-duration but non-zero-delay.

        Also updated the layout test for DRT API numberOfActiveAnimations() which now returns the number of "active" animations,
        instead of simply the running ones.

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

        * animations/animation-controller-drt-api-expected.txt:
        * animations/animation-controller-drt-api.html:
        * platform/win/Skipped:
        * transitions/zero-duration-with-non-zero-delay-end-expected.txt: Added.
        * transitions/zero-duration-with-non-zero-delay-end.html: Added.
        * transitions/zero-duration-with-non-zero-delay-start-expected.txt: Added.
        * transitions/zero-duration-with-non-zero-delay-start.html: Added.

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

13 years ago2009-01-08 Brent Fulgham <bfulgham@gmail.com>
pam@chromium.org [Thu, 8 Jan 2009 17:50:53 +0000 (17:50 +0000)]
2009-01-08  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Adele Petersen.
        Landed by Pamela Greene.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=23139
        Remove links to no-longer-existing Drosera project.
        Also, clean up references to wiki in the nav.inc file.

        * nav.inc: Correct paths to wiki, swap Drosera for Web Inspector.

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

13 years ago Reviewed by Oliver Hunt.
ap@webkit.org [Thu, 8 Jan 2009 17:05:45 +0000 (17:05 +0000)]
    Reviewed by Oliver Hunt.

        <rdar://problem/6477501> Repro crash loading HTML5 AppCache manifest directly

        The crash happened whenever a cached resource was downloaded, as opposed to used directly.

        No test, as downloading cannot be tested automatically.

        * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::continueAfterContentPolicy):
        Cancel downloads that do not have an associated ResourceHandle, such as downloads from the
        application cache. Activity window shows "The URL can't be shown", and the frame remains empty.

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

13 years ago2009-01-08 Jian Li <jianli@chromium.org>
ap@webkit.org [Thu, 8 Jan 2009 16:47:14 +0000 (16:47 +0000)]
2009-01-08  Jian Li  <jianli@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Add Win32 implementation of ThreadSpecific.
        https://bugs.webkit.org/show_bug.cgi?id=22614

        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
        * wtf/ThreadSpecific.h:
        (WTF::ThreadSpecific::ThreadSpecific):
        (WTF::ThreadSpecific::~ThreadSpecific):
        (WTF::ThreadSpecific::get):
        (WTF::ThreadSpecific::set):
        (WTF::ThreadSpecific::destroy):
        * wtf/ThreadSpecificWin.cpp: Added.
        (WTF::ThreadSpecificThreadExit):
        * wtf/ThreadingWin.cpp:
        (WTF::wtfThreadEntryPoint):

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

13 years ago2009-01-08 Justin McPherson <justin.mcpherson@nokia.com>
hausmann@webkit.org [Thu, 8 Jan 2009 15:58:28 +0000 (15:58 +0000)]
2009-01-08  Justin McPherson <justin.mcpherson@nokia.com>

        Reviewed by Simon Hausmann.

        Fix compilation with Qt on NetBSD.

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

13 years agoDon't set the minimumFontSize and minimumLogicalFontSize as these are
treat@webkit.org [Thu, 8 Jan 2009 15:51:05 +0000 (15:51 +0000)]
Don't set the minimumFontSize and minimumLogicalFontSize as these are
just for accessibility and should be left up to the client application.

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

13 years ago2009-01-08 Justin McPherson <justin.mcpherson@nokia.com>
hausmann@webkit.org [Thu, 8 Jan 2009 15:50:17 +0000 (15:50 +0000)]
2009-01-08  Justin McPherson <justin.mcpherson@nokia.com>

        Reviewed by Simon Hausmann.

        Fix the Qt build on older X11 systems with special X paths
        needed for NPAPI.

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

13 years ago2009-01-08 Kavindra Palaraja <kdpalara@trolltech.com>
hausmann@webkit.org [Thu, 8 Jan 2009 15:21:03 +0000 (15:21 +0000)]
2009-01-08  Kavindra Palaraja  <kdpalara@trolltech.com>

        Reviewed by Simon Hausmann.

        Small fixes to the API documentation, missing 4.5 tags and
        undocumented parameters.

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

13 years ago Windows build fix after r39699
aroben@apple.com [Thu, 8 Jan 2009 15:04:04 +0000 (15:04 +0000)]
    Windows build fix after r39699

        * DerivedSources.cpp: Added JSDOMStringList.cpp.

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

13 years ago2009-01-08 Kent Hansen <khansen@trolltech.com>
hausmann@webkit.org [Thu, 8 Jan 2009 13:47:22 +0000 (13:47 +0000)]
2009-01-08  Kent Hansen  <khansen@trolltech.com>

        Reviewed by Simon Hausmann.

        Fix copy & paste of images in the Qt port.

        Store the QPixmap itself in the mimedata, not a QPixmap* converted to bool.

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

13 years ago2009-01-08 Hiroyuki Ikezoe <poincare@ikezoe.net>
zecke@webkit.org [Thu, 8 Jan 2009 12:33:12 +0000 (12:33 +0000)]
2009-01-08  Hiroyuki Ikezoe  <poincare@ikezoe.net>

        Reviewed by Holger Freyther.

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

        Invoke pango_coverage_get with each Unicode character.

        * platform/graphics/gtk/SimpleFontDataPango.cpp:
        (WebCore::SimpleFontData::containsCharacters):

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

13 years agoAdd webkit_web_view_reload_bypass_cache.
zecke@webkit.org [Thu, 8 Jan 2009 12:32:59 +0000 (12:32 +0000)]
Add webkit_web_view_reload_bypass_cache.

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

13 years ago Reviewed by Darin Adler.
ap@webkit.org [Thu, 8 Jan 2009 11:54:41 +0000 (11:54 +0000)]
    Reviewed by Darin Adler.

        Part one of
        https://bugs.webkit.org/show_bug.cgi?id=23165
        Add support for application cache dynamic entries

        Test: http/tests/appcache/dynamic-entries-no-cache.html

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.scons:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        Added new files.

        * bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::hasItem):
        Added binding for hasItem(). Like other DOMApplicationCache methods, it needs to be custom
        to resolve relative URLs correctly.

        * bindings/js/JSDOMStringListCustom.cpp: Added.
        * dom/DOMStringList.cpp: Added.
        * dom/DOMStringList.h: Added.
        * dom/DOMStringList.idl: Added.
        Added an implementation of DOM 3 Core DOMStringList interface, which is returned by
        DOMApplicationCache items attribute.

        * dom/StaticStringList.cpp: Added.
        * dom/StaticStringList.h: Added.
        An implementation of DOMStringList that makes a snapshot (for DOMApplicationCache, this
        matches Firefox, as the spec doesn't say whether the returned list should be live or not).

        * loader/appcache/ApplicationCache.h: Added a list of pending dynamic entry actions, to be
        used in the near future.

        * loader/appcache/DOMApplicationCache.idl: Updated for spec changes. Instead of length
        attribute and item(), we now have an items attribute that returns a DOMStringList, and a
        hasItem convenience method.

        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::items):
        (WebCore::DOMApplicationCache::hasItem):
        * loader/appcache/DOMApplicationCache.h:
        Added implementations of items attribute and hasItem() (note that underlying ApplicationCache
        methods are still unimplemented though).

        * page/DOMWindow.idl: Expose a DOMStringList global constructor.

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

13 years ago2009-01-07 Jon Honeycutt <jhoneycutt@apple.com>
jhoneycutt@apple.com [Thu, 8 Jan 2009 06:15:32 +0000 (06:15 +0000)]
2009-01-07  Jon Honeycutt  <jhoneycutt@apple.com>

        Fix a crash with querying a WebView for its global history item when
        its associated Page has no global history item.

        Reviewed by Dan Bernstein.

        * WebView.cpp:
        (WebView::globalHistoryItem): If the Page has no global history item,
        report 0.

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

13 years ago2009-01-07 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 8 Jan 2009 01:46:14 +0000 (01:46 +0000)]
2009-01-07  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoffrey Garen.

        <rdar://problem/6469060> Don't store exception information for a CodeBlock until first exception is thrown

        Don't initially store exception information (lineNumber/expressionRange/getByIdExcecptionInfo)
        in CodeBlocks blocks.  Instead, re-parse for the data on demand and cache it then.

        One important change that was needed to make this work was to pad op_get_global_var with nops to
        be the same length as op_resolve_global, since one could be replaced for the other on re-parsing,
        and we want to keep the offsets bytecode offsets the same.

        1.3MB improvement on Membuster head.

        * bytecode/CodeBlock.cpp:
        (JSC::CodeBlock::dump): Update op_get_global_var to account for the padding.
        (JSC::CodeBlock::dumpStatistics): Add more statistic dumping.
        (JSC::CodeBlock::CodeBlock): Initialize m_exceptionInfo.
        (JSC::CodeBlock::reparseForExceptionInfoIfNecessary): Re-parses the CodeBlocks
        associated SourceCode and steals the ExceptionInfo from it.
        (JSC::CodeBlock::lineNumberForBytecodeOffset): Creates the exception info on demand.
        (JSC::CodeBlock::expressionRangeForBytecodeOffset): Ditto.
        (JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset): Ditto.
        * bytecode/CodeBlock.h:
        (JSC::CodeBlock::numberOfExceptionHandlers): Updated to account for m_exceptionInfo indirection.
        (JSC::CodeBlock::addExceptionHandler): Ditto.
        (JSC::CodeBlock::exceptionHandler): Ditto.
        (JSC::CodeBlock::clearExceptionInfo): Ditto.
        (JSC::CodeBlock::addExpressionInfo): Ditto.
        (JSC::CodeBlock::addGetByIdExceptionInfo): Ditto.
        (JSC::CodeBlock::numberOfLineInfos): Ditto.
        (JSC::CodeBlock::addLineInfo): Ditto.
        (JSC::CodeBlock::lastLineInfo): Ditto.

        * bytecode/Opcode.h: Change length of op_get_global_var to match op_resolve_global.

        * bytecode/SamplingTool.cpp:
        (JSC::SamplingTool::dump): Add comment indicating why it is okay not to pass a CallFrame.

        * bytecompiler/BytecodeGenerator.cpp:
        (JSC::BytecodeGenerator::generate): Clear the exception info after generation for Function and Eval
        Code when not in regenerate for exception info mode.
        (JSC::BytecodeGenerator::BytecodeGenerator): Initialize m_regeneratingForExceptionInfo to false.
        (JSC::BytecodeGenerator::emitGetScopedVar): Pad op_get_global_var with 2 nops.
        * bytecompiler/BytecodeGenerator.h:
        (JSC::BytecodeGenerator::setRegeneratingForExcpeptionInfo): Added.

        * interpreter/Interpreter.cpp:
        (JSC::Interpreter::throwException): Pass the CallFrame to exception info accessors.
        (JSC::Interpreter::privateExecute): Ditto.
        (JSC::Interpreter::retrieveLastCaller): Ditto.
        (JSC::Interpreter::cti_op_new_error): Ditto.

        * jit/JIT.cpp:
        (JSC::JIT::privateCompileMainPass): Pass the current bytecode offset instead of hard coding the
        line number, the stub will do the accessing if it gets called.

        * parser/Nodes.cpp:
        (JSC::ProgramNode::emitBytecode): Moved.
        (JSC::ProgramNode::generateBytecode): Moved.
        (JSC::EvalNode::create): Moved.
        (JSC::EvalNode::bytecodeForExceptionInfoReparse): Added.
        (JSC::FunctionBodyNode::generateBytecode): Rename reparse to reparseInPlace.
        (JSC::FunctionBodyNode::bytecodeForExceptionInfoReparse): Addded.

        * parser/Nodes.h:
        (JSC::ScopeNode::features): Added getter.
        * parser/Parser.cpp:
        (JSC::Parser::reparseInPlace): Renamed from reparse.
        * parser/Parser.h:
        (JSC::Parser::reparse): Added. Re-parses the passed in Node into
        a new Node.
        * runtime/ExceptionHelpers.cpp:
        (JSC::createUndefinedVariableError): Pass along CallFrame.
        (JSC::createInvalidParamError): Ditto.
        (JSC::createNotAConstructorError): Ditto.
        (JSC::createNotAFunctionError): Ditto.
        (JSC::createNotAnObjectError): Ditto.

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

13 years ago https://bugs.webkit.org/show_bug.cgi?id=23122
cmarrin@apple.com [Thu, 8 Jan 2009 01:37:16 +0000 (01:37 +0000)]
    https://bugs.webkit.org/show_bug.cgi?id=23122

        This completes the removal of dependencies on WebKit from the platform code

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

13 years ago2009-01-07 Glenn Wilson <gwilson@chromium.org>
eric@webkit.org [Thu, 8 Jan 2009 01:28:08 +0000 (01:28 +0000)]
2009-01-07  Glenn Wilson  <gwilson@chromium.org>

        Reviewed by Eric Seidel.

        Changed DumpRenderTree to re-enable Javascript in web preferences on every test.
        This fixes the case when a user mistakenly disables Javascript, and all layout tests crash.

        * DumpRenderTree/mac/DumpRenderTree.mm:
        (testStringByEvaluatingJavaScriptFromString):
        (setDefaultsToConsistentValuesForTesting):

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

13 years ago2008-01-07 Peter Kasting <pkasting@google.com>
pkasting@chromium.org [Thu, 8 Jan 2009 00:27:07 +0000 (00:27 +0000)]
2008-01-07  Peter Kasting  <pkasting@google.com>

        Reviewed by Sam Weinig.

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

        Fix errors while decoding GIFs by not calling setData() repeatedly
        when it's not necessary.  Pushes the responsibility for calling
        setData() after clear() into the ImageSource which presumably knows
        better than BitmapImage what needs to be done.

        NOTE: The above bug is mainly about a memory regression, which this
        patch does not fix.

        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::destroyDecodedData):
        * platform/graphics/ImageSource.h:
        * platform/graphics/cairo/ImageSourceCairo.cpp:
        (WebCore::ImageSource::clear):
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::clear):
        * platform/graphics/qt/ImageSourceQt.cpp:
        (WebCore::ImageSource::~ImageSource):
        (WebCore::ImageSource::clear):
        * platform/graphics/wx/ImageSourceWx.cpp:
        (WebCore::ImageSource::~ImageSource):
        (WebCore::ImageSource::clear):

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

13 years agoWebCore:
justin.garcia@apple.com [Thu, 8 Jan 2009 00:23:10 +0000 (00:23 +0000)]
WebCore:

2009-01-07  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6355786> Find fails for queries that contain a line break

        * editing/TextIterator.cpp:
        (WebCore::findPlainText): Allow find with queries that contain newlines.

LayoutTests:

2009-01-07  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6355786> Find fails for queries that contain a line break

        * editing/execCommand/6355786-expected.txt: Added.
        * editing/execCommand/6355786.html: Added.

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

13 years ago2009-01-07 Dean Jackson <dino@apple.com>
dino@apple.com [Thu, 8 Jan 2009 00:00:06 +0000 (00:00 +0000)]
2009-01-07  Dean Jackson  <dino@apple.com>

    Typo in ChangeLog. Don't want to offend mitz.

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

13 years ago2009-01-07 Dean Jackson <dino@apple.com>
dino@apple.com [Wed, 7 Jan 2009 23:56:40 +0000 (23:56 +0000)]
2009-01-07  Dean Jackson  <dino@apple.com>

        Reviewed by Dan Berstein.

        Allow removal of inline shorthand properties for
        animation, transition and transform origin. Also
        add getter for shorthand animation property.

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

        Test: fast/css/transform-inline-style-remove.html

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
            Getter for animation property shorthand
        (WebCore::initShorthandMap):
            Adds initialisation for transform-origin, animation and transition

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

13 years ago2009-01-07 Benjamin Otte <otte@gnome.org>
zecke@webkit.org [Wed, 7 Jan 2009 23:43:41 +0000 (23:43 +0000)]
2009-01-07  Benjamin Otte  <otte@gnome.org>

        Reviewed by Holger Freyther.

        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        (WebCore::parseDataUrl):
        (WebCore::ResourceHandle::startData): keep track of the idle handler
we add and remove it in the destructor

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

13 years agoImplement LayoutTestController::numberOfActiveAnimations for Gtk+.
zecke@webkit.org [Wed, 7 Jan 2009 23:24:32 +0000 (23:24 +0000)]
Implement LayoutTestController::numberOfActiveAnimations for Gtk+.

Add private API to WebKitWebFrame to get the information. The
implementation is coming from WebFrame.mm.

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

13 years ago2009-01-07 Dean Jackson <dino@apple.com>
dino@apple.com [Wed, 7 Jan 2009 23:02:16 +0000 (23:02 +0000)]
2009-01-07  Dean Jackson  <dino@apple.com>

        Reviewed by Darin Adler.

        Finish renaming of AffineTransform to TransformationMatrix, this
        time ensuring that the platform implementations get the correct
        name. Also, clean up some whitespace cruft in old content.

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

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.scons:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/cairo/AffineTransformCairo.cpp: Removed.
        * platform/graphics/cairo/TransformationMatrixCairo.cpp: Copied from WebCore/platform/graphics/cairo/AffineTransformCairo.cpp.
        * platform/graphics/cg/AffineTransformCG.cpp: Removed.
        * platform/graphics/cg/TransformationMatrixCG.cpp: Copied from WebCore/platform/graphics/cg/AffineTransformCG.cpp.
        * platform/graphics/qt/AffineTransformQt.cpp: Removed.
        * platform/graphics/qt/TransformationMatrixQt.cpp: Copied from WebCore/platform/graphics/qt/AffineTransformQt.cpp.
        * platform/graphics/transforms/TransformationMatrix.cpp:
        * platform/graphics/transforms/TransformationMatrix.h:
        * platform/graphics/wx/AffineTransformWx.cpp: Removed.
        * platform/graphics/wx/TransformationMatrixWx.cpp: Copied from WebCore/platform/graphics/wx/AffineTransformWx.cpp.
        * webcore-wx.bkl:

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

13 years ago2009-01-07 Pierre-Olivier Latour <pol@apple.com>
pol@apple.com [Wed, 7 Jan 2009 22:57:04 +0000 (22:57 +0000)]
2009-01-07  Pierre-Olivier Latour  <pol@apple.com>

        Improve DRT API existence test in animation-test-helpers.js & transition-test-helpers.js.

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

        * animations/animation-test-helpers.js:
        * transitions/transition-test-helpers.js:

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

13 years ago2009-01-07 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Wed, 7 Jan 2009 22:33:20 +0000 (22:33 +0000)]
2009-01-07  Anders Carlsson  <andersca@apple.com>

        Another build fix.

        * WebCore.LP64.exp:

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

13 years ago2009-01-07 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Wed, 7 Jan 2009 22:30:21 +0000 (22:30 +0000)]
2009-01-07  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Fix build.

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::idForObject):

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

13 years ago2009-01-07 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Wed, 7 Jan 2009 22:03:25 +0000 (22:03 +0000)]
2009-01-07  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Add a way for a plug-in to get a reference to the Window JS object.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCGetWindowNPObject):
        Call the appropriate instance.

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        Add object ID counter.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::destroy):
        Clear the object ID map.

        (WebKit::NetscapePluginInstanceProxy::idForObject):
        New method that returns a unique ID for a given JS object.

        (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
        Return the object ID for the window JS object.

        * Plugins/Hosted/WebKitPluginClient.defs:
        Add GetWindowNPObject.

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

13 years ago2008-12-16 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 7 Jan 2009 20:24:45 +0000 (20:24 +0000)]
2008-12-16  David Hyatt  <hyatt@apple.com>

        Make Safari RSS behave nicely with full page zoom.  Need to add a new value to enable resetting of zoom
        back to the document-level default.

        Reviewed by Darin Adler

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSValueKeywords.in:

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

13 years ago Fix Bug 22262: Clicking close ("X") button in docked Web Inspector clears...
aroben@apple.com [Wed, 7 Jan 2009 15:58:17 +0000 (15:58 +0000)]
    Fix Bug 22262: Clicking close ("X") button in docked Web Inspector clears Web Inspector but doesn't close it

        <https://bugs.webkit.org/show_bug.cgi?id=22262>
        <rdar://problem/6371873>

        Reviewed by Darin Adler.

        * WebCoreSupport/WebInspectorClient.cpp:
        (WebInspectorClient::WebInspectorClient): Initialize new member.
        (WebInspectorClient::showWindow): Moved code from here to
        showWindowWithoutNotifications.
        (WebInspectorClient::closeWindow): Moved code from here to
        closeWindowWithoutNotifications.

        (WebInspectorClient::attachWindow):
        (WebInspectorClient::detachWindow):
        Record whether or not we should be attached, then close and reopen the
        window without notifying the InspectorController. Code that was in
        these functions moved to showWindowWithoutNotifications and
        closeWindowWithoutNotifications, respectively.

        (WebInspectorClient::closeWindowWithoutNotifications): Added. Code
        came from closeWindow and detachWindow.
        (WebInspectorClient::showWindowWithoutNotifications): Added. Code came
        from showWindow and attachWindow.

        * WebCoreSupport/WebInspectorClient.h: Added
        {close,show}WindowWithoutNotifications and m_shouldAttachWhenShown.

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

13 years agoWebCore:
darin@apple.com [Wed, 7 Jan 2009 15:40:24 +0000 (15:40 +0000)]
WebCore:

2009-01-07  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        Bug 23160: add setMemoryCacheClientCallsEnabled SPI so Safari can be faster with activity window closed
        https://bugs.webkit.org/show_bug.cgi?id=23160

        * WebCore.base.exp: Added Page::setMemoryCacheClientCallsEnabled.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didLoadResourceFromMemoryCache): Updated to take a CachedResource
        so that there's no extra work the caller has to do when the inspector is disabled.
        * inspector/InspectorController.h: Ditto.

        * loader/DocumentLoader.h: Added recordMemoryCacheLoadForFutureClientNotification,
        takeMemoryCacheLoadsForClientNotification, and m_resourcesLoadedFromMemoryCacheForClientNotification.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadedResourceFromMemoryCache): Streamlined code so less work is done when
        there's no inspector or client call needed. Added code to check areMemoryCacheClientCallsEnabled
        and if it's false, use recordMemoryCacheLoadForFutureClientNotification.
        (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Added.
        * loader/FrameLoader.h: Ditto.

        * page/Page.cpp:
        (WebCore::Page::Page): Initialize m_areMemoryCacheClientCallsEnabled to be compatible with old behavior.
        (WebCore::Page::setMemoryCacheClientCallsEnabled): Added.
        * page/Page.h: Added setMemoryCacheClientCallsEnabled, areMemoryCacheClientCallsEnabled,
        and m_areMemoryCacheClientCallsEnabled.

WebKit/mac:

2009-01-07  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        Bug 23160: add setMemoryCacheClientCallsEnabled SPI so Safari can be faster with activity window closed
        https://bugs.webkit.org/show_bug.cgi?id=23160

        * WebView/WebView.mm:
        (-[WebView setMemoryCacheDelegateCallsEnabled:]): Added.
        (-[WebView areMemoryCacheDelegateCallsEnabled]): Added
        * WebView/WebViewPrivate.h: Ditto.

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

13 years agoAdd Qt API to QWebHitTestResult::isScrollBar method
treat@webkit.org [Wed, 7 Jan 2009 15:35:38 +0000 (15:35 +0000)]
Add Qt API to QWebHitTestResult::isScrollBar method

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

13 years agoAdd Qt API for QWebFrame::scrollBarGeometry method
treat@webkit.org [Wed, 7 Jan 2009 15:35:24 +0000 (15:35 +0000)]
Add Qt API for QWebFrame::scrollBarGeometry method

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

13 years agoFix unused variable warnings
treat@webkit.org [Wed, 7 Jan 2009 15:24:57 +0000 (15:24 +0000)]
Fix unused variable warnings

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

13 years ago2009-01-07 Ariya Hidayat <ariya.hidayat@trolltech.com>
hausmann@webkit.org [Wed, 7 Jan 2009 15:15:10 +0000 (15:15 +0000)]
2009-01-07  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Rubber-stamped by Simon Hausmann.

        Qt build fix after r39670.

        * bridge/qt/qt_class.cpp:
        (JSC::Bindings::QtClass::fallbackObject):
        * bridge/qt/qt_class.h:
        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::mark):
        (JSC::Bindings::QtInstance::invokeMethod):
        (JSC::Bindings::QtInstance::defaultValue):
        (JSC::Bindings::QtInstance::stringValue):
        (JSC::Bindings::QtInstance::numberValue):
        (JSC::Bindings::QtInstance::booleanValue):
        (JSC::Bindings::QtInstance::valueOf):
        (JSC::Bindings::QtField::valueFromInstance):
        (JSC::Bindings::QtField::setValueToInstance):
        * bridge/qt/qt_instance.h:
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::valueRealType):
        (JSC::Bindings::convertValueToQVariant):
        (JSC::Bindings::convertQVariantToValue):
        (JSC::Bindings::findMethodIndex):
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):
        (JSC::Bindings::::setValueAt):
        (JSC::Bindings::::valueAt):
        * bridge/qt/qt_runtime.h:
        (JSC::Bindings::QtRuntimeMethod::createStructure):

2009-01-07  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Rubber-stamped by Simon Hausmann.

        Qt build fix after r39670.

        * Api/qwebframe.cpp:
        (QWebFrame::evaluateJavaScript):

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

13 years ago2009-01-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
hausmann@webkit.org [Wed, 7 Jan 2009 08:45:15 +0000 (08:45 +0000)]
2009-01-06  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Holger Freyther.

        Allow building QtWebKit statically (within Qt).

        http://trolltech.com/developer/task-tracker/index_html?id=211273&method=entry

        * Api/qwebkitglobal.h:

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

13 years ago2009-01-06 Gavin Barraclough <baraclough@apple.com>
barraclough@apple.com [Wed, 7 Jan 2009 08:16:52 +0000 (08:16 +0000)]
2009-01-06  Gavin Barraclough  <baraclough@apple.com>

        Reviewed by Maciej Stachowiak.

        Replace accidentally removed references in BytecodeGenerator, deleting these
        will be hindering the sharing of constant numbers and strings.

        The code to add a new constant (either number or string) to their respective
        map works by attempting to add a null entry, then checking the result of the
        add for null.  The first time, this should return the null (or noValue).
        The code checks for null (to see if this is the initial add), and then allocates
        a new number / string object.  This code relies on the result returned from
        the add to the map being stored as a reference, such that the allocated object
        will be stored in the map, and will be resused if the same constant is encountered
        again.  By failing to use a reference we will be leaking GC object for each
        additional entry added to the map.  As GC objects they should be clollected,
        be we should no be allocatin them in the first place.

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

        * bytecompiler/BytecodeGenerator.cpp:
        (JSC::BytecodeGenerator::emitLoad):

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

13 years ago2009-01-06 Justin Garcia <justin.garcia@apple.com>
justin.garcia@apple.com [Wed, 7 Jan 2009 08:07:31 +0000 (08:07 +0000)]
2009-01-06  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/6391734> SnowLeopard: Crash doing Copy Image from context menu

        Can't create an automated test case for specific contextual menu items yet and
        a normal Copy doesn't cause a crash.

        * platform/mac/PasteboardMac.mm:
        (WebCore::fileWrapperForImage): The SharedBuffer may not have platform data.  It may,
        for example, have a purgeable or regular buffer.

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

13 years ago<rdar://problem/6040850> JavaScript register file should use VirtualAlloc on Windows
oliver@apple.com [Wed, 7 Jan 2009 07:41:33 +0000 (07:41 +0000)]
<rdar://problem/6040850> JavaScript register file should use VirtualAlloc on Windows

Reviewed by Gavin Barraclough.

Fairly simple, just reserve 4Mb of address space for the
register file, and then commit one section at a time.  We
don't release committed memory as we drop back, but then
mac doesn't either so this probably not too much of a
problem.

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

13 years ago Reviewed by Darin Adler.
ap@webkit.org [Wed, 7 Jan 2009 07:24:18 +0000 (07:24 +0000)]
    Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23142
        ThreadGlobalData leaks seen on buildbot

        * wtf/ThreadSpecific.h: (WTF::ThreadSpecific::destroy): Temporarily reset the thread
        specific value to make getter work on Mac OS X.

        * wtf/Platform.h: Touch this file again to make sure all Windows builds use the most recent
        version of ThreadSpecific.h.

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

13 years agoFix <https://bugs.webkit.org/show_bug.cgi?id=23157>.
mrowe@apple.com [Wed, 7 Jan 2009 06:29:52 +0000 (06:29 +0000)]
Fix <https://bugs.webkit.org/show_bug.cgi?id=23157>.
Bug 23157: Crashes on Acid 3

Reviewed by Geoff Garen.

* dom/Document.cpp:
(WebCore::Document::recalcStyle): Null-check the frame.

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

13 years agoJavaScriptCore:
barraclough@apple.com [Wed, 7 Jan 2009 05:11:57 +0000 (05:11 +0000)]
JavaScriptCore:

2009-01-05  Gavin Barraclough  <baraclough@apple.com>

        Reviewed by Oliver Hunt.

        Replace all uses of JSValue* with a new smart pointer type, JSValuePtr.

        A JavaScript value may be a heap object or boxed primitive, represented by a
        pointer, or may be an unboxed immediate value, such as an integer.  Since a
        value may dynamically need to contain either a pointer value or an immediate,
        we encode immediates as pointer values (since all valid JSCell pointers are
        allocated at alligned addesses, unaligned addresses are available to encode
        immediates).  As such all JavaScript values are represented using a JSValue*.

        This implementation is encumbered by a number of constraints.  It ties the
        JSValue representation to the size of pointer on the platform, which, for
        example, means that we currently can represent different ranges of integers
        as immediates on x86 and x86-64.  It also prevents us from overloading the
        to-boolean conversion used to test for noValue() - effectively forcing us
        to represent noValue() as 0.  This would potentially be problematic were we
        to wish to encode integer values differently (e.g. were we to use the v8
        encoding, where pointers are tagged with 1 and integers with 0, then the
        immediate integer 0 would conflict with noValue()).

        This patch replaces all usage of JSValue* with a new class, JSValuePtr,
        which encapsulates the pointer.  JSValuePtr maintains the same interface as
        JSValue*, overloading operator-> and operator bool such that previous
        operations in the code on variables of type JSValue* are still supported.

        In order to provide a ProtectPtr<> type with support for the new value
        representation (without using the internal JSValue type directly), a new
        ProtectJSValuePtr type has been added, equivalent to the previous type
        ProtectPtr<JSValue>.

        This patch is likely the first in a sequence of three changes.  With the
        value now encapsulated it will likely make sense to migrate the functionality
        from JSValue into JSValuePtr, such that the internal pointer representation
        need not be exposed.  Through migrating the functionality to the wrapper
        class the existing JSValue should be rendered redundant, and the class is
        likely to be removed (the JSValuePtr now wrapping a pointer to a JSCell).
        At this stage it will likely make sense to rename JSValuePtr to JSValue.

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

        * API/APICast.h:
        (toJS):
        (toRef):
        * API/JSBase.cpp:
        (JSEvaluateScript):
        * API/JSCallbackConstructor.h:
        (JSC::JSCallbackConstructor::createStructure):
        * API/JSCallbackFunction.cpp:
        (JSC::JSCallbackFunction::call):
        * API/JSCallbackFunction.h:
        (JSC::JSCallbackFunction::createStructure):
        * API/JSCallbackObject.h:
        (JSC::JSCallbackObject::createStructure):
        * API/JSCallbackObjectFunctions.h:
        (JSC::::asCallbackObject):
        (JSC::::put):
        (JSC::::hasInstance):
        (JSC::::call):
        (JSC::::staticValueGetter):
        (JSC::::staticFunctionGetter):
        (JSC::::callbackGetter):
        * API/JSContextRef.cpp:
        * API/JSObjectRef.cpp:
        (JSObjectMakeConstructor):
        (JSObjectSetPrototype):
        (JSObjectGetProperty):
        (JSObjectSetProperty):
        (JSObjectGetPropertyAtIndex):
        (JSObjectSetPropertyAtIndex):
        * API/JSValueRef.cpp:
        (JSValueGetType):
        (JSValueIsUndefined):
        (JSValueIsNull):
        (JSValueIsBoolean):
        (JSValueIsNumber):
        (JSValueIsString):
        (JSValueIsObject):
        (JSValueIsObjectOfClass):
        (JSValueIsEqual):
        (JSValueIsStrictEqual):
        (JSValueIsInstanceOfConstructor):
        (JSValueToBoolean):
        (JSValueToNumber):
        (JSValueToStringCopy):
        (JSValueToObject):
        (JSValueProtect):
        (JSValueUnprotect):
        * JavaScriptCore.exp:
        * bytecode/CodeBlock.cpp:
        (JSC::valueToSourceString):
        (JSC::constantName):
        (JSC::CodeBlock::dump):
        * bytecode/CodeBlock.h:
        (JSC::CodeBlock::getConstant):
        (JSC::CodeBlock::addUnexpectedConstant):
        (JSC::CodeBlock::unexpectedConstant):
        * bytecode/EvalCodeCache.h:
        (JSC::EvalCodeCache::get):
        * bytecompiler/BytecodeGenerator.cpp:
        (JSC::BytecodeGenerator::BytecodeGenerator):
        (JSC::BytecodeGenerator::addConstant):
        (JSC::BytecodeGenerator::addUnexpectedConstant):
        (JSC::BytecodeGenerator::emitLoad):
        (JSC::BytecodeGenerator::emitLoadJSV):
        (JSC::BytecodeGenerator::emitGetScopedVar):
        (JSC::BytecodeGenerator::emitPutScopedVar):
        (JSC::BytecodeGenerator::emitNewError):
        (JSC::keyForImmediateSwitch):
        * bytecompiler/BytecodeGenerator.h:
        (JSC::BytecodeGenerator::JSValueHashTraits::constructDeletedValue):
        (JSC::BytecodeGenerator::JSValueHashTraits::isDeletedValue):
        * debugger/DebuggerCallFrame.cpp:
        (JSC::DebuggerCallFrame::evaluate):
        * debugger/DebuggerCallFrame.h:
        (JSC::DebuggerCallFrame::DebuggerCallFrame):
        (JSC::DebuggerCallFrame::exception):
        * interpreter/CallFrame.cpp:
        (JSC::CallFrame::thisValue):
        * interpreter/CallFrame.h:
        (JSC::ExecState::setException):
        (JSC::ExecState::exception):
        (JSC::ExecState::exceptionSlot):
        (JSC::ExecState::hadException):
        * interpreter/Interpreter.cpp:
        (JSC::fastIsNumber):
        (JSC::fastToInt32):
        (JSC::fastToUInt32):
        (JSC::jsLess):
        (JSC::jsLessEq):
        (JSC::jsAddSlowCase):
        (JSC::jsAdd):
        (JSC::jsTypeStringForValue):
        (JSC::jsIsObjectType):
        (JSC::jsIsFunctionType):
        (JSC::Interpreter::resolve):
        (JSC::Interpreter::resolveSkip):
        (JSC::Interpreter::resolveGlobal):
        (JSC::inlineResolveBase):
        (JSC::Interpreter::resolveBase):
        (JSC::Interpreter::resolveBaseAndProperty):
        (JSC::Interpreter::resolveBaseAndFunc):
        (JSC::isNotObject):
        (JSC::Interpreter::callEval):
        (JSC::Interpreter::unwindCallFrame):
        (JSC::Interpreter::throwException):
        (JSC::Interpreter::execute):
        (JSC::Interpreter::checkTimeout):
        (JSC::Interpreter::createExceptionScope):
        (JSC::cachePrototypeChain):
        (JSC::Interpreter::tryCachePutByID):
        (JSC::countPrototypeChainEntriesAndCheckForProxies):
        (JSC::Interpreter::tryCacheGetByID):
        (JSC::Interpreter::privateExecute):
        (JSC::Interpreter::retrieveArguments):
        (JSC::Interpreter::retrieveCaller):
        (JSC::Interpreter::retrieveLastCaller):
        (JSC::Interpreter::tryCTICachePutByID):
        (JSC::Interpreter::tryCTICacheGetByID):
        (JSC::returnToThrowTrampoline):
        (JSC::Interpreter::cti_op_convert_this):
        (JSC::Interpreter::cti_op_add):
        (JSC::Interpreter::cti_op_pre_inc):
        (JSC::Interpreter::cti_op_loop_if_less):
        (JSC::Interpreter::cti_op_loop_if_lesseq):
        (JSC::Interpreter::cti_op_get_by_id_generic):
        (JSC::Interpreter::cti_op_get_by_id):
        (JSC::Interpreter::cti_op_get_by_id_second):
        (JSC::Interpreter::cti_op_get_by_id_self_fail):
        (JSC::Interpreter::cti_op_get_by_id_proto_list):
        (JSC::Interpreter::cti_op_get_by_id_proto_list_full):
        (JSC::Interpreter::cti_op_get_by_id_proto_fail):
        (JSC::Interpreter::cti_op_get_by_id_array_fail):
        (JSC::Interpreter::cti_op_get_by_id_string_fail):
        (JSC::Interpreter::cti_op_instanceof):
        (JSC::Interpreter::cti_op_del_by_id):
        (JSC::Interpreter::cti_op_mul):
        (JSC::Interpreter::cti_op_call_NotJSFunction):
        (JSC::Interpreter::cti_op_resolve):
        (JSC::Interpreter::cti_op_construct_NotJSConstruct):
        (JSC::Interpreter::cti_op_get_by_val):
        (JSC::Interpreter::cti_op_resolve_func):
        (JSC::Interpreter::cti_op_sub):
        (JSC::Interpreter::cti_op_put_by_val):
        (JSC::Interpreter::cti_op_put_by_val_array):
        (JSC::Interpreter::cti_op_lesseq):
        (JSC::Interpreter::cti_op_loop_if_true):
        (JSC::Interpreter::cti_op_negate):
        (JSC::Interpreter::cti_op_resolve_base):
        (JSC::Interpreter::cti_op_resolve_skip):
        (JSC::Interpreter::cti_op_resolve_global):
        (JSC::Interpreter::cti_op_div):
        (JSC::Interpreter::cti_op_pre_dec):
        (JSC::Interpreter::cti_op_jless):
        (JSC::Interpreter::cti_op_not):
        (JSC::Interpreter::cti_op_jtrue):
        (JSC::Interpreter::cti_op_post_inc):
        (JSC::Interpreter::cti_op_eq):
        (JSC::Interpreter::cti_op_lshift):
        (JSC::Interpreter::cti_op_bitand):
        (JSC::Interpreter::cti_op_rshift):
        (JSC::Interpreter::cti_op_bitnot):
        (JSC::Interpreter::cti_op_resolve_with_base):
        (JSC::Interpreter::cti_op_mod):
        (JSC::Interpreter::cti_op_less):
        (JSC::Interpreter::cti_op_neq):
        (JSC::Interpreter::cti_op_post_dec):
        (JSC::Interpreter::cti_op_urshift):
        (JSC::Interpreter::cti_op_bitxor):
        (JSC::Interpreter::cti_op_bitor):
        (JSC::Interpreter::cti_op_call_eval):
        (JSC::Interpreter::cti_op_throw):
        (JSC::Interpreter::cti_op_next_pname):
        (JSC::Interpreter::cti_op_typeof):
        (JSC::Interpreter::cti_op_is_undefined):
        (JSC::Interpreter::cti_op_is_boolean):
        (JSC::Interpreter::cti_op_is_number):
        (JSC::Interpreter::cti_op_is_string):
        (JSC::Interpreter::cti_op_is_object):
        (JSC::Interpreter::cti_op_is_function):
        (JSC::Interpreter::cti_op_stricteq):
        (JSC::Interpreter::cti_op_nstricteq):
        (JSC::Interpreter::cti_op_to_jsnumber):
        (JSC::Interpreter::cti_op_in):
        (JSC::Interpreter::cti_op_switch_imm):
        (JSC::Interpreter::cti_op_switch_char):
        (JSC::Interpreter::cti_op_switch_string):
        (JSC::Interpreter::cti_op_del_by_val):
        (JSC::Interpreter::cti_op_new_error):
        (JSC::Interpreter::cti_vm_throw):
        * interpreter/Interpreter.h:
        (JSC::Interpreter::isJSArray):
        (JSC::Interpreter::isJSString):
        * interpreter/Register.h:
        (JSC::Register::):
        (JSC::Register::Register):
        (JSC::Register::jsValue):
        (JSC::Register::getJSValue):
        * jit/JIT.cpp:
        (JSC::):
        (JSC::JIT::compileOpStrictEq):
        (JSC::JIT::privateCompileMainPass):
        (JSC::JIT::privateCompileSlowCases):
        * jit/JIT.h:
        (JSC::):
        (JSC::JIT::execute):
        * jit/JITArithmetic.cpp:
        (JSC::JIT::compileFastArith_op_rshift):
        (JSC::JIT::compileFastArithSlow_op_rshift):
        * jit/JITCall.cpp:
        (JSC::JIT::unlinkCall):
        (JSC::JIT::compileOpCallInitializeCallFrame):
        (JSC::JIT::compileOpCall):
        * jit/JITInlineMethods.h:
        (JSC::JIT::emitGetVirtualRegister):
        (JSC::JIT::getConstantOperand):
        (JSC::JIT::isOperandConstant31BitImmediateInt):
        (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
        (JSC::JIT::emitInitRegister):
        * jit/JITPropertyAccess.cpp:
        (JSC::resizePropertyStorage):
        (JSC::JIT::privateCompilePutByIdTransition):
        (JSC::JIT::patchGetByIdSelf):
        (JSC::JIT::patchPutByIdReplace):
        (JSC::JIT::privateCompileGetByIdSelf):
        (JSC::JIT::privateCompileGetByIdProto):
        (JSC::JIT::privateCompileGetByIdSelfList):
        (JSC::JIT::privateCompileGetByIdProtoList):
        (JSC::JIT::privateCompileGetByIdChainList):
        (JSC::JIT::privateCompileGetByIdChain):
        (JSC::JIT::privateCompilePutByIdReplace):
        * jsc.cpp:
        (functionPrint):
        (functionDebug):
        (functionGC):
        (functionVersion):
        (functionRun):
        (functionLoad):
        (functionReadline):
        (functionQuit):
        * parser/Nodes.cpp:
        (JSC::NullNode::emitBytecode):
        (JSC::ArrayNode::emitBytecode):
        (JSC::FunctionCallValueNode::emitBytecode):
        (JSC::FunctionCallResolveNode::emitBytecode):
        (JSC::VoidNode::emitBytecode):
        (JSC::ConstDeclNode::emitCodeSingle):
        (JSC::ReturnNode::emitBytecode):
        (JSC::processClauseList):
        (JSC::EvalNode::emitBytecode):
        (JSC::FunctionBodyNode::emitBytecode):
        (JSC::ProgramNode::emitBytecode):
        * profiler/ProfileGenerator.cpp:
        (JSC::ProfileGenerator::addParentForConsoleStart):
        * profiler/Profiler.cpp:
        (JSC::Profiler::willExecute):
        (JSC::Profiler::didExecute):
        (JSC::Profiler::createCallIdentifier):
        * profiler/Profiler.h:
        * runtime/ArgList.cpp:
        (JSC::ArgList::slowAppend):
        * runtime/ArgList.h:
        (JSC::ArgList::at):
        (JSC::ArgList::append):
        * runtime/Arguments.cpp:
        (JSC::Arguments::put):
        * runtime/Arguments.h:
        (JSC::Arguments::createStructure):
        (JSC::asArguments):
        * runtime/ArrayConstructor.cpp:
        (JSC::callArrayConstructor):
        * runtime/ArrayPrototype.cpp:
        (JSC::getProperty):
        (JSC::putProperty):
        (JSC::arrayProtoFuncToString):
        (JSC::arrayProtoFuncToLocaleString):
        (JSC::arrayProtoFuncJoin):
        (JSC::arrayProtoFuncConcat):
        (JSC::arrayProtoFuncPop):
        (JSC::arrayProtoFuncPush):
        (JSC::arrayProtoFuncReverse):
        (JSC::arrayProtoFuncShift):
        (JSC::arrayProtoFuncSlice):
        (JSC::arrayProtoFuncSort):
        (JSC::arrayProtoFuncSplice):
        (JSC::arrayProtoFuncUnShift):
        (JSC::arrayProtoFuncFilter):
        (JSC::arrayProtoFuncMap):
        (JSC::arrayProtoFuncEvery):
        (JSC::arrayProtoFuncForEach):
        (JSC::arrayProtoFuncSome):
        (JSC::arrayProtoFuncIndexOf):
        (JSC::arrayProtoFuncLastIndexOf):
        * runtime/BooleanConstructor.cpp:
        (JSC::callBooleanConstructor):
        (JSC::constructBooleanFromImmediateBoolean):
        * runtime/BooleanConstructor.h:
        * runtime/BooleanObject.h:
        (JSC::asBooleanObject):
        * runtime/BooleanPrototype.cpp:
        (JSC::booleanProtoFuncToString):
        (JSC::booleanProtoFuncValueOf):
        * runtime/CallData.cpp:
        (JSC::call):
        * runtime/CallData.h:
        * runtime/Collector.cpp:
        (JSC::Heap::protect):
        (JSC::Heap::unprotect):
        (JSC::Heap::heap):
        (JSC::Heap::collect):
        * runtime/Collector.h:
        * runtime/Completion.cpp:
        (JSC::evaluate):
        * runtime/Completion.h:
        (JSC::Completion::Completion):
        (JSC::Completion::value):
        (JSC::Completion::setValue):
        (JSC::Completion::isValueCompletion):
        * runtime/ConstructData.cpp:
        (JSC::construct):
        * runtime/ConstructData.h:
        * runtime/DateConstructor.cpp:
        (JSC::constructDate):
        (JSC::callDate):
        (JSC::dateParse):
        (JSC::dateNow):
        (JSC::dateUTC):
        * runtime/DateInstance.h:
        (JSC::asDateInstance):
        * runtime/DatePrototype.cpp:
        (JSC::dateProtoFuncToString):
        (JSC::dateProtoFuncToUTCString):
        (JSC::dateProtoFuncToDateString):
        (JSC::dateProtoFuncToTimeString):
        (JSC::dateProtoFuncToLocaleString):
        (JSC::dateProtoFuncToLocaleDateString):
        (JSC::dateProtoFuncToLocaleTimeString):
        (JSC::dateProtoFuncValueOf):
        (JSC::dateProtoFuncGetTime):
        (JSC::dateProtoFuncGetFullYear):
        (JSC::dateProtoFuncGetUTCFullYear):
        (JSC::dateProtoFuncToGMTString):
        (JSC::dateProtoFuncGetMonth):
        (JSC::dateProtoFuncGetUTCMonth):
        (JSC::dateProtoFuncGetDate):
        (JSC::dateProtoFuncGetUTCDate):
        (JSC::dateProtoFuncGetDay):
        (JSC::dateProtoFuncGetUTCDay):
        (JSC::dateProtoFuncGetHours):
        (JSC::dateProtoFuncGetUTCHours):
        (JSC::dateProtoFuncGetMinutes):
        (JSC::dateProtoFuncGetUTCMinutes):
        (JSC::dateProtoFuncGetSeconds):
        (JSC::dateProtoFuncGetUTCSeconds):
        (JSC::dateProtoFuncGetMilliSeconds):
        (JSC::dateProtoFuncGetUTCMilliseconds):
        (JSC::dateProtoFuncGetTimezoneOffset):
        (JSC::dateProtoFuncSetTime):
        (JSC::setNewValueFromTimeArgs):
        (JSC::setNewValueFromDateArgs):
        (JSC::dateProtoFuncSetMilliSeconds):
        (JSC::dateProtoFuncSetUTCMilliseconds):
        (JSC::dateProtoFuncSetSeconds):
        (JSC::dateProtoFuncSetUTCSeconds):
        (JSC::dateProtoFuncSetMinutes):
        (JSC::dateProtoFuncSetUTCMinutes):
        (JSC::dateProtoFuncSetHours):
        (JSC::dateProtoFuncSetUTCHours):
        (JSC::dateProtoFuncSetDate):
        (JSC::dateProtoFuncSetUTCDate):
        (JSC::dateProtoFuncSetMonth):
        (JSC::dateProtoFuncSetUTCMonth):
        (JSC::dateProtoFuncSetFullYear):
        (JSC::dateProtoFuncSetUTCFullYear):
        (JSC::dateProtoFuncSetYear):
        (JSC::dateProtoFuncGetYear):
        * runtime/DatePrototype.h:
        (JSC::DatePrototype::createStructure):
        * runtime/ErrorConstructor.cpp:
        (JSC::callErrorConstructor):
        * runtime/ErrorPrototype.cpp:
        (JSC::errorProtoFuncToString):
        * runtime/ExceptionHelpers.cpp:
        (JSC::createInterruptedExecutionException):
        (JSC::createError):
        (JSC::createStackOverflowError):
        (JSC::createUndefinedVariableError):
        (JSC::createErrorMessage):
        (JSC::createInvalidParamError):
        (JSC::createNotAConstructorError):
        (JSC::createNotAFunctionError):
        * runtime/ExceptionHelpers.h:
        * runtime/FunctionConstructor.cpp:
        (JSC::callFunctionConstructor):
        * runtime/FunctionPrototype.cpp:
        (JSC::callFunctionPrototype):
        (JSC::functionProtoFuncToString):
        (JSC::functionProtoFuncApply):
        (JSC::functionProtoFuncCall):
        * runtime/FunctionPrototype.h:
        (JSC::FunctionPrototype::createStructure):
        * runtime/GetterSetter.cpp:
        (JSC::GetterSetter::toPrimitive):
        (JSC::GetterSetter::getPrimitiveNumber):
        * runtime/GetterSetter.h:
        (JSC::asGetterSetter):
        * runtime/InitializeThreading.cpp:
        * runtime/InternalFunction.h:
        (JSC::InternalFunction::createStructure):
        (JSC::asInternalFunction):
        * runtime/JSActivation.cpp:
        (JSC::JSActivation::getOwnPropertySlot):
        (JSC::JSActivation::put):
        (JSC::JSActivation::putWithAttributes):
        (JSC::JSActivation::argumentsGetter):
        * runtime/JSActivation.h:
        (JSC::JSActivation::createStructure):
        (JSC::asActivation):
        * runtime/JSArray.cpp:
        (JSC::storageSize):
        (JSC::JSArray::JSArray):
        (JSC::JSArray::getOwnPropertySlot):
        (JSC::JSArray::put):
        (JSC::JSArray::putSlowCase):
        (JSC::JSArray::deleteProperty):
        (JSC::JSArray::getPropertyNames):
        (JSC::JSArray::setLength):
        (JSC::JSArray::pop):
        (JSC::JSArray::push):
        (JSC::JSArray::mark):
        (JSC::JSArray::sort):
        (JSC::JSArray::compactForSorting):
        (JSC::JSArray::checkConsistency):
        (JSC::constructArray):
        * runtime/JSArray.h:
        (JSC::JSArray::getIndex):
        (JSC::JSArray::setIndex):
        (JSC::JSArray::createStructure):
        (JSC::asArray):
        * runtime/JSCell.cpp:
        (JSC::JSCell::put):
        (JSC::JSCell::getJSNumber):
        * runtime/JSCell.h:
        (JSC::asCell):
        (JSC::JSValue::asCell):
        (JSC::JSValue::toPrimitive):
        (JSC::JSValue::getPrimitiveNumber):
        (JSC::JSValue::getJSNumber):
        * runtime/JSFunction.cpp:
        (JSC::JSFunction::call):
        (JSC::JSFunction::argumentsGetter):
        (JSC::JSFunction::callerGetter):
        (JSC::JSFunction::lengthGetter):
        (JSC::JSFunction::getOwnPropertySlot):
        (JSC::JSFunction::put):
        (JSC::JSFunction::construct):
        * runtime/JSFunction.h:
        (JSC::JSFunction::createStructure):
        (JSC::asFunction):
        * runtime/JSGlobalData.h:
        * runtime/JSGlobalObject.cpp:
        (JSC::markIfNeeded):
        (JSC::JSGlobalObject::put):
        (JSC::JSGlobalObject::putWithAttributes):
        (JSC::JSGlobalObject::reset):
        (JSC::JSGlobalObject::resetPrototype):
        * runtime/JSGlobalObject.h:
        (JSC::JSGlobalObject::createStructure):
        (JSC::JSGlobalObject::GlobalPropertyInfo::GlobalPropertyInfo):
        (JSC::asGlobalObject):
        (JSC::Structure::prototypeForLookup):
        * runtime/JSGlobalObjectFunctions.cpp:
        (JSC::encode):
        (JSC::decode):
        (JSC::globalFuncEval):
        (JSC::globalFuncParseInt):
        (JSC::globalFuncParseFloat):
        (JSC::globalFuncIsNaN):
        (JSC::globalFuncIsFinite):
        (JSC::globalFuncDecodeURI):
        (JSC::globalFuncDecodeURIComponent):
        (JSC::globalFuncEncodeURI):
        (JSC::globalFuncEncodeURIComponent):
        (JSC::globalFuncEscape):
        (JSC::globalFuncUnescape):
        (JSC::globalFuncJSCPrint):
        * runtime/JSGlobalObjectFunctions.h:
        * runtime/JSImmediate.cpp:
        (JSC::JSImmediate::toThisObject):
        (JSC::JSImmediate::toObject):
        (JSC::JSImmediate::prototype):
        (JSC::JSImmediate::toString):
        * runtime/JSImmediate.h:
        (JSC::JSImmediate::isImmediate):
        (JSC::JSImmediate::isNumber):
        (JSC::JSImmediate::isPositiveNumber):
        (JSC::JSImmediate::isBoolean):
        (JSC::JSImmediate::isUndefinedOrNull):
        (JSC::JSImmediate::isNegative):
        (JSC::JSImmediate::isEitherImmediate):
        (JSC::JSImmediate::isAnyImmediate):
        (JSC::JSImmediate::areBothImmediate):
        (JSC::JSImmediate::areBothImmediateNumbers):
        (JSC::JSImmediate::andImmediateNumbers):
        (JSC::JSImmediate::xorImmediateNumbers):
        (JSC::JSImmediate::orImmediateNumbers):
        (JSC::JSImmediate::rightShiftImmediateNumbers):
        (JSC::JSImmediate::canDoFastAdditiveOperations):
        (JSC::JSImmediate::addImmediateNumbers):
        (JSC::JSImmediate::subImmediateNumbers):
        (JSC::JSImmediate::incImmediateNumber):
        (JSC::JSImmediate::decImmediateNumber):
        (JSC::JSImmediate::makeValue):
        (JSC::JSImmediate::makeInt):
        (JSC::JSImmediate::makeBool):
        (JSC::JSImmediate::makeUndefined):
        (JSC::JSImmediate::makeNull):
        (JSC::JSImmediate::intValue):
        (JSC::JSImmediate::uintValue):
        (JSC::JSImmediate::boolValue):
        (JSC::JSImmediate::rawValue):
        (JSC::JSImmediate::trueImmediate):
        (JSC::JSImmediate::falseImmediate):
        (JSC::JSImmediate::undefinedImmediate):
        (JSC::JSImmediate::nullImmediate):
        (JSC::JSImmediate::zeroImmediate):
        (JSC::JSImmediate::oneImmediate):
        (JSC::JSImmediate::impossibleValue):
        (JSC::JSImmediate::toBoolean):
        (JSC::JSImmediate::getTruncatedUInt32):
        (JSC::JSImmediate::from):
        (JSC::JSImmediate::getTruncatedInt32):
        (JSC::JSImmediate::toDouble):
        (JSC::JSImmediate::getUInt32):
        (JSC::jsNull):
        (JSC::jsBoolean):
        (JSC::jsUndefined):
        (JSC::JSValue::isUndefined):
        (JSC::JSValue::isNull):
        (JSC::JSValue::isUndefinedOrNull):
        (JSC::JSValue::isBoolean):
        (JSC::JSValue::getBoolean):
        (JSC::JSValue::toInt32):
        (JSC::JSValue::toUInt32):
        (JSC::toInt32):
        (JSC::toUInt32):
        * runtime/JSNotAnObject.cpp:
        (JSC::JSNotAnObject::toPrimitive):
        (JSC::JSNotAnObject::getPrimitiveNumber):
        (JSC::JSNotAnObject::put):
        * runtime/JSNotAnObject.h:
        (JSC::JSNotAnObject::createStructure):
        * runtime/JSNumberCell.cpp:
        (JSC::JSNumberCell::toPrimitive):
        (JSC::JSNumberCell::getPrimitiveNumber):
        (JSC::JSNumberCell::getJSNumber):
        (JSC::jsNumberCell):
        (JSC::jsNaN):
        * runtime/JSNumberCell.h:
        (JSC::JSNumberCell::createStructure):
        (JSC::asNumberCell):
        (JSC::jsNumber):
        (JSC::JSValue::toJSNumber):
        * runtime/JSObject.cpp:
        (JSC::JSObject::mark):
        (JSC::JSObject::put):
        (JSC::JSObject::putWithAttributes):
        (JSC::callDefaultValueFunction):
        (JSC::JSObject::getPrimitiveNumber):
        (JSC::JSObject::defaultValue):
        (JSC::JSObject::defineGetter):
        (JSC::JSObject::defineSetter):
        (JSC::JSObject::lookupGetter):
        (JSC::JSObject::lookupSetter):
        (JSC::JSObject::hasInstance):
        (JSC::JSObject::toNumber):
        (JSC::JSObject::toString):
        (JSC::JSObject::fillGetterPropertySlot):
        * runtime/JSObject.h:
        (JSC::JSObject::getDirect):
        (JSC::JSObject::getDirectLocation):
        (JSC::JSObject::offsetForLocation):
        (JSC::JSObject::locationForOffset):
        (JSC::JSObject::getDirectOffset):
        (JSC::JSObject::putDirectOffset):
        (JSC::JSObject::createStructure):
        (JSC::asObject):
        (JSC::JSObject::prototype):
        (JSC::JSObject::setPrototype):
        (JSC::JSObject::inlineGetOwnPropertySlot):
        (JSC::JSObject::getOwnPropertySlotForWrite):
        (JSC::JSObject::getPropertySlot):
        (JSC::JSObject::get):
        (JSC::JSObject::putDirect):
        (JSC::JSObject::putDirectWithoutTransition):
        (JSC::JSObject::toPrimitive):
        (JSC::JSValue::get):
        (JSC::JSValue::put):
        (JSC::JSObject::allocatePropertyStorageInline):
        * runtime/JSPropertyNameIterator.cpp:
        (JSC::JSPropertyNameIterator::toPrimitive):
        (JSC::JSPropertyNameIterator::getPrimitiveNumber):
        * runtime/JSPropertyNameIterator.h:
        (JSC::JSPropertyNameIterator::create):
        (JSC::JSPropertyNameIterator::next):
        * runtime/JSStaticScopeObject.cpp:
        (JSC::JSStaticScopeObject::put):
        (JSC::JSStaticScopeObject::putWithAttributes):
        * runtime/JSStaticScopeObject.h:
        (JSC::JSStaticScopeObject::JSStaticScopeObject):
        (JSC::JSStaticScopeObject::createStructure):
        * runtime/JSString.cpp:
        (JSC::JSString::toPrimitive):
        (JSC::JSString::getPrimitiveNumber):
        (JSC::JSString::getOwnPropertySlot):
        * runtime/JSString.h:
        (JSC::JSString::createStructure):
        (JSC::asString):
        * runtime/JSValue.h:
        (JSC::JSValuePtr::makeImmediate):
        (JSC::JSValuePtr::immediateValue):
        (JSC::JSValuePtr::JSValuePtr):
        (JSC::JSValuePtr::operator->):
        (JSC::JSValuePtr::hasValue):
        (JSC::JSValuePtr::operator==):
        (JSC::JSValuePtr::operator!=):
        (JSC::JSValuePtr::encode):
        (JSC::JSValuePtr::decode):
        (JSC::JSValue::asValue):
        (JSC::noValue):
        (JSC::operator==):
        (JSC::operator!=):
        * runtime/JSVariableObject.h:
        (JSC::JSVariableObject::symbolTablePut):
        (JSC::JSVariableObject::symbolTablePutWithAttributes):
        * runtime/JSWrapperObject.cpp:
        (JSC::JSWrapperObject::mark):
        * runtime/JSWrapperObject.h:
        (JSC::JSWrapperObject::internalValue):
        (JSC::JSWrapperObject::setInternalValue):
        * runtime/Lookup.cpp:
        (JSC::setUpStaticFunctionSlot):
        * runtime/Lookup.h:
        (JSC::lookupPut):
        * runtime/MathObject.cpp:
        (JSC::mathProtoFuncAbs):
        (JSC::mathProtoFuncACos):
        (JSC::mathProtoFuncASin):
        (JSC::mathProtoFuncATan):
        (JSC::mathProtoFuncATan2):
        (JSC::mathProtoFuncCeil):
        (JSC::mathProtoFuncCos):
        (JSC::mathProtoFuncExp):
        (JSC::mathProtoFuncFloor):
        (JSC::mathProtoFuncLog):
        (JSC::mathProtoFuncMax):
        (JSC::mathProtoFuncMin):
        (JSC::mathProtoFuncPow):
        (JSC::mathProtoFuncRandom):
        (JSC::mathProtoFuncRound):
        (JSC::mathProtoFuncSin):
        (JSC::mathProtoFuncSqrt):
        (JSC::mathProtoFuncTan):
        * runtime/MathObject.h:
        (JSC::MathObject::createStructure):
        * runtime/NativeErrorConstructor.cpp:
        (JSC::callNativeErrorConstructor):
        * runtime/NumberConstructor.cpp:
        (JSC::numberConstructorNaNValue):
        (JSC::numberConstructorNegInfinity):
        (JSC::numberConstructorPosInfinity):
        (JSC::numberConstructorMaxValue):
        (JSC::numberConstructorMinValue):
        (JSC::callNumberConstructor):
        * runtime/NumberConstructor.h:
        (JSC::NumberConstructor::createStructure):
        * runtime/NumberObject.cpp:
        (JSC::NumberObject::getJSNumber):
        (JSC::constructNumberFromImmediateNumber):
        * runtime/NumberObject.h:
        * runtime/NumberPrototype.cpp:
        (JSC::numberProtoFuncToString):
        (JSC::numberProtoFuncToLocaleString):
        (JSC::numberProtoFuncValueOf):
        (JSC::numberProtoFuncToFixed):
        (JSC::numberProtoFuncToExponential):
        (JSC::numberProtoFuncToPrecision):
        * runtime/ObjectConstructor.cpp:
        (JSC::constructObject):
        (JSC::callObjectConstructor):
        * runtime/ObjectPrototype.cpp:
        (JSC::objectProtoFuncValueOf):
        (JSC::objectProtoFuncHasOwnProperty):
        (JSC::objectProtoFuncIsPrototypeOf):
        (JSC::objectProtoFuncDefineGetter):
        (JSC::objectProtoFuncDefineSetter):
        (JSC::objectProtoFuncLookupGetter):
        (JSC::objectProtoFuncLookupSetter):
        (JSC::objectProtoFuncPropertyIsEnumerable):
        (JSC::objectProtoFuncToLocaleString):
        (JSC::objectProtoFuncToString):
        * runtime/ObjectPrototype.h:
        * runtime/Operations.cpp:
        (JSC::equal):
        (JSC::equalSlowCase):
        (JSC::strictEqual):
        (JSC::strictEqualSlowCase):
        (JSC::throwOutOfMemoryError):
        * runtime/Operations.h:
        (JSC::equalSlowCaseInline):
        (JSC::strictEqualSlowCaseInline):
        * runtime/PropertySlot.cpp:
        (JSC::PropertySlot::functionGetter):
        * runtime/PropertySlot.h:
        (JSC::PropertySlot::PropertySlot):
        (JSC::PropertySlot::getValue):
        (JSC::PropertySlot::putValue):
        (JSC::PropertySlot::setValueSlot):
        (JSC::PropertySlot::setValue):
        (JSC::PropertySlot::setCustom):
        (JSC::PropertySlot::setCustomIndex):
        (JSC::PropertySlot::slotBase):
        (JSC::PropertySlot::setBase):
        (JSC::PropertySlot::):
        * runtime/Protect.h:
        (JSC::gcProtect):
        (JSC::gcUnprotect):
        (JSC::ProtectedPtr::ProtectedPtr):
        (JSC::ProtectedPtr::operator JSValuePtr):
        (JSC::ProtectedJSValuePtr::ProtectedJSValuePtr):
        (JSC::ProtectedJSValuePtr::get):
        (JSC::ProtectedJSValuePtr::operator JSValuePtr):
        (JSC::ProtectedJSValuePtr::operator->):
        (JSC::::ProtectedPtr):
        (JSC::::~ProtectedPtr):
        (JSC::::operator):
        (JSC::ProtectedJSValuePtr::~ProtectedJSValuePtr):
        (JSC::ProtectedJSValuePtr::operator=):
        (JSC::operator==):
        (JSC::operator!=):
        * runtime/RegExpConstructor.cpp:
        (JSC::RegExpConstructor::getBackref):
        (JSC::RegExpConstructor::getLastParen):
        (JSC::RegExpConstructor::getLeftContext):
        (JSC::RegExpConstructor::getRightContext):
        (JSC::regExpConstructorDollar1):
        (JSC::regExpConstructorDollar2):
        (JSC::regExpConstructorDollar3):
        (JSC::regExpConstructorDollar4):
        (JSC::regExpConstructorDollar5):
        (JSC::regExpConstructorDollar6):
        (JSC::regExpConstructorDollar7):
        (JSC::regExpConstructorDollar8):
        (JSC::regExpConstructorDollar9):
        (JSC::regExpConstructorInput):
        (JSC::regExpConstructorMultiline):
        (JSC::regExpConstructorLastMatch):
        (JSC::regExpConstructorLastParen):
        (JSC::regExpConstructorLeftContext):
        (JSC::regExpConstructorRightContext):
        (JSC::RegExpConstructor::put):
        (JSC::setRegExpConstructorInput):
        (JSC::setRegExpConstructorMultiline):
        (JSC::constructRegExp):
        (JSC::callRegExpConstructor):
        * runtime/RegExpConstructor.h:
        (JSC::RegExpConstructor::createStructure):
        (JSC::asRegExpConstructor):
        * runtime/RegExpMatchesArray.h:
        (JSC::RegExpMatchesArray::put):
        * runtime/RegExpObject.cpp:
        (JSC::regExpObjectGlobal):
        (JSC::regExpObjectIgnoreCase):
        (JSC::regExpObjectMultiline):
        (JSC::regExpObjectSource):
        (JSC::regExpObjectLastIndex):
        (JSC::RegExpObject::put):
        (JSC::setRegExpObjectLastIndex):
        (JSC::RegExpObject::test):
        (JSC::RegExpObject::exec):
        (JSC::callRegExpObject):
        * runtime/RegExpObject.h:
        (JSC::RegExpObject::createStructure):
        (JSC::asRegExpObject):
        * runtime/RegExpPrototype.cpp:
        (JSC::regExpProtoFuncTest):
        (JSC::regExpProtoFuncExec):
        (JSC::regExpProtoFuncCompile):
        (JSC::regExpProtoFuncToString):
        * runtime/StringConstructor.cpp:
        (JSC::stringFromCharCodeSlowCase):
        (JSC::stringFromCharCode):
        (JSC::callStringConstructor):
        * runtime/StringObject.cpp:
        (JSC::StringObject::put):
        * runtime/StringObject.h:
        (JSC::StringObject::createStructure):
        (JSC::asStringObject):
        * runtime/StringObjectThatMasqueradesAsUndefined.h:
        (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
        * runtime/StringPrototype.cpp:
        (JSC::stringProtoFuncReplace):
        (JSC::stringProtoFuncToString):
        (JSC::stringProtoFuncCharAt):
        (JSC::stringProtoFuncCharCodeAt):
        (JSC::stringProtoFuncConcat):
        (JSC::stringProtoFuncIndexOf):
        (JSC::stringProtoFuncLastIndexOf):
        (JSC::stringProtoFuncMatch):
        (JSC::stringProtoFuncSearch):
        (JSC::stringProtoFuncSlice):
        (JSC::stringProtoFuncSplit):
        (JSC::stringProtoFuncSubstr):
        (JSC::stringProtoFuncSubstring):
        (JSC::stringProtoFuncToLowerCase):
        (JSC::stringProtoFuncToUpperCase):
        (JSC::stringProtoFuncLocaleCompare):
        (JSC::stringProtoFuncBig):
        (JSC::stringProtoFuncSmall):
        (JSC::stringProtoFuncBlink):
        (JSC::stringProtoFuncBold):
        (JSC::stringProtoFuncFixed):
        (JSC::stringProtoFuncItalics):
        (JSC::stringProtoFuncStrike):
        (JSC::stringProtoFuncSub):
        (JSC::stringProtoFuncSup):
        (JSC::stringProtoFuncFontcolor):
        (JSC::stringProtoFuncFontsize):
        (JSC::stringProtoFuncAnchor):
        (JSC::stringProtoFuncLink):
        * runtime/Structure.cpp:
        (JSC::Structure::Structure):
        (JSC::Structure::changePrototypeTransition):
        (JSC::Structure::createCachedPrototypeChain):
        * runtime/Structure.h:
        (JSC::Structure::create):
        (JSC::Structure::setPrototypeWithoutTransition):
        (JSC::Structure::storedPrototype):

JavaScriptGlue:

2009-01-05  Gavin Barraclough  <baraclough@apple.com>

        Rubber Stamped by Oliver Hunt.

        Replace all uses of JSValue* with new wrapper class, JSValuePtr.
        See JavaScriptCore/ChangeLog for more detailed description.

        * JSObject.cpp:
        (nativeCallFunction):
        * JSUtils.cpp:
        (KJSValueToJSObject):
        (JSObjectKJSValue):
        (KJSValueToCFTypeInternal):
        (KJSValueToCFType):
        * JSUtils.h:
        * JSValueWrapper.cpp:
        (JSValueWrapper::JSValueWrapper):
        (JSValueWrapper::GetValue):
        (JSValueWrapper::JSObjectCopyProperty):
        (JSValueWrapper::JSObjectSetProperty):
        (JSValueWrapper::JSObjectCallFunction):
        * JSValueWrapper.h:
        * UserObjectImp.cpp:
        (UserObjectImp::callAsFunction):
        (UserObjectImp::userObjectGetter):
        (UserObjectImp::getOwnPropertySlot):
        (UserObjectImp::put):
        (UserObjectImp::toPrimitive):
        * UserObjectImp.h:
        (UserObjectImp::createStructure):

WebCore:

2009-01-05  Gavin Barraclough  <baraclough@apple.com>

        Rubber Stamped by Oliver Hunt.

        Replace all uses of JSValue* with new wrapper class, JSValuePtr.
        See JavaScriptCore/ChangeLog for more detailed description.

        * bindings/js/JSAttrCustom.cpp:
        (WebCore::JSAttr::setValue):
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::nameGetter):
        (WebCore::JSCSSStyleDeclaration::customPut):
        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSCanvasPixelArrayCustom.h:
        (WebCore::JSCanvasPixelArray::getByIndex):
        (WebCore::JSCanvasPixelArray::indexSetter):
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::toJS):
        (WebCore::toHTMLCanvasStyle):
        (WebCore::JSCanvasRenderingContext2D::strokeStyle):
        (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
        (WebCore::JSCanvasRenderingContext2D::fillStyle):
        (WebCore::JSCanvasRenderingContext2D::setFillStyle):
        (WebCore::JSCanvasRenderingContext2D::setFillColor):
        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
        (WebCore::JSCanvasRenderingContext2D::strokeRect):
        (WebCore::JSCanvasRenderingContext2D::drawImage):
        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
        (WebCore::JSCanvasRenderingContext2D::setShadow):
        (WebCore::JSCanvasRenderingContext2D::createPattern):
        (WebCore::JSCanvasRenderingContext2D::putImageData):
        (WebCore::JSCanvasRenderingContext2D::fillText):
        (WebCore::JSCanvasRenderingContext2D::strokeText):
        * bindings/js/JSClipboardCustom.cpp:
        (WebCore::JSClipboard::types):
        (WebCore::JSClipboard::clearData):
        (WebCore::JSClipboard::getData):
        (WebCore::JSClipboard::setData):
        (WebCore::JSClipboard::setDragImage):
        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::profiles):
        * bindings/js/JSCustomPositionCallback.cpp:
        (WebCore::JSCustomPositionCallback::handleEvent):
        * bindings/js/JSCustomPositionErrorCallback.cpp:
        (WebCore::JSCustomPositionErrorCallback::handleEvent):
        * bindings/js/JSCustomSQLStatementCallback.cpp:
        (WebCore::JSCustomSQLStatementCallback::handleEvent):
        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
        * bindings/js/JSCustomSQLTransactionCallback.cpp:
        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
        * bindings/js/JSCustomVoidCallback.cpp:
        (WebCore::JSCustomVoidCallback::handleEvent):
        (WebCore::toVoidCallback):
        * bindings/js/JSCustomVoidCallback.h:
        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::create):
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/JSCustomXPathNSResolver.h:
        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        (WebCore::JSDOMApplicationCache::add):
        (WebCore::JSDOMApplicationCache::remove):
        (WebCore::JSDOMApplicationCache::addEventListener):
        (WebCore::JSDOMApplicationCache::removeEventListener):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::jsStringOrNull):
        (WebCore::jsOwnedStringOrNull):
        (WebCore::jsStringOrUndefined):
        (WebCore::jsStringOrFalse):
        (WebCore::valueToStringWithNullCheck):
        (WebCore::valueToStringWithUndefinedOrNullCheck):
        (WebCore::reportException):
        (WebCore::reportCurrentException):
        (WebCore::setDOMException):
        (WebCore::objectToStringFunctionGetter):
        * bindings/js/JSDOMBinding.h:
        (WebCore::getDOMObjectWrapper):
        (WebCore::getDOMNodeWrapper):
        (WebCore::toJS):
        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::findJSEventListener):
        (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
        (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
        (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
        * bindings/js/JSDOMGlobalObject.h:
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::createWindow):
        (WebCore::showModalDialog):
        (jsDOMWindowBaseCrypto):
        (jsDOMWindowBaseEvent):
        (jsDOMWindowBaseImage):
        (jsDOMWindowBaseMessageChannel):
        (jsDOMWindowBaseOption):
        (jsDOMWindowBaseXMLHttpRequest):
        (jsDOMWindowBaseAudio):
        (jsDOMWindowBaseWorker):
        (jsDOMWindowBaseXSLTProcessor):
        (setJSDOMWindowBaseEvent):
        (setJSDOMWindowBaseAudio):
        (setJSDOMWindowBaseImage):
        (setJSDOMWindowBaseMessageChannel):
        (setJSDOMWindowBaseOption):
        (setJSDOMWindowBaseWorker):
        (setJSDOMWindowBaseXMLHttpRequest):
        (setJSDOMWindowBaseXSLTProcessor):
        (WebCore::JSDOMWindowBase::childFrameGetter):
        (WebCore::JSDOMWindowBase::indexGetter):
        (WebCore::JSDOMWindowBase::namedItemGetter):
        (WebCore::JSDOMWindowBase::getOwnPropertySlot):
        (WebCore::JSDOMWindowBase::put):
        (WebCore::JSDOMWindowBase::clear):
        (windowProtoFuncOpen):
        (windowProtoFuncShowModalDialog):
        (windowProtoFuncNotImplemented):
        (WebCore::JSDOMWindowBase::setReturnValueSlot):
        (WebCore::JSDOMWindowBase::installTimeout):
        (WebCore::toJS):
        (WebCore::toJSDOMWindow):
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::lookupGetter):
        (WebCore::JSDOMWindow::lookupSetter):
        (WebCore::JSDOMWindow::setLocation):
        (WebCore::JSDOMWindow::postMessage):
        (WebCore::setTimeoutOrInterval):
        (WebCore::JSDOMWindow::setTimeout):
        (WebCore::JSDOMWindow::clearTimeout):
        (WebCore::JSDOMWindow::setInterval):
        (WebCore::JSDOMWindow::clearInterval):
        (WebCore::JSDOMWindow::atob):
        (WebCore::JSDOMWindow::btoa):
        (WebCore::JSDOMWindow::addEventListener):
        (WebCore::JSDOMWindow::removeEventListener):
        (WebCore::toDOMWindow):
        (WebCore::nonCachingStaticCloseFunctionGetter):
        (WebCore::nonCachingStaticBlurFunctionGetter):
        (WebCore::nonCachingStaticFocusFunctionGetter):
        (WebCore::nonCachingStaticPostMessageFunctionGetter):
        * bindings/js/JSDOMWindowCustom.h:
        (WebCore::JSDOMWindow::customPut):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::put):
        (WebCore::JSDOMWindowShell::putWithAttributes):
        (WebCore::JSDOMWindowShell::lookupGetter):
        (WebCore::JSDOMWindowShell::lookupSetter):
        (WebCore::toJS):
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::createStructure):
        * bindings/js/JSDatabaseCustom.cpp:
        (WebCore::JSDatabase::changeVersion):
        (WebCore::JSDatabase::transaction):
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::location):
        (WebCore::JSDocument::setLocation):
        (WebCore::toJS):
        * bindings/js/JSElementCustom.cpp:
        (WebCore::JSElement::setAttribute):
        (WebCore::JSElement::setAttributeNode):
        (WebCore::JSElement::setAttributeNS):
        (WebCore::JSElement::setAttributeNodeNS):
        (WebCore::toJSNewlyCreated):
        * bindings/js/JSEventCustom.cpp:
        (WebCore::JSEvent::clipboardData):
        (WebCore::toJS):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSAbstractEventListener::handleEvent):
        (WebCore::eventParameterName):
        (WebCore::JSLazyEventListener::parseCode):
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        * bindings/js/JSEventTarget.h:
        * bindings/js/JSEventTargetBase.h:
        * bindings/js/JSEventTargetNodeCustom.cpp:
        (WebCore::JSEventTargetNode::addEventListener):
        (WebCore::JSEventTargetNode::removeEventListener):
        * bindings/js/JSGeolocationCustom.cpp:
        (WebCore::createPositionOptions):
        (WebCore::JSGeolocation::getCurrentPosition):
        (WebCore::JSGeolocation::watchPosition):
        * bindings/js/JSHTMLAllCollection.h:
        (WebCore::JSHTMLAllCollection::createStructure):
        * bindings/js/JSHTMLAppletElementCustom.cpp:
        (WebCore::JSHTMLAppletElement::customPut):
        (WebCore::JSHTMLAppletElement::nameGetter):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        (WebCore::callHTMLCollection):
        (WebCore::JSHTMLCollection::nameGetter):
        (WebCore::JSHTMLCollection::item):
        (WebCore::JSHTMLCollection::namedItem):
        (WebCore::toJS):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::nameGetter):
        (WebCore::JSHTMLDocument::all):
        (WebCore::JSHTMLDocument::setAll):
        (WebCore::JSHTMLDocument::open):
        (WebCore::JSHTMLDocument::write):
        (WebCore::JSHTMLDocument::writeln):
        * bindings/js/JSHTMLEmbedElementCustom.cpp:
        (WebCore::JSHTMLEmbedElement::customPut):
        (WebCore::JSHTMLEmbedElement::nameGetter):
        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::nameGetter):
        * bindings/js/JSHTMLFrameElementCustom.cpp:
        (WebCore::JSHTMLFrameElement::setSrc):
        (WebCore::JSHTMLFrameElement::setLocation):
        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
        (WebCore::JSHTMLFrameSetElement::nameGetter):
        * bindings/js/JSHTMLIFrameElementCustom.cpp:
        (WebCore::JSHTMLIFrameElement::setSrc):
        * bindings/js/JSHTMLInputElementCustom.cpp:
        (WebCore::JSHTMLInputElement::selectionStart):
        (WebCore::JSHTMLInputElement::selectionEnd):
        * bindings/js/JSHTMLObjectElementCustom.cpp:
        (WebCore::JSHTMLObjectElement::customPut):
        (WebCore::JSHTMLObjectElement::nameGetter):
        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
        (WebCore::JSHTMLOptionsCollection::length):
        (WebCore::JSHTMLOptionsCollection::setLength):
        (WebCore::JSHTMLOptionsCollection::indexSetter):
        (WebCore::JSHTMLOptionsCollection::add):
        (WebCore::JSHTMLOptionsCollection::remove):
        * bindings/js/JSHTMLSelectElementCustom.cpp:
        (WebCore::JSHTMLSelectElement::remove):
        (WebCore::selectIndexSetter):
        (WebCore::JSHTMLSelectElement::indexSetter):
        * bindings/js/JSHTMLSelectElementCustom.h:
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::nonCachingStaticBackFunctionGetter):
        (WebCore::nonCachingStaticForwardFunctionGetter):
        (WebCore::nonCachingStaticGoFunctionGetter):
        (WebCore::JSHistory::customPut):
        * bindings/js/JSImageDataCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSInspectedObjectWrapper.cpp:
        (WebCore::JSInspectedObjectWrapper::wrap):
        (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
        * bindings/js/JSInspectedObjectWrapper.h:
        (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
        * bindings/js/JSInspectorCallbackWrapper.cpp:
        (WebCore::JSInspectorCallbackWrapper::wrap):
        (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
        * bindings/js/JSInspectorCallbackWrapper.h:
        (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::evaluate):
        (WebCore::JSJavaScriptCallFrame::thisObject):
        (WebCore::JSJavaScriptCallFrame::type):
        (WebCore::JSJavaScriptCallFrame::scopeChain):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::nonCachingStaticReplaceFunctionGetter):
        (WebCore::nonCachingStaticReloadFunctionGetter):
        (WebCore::nonCachingStaticAssignFunctionGetter):
        (WebCore::JSLocation::customPut):
        (WebCore::JSLocation::setHref):
        (WebCore::JSLocation::setProtocol):
        (WebCore::JSLocation::setHost):
        (WebCore::JSLocation::setHostname):
        (WebCore::JSLocation::setPort):
        (WebCore::JSLocation::setPathname):
        (WebCore::JSLocation::setSearch):
        (WebCore::JSLocation::setHash):
        (WebCore::JSLocation::replace):
        (WebCore::JSLocation::reload):
        (WebCore::JSLocation::assign):
        (WebCore::JSLocation::toString):
        * bindings/js/JSMessageChannelConstructor.h:
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::startConversation):
        (WebCore::JSMessagePort::addEventListener):
        (WebCore::JSMessagePort::removeEventListener):
        * bindings/js/JSMimeTypeArrayCustom.cpp:
        (WebCore::JSMimeTypeArray::nameGetter):
        * bindings/js/JSNamedNodeMapCustom.cpp:
        (WebCore::JSNamedNodeMap::nameGetter):
        * bindings/js/JSNamedNodesCollection.cpp:
        (WebCore::JSNamedNodesCollection::lengthGetter):
        (WebCore::JSNamedNodesCollection::indexGetter):
        * bindings/js/JSNamedNodesCollection.h:
        (WebCore::JSNamedNodesCollection::createStructure):
        * bindings/js/JSNavigatorCustom.cpp:
        (WebCore::needsYouTubeQuirk):
        (WebCore::JSNavigator::appVersion):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::insertBefore):
        (WebCore::JSNode::replaceChild):
        (WebCore::JSNode::removeChild):
        (WebCore::JSNode::appendChild):
        (WebCore::createWrapper):
        (WebCore::toJSNewlyCreated):
        (WebCore::toJS):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/JSNodeFilterCondition.h:
        (WebCore::JSNodeFilterCondition::create):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::JSNodeFilter::acceptNode):
        (WebCore::toNodeFilter):
        * bindings/js/JSNodeIteratorCustom.cpp:
        (WebCore::JSNodeIterator::nextNode):
        (WebCore::JSNodeIterator::previousNode):
        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::callNodeList):
        (WebCore::JSNodeList::nameGetter):
        * bindings/js/JSPluginArrayCustom.cpp:
        (WebCore::JSPluginArray::nameGetter):
        * bindings/js/JSPluginCustom.cpp:
        (WebCore::JSPlugin::nameGetter):
        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::runtimeObjectGetter):
        (WebCore::runtimeObjectPropertyGetter):
        (WebCore::runtimeObjectCustomPut):
        (WebCore::callPlugin):
        * bindings/js/JSPluginElementFunctions.h:
        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::asWrapper):
        (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter):
        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
        (WebCore::JSQuarantinedObjectWrapper::put):
        (WebCore::JSQuarantinedObjectWrapper::construct):
        (WebCore::JSQuarantinedObjectWrapper::hasInstance):
        (WebCore::JSQuarantinedObjectWrapper::call):
        * bindings/js/JSQuarantinedObjectWrapper.h:
        (WebCore::JSQuarantinedObjectWrapper::createStructure):
        * bindings/js/JSRGBColor.cpp:
        (WebCore::getJSRGBColor):
        (jsRGBColorRed):
        (jsRGBColorGreen):
        (jsRGBColorBlue):
        * bindings/js/JSRGBColor.h:
        (WebCore::JSRGBColor::createStructure):
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/JSSQLTransactionCustom.cpp:
        (WebCore::JSSQLTransaction::executeSql):
        * bindings/js/JSSVGElementInstanceCustom.cpp:
        (WebCore::JSSVGElementInstance::addEventListener):
        (WebCore::JSSVGElementInstance::removeEventListener):
        * bindings/js/JSSVGLengthCustom.cpp:
        (WebCore::JSSVGLength::value):
        (WebCore::JSSVGLength::convertToSpecifiedUnits):
        * bindings/js/JSSVGMatrixCustom.cpp:
        (WebCore::JSSVGMatrix::multiply):
        (WebCore::JSSVGMatrix::inverse):
        (WebCore::JSSVGMatrix::translate):
        (WebCore::JSSVGMatrix::scale):
        (WebCore::JSSVGMatrix::scaleNonUniform):
        (WebCore::JSSVGMatrix::rotate):
        (WebCore::JSSVGMatrix::rotateFromVector):
        (WebCore::JSSVGMatrix::flipX):
        (WebCore::JSSVGMatrix::flipY):
        (WebCore::JSSVGMatrix::skewX):
        (WebCore::JSSVGMatrix::skewY):
        * bindings/js/JSSVGPathSegCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSSVGPathSegListCustom.cpp:
        (WebCore::JSSVGPathSegList::clear):
        (WebCore::JSSVGPathSegList::initialize):
        (WebCore::JSSVGPathSegList::getItem):
        (WebCore::JSSVGPathSegList::insertItemBefore):
        (WebCore::JSSVGPathSegList::replaceItem):
        (WebCore::JSSVGPathSegList::removeItem):
        (WebCore::JSSVGPathSegList::appendItem):
        * bindings/js/JSSVGPointListCustom.cpp:
        (WebCore::finishGetter):
        (WebCore::finishSetter):
        (WebCore::finishSetterReadOnlyResult):
        (WebCore::JSSVGPointList::clear):
        (WebCore::JSSVGPointList::initialize):
        (WebCore::JSSVGPointList::getItem):
        (WebCore::JSSVGPointList::insertItemBefore):
        (WebCore::JSSVGPointList::replaceItem):
        (WebCore::JSSVGPointList::removeItem):
        (WebCore::JSSVGPointList::appendItem):
        * bindings/js/JSSVGTransformListCustom.cpp:
        (WebCore::finishGetter):
        (WebCore::finishSetter):
        (WebCore::finishSetterReadOnlyResult):
        (WebCore::JSSVGTransformList::clear):
        (WebCore::JSSVGTransformList::initialize):
        (WebCore::JSSVGTransformList::getItem):
        (WebCore::JSSVGTransformList::insertItemBefore):
        (WebCore::JSSVGTransformList::replaceItem):
        (WebCore::JSSVGTransformList::removeItem):
        (WebCore::JSSVGTransformList::appendItem):
        * bindings/js/JSStorageCustom.cpp:
        (WebCore::JSStorage::nameGetter):
        (WebCore::JSStorage::deleteProperty):
        (WebCore::JSStorage::customPut):
        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSStyleSheetListCustom.cpp:
        (WebCore::JSStyleSheetList::nameGetter):
        * bindings/js/JSTextCustom.cpp:
        (WebCore::toJSNewlyCreated):
        * bindings/js/JSTreeWalkerCustom.cpp:
        (WebCore::JSTreeWalker::parentNode):
        (WebCore::JSTreeWalker::firstChild):
        (WebCore::JSTreeWalker::lastChild):
        (WebCore::JSTreeWalker::nextSibling):
        (WebCore::JSTreeWalker::previousSibling):
        (WebCore::JSTreeWalker::previousNode):
        (WebCore::JSTreeWalker::nextNode):
        * bindings/js/JSWorkerContextBase.cpp:
        (WebCore::JSWorkerContextBase::put):
        * bindings/js/JSWorkerContextBase.h:
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::self):
        (WebCore::JSWorkerContext::setSelf):
        (WebCore::JSWorkerContext::addEventListener):
        (WebCore::JSWorkerContext::removeEventListener):
        * bindings/js/JSWorkerCustom.cpp:
        (WebCore::JSWorker::addEventListener):
        (WebCore::JSWorker::removeEventListener):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::open):
        (WebCore::JSXMLHttpRequest::setRequestHeader):
        (WebCore::JSXMLHttpRequest::send):
        (WebCore::JSXMLHttpRequest::getResponseHeader):
        (WebCore::JSXMLHttpRequest::overrideMimeType):
        (WebCore::JSXMLHttpRequest::addEventListener):
        (WebCore::JSXMLHttpRequest::removeEventListener):
        (WebCore::JSXMLHttpRequest::responseText):
        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
        (WebCore::JSXMLHttpRequestUpload::addEventListener):
        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
        * bindings/js/JSXSLTProcessorCustom.cpp:
        (WebCore::JSXSLTProcessor::importStylesheet):
        (WebCore::JSXSLTProcessor::transformToFragment):
        (WebCore::JSXSLTProcessor::transformToDocument):
        (WebCore::JSXSLTProcessor::setParameter):
        (WebCore::JSXSLTProcessor::getParameter):
        (WebCore::JSXSLTProcessor::removeParameter):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::execute):
        * bindings/js/ScheduledAction.h:
        * bindings/js/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::ScriptCallStack):
        (WebCore::ScriptCallStack::initialize):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::createScriptObjectForPluginElement):
        * bindings/js/ScriptValue.cpp:
        (WebCore::ScriptValue::getString):
        (WebCore::ScriptValue::isNull):
        (WebCore::ScriptValue::isUndefined):
        * bindings/js/ScriptValue.h:
        (WebCore::ScriptValue::ScriptValue):
        (WebCore::ScriptValue::jsValue):
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        (-[WebScriptObject evaluateWebScript:]):
        (-[WebScriptObject valueForKey:]):
        (-[WebScriptObject webScriptValueAtIndex:]):
        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
        * bindings/objc/WebScriptObjectPrivate.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/NP_jsobject.cpp:
        (_NPN_InvokeDefault):
        (_NPN_Invoke):
        (_NPN_Evaluate):
        (_NPN_GetProperty):
        (_NPN_HasMethod):
        (_NPN_Construct):
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CInstance::invokeMethod):
        (JSC::Bindings::CInstance::invokeDefaultMethod):
        (JSC::Bindings::CInstance::invokeConstruct):
        (JSC::Bindings::CInstance::defaultValue):
        (JSC::Bindings::CInstance::stringValue):
        (JSC::Bindings::CInstance::numberValue):
        (JSC::Bindings::CInstance::booleanValue):
        (JSC::Bindings::CInstance::valueOf):
        * bridge/c/c_instance.h:
        * bridge/c/c_runtime.cpp:
        (JSC::Bindings::CField::valueFromInstance):
        (JSC::Bindings::CField::setValueToInstance):
        * bridge/c/c_runtime.h:
        * bridge/c/c_utility.cpp:
        (JSC::Bindings::convertValueToNPVariant):
        (JSC::Bindings::convertNPVariantToValue):
        * bridge/c/c_utility.h:
        * bridge/jni/jni_instance.cpp:
        (JavaInstance::stringValue):
        (JavaInstance::numberValue):
        (JavaInstance::booleanValue):
        (JavaInstance::invokeMethod):
        (JavaInstance::defaultValue):
        (JavaInstance::valueOf):
        * bridge/jni/jni_instance.h:
        * bridge/jni/jni_jsobject.h:
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::call):
        (JavaJSObject::eval):
        (JavaJSObject::getMember):
        (JavaJSObject::getSlot):
        (JavaJSObject::convertValueToJObject):
        (JavaJSObject::convertJObjectToValue):
        * bridge/jni/jni_objc.mm:
        (JSC::Bindings::dispatchJNICall):
        * bridge/jni/jni_runtime.cpp:
        (JavaArray::convertJObjectToArray):
        (JavaField::dispatchValueFromInstance):
        (JavaField::valueFromInstance):
        (JavaField::dispatchSetValueToInstance):
        (JavaField::setValueToInstance):
        (JavaArray::setValueAt):
        (JavaArray::valueAt):
        * bridge/jni/jni_runtime.h:
        * bridge/jni/jni_utility.cpp:
        (JSC::Bindings::convertArrayInstanceToJavaArray):
        (JSC::Bindings::convertValueToJValue):
        * bridge/jni/jni_utility.h:
        * bridge/objc/WebScriptObject.h:
        * bridge/objc/objc_class.h:
        * bridge/objc/objc_class.mm:
        (JSC::Bindings::ObjcClass::fallbackObject):
        * bridge/objc/objc_instance.h:
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::invokeMethod):
        (ObjcInstance::invokeDefaultMethod):
        (ObjcInstance::setValueOfUndefinedField):
        (ObjcInstance::getValueOfUndefinedField):
        (ObjcInstance::defaultValue):
        (ObjcInstance::stringValue):
        (ObjcInstance::numberValue):
        (ObjcInstance::booleanValue):
        (ObjcInstance::valueOf):
        * bridge/objc/objc_runtime.h:
        (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::ObjcField::valueFromInstance):
        (JSC::Bindings::convertValueToObjcObject):
        (JSC::Bindings::ObjcField::setValueToInstance):
        (JSC::Bindings::ObjcArray::setValueAt):
        (JSC::Bindings::ObjcArray::valueAt):
        (JSC::Bindings::ObjcFallbackObjectImp::put):
        (JSC::Bindings::callObjCFallbackObject):
        (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
        * bridge/objc/objc_utility.h:
        * bridge/objc/objc_utility.mm:
        (JSC::Bindings::convertValueToObjcValue):
        (JSC::Bindings::convertNSStringToString):
        (JSC::Bindings::convertObjcValueToValue):
        * bridge/runtime.cpp:
        (JSC::Bindings::Instance::getValueOfField):
        (JSC::Bindings::Instance::setValueOfField):
        * bridge/runtime.h:
        (JSC::Bindings::Class::fallbackObject):
        (JSC::Bindings::Instance::getValueOfUndefinedField):
        (JSC::Bindings::Instance::setValueOfUndefinedField):
        (JSC::Bindings::Instance::invokeDefaultMethod):
        (JSC::Bindings::Instance::invokeConstruct):
        (JSC::Bindings::Instance::valueOf):
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::lengthGetter):
        (JSC::RuntimeArray::indexGetter):
        (JSC::RuntimeArray::put):
        * bridge/runtime_array.h:
        (JSC::RuntimeArray::createStructure):
        * bridge/runtime_method.cpp:
        (JSC::RuntimeMethod::lengthGetter):
        (JSC::callRuntimeMethod):
        * bridge/runtime_method.h:
        (JSC::RuntimeMethod::createStructure):
        * bridge/runtime_object.cpp:
        (JSC::RuntimeObjectImp::fallbackObjectGetter):
        (JSC::RuntimeObjectImp::fieldGetter):
        (JSC::RuntimeObjectImp::methodGetter):
        (JSC::RuntimeObjectImp::put):
        (JSC::RuntimeObjectImp::defaultValue):
        (JSC::callRuntimeObject):
        (JSC::callRuntimeConstructor):
        * bridge/runtime_object.h:
        (JSC::RuntimeObjectImp::createStructure):
        * inspector/InspectorController.cpp:
        * inspector/JavaScriptCallFrame.cpp:
        (WebCore::JavaScriptCallFrame::evaluate):
        * inspector/JavaScriptCallFrame.h:
        * inspector/JavaScriptProfile.cpp:
        (WebCore::toJS):
        * inspector/JavaScriptProfile.h:
        * inspector/JavaScriptProfileNode.cpp:
        (WebCore::toJS):
        * inspector/JavaScriptProfileNode.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::dropProtection):

WebKit/mac:

2009-01-05  Gavin Barraclough  <baraclough@apple.com>

        Rubber Stamped by Oliver Hunt.

        Replace all uses of JSValue* with new wrapper class, JSValuePtr.
        See JavaScriptCore/ChangeLog for more detailed description.

        * WebView/WebFrame.mm:
        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
        * WebView/WebScriptDebugDelegate.mm:
        (-[WebScriptCallFrame _convertValueToObjcValue:]):
        (-[WebScriptCallFrame exception]):
        (-[WebScriptCallFrame evaluateWebScript:]):
        * WebView/WebView.mm:
        (aeDescFromJSValue):
        (-[WebView aeDescByEvaluatingJavaScriptFromString:]):

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

13 years ago2009-01-06 Pierre-Olivier Latour <pol@apple.com>
pol@apple.com [Wed, 7 Jan 2009 01:59:04 +0000 (01:59 +0000)]
2009-01-06  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Darin Adler.

        Added new API on AnimationController::numberOfActiveAnimations() to be used by DRT.

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

        Test: animations/animation-controller-drt-api.html

        * WebCore.base.exp:
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
        (WebCore::AnimationController::numberOfActiveAnimations):
        * page/animation/AnimationController.h:
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations):
        (WebCore::CompositeAnimation::numberOfActiveAnimations):
        * page/animation/CompositeAnimation.h:

        Exposed through WebFrame private interface the new WebCore API AnimationController::numberOfActiveAnimations() to be used by DRT.

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

        * WebView/WebFrame.mm:
        (-[WebFrame _numberOfActiveAnimations]):
        * WebView/WebFramePrivate.h:

        Added new JS API numberOfActiveAnimations() that returns the number of active CSS transitions & animations.
        This effectively exposes the new AnimationController::numberOfActiveAnimations() API from WebCore.

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

        * DumpRenderTree/LayoutTestController.cpp:
        (numberOfActiveAnimationsCallback):
        (LayoutTestController::staticFunctions):
        * DumpRenderTree/LayoutTestController.h:
        * DumpRenderTree/mac/LayoutTestControllerMac.mm:
        (LayoutTestController::numberOfActiveAnimations):
        * DumpRenderTree/win/LayoutTestControllerWin.cpp:
        (LayoutTestController::numberOfActiveAnimations):

        Reviewed by Darin Adler.

        Added layout test for new DRT API numberOfActiveAnimations().

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

        * animations/animation-controller-drt-api-expected.txt: Added.
        * animations/animation-controller-drt-api.html: Added.
        * platform/win/Skipped:

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

13 years ago Reviewed by Gavin Barraclough.
eric@webkit.org [Wed, 7 Jan 2009 01:07:00 +0000 (01:07 +0000)]
    Reviewed by Gavin Barraclough.

        Upstream 3 more files to get the WebCore-Chromium build a bit further.

        * WebCore.scons:
        * page/chromium/AccessibilityObjectChromium.cpp: Added.
        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
        * page/chromium/AccessibilityObjectWrapper.h: Added.
        (WebCore::AccessibilityObjectWrapper::~AccessibilityObjectWrapper):
        (WebCore::AccessibilityObjectWrapper::attached):
        (WebCore::AccessibilityObjectWrapper::accessibilityObject):
        (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper):
        * platform/chromium/PasteboardPrivate.h: Added.
        (WebCore::PasteboardPrivate::):

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

13 years ago Fixed https://bugs.webkit.org/show_bug.cgi?id=22870
cmarrin@apple.com [Wed, 7 Jan 2009 00:35:51 +0000 (00:35 +0000)]
    Fixed https://bugs.webkit.org/show_bug.cgi?id=22870

        I added calls beginAnimationUpdate() and endAnimationUpdate() calls
        to AnimationController. These are called by Document at the start
        and end of the recalcStyle cycle. Right now, I'm just using the
        beginAnimationUpdate() method to reset an animation time value.
        The first time the animation time is accessed after this reset I set
        it to the currentTime. So all animations in that cycle get the same
        start time.

        The test cases checked in test this, but in the case of the 'left'
        test it actually doesn't make any difference in most cases. This is
        because values are clamped to whole pixels, so the start times would
        have to be pretty far off for the test to fail using the old
        currentTime() model. Still, under really heavy load, it's possible for
        the test to fail without these changes.

        The 'transform' test is another story. It animates to the full resolution
        of a floating point number, so the test fails miserably without this
        fix.

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

13 years ago2009-01-06 Julien Chaffraix <jchaffraix@webkit.org>
jchaffraix@webkit.org [Tue, 6 Jan 2009 23:15:28 +0000 (23:15 +0000)]
2009-01-06  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Bug 22858: Simplify make_names.pl code for avoiding multiple definitions or inclusions
        https://bugs.webkit.org/show_bug.cgi?id=22858

        I had introduced an awkward situation using hasCustomJSWrapper and
        sometimes boolean parameter in order to ensure JS wrapper generated once
        or header included once.

        Simplified the code by using a %seenTag hash to detect multiple definitions
        or inclusions and skipping it.

        Also cleaned up a bit make_names.pl by using more explicit names and moving
        code to where it belongs.

        * dom/make_names.pl:
        * html/HTMLTagNames.in: Necessary changes that were not detected by
        the previous syntax but will be required for autogenerating HTMLElementFactory.

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