Timeline


and

06/09/09:

23:18 Changeset [44555] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Have sunspider-compare-results use the system version of the jsc
command line binary as there's no good reason to rebuild from source
to simply compare results.

Reviewed by Sam Weinig.

  • Scripts/sunspider-compare-results:
23:18 Changeset [44554] by barraclough@apple.com
  • 3 edits in trunk/JavaScriptCore

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

Rubber Stamped by Mark Rowe.

Tidy up a couple of comments.

  • assembler/ARMv7Assembler.h:

Fix date in copyright, neaten up a couple of comments.

  • assembler/MacroAssemblerARMv7.h:

Fix date in copyright.

19:23 Changeset [44553] by pkasting@chromium.org
  • 11 edits in trunk/WebCore

2009-06-09 Peter Kasting <pkasting@google.com>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=25709 part four
Most of the remaining Cairo changes needed before merging Skia/Cairo
image decoders. Most of these involve plumbing more error detection and
handling (or, in some cases, merely the capability to detect errors, as
e.g. Skia detects and handles image allocation failure while Cairo
currently doesn't). There is also some general cleanup and
simplification; RGBA32Buffer::m_height and all associated functions have
been removed (set but never used) and some places now rely on superclass
implementations.

  • platform/image-decoders/ImageDecoder.h: (WebCore::RGBA32Buffer::RGBA32Buffer): Remove m_height, ensureHeight() and associated stuff (WebCore::RGBA32Buffer::copyBitmapData): Add API function so refcounted backing stores (like Skia uses) can be used with GIFs (WebCore::RGBA32Buffer::setSize): Zero-fill image to avoid garbage (WebCore::RGBA32Buffer::height): Remove (WebCore::RGBA32Buffer::ensureHeight): Remove (WebCore::ImageDecoder::ImageDecoder): Keep member initialization in order, force subclasses to go through size() instead of accessing m_size directly (WebCore::ImageDecoder::isSizeAvailable): Check that decoding hasn't failed (WebCore::ImageDecoder::size): Check that decoding hasn't failed (WebCore::ImageDecoder::setSize): Protect against integer overflow (WebCore::ImageDecoder::isOverSize): Protect against integer overflow
  • platform/image-decoders/gif/GIFImageDecoder.cpp: Remove prepEmptyFrameBuffer() (WebCore::GIFImageDecoder::isSizeAvailable): Rely on superclass isSizeAvailable() for better failure handling (WebCore::GIFImageDecoder::sizeNowAvailable): Add return values for better failure handling, rely on superclass setSize() for overflow protection (WebCore::GIFImageDecoder::initFrameBuffer): Add return values for better failure handling, remove prepEmptyFrameBuffer(), use RGBA32Buffer::setSize() to handle potential allocation failures (won't happen with Cairo port, can in Skia), use RGBA32Buffer::copyBitmapData() so backing store can be refcounted internally (Cairo won't be, Skia is), rely on superclass size() for better failure handling (WebCore::GIFImageDecoder::haveDecodedRow): Fix style violation, remove RGBA32Buffer::ensureHeight() (WebCore::GIFImageDecoder::frameComplete): Remove RGBA32Buffer::ensureHeight()
  • platform/image-decoders/gif/GIFImageDecoder.h: Remove prepEmptyFrameBuffer(), add return values for better failure handling
  • platform/image-decoders/gif/GIFImageReader.cpp: (GIFImageReader::do_lzw): Protect against array overflow, add comments (GIFImageReader::read): Protect against array overflow, be more tolerant of bad data, better failure handling
  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Remove MSVC-specific warning disable (bfulgham will move into build files) (WebCore::JPEGImageReader::decode): Better failure handling (WebCore::JPEGImageDecoder::isSizeAvailable): Rely on superclass isSizeAvailable() for better failure handling (WebCore::JPEGImageDecoder::outputScanlines): Use RGBA32Buffer::setSize() to handle potential allocation failures (won't happen with Cairo port, can in Skia), rely on superclass size() for better failure handling, remove RGBA32Buffer::ensureHeight()
  • platform/image-decoders/jpeg/JPEGImageDecoder.h: Rely on superclass setSize() for overflow protection
  • platform/image-decoders/png/PNGImageDecoder.cpp: Remove MSVC-specific warning disable (bfulgham will move into build files) (WebCore::PNGImageDecoder::PNGImageDecoder): Don't allocate a slot in the framebuffer cache until it's needed (WebCore::PNGImageDecoder::isSizeAvailable): Rely on superclass isSizeAvailable() for better failure handling (WebCore::PNGImageDecoder::frameBufferAtIndex): Don't allocate a slot in the framebuffer cache until it's needed (WebCore::PNGImageDecoder::decode): Don't allocate a slot in the framebuffer cache until it's needed (WebCore::PNGImageDecoder::decodingFailed): Fix style violation (WebCore::PNGImageDecoder::headerAvailable): Rely on superclass isSizeAvailable() and setSize() for overflow protection and better failure handling (WebCore::PNGImageDecoder::rowAvailable): Don't allocate a slot in the framebuffer cache until it's needed, use RGBA32Buffer::setSize() to handle potential allocation failures (won't happen with Cairo port, can in Skia), remove RGBA32Buffer::ensureHeight() (WebCore::PNGImageDecoder::pngComplete): Don't allocate a slot in the framebuffer cache until it's needed
17:44 Changeset [44552] by kevino@webkit.org
  • 5 edits in trunk

wx build fix, adding JSCore/assembler to the list of include dirs, and adding editing/ReplaceNodeSpanCommand.cpp to the build.

17:39 Changeset [44551] by bfulgham@webkit.org
  • 2 edits in trunk/LayoutTests

2009-06-09 Brent Fulgham <bfulgham@webkit.org>

No review, build fix only.
Correct DOS line-endings in expected file.
https://bugs.webkit.org/show_bug.cgi?id=26187.

  • fast/canvas/canvas-lineWidth-expected.txt:
17:37 Changeset [44550] by oliver@apple.com
  • 12 edits
    6 adds in trunk

Bug 26249: Support JSON.stringify
<https://bugs.webkit.org/show_bug.cgi?id=26249>

Reviewed by Sam Weinig.

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

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

17:20 Changeset [44549] by bfulgham@webkit.org
  • 3 edits in trunk/WebCore

2009-06-09 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Timothy Hatcher.

When checking if the loader is the main resource loader make sure that the loader's frame is the main frame.

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

  • inspector/InspectorController.cpp: (WebCore::InspectorController::didLoadResourceFromMemoryCache): (WebCore::InspectorController::identifierForInitialRequest): (WebCore::InspectorController::isMainResourceLoader):
  • inspector/InspectorController.h:
17:18 Changeset [44548] by bfulgham@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

2009-06-09 Brent Fulgham <bfulgham@webkit.org>

No review, build fix only.
Added missing expected results from
https://bugs.webkit.org/show_bug.cgi?id=26187.

  • fast/canvas/canvas-lineWidth-expected.txt: Added.
15:47 Changeset [44547] by bfulgham@webkit.org
  • 2 edits in trunk/BugsSite

2009-06-09 Eric Seidel <eric@webkit.org>

Reviewed by Adam Roben.

Add support for displaying added png files in PrettyPatch diffs
https://bugs.webkit.org/show_bug.cgi?id=26210

Currently this is SVN only (git-send-bugzilla patches exclude binary data)
and only works for PNG files but could easily be made to work for other images as needed.

  • PrettyPatch/PrettyPatch.rb:
15:43 Changeset [44546] by bfulgham@webkit.org
  • 3 edits
    2 adds in trunk

WebCore:

2009-06-09 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Eric Seidel.

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

Test: media/controls-css-overload.html

  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControls): Prevent NULL dereference in case containers gets hidden.

LayoutTests:

2009-06-09 Pierre d'Herbemont <pdherbemont@apple.com>

Reviewed by Eric Seidel.

Test case on internal -webkit-media overload.

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

  • media/controls-css-overload-expected.txt: Added.
  • media/controls-css-overload.html: Added.
15:00 Changeset [44545] by pkasting@chromium.org
  • 8 edits in trunk/WebCore

2009-06-08 Peter Kasting <pkasting@google.com>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=25709 part three
Various minor cleanups to the Skia files. Mostly non-functional, except
for two specific changes:

  • JPEGs and PNGs were always marked as transparent; now they are only marked as transparent when they actually are. I doubt this has much of an effect but in theory it could be used to optimize their display.
  • Instead of arbitrarily disallowing images over 32 * 1024 * 1024 px2, only disallow images which are so large they will cause overflow in other parts of the code. This should fix the testcase on http://code.google.com/p/chromium/issues/detail?id=3643.
  • platform/image-decoders/skia/BMPImageReader.h: (WebCore::BMPImageReader::setRGBA): Use simpler non-static setRGBA() form
  • platform/image-decoders/skia/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::initFrameBuffer): Remove unneeded code, use more readable setRGBA() form (WebCore::GIFImageDecoder::haveDecodedRow): Fix style violation
  • platform/image-decoders/skia/GIFImageDecoder.h: Remove unneeded code
  • platform/image-decoders/skia/ImageDecoder.h: (WebCore::RGBA32Buffer::setSize): setSize() should just setStatus() when it fails since all callers were doing it (WebCore::ImageDecoder::isOverSize): Ease "oversized" image constraints to allow any image that won't overflow
  • platform/image-decoders/skia/JPEGImageDecoder.cpp: (WebCore::JPEGImageDecoder::outputScanlines): Remove unneeded code, mark JPEGs as non-transparent
  • platform/image-decoders/skia/PNGImageDecoder.cpp: (WebCore::PNGImageDecoder::decodingFailed): Fix style violation (WebCore::PNGImageDecoder::rowAvailable): Mark un-decoded PNGs as non-transparent (this will get reset later as needed)
  • platform/image-decoders/skia/XBMImageDecoder.cpp: (WebCore::XBMImageDecoder::frameBufferAtIndex): Remove unneeded code
14:11 Changeset [44544] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-06-09 Darin Fisher <darin@chromium.org>

Fix Chromium build bustage.


CachedResource.cpp no longer compiles if USE(JSC) is not defined. The
problem is that this file is using a macro from StdLibExtras.h without
including that file. It just happenes to get that file via a JSC
specific include.

  • loader/CachedResource.cpp:
13:47 Changeset [44543] by bfulgham@webkit.org
  • 2 edits
    1 add
    4 deletes in trunk/LayoutTests

2009-06-09 Ryosuke Niwa <rniwa@google.com>

Reviewed by Eric Seidel.

Changing editing/deleting/4866671.html to use a dumpAsText test instead of a pixel test
so as to remove the platform dependency.

  • editing/deleting/4866671.html:
13:39 Changeset [44542] by bfulgham@webkit.org
  • 3 edits
    2 adds in trunk

WebCore:

2009-06-09 Dean McNamee <deanm@chromium.org>

Reviewed by Oliver Hunt.

Make sure the graphics backends are in sync with the canvas lineWidth state.
https://bugs.webkit.org/show_bug.cgi?id=26187

Test: fast/canvas/canvas-line-width.html

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):

