Timeline



Jan 10, 2009:

11:45 PM Changeset in webkit [39782] by eric.carlson@apple.com
  • 7 edits in trunk/WebCore

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

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23210
Make it easier for ports to define custom UI for media controls

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::styleForElement): call theme()->styleSheetForMediaControls to get the media controller style sheet
  • rendering/MediaControlElements.cpp: (WebCore::MediaControlInputElement::hitTest): Added
  • rendering/MediaControlElements.h: Updated
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::forwardEvent): Call element hitTest() method instead of local function so control elements don't necessarily have to be rectangular
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::styleSheetForMediaControls): Added (WebCore::RenderTheme::hitTestMediaControlPart): Added
  • rendering/RenderTheme.h: Updated
6:47 PM Changeset in webkit [39781] by Simon Fraser
  • 4 edits
    4 adds in trunk

2009-01-10 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

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

We need to disable LayoutState when an object has transforms,
because LayoutState is not transform-aware and therefore
repaint rects can be computed incorrectly.

Test: fast/repaint/transform-disable-layoutstate.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::layoutOnlyPositionedObjects):
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock):
4:05 PM Changeset in webkit [39780] by abarth@webkit.org
  • 7 edits
    5 deletes in trunk

Revert 39779.

3:16 PM Changeset in webkit [39779] by abarth@webkit.org
  • 7 edits
    5 adds in trunk

WebCore:

2009-01-10 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

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

We shouldn't update the document pointer of inactive windows. This
behavior differs slightly from Firefox, I'd argue that this behavior is
more correct (we both differ from IE). The HTML 5 spec is a bit in flux
on this point.

Test: http/tests/security/xss-inactive-closure.html

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::clearWindowShell): (WebCore::ScriptController::updateDocument):
  • bindings/js/ScriptController.h:

LayoutTests:

2009-01-10 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Test that we don't do goofy things with the document pointer after
navigation.

  • fast/dom/Window/dom-access-from-closure-iframe-expected.txt:
  • fast/dom/Window/dom-access-from-closure-window-expected.txt:
  • http/tests/security/resources/childWithButton.html: Added.
  • http/tests/security/resources/xss-inactive-closure-child-2.html: Added.
  • http/tests/security/resources/xss-inactive-closure-child.html: Added.
  • http/tests/security/xss-inactive-closure-expected.txt: Added.
  • http/tests/security/xss-inactive-closure.html: Added.
2:03 PM Changeset in webkit [39778] by Darin Adler
  • 2 edits in trunk/WebKit/mac

2009-01-10 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

<rdar://problem/5845089> REGRESSION (r30044): Mail custom stationery missing images
because of change to -[HTMLObjectElement data]

  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Added a thread violation check because I saw this being done off the main thread while testing Mail, and it caused problems. Put all the one time initialization under a single guard to make things just a little faster other times, and to make it clearer which things are one-time. Added a call to the new patchMailRemoveAttributesMethod function. (-[WebView initWithFrame:frameName:groupName:]): Added a thread violation check here too, because I assumed it would be slightly better to have a public method name in the violation message. This calls commonInitialization later, so it will hit that one eventually. (objectElementDataAttribute): Added. Just returns the value of the "data" attribute. (recursivelyRemoveMailAttributes): Added. Patch to an internal Mail method that in turn patches a WebKit method and removes the patch again on the way out. (patchMailRemoveAttributesMethod): Added. On Leopard only, checks the Mail version, and then applies the patch that fixes this bug.

Jan 9, 2009:

7:46 PM Changeset in webkit [39777] by zecke@webkit.org
  • 3 edits
    1 delete in trunk/WebCore

[QT] Make SharedTimer use QBasicTimer

Kill the SharedTimerQt.h and the usage of signal and slots
by using QBasicTimer.

7:46 PM Changeset in webkit [39776] by zecke@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-01-09 Benjamin Otte <otte@gnome.org>

Reviewed by Holger Freyther.

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

make the finalize function the dispose function. Not releasing held
objects in dispose can cause crashers later.

  • webkit/webkitwebview.cpp:
7:46 PM Changeset in webkit [39775] by zecke@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-01-09 Benjamin Otte <otte@gnome.org>

Reviewed by Holger Freyther.

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

Remove broken code that uses a fallback. The previous code did 2
policy decisions which caused crashes.
Download is still notImplemented();

  • webkit/webkitwebpolicydecision.cpp: (_WebKitWebPolicyDecisionPrivate::webkit_web_policy_decision_download):
7:46 PM Changeset in webkit [39774] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2009-01-09 Adam Bergkvist <adam.bergkvist@ericsson.com>

Reviewed by Holger Freyther.

[CURL] POST without body becomes GET
https://bugs.webkit.org/show_bug.cgi?id=23182

Make sure that method is always set to POST even when the body is
empty. Cleaned up httpBody null check.

  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::setupPOST):
6:00 PM Changeset in webkit [39773] by treat@webkit.org
  • 2 edits in trunk/WebCore

Build fix.

