test-webkitpy: use message pools
https://bugs.webkit.org/show_bug.cgi?id=91292

Reviewed by Ojan Vafai.

Restructure the test-running code to be message-driven and
use a MessagePool; note that this does not yet actually run the
tests in parallel.

Also clean up the unit tests so that the fake loader is passed
to the _Worker properly, and reduce a lot of the cut&pasted code
in the tests.

No functional changes; covered by existing tests.

* Scripts/webkitpy/test/printer.py:
(Printer.print_started_test):
(Printer.print_finished_test):
* Scripts/webkitpy/test/runner.py:
(Runner.__init__):
(Runner.run):
(Runner.handle):
(_Worker):
(_Worker.__init__):
(_Worker.handle):
* Scripts/webkitpy/test/runner_unittest.py:
(RunnerTest.assert_run):
(RunnerTest.test_regular):
(RunnerTest.test_verbose):
(RunnerTest.test_timing):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
test-webkitpy: run tests in parallel
https://bugs.webkit.org/show_bug.cgi?id=91294

Reviewed by Ojan Vafai.

This change adds support for running tests in parallel. This is
not yet on by default, since the logging isn't very pretty w/
parallel tests.

Also, there are some (multiprocessing-related) tests that can't be
run in parallel and so we skip them in that situation; I need to
come up with a mechanism for dealing with this, since you
apparently can't use multiprocessing as both a parent and a
child process.

* Scripts/webkitpy/test/finder.py:
(Finder.find_names):
(Finder._default_names):
* Scripts/webkitpy/test/main.py:
(Tester._parse_args):
(Tester.run):
* Scripts/webkitpy/test/main_unittest.py:
(TesterTest.test_no_tests_found):
* Scripts/webkitpy/test/runner.py:
(Runner.run):
* Scripts/webkitpy/test/runner_unittest.py:
(RunnerTest.test_regular):
(RunnerTest.test_verbose):
(RunnerTest.test_timing):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122750 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Unreviewed gardening. Layout Test fast/frames/calculate-fixed.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=91415

Has been intermittently failing TEXT since at least r122699.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122752 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add dfg switch to create_jit_stubs script
https://bugs.webkit.org/show_bug.cgi?id=91256

Reviewed by Geoffrey Garen.

* create_jit_stubs: Add a switch to enable or disable the generation of
                    stub functions in #if ENABLE(DFG_JIT) conditions.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Upstream WebGL Code
https://bugs.webkit.org/show_bug.cgi?id=91143

Patch by Joshua Netterfield <jnetterfield@rim.com> on 2012-07-16
Reviewed by Rob Buis.

This patch includes BlackBerry-specific fixes for anti-aliasing, logging, and shader compilation.

Source/WebCore:

No new tests, because there is no new functionality.

* platform/graphics/GraphicsContext3D.h: Add a value for TI Imagination chipsets on BlackBerry platforms
* platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp: Multiple downstream changes
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::reshapeFBOs):
(WebCore):
(WebCore::GraphicsContext3D::logFrameBufferStatus):
(WebCore::GraphicsContext3D::readPixelsIMG): BlackBerry-specific fix for Imagination hardware.
(WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
(WebCore::GraphicsContext3D::platformTexture):
(WebCore::GraphicsContext3D::platformGraphicsContext3D):
(WebCore::GraphicsContext3D::paintToCanvas):
* platform/graphics/opengl/Extensions3DOpenGL.h: Remove unnecessary whitespace.
(Extensions3DOpenGL):
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Hack to fix ANGLE-generated code on BlackBerry platforms.
* platform/graphics/opengl/Extensions3DOpenGLCommon.h:
(Extensions3DOpenGLCommon):
* platform/graphics/opengl/Extensions3DOpenGLES.cpp: I am not in a position to change system headers from correct to incorrect.
(WebCore::Extensions3DOpenGLES::renderbufferStorageMultisample):
(WebCore::Extensions3DOpenGLES::supportsExtension):
* platform/graphics/opengl/Extensions3DOpenGLES.h: I am not in a position to change system headers from correct to incorrect.
(Extensions3DOpenGLES):
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: Add a BlackBerry-specific anti-aliasing fix.
(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
(WebCore::GraphicsContext3D::prepareTexture):
(WebCore::GraphicsContext3D::bindFramebuffer):
(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::copyTexImage2D):
(WebCore::GraphicsContext3D::copyTexSubImage2D):
(WebCore):
* platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
(WebCore):

Source/WebKit:

* PlatformBlackBerry.cmake: Define WTF_USE_OPENGL_ES_2 on WebGL-enabled builds.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
SVGAnimationElement::currentValuesForValuesAnimation crash
https://bugs.webkit.org/show_bug.cgi?id=91326

Reviewed by Simon Fraser.

SVGSMILElement::progress() assumes that seekToIntervalCorrespondingToTime() always
lands inside a defined interval, but one can force arbitrary time offsets using
setCurrentTime(). This patch adds logic for handling non-interval time offsets
gracefully.

Source/WebCore:

Test: svg/animations/smil-setcurrenttime-crash.svg

* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::progress):

LayoutTests:

* svg/animations/smil-setcurrenttime-crash-expected.txt: Added.
* svg/animations/smil-setcurrenttime-crash.svg: Added.


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