LayoutTests:

2009-06-09 Dean McNamee <deanm@chromium.org>

Reviewed by Oliver Hunt.

Make sure the graphics backends are in sync with the canvas lineWidth state.
https://bugs.webkit.org/show_bug.cgi?id=26187

  • fast/canvas/canvas-lineWidth.html: Added.
  • fast/canvas/canvas-lineWidth.js: Added. (compareRows):
13:34 QtWebKitTodo edited by andre.pedralho@openbossa.org
(diff)
13:03 Changeset [44541] by bfulgham@webkit.org
  • 3 edits
    2 adds in trunk

WebCore:

2009-06-09 Michael Nordman <michaeln@google.com>

Reviewed by Eric Seidel.

Proactively cancel pending requests at DocLoader dtor time,
otherwise crashes can occur.

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

Test: fast/frames/javascript-url-as-framesrc-crash.html

  • loader/DocLoader.cpp: (WebCore::DocLoader::~DocLoader):

LayoutTests:

2009-06-09 Michael Nordman <michaeln@google.com>

Reviewed by Eric Seidel.

Proactively cancel pending requests at DocLoader dtor time,
otherwise crashes can occur.

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

  • fast/frames/javascript-url-as-framesrc-crash-expected.txt: Added.
  • fast/frames/javascript-url-as-framesrc-crash.html: Added.
12:34 Changeset [44540] by bfulgham@webkit.org
  • 3 edits
    2 adds in trunk

WebCore:

2009-06-09 Eric Seidel <eric@webkit.org>

Reviewed by Darin Adler.

Fix ASSERT seen in shadow tree testing
https://bugs.webkit.org/show_bug.cgi?id=25092

Test: svg/custom/use-mutation-event-crash.svg

  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::instanceForShadowTreeElement):

LayoutTests:

2009-06-09 Eric Seidel <eric@webkit.org>

Reviewed by Darin Adler.

Fix ASSERT seen in shadow tree testing
https://bugs.webkit.org/show_bug.cgi?id=25092

  • svg/custom/use-mutation-event-crash.svg: Added.
11:27 Changeset [44539] by bfulgham@webkit.org
  • 8 edits in trunk/WebCore