5:12 PM Changeset in webkit [39772] by adele@apple.com
  • 2 edits in trunk/WebCore

2009-01-09 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix infinite recursion in clientPaddingLeft and clientPaddingRight. This changes the code back to
how it was before RenderTextControlSingleLine was split out from RenderTextControl.


No test added since this code is only exercised when trying to place a search field's recent searches popup menu.

  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::clientPaddingLeft): (WebCore::RenderTextControlSingleLine::clientPaddingRight):
4:41 PM Changeset in webkit [39771] by Darin Adler
  • 6 edits in trunk

WebCore:

2009-01-09 Darin Adler <Darin Adler>

Reviewed by Jon Honeycutt.

Bug 22913: REGRESSION: Space bar doesn't scroll on windows
https://bugs.webkit.org/show_bug.cgi?id=22913
rdar://problem/6479834

  • page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): Added code to call defaultSpaceEventHandler. (WebCore::EventHandler::defaultSpaceEventHandler): Added. Scrolls down or up based on the shift key.
  • page/EventHandler.h: Added defaultSpaceEventHandler.
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformScroll): Return false, because this function does not scroll. In an earlier version of this patch, I used this to prevent the patch from affecting the Mac, but I decided to use #if instead.

WebKit/win:

2009-01-09 Darin Adler <Darin Adler>

Reviewed by Jon Honeycutt.

Bug 22913: REGRESSION: Space bar doesn't scroll on windows
https://bugs.webkit.org/show_bug.cgi?id=22913
rdar://problem/6479834

  • WebView.cpp: (WebView::keyPress): Removed code to handle space bar here; put it in WebCore instead.
4:38 PM Changeset in webkit [39770] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

2009-01-09 Sam Weinig <sam@webkit.org>

Check in correct results for failing test.

  • fast/dom/Window/window-properties-expected.txt:
4:14 PM Changeset in webkit [39769] by barraclough@apple.com
  • 13 edits in trunk

JavaScriptCore:

2009-01-09 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Stage two of converting JSValue from a pointer to a class type.
Remove the class JSValue. The functionallity has been transitioned
into the wrapper class type JSValuePtr.

The last stage will be to rename JSValuePtr to JSValue, remove the
overloaded -> operator, and switch operations on JSValuePtrs from
using '->' to use '.' instead.

  • API/APICast.h:
  • JavaScriptCore.exp:
  • runtime/JSCell.h: (JSC::asCell): (JSC::JSValuePtr::asCell): (JSC::JSValuePtr::isNumber): (JSC::JSValuePtr::isString): (JSC::JSValuePtr::isGetterSetter): (JSC::JSValuePtr::isObject): (JSC::JSValuePtr::getNumber): (JSC::JSValuePtr::getString): (JSC::JSValuePtr::getObject): (JSC::JSValuePtr::getCallData): (JSC::JSValuePtr::getConstructData): (JSC::JSValuePtr::getUInt32): (JSC::JSValuePtr::getTruncatedInt32): (JSC::JSValuePtr::getTruncatedUInt32): (JSC::JSValuePtr::mark): (JSC::JSValuePtr::marked): (JSC::JSValuePtr::toPrimitive): (JSC::JSValuePtr::getPrimitiveNumber): (JSC::JSValuePtr::toBoolean): (JSC::JSValuePtr::toNumber): (JSC::JSValuePtr::toString): (JSC::JSValuePtr::toObject): (JSC::JSValuePtr::toThisObject): (JSC::JSValuePtr::needsThisConversion): (JSC::JSValuePtr::toThisString): (JSC::JSValuePtr::getJSNumber):
  • runtime/JSImmediate.h: (JSC::JSValuePtr::isUndefined): (JSC::JSValuePtr::isNull): (JSC::JSValuePtr::isUndefinedOrNull): (JSC::JSValuePtr::isBoolean): (JSC::JSValuePtr::getBoolean): (JSC::JSValuePtr::toInt32): (JSC::JSValuePtr::toUInt32):
  • runtime/JSNumberCell.h: (JSC::JSValuePtr::uncheckedGetNumber): (JSC::JSValuePtr::toJSNumber):
  • runtime/JSObject.h: (JSC::JSValuePtr::isObject): (JSC::JSValuePtr::get): (JSC::JSValuePtr::put):
  • runtime/JSString.h: (JSC::JSValuePtr::toThisJSString):
  • runtime/JSValue.cpp: (JSC::JSValuePtr::toInteger): (JSC::JSValuePtr::toIntegerPreserveNaN): (JSC::JSValuePtr::toInt32SlowCase): (JSC::JSValuePtr::toUInt32SlowCase):
  • runtime/JSValue.h: (JSC::JSValuePtr::makeImmediate): (JSC::JSValuePtr::immediateValue): (JSC::JSValuePtr::JSValuePtr): (JSC::JSValuePtr::operator->): (JSC::JSValuePtr::operator bool): (JSC::JSValuePtr::operator==): (JSC::JSValuePtr::operator!=): (JSC::JSValuePtr::encode): (JSC::JSValuePtr::decode): (JSC::JSValuePtr::toFloat): (JSC::JSValuePtr::asValue): (JSC::operator==): (JSC::operator!=):