2009-06-09 Brent Fulgham <bfulgham@webkit.org>

Reviewed by Eric Seidel.

Fixes https://bugs.webkit.org/show_bug.cgi?id=22891
Scrolling in Windows Cairo Broken if no background color set.

  • platform/graphics/cairo/GradientCairo.cpp: (WebCore::Gradient::fill): Use the GraphicsContext save and restore methods (rather than the Cairo-only functions) so that the Windows device context is kept in sync.
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::GraphicsContext): Add new constructor call to sync Windows HDC with Cairo surface.
  • platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: (WebCore::GraphicsContextPlatformPrivate::syncContext): Provide declaration for Windows HDC sync method (and stub for non-Windows Cairo implementations).
  • platform/graphics/cairo/ImageCairo.cpp: (WebCore::BitmapImage::draw): Use GraphicsContext save and restore methods (rather than the Cairo-only functions) so that the Windows device context is kept in sync.
  • platform/graphics/win/GraphicsContextCairoWin.cpp: (WebCore::CairoContextWithHDC): New method to create a valid Cairo context for a given HDC. (WebCore::GraphicsContext::GraphicsContext): Modify constructor to use new CairoContextWithHDC call. (WebCore::GraphicsContext::getWindowsContext): Revise to match behavior of CG implementation. (WebCore::GraphicsContext::releaseWindowsContext): Revise to match behavior of CG implementation. (WebCore::GraphicsContextPlatformPrivate::concatCTM): Get rid of incorrect new HDC, and use object's HDC member for dealing with concatCTM operations. (WebCore::GraphicsContextPlatformPrivate::syncContext): New method to sync Windows HDC with Cairo context.
  • platform/graphics/win/ImageCairoWin.cpp: (WebCore::BitmapImage::getHBITMAPOfSize): Revise implementation to match CG behavior.
11:24 Changeset [44538] by jianli@chromium.org
  • 12 edits in trunk

WebCore:

2009-06-09 Jian Li <jianli@chromium.org>

Reviewed by David Levin.

Bug 26196: Fix the problem that worker's importScripts fails if the
script URL is redirected from different origin.
https://bugs.webkit.org/show_bug.cgi?id=26196

Test: http/tests/workers/worker-importScripts.html

The fix is to pass an additional enum parameter to the loader in
order to tell it to perform the redirect origin check or not.

  • loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::create): (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): (WebCore::DocumentThreadableLoader::willSendRequest):
  • loader/DocumentThreadableLoader.h:
  • loader/ThreadableLoader.cpp: (WebCore::ThreadableLoader::create): (WebCore::ThreadableLoader::loadResourceSynchronously):
  • loader/ThreadableLoader.h: (WebCore::):
  • loader/WorkerThreadableLoader.cpp: (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): (WebCore::WorkerThreadableLoader::loadResourceSynchronously): (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
  • loader/WorkerThreadableLoader.h: (WebCore::WorkerThreadableLoader::create):
  • workers/WorkerContext.cpp: (WebCore::WorkerContext::importScripts):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::loadRequestAsynchronously):

LayoutTests:

2009-06-09 Jian Li <jianli@chromium.org>

Reviewed by David Levin.

Bug 26196: Fix the problem that worker's importScripts fails if the
script URL is redirected from different origin.
https://bugs.webkit.org/show_bug.cgi?id=26196

Add a test case in the importScripts layout test to cover the scenario
that the import script URL can come from different redirect origin.

  • http/tests/workers/resources/worker-importScripts.js:
  • http/tests/workers/worker-importScripts-expected.txt:
10:09 Changeset [44537] by dglazkov@chromium.org
  • 5 edits
    4 adds in trunk

WebCore:

2009-06-09 Anand K. Mistry <amistry@google.com>

Reviewed by Dimitri Glazkov.

Paint bitmaps with the alpha channel in Skia.
https://bugs.webkit.org/show_bug.cgi?id=26037

Test: fast/canvas/drawImage-with-globalAlpha.html

  • platform/graphics/skia/ImageSkia.cpp: (WebCore::paintSkBitmap):
  • platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::getAlpha):
  • platform/graphics/skia/PlatformContextSkia.h:

LayoutTests:

2009-06-09 Anand K. Mistry <amistry@google.com>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=26037
Test the globalAlpha property of canvas contexts.

  • fast/canvas/drawImage-with-globalAlpha.html: Added.
  • platform/mac/fast/canvas/drawImage-with-globalAlpha-expected.checksum: Added.
  • platform/mac/fast/canvas/drawImage-with-globalAlpha-expected.png: Added.
  • platform/mac/fast/canvas/drawImage-with-globalAlpha-expected.txt: Added.
10:05 QtWebKitTodo edited by kenneth.christiansen@gmail.com
(diff)
08:35 Changeset [44536] by kov@webkit.org
  • 7 edits in trunk

WebCore

2009-06-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=26104
[GTK] Make NetworkRequest a proper GObject and expose SoupMessage

Refactor how SoupMessage is handled, so that our ResourceRequest
object doesn't have to store it as a member, which complicates
managing ResourceRequest's lifetime.

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandle::startHttp):
  • platform/network/soup/ResourceRequest.h: (WebCore::ResourceRequest::ResourceRequest): (WebCore::ResourceRequest::doUpdatePlatformRequest): (WebCore::ResourceRequest::doUpdateResourceRequest):
  • platform/network/soup/ResourceRequestSoup.cpp: (WebCore::ResourceRequest::toSoupMessage): (WebCore::ResourceRequest::updateFromSoupMessage):

WebKit/gtk

2009-06-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=26104
[GTK] Make NetworkRequest a proper GObject and expose SoupMessage

Refactor how SoupMessage is handled, so that our ResourceRequest
object doesn't have to store it as a member, which complicates
managing ResourceRequest's lifetime.

  • tests/testhttpbackend.c: (navigation_policy_decision_requested_cb): (test_soup_message_lifetime):
  • webkit/webkitnetworkrequest.cpp: (WTF::SoupMessage): (webkit_network_request_new_with_core_request):
07:31 Changeset [44535] by ariya@webkit.org
  • 1 edit in trunk/WebKit/qt/ChangeLog

Correct the reviewer in the previous commit.

07:29 Changeset [44534] by ariya@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-06-09 Ariya Hidayat <ariya.hidayat@nokia.com>

Rubber-stamped by Tor Arne Vestbø.

Fix qdoc warning, function parameter string must be referred.

  • Api/qwebview.cpp:
06:42 QtWebKitTodo edited by ariya@webkit.org
(diff)
06:42 QtWebKitTodo edited by ariya@webkit.org
(diff)
06:19 QtWebKitTodo edited by hausmann@webkit.org
(diff)
05:54 QtWebKitTodo edited by hausmann@webkit.org
(diff)
05:54 Changeset [44533] by hausmann@webkit.org
  • 3 edits in trunk/WebKit/qt

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

Reviewed by Ariya Hidayat.

Renamed QWebSettings::AllowUniversalAccessFromFileUrls to
LocalContentCanAccessRemoteUrls, as discussed in the API review.

03:53 QtWebKitTodo edited by hausmann@webkit.org
(diff)
03:51 Changeset [44532] by hausmann@webkit.org
  • 9 edits in trunk

LayoutTests:

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

Reviewed by Ariya Hidayat.

Adjusted Qt fixed layout testcase to LayoutController API change.

WebKit/qt:

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

Reviewed by Ariya Hidayat.

Merged useFixedLayout property with fixedLayoutSize and
renamed the latter to fixedContentsSize.

WebKitTools:

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

Reviewed by Ariya Hidayat.

Removed setUseFixedLayout and renamed setFixedLayoutSize to
setFixedContentsSize.

03:51 QtWebKitTodo edited by hausmann@webkit.org
(diff)
03:51 Changeset [44531] by hausmann@webkit.org
  • 5 edits in trunk/WebKit/qt

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

Reviewed by Ariya Hidayat.

Renamed QWebHitTestResult::linkTarget to linkElement() and made it return
a QWebElement. The link target itself is always the target DOM attribute.

02:10 QtWebKitTodo edited by hausmann@webkit.org
(diff)
02:00 Changeset [44530] by hausmann@webkit.org
  • 2 edits in trunk/WebKitTools

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

Fix the Qt build, add missing function declaration.

01:50 Changeset [44529] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

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

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

01:34 QtWebKitTodo edited by hausmann@webkit.org
(diff)
01:31 Changeset [44528] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Geoff Garen.

Enable JIT_OPTIMIZE_CALL & JIT_OPTIMIZE_METHOD_CALLS on ARMv7 platforms.

These optimizations function correctly with no further changes.

  • wtf/Platform.h:

Change to enable JIT_OPTIMIZE_CALL & JIT_OPTIMIZE_METHOD_CALLS.

01:20 Changeset [44527] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Not Reviewed, build fix.

  • assembler/MacroAssemblerARMv7.h:
01:14 Changeset [44526] by barraclough@apple.com
  • 6 edits in trunk/JavaScriptCore

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

Reviewed by Geoff Garen.

Enable JIT_OPTIMIZE_ARITHMETIC on ARMv7 platforms.

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

  • assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::supportsFloatingPoint):

Add implementation of supportsFloatingPointTruncate (returns true).

(JSC::MacroAssemblerARMv7::supportsFloatingPointTruncate):

Add implementation of supportsFloatingPointTruncate (returns false).

(JSC::MacroAssemblerARMv7::loadDouble):
(JSC::MacroAssemblerARMv7::storeDouble):
(JSC::MacroAssemblerARMv7::addDouble):
(JSC::MacroAssemblerARMv7::subDouble):
(JSC::MacroAssemblerARMv7::mulDouble):
(JSC::MacroAssemblerARMv7::convertInt32ToDouble):
(JSC::MacroAssemblerARMv7::branchDouble):

Implement FP code genertion operations.

  • assembler/MacroAssemblerX86.h: (JSC::MacroAssemblerX86::supportsFloatingPointTruncate):

Add implementation of supportsFloatingPointTruncate (returns true).

  • assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::supportsFloatingPointTruncate):

Add implementation of supportsFloatingPointTruncate (returns true).

  • jit/JITArithmetic.cpp: (JSC::JIT::emit_op_rshift):

Changed to call supportsFloatingPointTruncate().

(JSC::JIT::emitSlow_op_rshift):

Changed to call supportsFloatingPointTruncate().

  • wtf/Platform.h:

Change to enable JIT_OPTIMIZE_ARITHMETIC.

00:46 Changeset [44525] by barraclough@apple.com
  • 6 edits in trunk/JavaScriptCore

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

Reviewed by Mark Rowe & Geoff Garen.

Enable JIT_OPTIMIZE_PROPERTY_ACCESS on ARMv7 platforms.

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

  • assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::loadPtrWithPatchToLEA):

Implement loadPtrWithPatchToLEA interface (plants a load with a fixed width address).

(JSC::MacroAssemblerARMv7::move):
(JSC::MacroAssemblerARMv7::nearCall):
(JSC::MacroAssemblerARMv7::call):
(JSC::MacroAssemblerARMv7::moveWithPatch):
(JSC::MacroAssemblerARMv7::tailRecursiveCall):

Switch to use common method 'moveFixedWidthEncoding()' to perform fixed width (often patchable) loads.

(JSC::MacroAssemblerARMv7::moveFixedWidthEncoding):

Move an immediate to a register, always plants movT3/movt instruction pair.

  • assembler/MacroAssemblerX86.h: (JSC::MacroAssemblerX86::loadPtrWithPatchToLEA):

Implement loadPtrWithPatchToLEA interface (just a regular 32-bit load on x86).

  • assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::loadPtrWithPatchToLEA):

Implement loadPtrWithPatchToLEA interface (just a regular 64-bit load on x86_64).

  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::emit_op_put_by_id):
  • wtf/Platform.h:

Change to enable JIT_OPTIMIZE_PROPERTY_ACCESS.

00:33 Changeset [44524] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Fix <https://bugs.webkit.org/show_bug.cgi?id=24642>.
Bug 24642: REGRESSION: Nightly builds sometimes erroneously display a message about failing to launch successfully

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

  • WebKitLauncher/WebKitNightlyEnabler.m:

(insideSafariOnTigerTrampoline): Detect these shenanigans.
(enableWebKitNightlyBehaviour): Delay initialization when needed.

06/08/09:

23:52 Changeset [44523] by barraclough@apple.com
  • 8 edits in trunk/JavaScriptCore

2009-06-08 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

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

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

  • assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::load32):

Fix: should load pointer with ImmPtr not Imm32.

(JSC::MacroAssemblerARMv7::store32):

Fix: should load pointer with ImmPtr not Imm32.

(JSC::MacroAssemblerARMv7::move):

Fix: When moving an Imm32 that is actually a pointer, should call movT3()
not mov(), to ensure code generation is repeatable (for exception handling).

  • jit/JIT.cpp: (JSC::JIT::privateCompileCTIMachineTrampolines):

Disable JIT_OPTIMIZE_NATIVE_CALL specific code generation if the optimization is not enabled.

  • jit/JIT.h:

Add ARMv7 specific values of constants & register names.

  • jit/JITInlineMethods.h: (JSC::JIT::preverveReturnAddressAfterCall): (JSC::JIT::restoreReturnAddressBeforeReturn): (JSC::JIT::restoreArgumentReferenceForTrampoline):