WebCore:

2009-01-09 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Delete references to JSValue, removing this class.

  • bindings/js/JSWorkerContextCustom.cpp: (WebCore::JSWorkerContext::self):
  • bindings/js/ScriptCallStack.h:
3:42 PM Changeset in webkit [39768] by eric@webkit.org
  • 1 edit
    6 adds in trunk/WebCore

2009-01-09 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Eric Seidel.

Add svg/graphics/skia files.
https://bugs.webkit.org/show_bug.cgi?id=23147

  • svg/graphics/skia/RenderPathSkia.cpp: Added. (WebCore::RenderPath::strokeContains):
  • svg/graphics/skia/SVGPaintServerPatternSkia.cpp: Added. (WebCore::SVGPaintServerPattern::setup):
  • svg/graphics/skia/SVGPaintServerSkia.cpp: Added. (WebCore::SVGPaintServer::draw): (WebCore::SVGPaintServer::teardown): (WebCore::SVGPaintServer::renderPath):
  • svg/graphics/skia/SVGResourceFilterSkia.cpp: Added. (WebCore::SVGResourceFilter::createPlatformData): (WebCore::SVGResourceFilter::prepareFilter): (WebCore::SVGResourceFilter::applyFilter):
  • svg/graphics/skia/SVGResourceMaskerSkia.cpp: Added. (WebCore::SVGResourceMasker::applyMask):
3:04 PM Changeset in webkit [39767] by eric@webkit.org
  • 1 edit
    2 adds in trunk/WebCore

2009-01-09 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Eric Seidel.

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

  • platform/graphics/skia/SkiaFontWin.cpp: Added. (WebCore::CachedOutlineKey::CachedOutlineKey): (WebCore::operator==): (WebCore::CachedOutlineKeyHash::hash): (WebCore::CachedOutlineKeyHash::equal): (WebCore::FIXEDToSkScalar): (WebCore::deleteOutline): (WebCore::addPolyCurveToPath): (WebCore::getPathForGlyph): (WebCore::SkiaWinOutlineCache::lookupOrCreatePathForGlyph): (WebCore::SkiaWinOutlineCache::removePathsForFont):
  • platform/graphics/skia/SkiaFontWin.h: Added.
2:55 PM Changeset in webkit [39766] by eric@webkit.org
  • 1 edit
    3 adds in trunk/WebCore

2009-01-09 Dimitri Glazkov <Dimitri Glazkov>

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.
2:35 PM Changeset in webkit [39765] by andersca@apple.com
  • 2 edits in trunk/WebCore

2009-01-09 Anders Carlsson <andersca@apple.com>

Fix build.


  • WebCore.LP64.exp:
2:34 PM Changeset in webkit [39764] by eric@webkit.org
  • 1 edit
    1 add in trunk/WebCore

2009-01-09 Dimitri Glazkov <Dimitri Glazkov>

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):
2:33 PM Changeset in webkit [39763] by ap@webkit.org
  • 10 edits
    3 copies
    3 adds in trunk/WebKit/win

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.
2:21 PM Changeset in webkit [39762] by ap@webkit.org
  • 3 edits
    4 adds in trunk

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.
2:20 PM Changeset in webkit [39761] by ap@webkit.org
  • 2 edits in trunk/WebKit/win

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.
2:12 PM Changeset in webkit [39760] by darin@chromium.org
  • 2 edits
    8 adds in trunk/WebCore

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):
1:44 PM Changeset in webkit [39759] by barraclough@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

fix tyop in Changelog

1:42 PM Changeset in webkit [39758] by mitz@apple.com
  • 3 edits in trunk/WebKit/mac

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.
1:01 PM Changeset in webkit [39757] by adele@apple.com
  • 4 edits in trunk/WebKit/win

2009-01-09 Darin Adler <Darin Adler>

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.
12:53 PM Changeset in webkit [39756] by wsiegrist@apple.com
  • 19 edits in trunk/WebKitSite

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.

12:17 PM Changeset in webkit [39755] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

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.

11:42 AM Changeset in webkit [39754] by abarth@webkit.org
  • 2 edits in trunk/LayoutTests

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:
11:12 AM Changeset in webkit [39753] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

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.

10:47 AM Changeset in webkit [39752] by weinig@apple.com
  • 10 edits in trunk/JavaScriptCore

2009-01-09 Sam Weinig <sam@webkit.org>

Roll r39720 back in with a working interpreted mode.

10:46 AM Changeset in webkit [39751] by pkasting@chromium.org
  • 7 edits in trunk/WebCore

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):
10:28 AM Changeset in webkit [39750] by oliver@apple.com
  • 1 add in trunk/JavaScriptCore/wtf/PtrAndFlags.h

Whoops, include actual file the the forwarding headers point to.

9:58 AM Changeset in webkit [39749] by Simon Hausmann
  • 2 edits in trunk/WebCore

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.