Implement for ARMv7 (move value to/from lr).

  • jit/JITStubs.cpp:

Add JIT entry/thow trampolines, add macro to add thunk wrapper around stub routines.

  • jit/JITStubs.h: (JSC::JITStackFrame::returnAddressSlot):

Add ARMv7 stack frame object.

  • wtf/Platform.h:

Add changes necessary to allow JIT to build on this platform, disabled.

23:24 Changeset [44522] by oliver@apple.com
  • 12 edits
    6 deletes in trunk

Revert r44521 as it causes regressions on windows for some reason.

23:02 Changeset [44521] by oliver@apple.com
  • 12 edits
    6 adds in trunk

Bug 26249: Support JSON.stringify
<https://bugs.webkit.org/show_bug.cgi?id=26249>

Reviewed by Sam Weinig.

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

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

22:27 Changeset [44520] by mitz@apple.com
  • 3 edits
    6 moves in trunk/WebKit

WebKit:

Rubber-stamped by Mark Rowe.

  • updated the project after giving Objective-C++ the .mm extension
  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

Rubber-stamped by Mark Rowe.

  • gave Objective-C++ files the .mm extension
  • Carbon/HIWebView.m: Removed.
  • Carbon/HIWebView.mm: Copied from WebKit/mac/Carbon/HIWebView.m.
  • Misc/WebKitNSStringExtras.m: Removed.
  • Misc/WebKitNSStringExtras.mm: Copied from WebKit/mac/Misc/WebKitNSStringExtras.m.
  • Misc/WebStringTruncator.m: Removed.
  • Misc/WebStringTruncator.mm: Copied from WebKit/mac/Misc/WebStringTruncator.m.
  • WebInspector/WebNodeHighlight.m: Removed.
  • WebInspector/WebNodeHighlight.mm: Copied from WebKit/mac/WebInspector/WebNodeHighlight.m.
  • WebInspector/WebNodeHighlightView.m: Removed.
  • WebInspector/WebNodeHighlightView.mm: Copied from WebKit/mac/WebInspector/WebNodeHighlightView.m.
  • WebView/WebDynamicScrollBarsView.m: Removed.
  • WebView/WebDynamicScrollBarsView.mm: Copied from WebKit/mac/WebView/WebDynamicScrollBarsView.m.
22:11 Changeset [44519] by beidson@apple.com
  • 15 edits
    4 adds in trunk

WebCore:

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

Reviewed by Antti Koivisto

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

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

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

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

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

WebKitTools:

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

Reviewed by Antti Koivisto

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

  • DumpRenderTree/LayoutTestController.cpp: (dispatchPendingLoadRequestsCallback): (LayoutTestController::staticFunctions):
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::dispatchPendingLoadRequests): Implement using [WebView _dispatchPendingLoadRequests] SPI
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::dispatchPendingLoadRequests): Need implementations.
  • DumpRenderTree/qt/jsobjects.cpp: (LayoutTestController::dispatchPendingLoadRequests): Ditto.
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::dispatchPendingLoadRequests): Ditto.
  • DumpRenderTree/wx/LayoutTestControllerWx.cpp: (LayoutTestController::dispatchPendingLoadRequests): Ditto.

LayoutTests:

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

Reviewed by Antti Koivisto

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

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

  • http/tests/loading/deleted-host-in-resource-load-delegate-callback-expected.txt: Added.
  • http/tests/loading/deleted-host-in-resource-load-delegate-callback.html: Added.
  • http/tests/loading/resources/snow-shoes-vs-pie-copy.png: Added.
  • http/tests/loading/resources/snow-shoes-vs-pie.png: Added.
  • platform/gtk/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
21:48 Changeset [44518] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Speculative GTK build fix.

  • wtf/DateMath.cpp:
21:20 Changeset [44517] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-06-08 Gavin Barraclough <barraclough@apple.com>

Reviewed by Mark Rowe.

Previous patch caused a regression.

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

  • jit/ExecutableAllocator.h: (JSC::ExecutableAllocator::makeWritable): (JSC::ExecutableAllocator::makeExecutable): (JSC::ExecutableAllocator::reprotectRegion): (JSC::ExecutableAllocator::cacheFlush):
20:56 Changeset [44516] by dglazkov@chromium.org
  • 2 edits in trunk/JavaScriptCore

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

Unreviewed, GTK build fix (thanks, bdash).

  • GNUmakefile.am: Moved DateMath with all other wtf kin.
20:01 Changeset [44515] by dimich@chromium.org
  • 13 edits
    1 copy in trunk/WebCore

2009-06-08 Dmitry Titov <dimich@chromium.org>

Reviewed by David Levin.

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

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

No changes in functionality so no tests added.

  • GNUmakefile.am:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj: Added WorkerLoaderProxy.h to the bulid.
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): WorkerThread::workerObjectProxy() now returns & instead of *
  • bindings/v8/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): same.
  • workers/WorkerContext.cpp: (WebCore::WorkerContext::~WorkerContext): same. (WebCore::WorkerContext::reportException): same. (WebCore::WorkerContext::addMessage): same. (WebCore::WorkerContext::postMessage): same.
  • loader/WorkerThreadableLoader.cpp: (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy): (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData): (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse): (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData): (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading): (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail): (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck): (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation): Use WorkerLoaderProxy instead of WorkerMessagingProxy for the MainThreadBridge. Mostly rename.

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

  • loader/WorkerThreadableLoader.h: Now keeps a pointer to WorkerLoaderProxy rather then to a WorkerMessagingProxy. This allows to implement WorkerThreadableLoader for Chromium.
  • workers/WorkerLoaderProxy.h: Added. (WebCore::WorkerLoaderProxy::~WorkerLoaderProxy):
  • workers/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::startWorkerContext): (WebCore::WorkerMessagingProxy::postTaskToLoader): Added ASSERT since this needs to be implemented for nested workers.
  • workers/WorkerMessagingProxy.h: Derived from WorkerLoaderProxy, the methods for posting tasks cross-thread are now virtual. Removed unused postTaskToWorkerContext() method.
  • workers/WorkerThread.cpp: (WebCore::WorkerThread::create): (WebCore::WorkerThread::WorkerThread):
  • workers/WorkerThread.h: (WebCore::WorkerThread::workerLoaderProxy):
  • workers/WorkerThread.cpp: (WebCore::WorkerThread::create): (WebCore::WorkerThread::WorkerThread): (WebCore::WorkerThread::workerThread):
  • workers/WorkerThread.h: (WebCore::WorkerThread::workerLoaderProxy): (WebCore::WorkerThread::workerObjectProxy): WorkerThread gets a new member of type WorkerLoaderProxy&, and accessor. Also, existing WorkerObjectProxy* member is now WorkerObjectProxy& because it can't be null.
18:40 Changeset [44514] by barraclough@apple.com
  • 8 edits
    2 adds in trunk/JavaScriptCore

2009-06-08 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

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

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

Add new assembler files.

  • assembler/ARMv7Assembler.h: Added.

Add new Assembler.

  • assembler/AbstractMacroAssembler.h:

Tweaks to ensure sizes of pointer values planted in JIT code do not change.

  • assembler/MacroAssembler.h:

On ARMv7 platforms use MacroAssemblerARMv7.

  • assembler/MacroAssemblerARMv7.h: Added.

Add new MacroAssembler.

  • assembler/MacroAssemblerCodeRef.h: (JSC::FunctionPtr::FunctionPtr):

Add better ASSERT.

(JSC::ReturnAddressPtr::ReturnAddressPtr):

Add better ASSERT.

(JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):

On ARMv7, MacroAssemblerCodePtr's mush be 'decorated' with a low bit set,
to indicate to the processor that the code is thumb code, not traditional
32-bit ARM.

(JSC::MacroAssemblerCodePtr::dataLocation):

On ARMv7, decoration must be removed.

  • jit/ExecutableAllocator.h: (JSC::ExecutableAllocator::makeWritable):

Reformatted, no change.

(JSC::ExecutableAllocator::makeExecutable):

When marking code executable also cache flush it, where necessary.

(JSC::ExecutableAllocator::MakeWritable::MakeWritable):

Only use the null implementation of this class if both !ASSEMBLER_WX_EXCLUSIVE
and running on x86(_64) - on other platforms we may also need ensure that
makeExecutable is called at the end to flush caches.

(JSC::ExecutableAllocator::reprotectRegion):

Reformatted, no change.

(JSC::ExecutableAllocator::cacheFlush):

Cache flush a region of memory, or platforms where this is necessary.

  • wtf/Platform.h:

Add changes necessary to allow YARR jit to build on this platform, disabled.

  • yarr/RegexJIT.cpp: (JSC::Yarr::RegexGenerator::generateEnter): (JSC::Yarr::RegexGenerator::generateReturn):

Add support to these methods for ARMv7.

17:37 WebKit Team edited by levin@chromium.org
(diff)
16:59 Changeset [44513] by dglazkov@chromium.org
  • 2 edits in trunk/JavaScriptCore

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

Unreviewed, fix my previous fix.

  • runtime/DateInstance.cpp: (JSC::DateInstance::msToGregorianDateTime): Use WTF namespace qualifier to

disambiguate func signatures.

16:52 Changeset [44512] by dglazkov@chromium.org
  • 3 edits in trunk/JavaScriptCore

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

Unreviewed, another Windows build fix.

16:48 Changeset [44511] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Attempt to fix the Tiger build.

  • wtf/Platform.h: Only test the value of the macro once we know it is defined.
16:16 Changeset [44510] by dglazkov@chromium.org
  • 3 edits in trunk/JavaScriptCore

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

Unreviewed, projectile-fixing Windows build.

  • runtime/DateConversion.cpp: Added StringExtras include.
  • wtf/DateMath.cpp: Replaced math with algorithm include (looking for std::min def for Windows).
16:01 Changeset [44509] by dglazkov@chromium.org
  • 5 edits in trunk/JavaScriptCore

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

Unreviewed, Windows build fix.

  • runtime/DateConstructor.cpp: Changed to use WTF namespace.
  • runtime/DateConversion.cpp: Added UString include.
  • runtime/DateInstance.cpp: Changed to use WTF namespace.
  • wtf/DateMath.cpp: Added math include.
15:37 Changeset [44508] by dglazkov@chromium.org
  • 20 edits
    2 copies
    3 moves in trunk

JavaScriptCore:

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

Reviewed by Eric Seidel.

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

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

WebCore:

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

Reviewed by Eric Seidel.

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

  • ForwardingHeaders/runtime/DateMath.h: Removed.
  • ForwardingHeaders/wtf/DateMath.h: Copied from WebCore/ForwardingHeaders/runtime/DateMath.h.
  • platform/network/HTTPParsers.cpp: (WebCore::parseDate): Added.
  • platform/network/HTTPParsers.h:
  • platform/network/ResourceResponseBase.cpp: (WebCore::parseDateValueInHeader): Changed to use the new helper.
14:43 Changeset [44507] by sfalken@apple.com
  • 2 edits in tags/Safari-6530.17.1/JavaScriptCore

Merge r44506.

14:38 Changeset [44506] by sfalken@apple.com
  • 2 edits in trunk/JavaScriptCore

Windows build fix.

14:18 Changeset [44505] by sfalken@apple.com
  • 1 copy in tags/Safari-6530.17.1

New tag.

13:47 Changeset [44504] by barraclough@apple.com
  • 9 edits in trunk/JavaScriptCore

2009-06-07 David Kilzer <ddkilzer@apple.com>

Make JavaScriptCore compile for iPhone and iPhone Simulator

Reviewed by Gavin Barraclough.

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

2009-06-08 Adam Langley <agl@google.com>

Reviewed by Eric Siedel.

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

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

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

  • platform/graphics/Color.cpp: (WebCore::Color::getHSL): new member
  • platform/graphics/Color.h:
  • rendering/RenderThemeChromiumLinux.cpp: (WebCore::RenderThemeChromiumLinux::systemColor): (WebCore::brightenColor): (WebCore::paintButtonLike):
10:19 Changeset [44502] by kov@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-06-08 Gustavo Noronha Silva <gns@gnome.org>

Reviewed by Jan Alonzo.

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

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

  • resources/error.html:
09:24 Changeset [44501] by dglazkov@chromium.org
  • 1 edit in trunk/WebCore/ChangeLog

Fixed the name in the ChangeLog

09:23 Changeset [44500] by dglazkov@chromium.org
  • 2 edits
    2 adds in trunk/WebCore

2009-06-08 victorw <victorw@chromium.org>

Reviewed by Dimitri Glazkov.

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

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

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

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

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

A manual test has been added.

  • manual-tests/chromium: Added.
  • manual-tests/chromium/onchange-reload-popup.html: Added.
  • platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupListBox::PopupListBox): (WebCore::PopupListBox::handleKeyEvent): (WebCore::PopupListBox::abandon): (WebCore::PopupListBox::updateFromElement):
08:53 Changeset [44499] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2009-06-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>

Reviewed by Simon Hausmann.

[Qt] Disable a few warnings on Windows