9:54 AM Changeset in webkit [39748] by oliver@apple.com
  • 2 adds in trunk

include files missed in last commit.

9:53 AM Changeset in webkit [39747] by oliver@apple.com
  • 13 edits in trunk

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.

9:47 AM Changeset in webkit [39746] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

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.

8:51 AM Changeset in webkit [39745] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

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.

5:03 AM Changeset in webkit [39744] by Simon Hausmann
  • 4 edits in trunk

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.

4:32 AM Changeset in webkit [39743] by ap@webkit.org
  • 2 edits in trunk/LayoutTests

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

  • fast/dom/Window/window-properties-expected.txt: Forgot to commit this with r39699, too.
4:16 AM Changeset in webkit [39742] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

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.

3:10 AM Changeset in webkit [39741] by Simon Hausmann
  • 4 edits in trunk

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.

1:42 AM Changeset in webkit [39740] by ap@webkit.org
  • 3 edits in trunk/WebCore

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:
12:12 AM Changeset in webkit [39739] by barraclough@apple.com
  • 2 edits in trunk/LayoutTests

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:
12:11 AM Changeset in webkit [39738] by barraclough@apple.com
  • 11 edits in trunk/JavaScriptCore

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:

Jan 8, 2009:

9:41 PM Changeset in webkit [39737] by weinig@apple.com
  • 10 edits in trunk/JavaScriptCore

2009-01-08 Sam Weinig <sam@webkit.org>

Revert r39720. It broke Interpreted mode.

7:45 PM Changeset in webkit [39736] by mitz@apple.com
  • 13 edits in trunk

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:
7:12 PM Changeset in webkit [39735] by sfalken@apple.com
  • 2 edits in trunk/WebKit/win

<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.
5:51 PM Changeset in webkit [39734] by pkasting@chromium.org
  • 2 edits in trunk/WebCore

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):
5:41 PM Changeset in webkit [39733] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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:
5:36 PM Changeset in webkit [39732] by eric@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

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):
5:22 PM Changeset in webkit [39731] by eric@webkit.org
  • 2 edits in trunk/WebCore

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):
5:18 PM Changeset in webkit [39730] by eric@webkit.org
  • 1 edit
    2 adds in trunk/WebCore

2009-01-08 Dimitri Glazkov <Dimitri Glazkov>

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):
5:06 PM Changeset in webkit [39729] by eric@webkit.org
  • 2 edits
    2 adds in trunk/WebCore

2009-01-08 Dimitri Glazkov <Dimitri Glazkov>

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.
4:54 PM Changeset in webkit [39728] by eric@webkit.org
  • 1 edit
    2 adds in trunk/WebCore

2009-01-08 Dimitri Glazkov <Dimitri Glazkov>

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):
4:41 PM Changeset in webkit [39727] by eric@webkit.org
  • 1 edit
    2 adds in trunk/WebCore

2009-01-08 Dimitri Glazkov <Dimitri Glazkov>

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):
4:30 PM Changeset in webkit [39726] by pam@chromium.org
  • 2 edits in trunk/WebCore

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):
3:44 PM Changeset in webkit [39725] by Antti Koivisto
  • 6 edits in trunk/WebCore

2009-01-08 Antti Koivisto <Antti Koivisto>

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):
3:36 PM Changeset in webkit [39724] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

3:35 PM Changeset in webkit [39723] by mrowe@apple.com
  • 1 copy in tags/Safari-6528.9

New tag.

3:07 PM Changeset in webkit [39722] by Stephanie Lewis
  • 2 edits in trunk/WebKit/mac

2009-01-08 Stephanie Lewis <slewis@gmail.com>

Fix Tiger build.

  • WebView/WebTextIterator.mm:
3:00 PM Changeset in webkit [39721] by andersca@apple.com
  • 6 edits in trunk/WebKit/mac

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:
2:51 PM Changeset in webkit [39720] by weinig@apple.com
  • 10 edits in trunk/JavaScriptCore

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:
2:06 PM Changeset in webkit [39719] by eric@webkit.org
  • 1 edit
    1 add in trunk/WebCore

2009-01-08 Dimitri Glazkov <Dimitri Glazkov>

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):
1:51 PM Changeset in webkit [39718] by eric@webkit.org
  • 1 edit
    2 adds in trunk/WebCore

2009-01-08 Dimitri Glazkov <Dimitri Glazkov>

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):
1:27 PM Changeset in webkit [39717] by hyatt@apple.com
  • 10 edits in trunk

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):
1:12 PM Changeset in webkit [39716] by treat@webkit.org
  • 4 edits in trunk/WebCore

No need to make this part of HostWindow and moreover HostWindow should
not have any reference to non-platform parts of WebCore.

12:59 PM Changeset in webkit [39715] by Darin Adler
  • 3 edits in trunk/WebKit/mac

2009-01-08 Darin Adler <Darin Adler>

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.
12:19 PM Changeset in webkit [39714] by eric.carlson@apple.com
  • 11 edits in trunk

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
11:45 AM Changeset in webkit [39713] by eric@webkit.org
  • 8 edits in trunk/WebCore

2009-01-08 Dimitri Glazkov <Dimitri Glazkov>

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):
10:58 AM Changeset in webkit [39712] by eric@webkit.org
  • 1 edit
    8 adds in trunk/WebCore

2009-01-08 Dimitri Glazkov <Dimitri Glazkov>

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):
10:24 AM Changeset in webkit [39711] by pol@apple.com
  • 8 edits
    4 adds in trunk

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.
9:50 AM Changeset in webkit [39710] by pam@chromium.org
  • 2 edits in trunk/WebKitSite

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.
9:05 AM Changeset in webkit [39709] by ap@webkit.org
  • 2 edits in trunk/WebCore

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.
8:47 AM Changeset in webkit [39708] by ap@webkit.org
  • 4 edits
    1 add in trunk/JavaScriptCore

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):
7:58 AM Changeset in webkit [39707] by Simon Hausmann
  • 3 edits in trunk/JavaScriptCore

2009-01-08 Justin McPherson <justin.mcpherson@nokia.com>

Reviewed by Simon Hausmann.

Fix compilation with Qt on NetBSD.

7:51 AM Changeset in webkit [39706] by treat@webkit.org
  • 4 edits in trunk

Don't set the minimumFontSize and minimumLogicalFontSize as these are
just for accessibility and should be left up to the client application.

7:50 AM Changeset in webkit [39705] by Simon Hausmann
  • 2 edits in trunk/WebCore

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.

7:21 AM Changeset in webkit [39704] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

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.

7:04 AM Changeset in webkit [39703] by Adam Roben
  • 2 edits in trunk/WebCore

Windows build fix after r39699

  • DerivedSources.cpp: Added JSDOMStringList.cpp.
5:47 AM Changeset in webkit [39702] by Simon Hausmann
  • 2 edits in trunk/WebCore

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.

4:33 AM Changeset in webkit [39701] by zecke@webkit.org
  • 2 edits in trunk/WebCore

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):
4:32 AM Changeset in webkit [39700] by zecke@webkit.org
  • 3 edits in trunk/WebKit/gtk

Add webkit_web_view_reload_bypass_cache.

3:54 AM Changeset in webkit [39699] by ap@webkit.org
  • 15 edits
    8 adds in trunk

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.

Jan 7, 2009:

10:15 PM Changeset in webkit [39698] by jhoneycutt@apple.com
  • 2 edits in trunk/WebKit/win

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.
5:46 PM Changeset in webkit [39697] by weinig@apple.com
  • 14 edits in trunk/JavaScriptCore

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.
5:37 PM Changeset in webkit [39696] by cmarrin@apple.com
  • 7 edits in trunk/WebCore

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

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

5:28 PM Changeset in webkit [39695] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

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):
4:27 PM Changeset in webkit [39694] by pkasting@chromium.org
  • 7 edits in trunk/WebCore

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):
4:23 PM Changeset in webkit [39693] by justin.garcia@apple.com
  • 3 edits
    2 adds in trunk

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.
4:00 PM Changeset in webkit [39692] by dino@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

2009-01-07 Dean Jackson <dino@apple.com>

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

3:56 PM Changeset in webkit [39691] by dino@apple.com
  • 3 edits
    2 adds in trunk

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

3:43 PM Changeset in webkit [39690] by zecke@webkit.org
  • 3 edits in trunk/WebCore

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
3:24 PM Changeset in webkit [39689] by zecke@webkit.org
  • 5 edits in trunk

Implement LayoutTestController::numberOfActiveAnimations for Gtk+.

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

3:02 PM Changeset in webkit [39688] by dino@apple.com
  • 9 edits
    4 moves in trunk/WebCore

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:
2:57 PM Changeset in webkit [39687] by pol@apple.com
  • 3 edits in trunk/LayoutTests

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:
2:33 PM Changeset in webkit [39686] by andersca@apple.com
  • 2 edits in trunk/WebCore

2009-01-07 Anders Carlsson <andersca@apple.com>

Another build fix.


  • WebCore.LP64.exp:
2:30 PM Changeset in webkit [39685] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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):
2:03 PM Changeset in webkit [39684] by andersca@apple.com
  • 5 edits in trunk/WebKit/mac

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.
12:24 PM Changeset in webkit [39683] by hyatt@apple.com
  • 4 edits in trunk/WebCore

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:
7:58 AM Changeset in webkit [39682] by Adam Roben
  • 3 edits in trunk/WebKit/win

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.
7:40 AM Changeset in webkit [39681] by Darin Adler
  • 12 edits in trunk

WebCore:

2009-01-07 Darin Adler <Darin Adler>

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 Adler>

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.
7:35 AM Changeset in webkit [39680] by treat@webkit.org
  • 4 edits in trunk/WebKit/qt

Add Qt API to QWebHitTestResult::isScrollBar method

7:35 AM Changeset in webkit [39679] by treat@webkit.org
  • 3 edits in trunk/WebKit/qt

Add Qt API for QWebFrame::scrollBarGeometry method