08:53 QtWebKitTodo edited by hausmann@webkit.org
(diff)
08:51 Changeset [44498] by hausmann@webkit.org
  • 6 edits in trunk/WebKit/qt

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

Reviewed by Holger Freyther.

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

08:38 Changeset [44497] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2009-06-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>

Reviewed by Simon Hausmann.

[Qt] Don't enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH on Windows

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

08:23 QtWebKitTodo edited by hausmann@webkit.org
(diff)
08:14 QtWebKitTodo edited by hausmann@webkit.org
(diff)
08:13 QtWebKitTodo edited by hausmann@webkit.org
(diff)
08:10 QtWebKitTodo edited by hausmann@webkit.org
(diff)
07:35 Changeset [44496] by vestbo@webkit.org
  • 6 edits in trunk

2009-06-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>

Reviewed by Simon Hausmann.

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

07:35 QtWebKitTodo edited by hausmann@webkit.org
(diff)
07:17 QtWebKitTodo edited by hausmann@webkit.org
(diff)
06:25 QtWebKitTodo edited by hausmann@webkit.org
(diff)
05:56 QtWebKitTodo edited by hausmann@webkit.org
(diff)
05:05 Changeset [44495] by ariya@webkit.org
  • 4 edits in trunk/WebCore

2009-06-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>

Reviewed by Ariya Hidayat.

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

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

06/07/09:

23:38 Changeset [44494] by jmalonzo@webkit.org
  • 5 edits in trunk

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

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

21:28 Changeset [44493] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-06-07 Gavin Barraclough <barraclough@apple.com>

RS by Sam Weinig.

Remove bonus bogus \n from last commit.

  • jit/JITStubs.cpp: (JSC::):
21:23 Changeset [44492] by barraclough@apple.com
  • 4 edits in trunk/JavaScriptCore

2009-06-07 Gavin Barraclough <barraclough@apple.com>

Reviewed by Sam Weinig.

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

  • jit/JITOpcodes.cpp: (JSC::JIT::emit_op_throw):

JITStubs::cti_op_throw now always changes its return address,
remove return code generated after the stub call (this is now
handled by ctiOpThrowNotCaught).

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

Add ctiOpThrowNotCaught definitions.

(JSC::JITStubs::DEFINE_STUB_FUNCTION):

Change cti_op_throw to always change its return address.

  • jit/JITStubs.h:

Add ctiOpThrowNotCaught declaration.

19:19 Changeset [44491] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • fix <rdar://problem/6931661> -[WebView _selectionIsAll] returns YES when the selection is inside a text field.
  • editing/VisibleSelection.cpp: (WebCore::VisibleSelection::isAll): Return false if the selection is in a shadow tree.
13:25 Changeset [44490] by kov@webkit.org
  • 2 edits in trunk/WebCore

2009-06-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Holger Freyther.

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

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

  • platform/gtk/PopupMenuGtk.cpp: (WebCore::PopupMenu::~PopupMenu): (WebCore::PopupMenu::menuUnmapped):
01:55 Changeset [44489] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Delete the AccessibilityController that we allocated in -init.

Rubber-stamped by Cameron Zwarich.

  • DumpRenderTree/mac/FrameLoadDelegate.mm:

(-[FrameLoadDelegate dealloc]):

06/06/09:

22:45 Changeset [44488] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Factor out the code to check whether a library contains a given symbol in to a helper function.

Reviewed by Dan Bernstein.

  • Scripts/webkitdirs.pm:
22:25 Changeset [44487] by mrowe@apple.com
  • 8 edits in trunk

Detect when XHTML MP and WCSS are disabled and skip their associated regression tests.

Reviewed by Sam Weinig.

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

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

  • platform/gtk/Skipped:
  • platform/mac/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
20:09 Changeset [44486] by mrowe@apple.com
  • 2 edits in trunk/LayoutTests

Unskip two more tests that now pass.

  • platform/mac-snowleopard/Skipped:
18:38 Changeset [44485] by kov@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-06-06 Gustavo Noronha Silva <gns@gnome.org>

Reviewed by Xan Lopez.

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

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

  • webkit/webkitdownload.cpp: (webkit_download_class_init): (webkit_download_received_data):
18:10 Changeset [44484] by mrowe@apple.com
  • 2 edits in trunk/LayoutTests

Unskip some tests now that they pass.

  • platform/mac-snowleopard/Skipped:
18:10 Changeset [44483] by mrowe@apple.com
  • 4 edits in trunk

<rdar://problem/6778101> Four SSL-related test failures

Reviewed by Brady Eidson.

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

  • DumpRenderTree/mac/FrameLoadDelegate.mm:

(-[FrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):

  • platform/mac-snowleopard/Skipped: Unskip the tests.
17:20 Changeset [44482] by weinig@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

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

Reviewed by Dan Bernstein.

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

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

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

LayoutTests:

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

Reviewed by Dan Bernstein.

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

  • fast/css/font-family-builtins-expected.txt: Added.
  • fast/css/font-family-builtins.html: Added.
15:17 Changeset [44481] by weinig@apple.com
  • 13 edits in trunk

WebCore:

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

Reviewed by Brady Eidson.

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

  • storage/LocalStorageArea.cpp: (WebCore::LocalStorageArea::dispatchStorageEvent): Pass the localStorage for the frame being dispatched to.
  • storage/SessionStorageArea.cpp: (WebCore::SessionStorageArea::dispatchStorageEvent): Ditto, only for sessionStorage.
  • storage/StorageEvent.cpp: (WebCore::StorageEvent::StorageEvent): (WebCore::StorageEvent::initStorageEvent):
  • storage/StorageEvent.h: (WebCore::StorageEvent::create): (WebCore::StorageEvent::storageArea):
  • storage/StorageEvent.idl: Add storageArea member.

LayoutTests:

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

Reviewed by Brady Eidson.

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

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

  • storage/domstorage/localstorage/iframe-events-expected.txt:
  • storage/domstorage/localstorage/iframe-events.html:
  • storage/domstorage/localstorage/resources/iframe-events-second.html:
  • storage/domstorage/sessionstorage/iframe-events-expected.txt:
  • storage/domstorage/sessionstorage/iframe-events.html:
  • storage/domstorage/sessionstorage/resources/iframe-events-second.html:
09:53 Changeset [44480] by zimmermann@webkit.org
  • 11 edits in trunk

Reviewed by Anders Carlsson.

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

06/05/09:

21:49 Changeset [44479] by jmalonzo@webkit.org
  • 5 edits in trunk

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

Reviewed by Jan Alonzo.

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

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

  • configure.ac:

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

Reviewed by Jan Alonzo.

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

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

  • GNUmakefile.am:
  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::createSoupSession):
19:54 Changeset [44478] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-06-05 Gavin Barraclough <barraclough@apple.com>