7:24 AM Changeset in webkit [39678] by treat@webkit.org
  • 7 edits in trunk

Fix unused variable warnings

7:15 AM Changeset in webkit [39677] by Simon Hausmann
  • 9 edits in trunk

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):
2:01 AM QtWebKitJournal edited by ariya.hidayat@trolltech.com
(diff)
2:01 AM QtWebKitJournal edited by ariya.hidayat@trolltech.com
(diff)
2:00 AM QtWebKitJournal edited by ariya.hidayat@trolltech.com
(diff)
2:00 AM QtWebKitJournal edited by ariya.hidayat@trolltech.com
(diff)
12:45 AM Changeset in webkit [39676] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

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:
12:16 AM Changeset in webkit [39675] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

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):
12:07 AM Changeset in webkit [39674] by justin.garcia@apple.com
  • 2 edits in trunk/WebCore

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.

Jan 6, 2009:

11:41 PM Changeset in webkit [39673] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

<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.

11:24 PM Changeset in webkit [39672] by ap@webkit.org
  • 3 edits in trunk/JavaScriptCore

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.
10:29 PM Changeset in webkit [39671] by mrowe@apple.com
  • 2 edits in trunk/WebCore

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.

9:11 PM Changeset in webkit [39670] by barraclough@apple.com
  • 297 edits in trunk

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:]):
5:59 PM Changeset in webkit [39669] by pol@apple.com
  • 16 edits
    2 adds in trunk

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:
5:07 PM Changeset in webkit [39668] by eric@webkit.org
  • 2 edits
    4 adds in trunk/WebCore

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::):
4:35 PM Changeset in webkit [39667] by cmarrin@apple.com
  • 9 edits
    4 adds in trunk

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.

3:15 PM Changeset in webkit [39666] by jchaffraix@webkit.org
  • 3 edits in trunk/WebCore

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.
2:58 PM Changeset in webkit [39665] by andersca@apple.com
  • 9 edits in trunk/WebKit/win

2009-01-06 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Add a way for application to provide custom, full frame, views for certain MIME types.


  • Interfaces/IWebEmbeddedView.idl: Add loading related methods.


  • Interfaces/IWebViewPrivate.idl: Add new registerEmbeddedViewMIMEType method.


  • WebCoreSupport/EmbeddedWidget.cpp: (EmbeddedWidget::didReceiveResponse): (EmbeddedWidget::didReceiveData): (EmbeddedWidget::didFinishLoading): (EmbeddedWidget::didFail): Implement these and call the IEmbeddedView methods.


  • WebCoreSupport/EmbeddedWidget.h: Inherit from PluginManualLoader.


  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::redirectDataToPlugin): Handle the case where the widget is an EnbeddedWidget.


(WebFrameLoaderClient::shouldUsePluginDocument):
Have this call WebView::shouldUseEmbeddedView.


  • WebView.cpp: (WebView::canShowMIMEType): Have this call WebView::shouldUseEmbeddedView.


(WebView::registerEmbeddedViewMIMEType):
Add the MIME type to the set.


(WebView::shouldUseEmbeddedView):
Given a MIME type, returns whether an embedded view should be used or not.

2:57 PM Changeset in webkit [39664] by andersca@apple.com
  • 3 edits in trunk/WebCore

2009-01-06 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Add a way for frame loader clients to always create a PluginDocument, regardless of
the real document MIME type.


  • loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): (WebCore::FrameLoader::shouldUsePlugin):
  • loader/FrameLoaderClient.h: (WebCore::FrameLoaderClient::shouldUsePluginDocument):
2:19 PM Changeset in webkit [39663] by dino@apple.com
  • 4 edits
    12 adds in trunk

2009-01-06 Dean Jackson <dino@apple.com>

Reviewed by Dave Hyatt.

Extend Media Queries to cover transitions,
animations, transform-2d and transform-3d
http://webkit.org/specs/MediaQueriesExtensions.html
Note that the implementation uses -webkit- prefixes
even though the spec doesn't have them.
https://bugs.webkit.org/show_bug.cgi?id=22494

Tests: fast/media/mq-animation.html

fast/media/mq-transform-01.html
fast/media/mq-transform-02.html
fast/media/mq-transform-03.html
fast/media/mq-transform-04.html
fast/media/mq-transition.html

  • css/MediaFeatureNames.h:
  • css/MediaQueryEvaluator.cpp: (WebCore::animationMediaFeatureEval): (WebCore::transitionMediaFeatureEval): (WebCore::transform_2dMediaFeatureEval): (WebCore::transform_3dMediaFeatureEval):
1:56 PM Changeset in webkit [39662] by justin.garcia@apple.com
  • 1 edit
    4 adds in trunk/LayoutTests

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

Reviewed by Oliver Hunt.


Tests for:
<rdar://problem/4059423> DOM operations performed on editable HTML can cause a crash later during Undo (19703)