Rudder stamped by Sam Weinig.

Add missing ASSERT.

  • assembler/X86Assembler.h: (JSC::X86Assembler::getRelocatedAddress):
19:39 Changeset [44477] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-06-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Sam Weinig.

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

  • assembler/MacroAssemblerX86.h: (JSC::MacroAssemblerX86::storePtrWithPatch):
  • assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::storePtrWithPatch):
  • jit/JITOpcodes.cpp: (JSC::JIT::emit_op_jsr):
17:08 Changeset [44476] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-06-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Sam Weinig.

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

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

  • assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::CodeLocationInstruction::repatchLoadPtrToLEA):
  • assembler/X86Assembler.h: (JSC::X86Assembler::repatchLoadPtrToLEA):
  • jit/JIT.h:
  • jit/JITPropertyAccess.cpp: (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace):
16:24 Changeset [44475] by weinig@apple.com
  • 3 edits in trunk/WebCore

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

Reviewed by Anders Carlsson.

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

  • html/HTMLAttributeNames.in: Added ononlineAttr and onofflineAttr.
  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::parseMappedAttribute): Map ononlineAttr and onofflineAttr to window event listeners.
13:22 Changeset [44474] by hyatt@apple.com
  • 2 edits in trunk/WebKit/mac

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

Reviewed by Mark Rowe.

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

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

  • WebView/WebView.mm: (-[WebView viewDidMoveToWindow]):
10:43 Changeset [44473] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitSite

2009-06-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.com>

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

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

Reviewed and tweaked by David Kilzer.

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

  • coding/coding-style.html:
09:02 Changeset [44472] by vestbo@webkit.org
  • 9 edits in trunk

2009-06-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>

Reviewed by Simon Hausmann.

[Qt] Add missing includes of config.h

07:53 Changeset [44471] by dglazkov@chromium.org
  • 2 edits in trunk/WebCore

2009-06-05 Fumitoshi Ukai <ukai@google.com>

Reviewed by Dimitri Glazkov.

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

  • platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: (WebCore::fillBMPGlyphs): (WebCore::fillNonBMPGlyphs):
07:53 QtWebKitTodo edited by ariya@webkit.org
(diff)
07:43 Changeset [44470] by ddkilzer@apple.com
  • 4 edits in trunk

JavaScriptCore:

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

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

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

Reviewed by Alexey Proskuryakov.

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

WebCore:

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

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

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

Reviewed by Alexey Proskuryakov.

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

  • WebCore.xcodeproj/project.pbxproj:
07:10 Changeset [44469] by vestbo@webkit.org
  • 1 edit in trunk/WebKit/qt/Api/qwebsettings.cpp

Fix the Qt build after r44413

07:00 Changeset [44468] by oliver@apple.com
  • 9 edits
    2 adds in trunk

2009-06-03 Ben Murdoch <benm@google.com>

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

Reviewed by Alexey Proskuryakov.

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

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

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::stopLoading):
  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): (WebCore::FrameLoader::stopAllLoaders):
  • loader/FrameLoader.h:
  • loader/FrameLoaderTypes.h: (WebCore::):
  • page/Page.cpp: (WebCore::Page::goToItem):
  • WebCore.base.exp:
05:12 Changeset [44467] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2009-06-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>

Reviewed by Simon Hausmann.

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

05:05 Changeset [44466] by vestbo@webkit.org
  • 2 edits in trunk/WebKitTools

2009-06-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>

Rubber-stamped by Simon Hausmann.

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

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

05:03 Changeset [44465] by vestbo@webkit.org
  • 3 edits in trunk/WebCore

2009-06-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>

Reviewed by Simon Hausmann.

Fix Qt build after r44452

04:27 Changeset [44464] by vestbo@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

Add missing changelog for r44462

04:24 Changeset [44463] by vestbo@webkit.org
  • 1 edit in trunk/WebCore/WebCore.pro

Fix the Qt build (missing symbols)

04:24 Changeset [44462] by vestbo@webkit.org
  • 3 edits
    1 delete in trunk/WebCore

[Qt] Remove some dead code (MenuEventProxy)

03:58 Changeset [44461] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-06-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

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

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

  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::): (JSC::MacroAssemblerX86Common::branchAdd32): (JSC::MacroAssemblerX86Common::branchMul32): (JSC::MacroAssemblerX86Common::branchSub32):
03:46 Changeset [44460] by barraclough@apple.com
  • 3 edits in trunk/JavaScriptCore

2009-06-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Minor tidy up in JITStubs.

  • jit/JITStubs.cpp: (JSC::StackHack::StackHack):
  • jit/JITStubs.h:
03:15 Changeset [44459] by xan@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-06-05 Koen Kooi <koen@dominion.thruhere.net>

Reviewed by Xan Lopez.

Build fix for glib unicode backend.

  • wtf/unicode/glib/UnicodeMacrosFromICU.h:
02:31 Changeset [44458] by xan@webkit.org
  • 2 edits in trunk/WebCore

2009-06-05 Xan Lopez <xlopez@igalia.com>

More build fixes.

  • platform/graphics/gtk/GlyphPageTreeNodePango.cpp: (WebCore::GlyphPage::fill):
02:19 Changeset [44457] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-06-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

3 tiny cleanups:

  • assembler/MacroAssemblerX86.h:
  • assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::storePtrWithPatch):

store*() methods should take an ImplicitAddress, rather than an Address.

  • assembler/X86Assembler.h:

Make patchPointer private.

  • jit/JITOpcodes.cpp: (JSC::JIT::emit_op_ret):

Remove empty line at end of function.

02:16 Changeset [44456] by xan@webkit.org
  • 4 edits in trunk/WebCore

2009-06-05 Xan Lopez <xlopez@igalia.com>

Fix the GTK+ build.

  • GNUmakefile.am:
  • platform/graphics/gtk/FontCacheGtk.cpp: (WebCore::FontCache::getFontDataForCharacters):
  • platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: (WebCore::GlyphPage::fill):
00:55 Changeset [44455] by barraclough@apple.com
  • 13 edits in trunk/JavaScriptCore

2009-06-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

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


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

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

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

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

Try to unbreak Windows build.

00:36 Changeset [44453] by antti@apple.com
  • 5 edits in trunk/WebCore

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

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

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


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

  • platform/network/ResourceResponseBase.cpp: (WebCore::ResourceResponseBase::adopt): (WebCore::ResourceResponseBase::copyData): (WebCore::ResourceResponseBase::setLastModifiedDate): (WebCore::ResourceResponseBase::lastModifiedDate):
  • platform/network/ResourceResponseBase.h:
  • platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
Note: See TracTimeline for information about the timeline view.