A few more may able to be written after <rdar://problem/6468156> is fixed.

  • editing/undo/4059423-1-expected.txt: Added.
  • editing/undo/4059423-1.html: Added.
  • editing/undo/4059423-2-expected.txt: Added.
  • editing/undo/4059423-2.html: Added.
1:50 PM Changeset in webkit [39661] by eric@webkit.org
  • 2 edits
    1 add in trunk/WebCore

Reviewed by Oliver Hunt.

Bring the Chromium-WebCore build closer to building
by upstreaming PlatformWidget.h add adding the JSC
plugin bridge files to the build.

  • WebCore.scons:
  • platform/chromium/PlatformWidget.h: Added.
12:33 PM Changeset in webkit [39660] by oliver@apple.com
  • 5 edits in trunk

<https://bugs.webkit.org/show_bug.cgi?id=23085> [jsfunfuzz] Over released ScopeChainNode
<rdar://problem/6474110>

Reviewed by Cameron Zwarich

So this delightful bug was caused by our unwind code using a ScopeChain to perform
the unwind. The ScopeChain would ref the initial top of the scope chain, then deref
the resultant top of scope chain, which is incorrect.

This patch removes the dependency on ScopeChain for the unwind, and i've filed
<https://bugs.webkit.org/show_bug.cgi?id=23144> to look into the unintuitive
ScopeChain behaviour.

12:16 PM Changeset in webkit [39659] by eric@webkit.org
  • 2 edits in trunk/WebCore

Build fix only, no review.

Bring the Chromium-WebCore build back closer to building
by adding files from recent commits.

  • WebCore.scons:
11:49 AM Changeset in webkit [39658] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Hopeful Windows crash-on-launch fix

  • wtf/Platform.h: Force a world rebuild by touching this file.
10:19 AM Changeset in webkit [39657] by zecke@webkit.org
  • 2 edits in trunk/JavaScriptCore

Build fix by building ByteArray.cpp as well

10:12 AM Changeset in webkit [39656] by ap@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Darin Adler.

<rdar://problem/6474973> REGRESSION: PLT ~2% slower due to 39465 (consolidate thread data)

I could not reproduce the slowdown on my PowerPC test machine, but the change should bring
performance back.

  • platform/ThreadGlobalData.cpp: (WebCore::threadGlobalData): Don't use AtomicallyInitializedStatic. Prior to r39465, it was only used for cached converters, which was necessary because the first access to ICU or TEC one could happen on a secondary thread, but now they are all initialized from ThreadGlobalData constructor.
9:08 AM Changeset in webkit [39655] by treat@webkit.org
  • 3 edits in trunk/WebKit/qt

Update the documentation to reflect when these API changes will land in
upstream Qt

8:14 AM Changeset in webkit [39654] by dsmith@webkit.org
  • 2 edits in trunk/WebCore

2009-01-06 David Smith <catfish.man@gmail.com>

Reviewed by Darin Adler.


https://bugs.webkit.org/show_bug.cgi?id=23129
Devirtualize Node::childNodes().

8:13 AM Changeset in webkit [39653] by zecke@webkit.org
  • 2 edits in trunk/JavaScriptCore

Speculative build fix for Gtk+

6:54 AM Changeset in webkit [39652] by ddkilzer@apple.com
  • 3 edits in trunk/WebKit/win

BUILD FIX (r39641): Try to fix WebIconDatabase build errors #4

  • WebIconDatabase.cpp: (WebIconDatabase::isEnabled): Added 'WebIconDatabase::' to method signature. (Another copy-paste error.) (WebIconDatabase::setEnabled): Ditto.
  • WebIconDatabase.h: (WebIconDatabase::startUpIconDatabase): Make private again. (WebIconDatabase::shutDownIconDatabase): Ditto.
6:49 AM Changeset in webkit [39651] by Simon Hausmann
  • 2 edits in trunk/WebCore

2009-01-06 Simon Hausmann <simon.hausmann@nokia.com>

Unreviewed build fix.

Fix the Qt build with Qt 4.4.x, the HTTP-only cookie support was
added in Qt 4.5.

6:38 AM Changeset in webkit [39650] by ddkilzer@apple.com
  • 2 edits in trunk/WebCore

2009-01-06 Zalan Bujtas <zbujtas@gmail.com>

Reviewed by David Kilzer.

https://bugs.webkit.org/show_bug.cgi?id=23133
Fix SVG disabled build. Move 'pointer-events' from SVGCSSPropertyNames.in to
CSSPropertyNames.in and move PointerEvents functions out of #if ENABLE(SVG)

NOTE: Property name fixes landed as part of r39648.

  • css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator EPointerEvents):
  • css/CSSPropertyNames.in:
  • css/SVGCSSPropertyNames.in:
6:29 AM Changeset in webkit [39649] by ddkilzer@apple.com
  • 3 edits in trunk/WebKit/win

BUILD FIX (r39641): Try to fix build errors #3

Try to fix the following (more specific) build errors:

WebIconDatabase.cpp
..\WebIconDatabase.cpp(255) : error C2248: 'WebIconDatabase::shutDownIconDatabase' : cannot access private member declared in class 'WebIconDatabase'

...\webkit\win\WebIconDatabase.h(61) : see declaration of 'WebIconDatabase::shutDownIconDatabase'
...\webkit\win\WebIconDatabase.h(51) : see declaration of 'WebIconDatabase'

..\WebIconDatabase.cpp(255) : error C2352: 'WebIconDatabase::shutDownIconDatabase' : illegal call of non-static member function

...\webkit\win\WebIconDatabase.h(61) : see declaration of 'WebIconDatabase::shutDownIconDatabase'

..\WebIconDatabase.cpp(258) : error C2248: 'WebIconDatabase::startUpIconDatabase' : cannot access private member declared in class 'WebIconDatabase'

...\webkit\win\WebIconDatabase.h(60) : see declaration of 'WebIconDatabase::startUpIconDatabase'
...\webkit\win\WebIconDatabase.h(51) : see declaration of 'WebIconDatabase'

..\WebIconDatabase.cpp(258) : error C2352: 'WebIconDatabase::startUpIconDatabase' : illegal call of non-static member function

...\webkit\win\WebIconDatabase.h(60) : see declaration of 'WebIconDatabase::startUpIconDatabase'

  • WebIconDatabase.cpp: (setEnabled): Get instance of shared WebIconDatabase, then call startUp/shutDown methods on it.
  • WebIconDatabase.h: (WebIconDatabase::startUpIconDatabase): Make protected again. (WebIconDatabase::shutDownIconDatabase): Ditto.
6:06 AM Changeset in webkit [39648] by ddkilzer@apple.com
  • 3 edits in trunk/WebCore

BUILD FIX (r39634): Fix build for non-SVG builds (Wx)

  • css/CSSPropertyNames.in: Added 'pointer-events'.
  • css/SVGCSSPropertyNames.in: Commented out pointer-events since it's now a plain CSS property.
5:59 AM Changeset in webkit [39647] by ddkilzer@apple.com
  • 3 edits in trunk/WebKit/win

BUILD FIX (r39641): Try to fix build errors again

Try to fix the following build errors:

WebIconDatabase.cpp
..\WebIconDatabase.cpp(255) : error C3861: 'shutDownIconDatabase': identifier not found
..\WebIconDatabase.cpp(258) : error C3861: 'startUpIconDatabase': identifier not found

  • WebIconDatabase.cpp: (setEnabled): Add class prefix to startUpIconDatabase() and shutDownIconDatabase().
  • WebIconDatabase.h: (WebIconDatabase::startUpIconDatabase): Make private again. (WebIconDatabase::shutDownIconDatabase): Ditto.
5:45 AM Changeset in webkit [39646] by ddkilzer@apple.com
  • 2 edits in trunk/WebKit/win

BUILD FIX (r39641): Try to fix build error

Try to fix the following build errors:

WebIconDatabase.cpp
..\WebIconDatabase.cpp(255) : error C3861: 'shutDownIconDatabase': identifier not found
..\WebIconDatabase.cpp(258) : error C3861: 'startUpIconDatabase': identifier not found

  • WebIconDatabase.h: (WebIconDatabase::startUpIconDatabase): Make protected. (WebIconDatabase::shutDownIconDatabase): Ditto.
5:07 AM Changeset in webkit [39645] by ddkilzer@apple.com
  • 2 edits in trunk/WebKit/win

BUILD FIX (r39641): Fix more silly errors

Fixes the following compilation errors:

WebIconDatabase.cpp
..\WebIconDatabase.cpp(85) : error C2065: 'standardPrefs' : undeclared identifier
..\WebIconDatabase.cpp(85) : error C2227: left of '->iconDatabaseLocation' must point to class/struct/union/generic type

type is unknown-type

..\WebIconDatabase.cpp(241) : error C2575: 'isEnabled' : only member functions and bases can be virtual
..\WebIconDatabase.cpp(248) : error C2575: 'setEnabled' : only member functions and bases can be virtual
..\WebIconDatabase.cpp(253) : error C3861: 'shutDownIconDatabase': identifier not found
..\WebIconDatabase.cpp(256) : error C3861: 'startUpIconDatabase': identifier not found

  • WebIconDatabase.cpp: (WebIconDatabase::startUpIconDatabase): Redeclare standardPrefs since this was in init() but not in this method after it was extracted from init(). (isEnabled): Don't use "virtual" in method implementation (silly copy-paste error). (setEnabled): Ditto.
4:40 AM Changeset in webkit [39644] by ddkilzer@apple.com
  • 2 edits in trunk/WebKit/win

BUILD FIX (r39641): Remove STDMETHODCALLTYPE from method declarations in IWebIconDatabase.idl

  • Interfaces/IWebIconDatabase.idl: Removed "STDMETHODCALLTYPE" from silly copy-paste error in two method declarations.
1:35 AM Changeset in webkit [39643] by Simon Hausmann
  • 2 edits in trunk/WebCore

2009-01-06 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Lars Knoll.

Added support for HTTP-only cookies to the Qt build.

Note: See TracTimeline for information about the timeline view.