⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Apr 21, 2013:

11:54 PM Changeset in webkit [148859] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Division by zero in CSSGradientValue::addStops()
https://bugs.webkit.org/show_bug.cgi?id=114807

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-04-21
Reviewed by Dean Jackson.

Source/WebCore:

The normalization of the color stop positions of a linear gradient
doesn't take into account that the first and last position can be
the same. In such case the positions are computed dividing by 0.
Clamp the positions to 1 without moving the end points in such
case to match what other browsers do. This ensures that positions
passed to the platform gradient are in the 0-1 range which fixes a
crash due to an assert in BlackBerry port running test
fast/forms/type-after-focus-rule-shrink-width.html.

Test: fast/gradients/css3-color-stop-invalid.html

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::addStops):

LayoutTests:

  • fast/gradients/css3-color-stop-invalid-expected.html: Added.
  • fast/gradients/css3-color-stop-invalid.html: Added.
11:52 PM Changeset in webkit [148858] by Christophe Dumez
  • 2 edits in trunk/Tools

Unreviewed EFL build fix after r148855.

  • TestWebKitAPI/PlatformEfl.cmake:
11:21 PM Changeset in webkit [148857] by benjamin@webkit.org
  • 9 edits in trunk/Source

Improve StringImpl code density for older ARM hardware
https://bugs.webkit.org/show_bug.cgi?id=114898

Reviewed by Geoffrey Garen.

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/win:

  • WebKit.vcproj/WebKitExports.def.in:

Source/WTF:

Reduce the number of instructions needed for StringImpl::deref
on older ARM hardware.

The extra indirection should have a negligible impact on x86_64.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::destroy):

  • wtf/text/StringImpl.h:

(StringImpl):
(WTF::StringImpl::deref):

11:06 PM Changeset in webkit [148856] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed, rolling out r148851.
http://trac.webkit.org/changeset/148851
https://bugs.webkit.org/show_bug.cgi?id=114935

EFL Buildbot reports fail after gardening on r148851
(Requested by gyuyoung on #webkit).

  • platform/efl/TestExpectations:
11:00 PM Changeset in webkit [148855] by Christophe Dumez
  • 2 edits in trunk/Tools

[EFL][WK2] Mark WKViewClientWebProcessCallbacks API test as failing
https://bugs.webkit.org/show_bug.cgi?id=114922

Reviewed by Gyuyoung Kim.

Mark WKViewClientWebProcessCallbacks API test as failing on WK2 EFL.

  • TestWebKitAPI/PlatformEfl.cmake:
10:54 PM Changeset in webkit [148854] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Fix some minor bad use of strings in WebCore
https://bugs.webkit.org/show_bug.cgi?id=114907

Reviewed by Darin Adler.

  • editing/Editor.cpp:

(WebCore::Editor::selectedText): This was implicitly getting the emptyString()
for the argument "".

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::takeResults): ditto.

10:32 PM Changeset in webkit [148853] by fpizlo@apple.com
  • 2 edits in branches/dfgFourthTier/Tools

fourthTier: tandem WebKit and LLVM builds should ./configure LLVM if needed
https://bugs.webkit.org/show_bug.cgi?id=114933

Reviewed by Andy Estes.

This makes it easy to get set up for tandem LLVM builds.

  • Scripts/copy-webkitlibraries-to-product-directory:
9:39 PM Changeset in webkit [148852] by krit@webkit.org
  • 26 edits
    2 copies in trunk

[Part 4] Parse the custom() function in -webkit-filter: parse the matN() functions
https://bugs.webkit.org/show_bug.cgi?id=71444

Reviewed by Dean Jackson.

Source/WebCore:

Custom filter parameters should support mat2 to mat4 value functions. Added parsing
and style resolving bits to support the matrix function values. A later patch will
add the matrices to the shader program.

https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters

Modified existing tests to cover changes.

  • GNUmakefile.list.am: Added WebKitCSSMatFunctionValue to individual build systems.
  • Target.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForCustomFilterMatParameter):
(WebCore):
(WebCore::valueForCustomFilterParameter):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseTransform):
(WebCore::CSSParser::parseMatValue):
(WebCore):
(WebCore::CSSParser::parseCustomFilterParameters):

  • css/CSSParser.h:

(WebCore):

  • css/CSSValue.cpp:

(WebCore::CSSValue::reportMemoryUsage):
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
(WebCore::CSSValue::cloneForCSSOM):

  • css/CSSValue.h:

(WebCore::CSSValue::isWebKitCSSMatFunctionValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::parseCustomFilterArrayParameter):
(WebCore::StyleResolver::parseCustomFilterParameter):

  • css/StyleResolver.h:

(StyleResolver):

  • css/WebKitCSSMatFunctionValue.cpp:

(WebCore::WebKitCSSMatFunctionValue::WebKitCSSMatFunctionValue):
(WebCore::WebKitCSSMatFunctionValue::customCssText):
(WebCore::WebKitCSSMatFunctionValue::cloneForCSSOM):
(WebCore::WebKitCSSMatFunctionValue::equals):
(WebCore::WebKitCSSMatFunctionValue::reportDescendantMemoryUsage):

  • css/WebKitCSSMatFunctionValue.h:

(WebKitCSSMatFunctionValue):
(WebCore::WebKitCSSMatFunctionValue::create):

  • platform/graphics/filters/CustomFilterArrayParameter.h:

(WebCore::CustomFilterArrayParameter::create):
(WebCore::CustomFilterArrayParameter::CustomFilterArrayParameter):

  • platform/graphics/filters/CustomFilterParameter.h:

(CustomFilterParameter):

  • platform/graphics/filters/CustomFilterRenderer.cpp:

(WebCore::CustomFilterRenderer::bindProgramParameters):

LayoutTests:

Added tests for mat2 to mat4 parameter functions on custom fiter function and
parameter descriptor.

  • css3/filters/custom-with-at-rule-syntax/parsing-custom-function-invalid-expected.txt:
  • css3/filters/custom-with-at-rule-syntax/parsing-custom-function-valid-expected.txt:
  • css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-invalid-expected.txt:
  • css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-valid-expected.txt:
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-custom-function-invalid.js:
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-custom-function-valid.js:
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-parameters-property-invalid.js:
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-parameters-property-valid.js:
7:16 PM Changeset in webkit [148851] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Remove test cases which are expected failed, but passed now.

  • platform/efl/TestExpectations:
4:59 PM Changeset in webkit [148850] by fpizlo@apple.com
  • 4 edits
    1 add in branches/dfgFourthTier

fourthTier: WebKit's build system should relink JavaScriptCore if LLVM's libraries changed but its headers didn't
https://bugs.webkit.org/show_bug.cgi?id=114926

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

Use a phony file that includes a phony header to force JavaScriptCore to be relinked
if necessary. The external LLVM-importing scripts will touch the header if the libraries
are known to have changed.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • ftl/WebKitLLVMLibraryAnchor.cpp: Added.

Tools:

Reviewed by Geoffrey Garen.

If the LLVM libraries change, then touch a phony header, which will force relink
of JavaScriptCore.

  • Scripts/copy-webkitlibraries-to-product-directory:

(unpackIfNecessary):

4:26 PM Changeset in webkit [148849] by oliver@apple.com
  • 32 edits in trunk

JS Lexer and Parser should be more informative when they encounter errors
https://bugs.webkit.org/show_bug.cgi?id=114924

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Add new tokens to represent the various ways that parsing and lexing have failed.
This gives us the ability to produce better error messages in some cases,
and to indicate whether or not the failure was due to invalid source, or simply
early termination.

The jsc prompt now makes use of this so that you can write functions that
are more than one line long.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate):

  • jsc.cpp:

(stringFromUTF):
(jscSource):
(runInteractive):

  • parser/Lexer.cpp:

(JSC::::parseFourDigitUnicodeHex):
(JSC::::parseIdentifierSlowCase):
(JSC::::parseString):
(JSC::::parseStringSlowCase):
(JSC::::lex):

  • parser/Lexer.h:

(UnicodeHexValue):
(JSC::Lexer::UnicodeHexValue::UnicodeHexValue):
(JSC::Lexer::UnicodeHexValue::valueType):
(JSC::Lexer::UnicodeHexValue::isValid):
(JSC::Lexer::UnicodeHexValue::value):
(Lexer):

  • parser/Parser.h:

(JSC::Parser::getTokenName):
(JSC::Parser::updateErrorMessageSpecialCase):
(JSC::::parse):

  • parser/ParserError.h:

(ParserError):
(JSC::ParserError::ParserError):

  • parser/ParserTokens.h:
  • runtime/Completion.cpp:

(JSC):
(JSC::checkSyntax):

  • runtime/Completion.h:

(JSC):

LayoutTests:

Update test results to cover improved error messages.

  • fast/js/kde/parse-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T1-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T2-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T3-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T4-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T5-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A6_T1-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A6_T2-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A6_T3-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A6_T4-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T1-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T10-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T2-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T3-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T4-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T5-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T6-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T7-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T8-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T9-expected.txt:
  • sputnik/Conformance/13_Function_Definition/S13_A7_T3-expected.txt:
4:26 PM Changeset in webkit [148848] by fpizlo@apple.com
  • 2 edits in branches/dfgFourthTier/Tools

fourthTier: developing LLVM in tandem with WebKit should be fun and easy
https://bugs.webkit.org/show_bug.cgi?id=114925

Reviewed by Geoffrey Garen.

This enables building LLVM along with WebKit, so that build-jsc and build-webkit
will also optionally build LLVM and quickly symlink LLVM's built products into
the right places.

Most WebKit and JSC hackers will want to rely on the checked-in already-built
versions of LLVM in WebKitLibraries. But developing both systems in tandem is an
increasingly common use-case for me, and it may become a common use case for a
handful of others. Currently, this is really painful: you first have to build
LLVM, then you have to export-llvm-build (which takes a while), and then you
have to make sure that your LLVM_LIBRARY_PACKAGE and LLVM_INCLUDE_PACKAGE
variables are set to point to the thing you exported. The whole process loses
track of dependencies very quickly: making a tiny change in LLVM requires
packaging, and then unpackaging, a large number of potentially large headers and
static libraries. Not only is this slow but it then causes the WebKit build
system to rebuild anything that transitively includes any LLVM header, which is
now quite a few files. While this sort of use pattern is still worthwhile if
you're trying to package a binary drop and test it, it's not great if you're
just trying to do experimental development that involves making small changes
in both trees.

This change fixes this use case while keeping the old use cases intact. You can
do tandem development using one of two modes:

Your own LLVM directory: just set LLVM_SOURCE_PATH to the *absolute* path of
the LLVM directory you're using. Once this is done, any invocation of a WebKit
build via build-jsc or build-webkit will also build LLVM, and then quickly
symlink things into place without perturbing dependency tracking.

Internal LLVM directory: if you check out llvm into a directory called 'llvm'
right off of the WebKit source tree, then the build system will automatically
use this.

Here's how this takes care of dependencies:

Headers: the include/llvm and include/llvm-c directories are symlinked into
$productsDir/usr/local/include. And then everything just works.

Libraries: the build system detects, by reading LLVM's Makefile.config, which
mode LLVM is built in (like Release+Asserts or Debug+Asserts) and symlinks
the .a files into $productsDir/<thingy>. It will ranlib those libraries only
if they have changed, by checking both the modification time and also whether
the last time we had a symlink, that symlink was from the same directory.
This helps if you switch to an *older* LLVM build (using LLVM_SOURCE_PATH)
but that build wasn't yet ranlib'd.

One problem that this does not yet solve is that xcodebuild will not relink
JavaScriptCore if the only thing that changed was the libraries. I will work
on this problem separately: https://bugs.webkit.org/show_bug.cgi?id=114926.

  • Scripts/copy-webkitlibraries-to-product-directory:

(unpackIfNecessary):
(fileContains):
(fileContentsEquals):

1:52 PM Changeset in webkit [148847] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Regression(r148672): fast/events/touch/frame-hover-update.html fails
https://bugs.webkit.org/show_bug.cgi?id=114912

Reviewed by Allan Sandfeld Jensen.

Fix relative path to js-test-post.js in fast/events/touch/frame-hover-update.html.

  • fast/events/touch/frame-hover-update.html:
1:28 PM Changeset in webkit [148846] by mark.lam@apple.com
  • 3 edits in trunk/LayoutTests

Rewrite fast/workers/dedicated-worker-lifecycle.html to verify that
the GC is able to reclaim orphaned Workers on a timely basis.
https://bugs.webkit.org/show_bug.cgi?id=114893.

Reviewed by Geoffrey Garen.

  • fast/workers/resources/dedicated-worker-lifecycle.js:

(orphanAllWorkers):
(runTests.worker.onmessage):
(runTests):
(orphanedWorkerExited.worker.onmessage):
(orphanedWorkerExited):

  • fast/workers/resources/worker-util.js:

(waitUntilThreadCountMatchesCondition):
(waitUntilThreadCountMatches):
(waitUntilThreadCountDoesNotExceed):

12:51 PM Changeset in webkit [148845] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark css1/cascade/cascade_order.html as flaky.

  • platform/efl/TestExpectations:
12:48 PM Changeset in webkit [148844] by Christophe Dumez
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark several webgl tests as flaky.
Mark several ref tests as failing (started between r148032 and r148102).

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
12:15 PM Changeset in webkit [148843] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark websocket tests as flaky and webgl/conformance/rendering/gl-scissor-test.html
as failing.

  • platform/efl-wk2/TestExpectations:
11:53 AM Changeset in webkit [148842] by Lucas Forschler
  • 4 edits in branches/safari-536.30-branch/Source

Versioning.

11:51 AM Changeset in webkit [148841] by Lucas Forschler
  • 1 copy in tags/Safari-536.30.2

New Tag.

11:36 AM Changeset in webkit [148840] by kbalazs@webkit.org
  • 4 edits
    2 adds in trunk

[GStreamer] Media attribute preload="none" is not honored
https://bugs.webkit.org/show_bug.cgi?id=114357

Reviewed by Philippe Normand.

Source/WebCore:

Fix the logic that prevents live streams from being buffered to not make preload="none" ignored.

Test: http/tests/media/video-preload.html
We need a http test because the bug does not triggered with local files.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(MediaPlayerPrivateGStreamer):
Remove m_originalPreloadWasAutoAndWasOverridden because it is not necessary and it is causing this bug.
Currently if the tag has preload="none" attribute we set m_preload to Auto in the constructor. After that
MedaPlayer calls setPreload(None), so we set m_originalPreloadWasAutoAndWasOverridden to true and later
reset m_preload to Auto. The error prone factor here is that the m_preload member is repeated in the
private class and setPreload is also used there. This seems to be necessary because we need to be able
to ignore preloading if this is a live stream. Fortunately the original parsed value is available in the
constructor, so we can use that. This will give the correct value that we should override only in the case
of a live stream and that's it, we don't need to reset it later to Auto.
Furthermore, we should ignore setting preload to auto from js if it is a live stream. This patch also handles
this with an early return in setPreload.

LayoutTests:

  • http/tests/media/video-preload-expected.txt: Added.
  • http/tests/media/video-preload.html: Added.
10:46 AM Changeset in webkit [148839] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark several tests as failing on EFL port due to the bump to libsoup
2.42.0.

  • platform/efl/TestExpectations:
10:34 AM Changeset in webkit [148838] by Christophe Dumez
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark several test cases as failing on EFL port and filed bugs for them.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
10:19 AM Changeset in webkit [148837] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark websocket tests as flaky on EFL WK2.

  • platform/efl-wk2/TestExpectations:
10:11 AM Changeset in webkit [148836] by fpizlo@apple.com
  • 17 edits
    2 adds in branches/dfgFourthTier/Source

fourthTier: It should be possible to query WatchpointSets, and add Watchpoints, even if the compiler is running in another thread
https://bugs.webkit.org/show_bug.cgi?id=114909

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

The idea here is that a concurrent compiler will use watchpoint sets as follows:

During concurrent compilation: It will create Watchpoints, and query WatchpointSets only
for the purpose of profiling. That is, it will use decide whether it is profitable to
compile the code "as if" the watchpoint sets are valid.

During synchronous linking: By "linking" I don't necessarily mean the LinkBuffer stuff,
but just the very bitter end of compilation where we make the JIT code callable. This
can happen after LinkBuffer stuff. Anyway, this will have to happen synchronously, and
at that point we can (a) check that all WatchpointSets that we assumed were valid are
still valid and (b) if they are then we add the watchpoints to those sets. If any of the
sets are invalid, we give up on this compilation and try again later.

The querying of WatchpointSets is engineered to say that the set is still valid if it
is so *right now*, but this is done in a racy way and so it may say so spuriously: we
may, with hopefully low probability, have a set that says it is valid even though it was
just invalidated. The goal is only to ensure that (i) a set never claims to be invalid
if it is actually valid, (ii) a set doesn't claim to be valid if it was invalidated
before compilation even began, and (iii) querying the validity of a set doesn't cause us
to crash.

(JSC::InlineWatchpointSet::inflateSlow):

  • bytecode/Watchpoint.h:

(WatchpointSet):
(InlineWatchpointSet):
(JSC::InlineWatchpointSet::hasBeenInvalidated):
(JSC::InlineWatchpointSet::isThin):
(JSC::InlineWatchpointSet::isFat):
(JSC::InlineWatchpointSet::fat):

  • dfg/DFGDesiredWatchpoints.cpp: Added.

(DFG):
(JSC::DFG::DesiredWatchpoints::DesiredWatchpoints):
(JSC::DFG::DesiredWatchpoints::~DesiredWatchpoints):
(JSC::DFG::DesiredWatchpoints::addLazily):
(JSC::DFG::DesiredWatchpoints::reallyAdd):
(JSC::DFG::DesiredWatchpoints::areStillValid):

  • dfg/DFGDesiredWatchpoints.h: Added.

(DFG):
(JSC::DFG::WatchpointForGenericWatchpointSet::WatchpointForGenericWatchpointSet):
(WatchpointForGenericWatchpointSet):
(GenericDesiredWatchpoints):
(JSC::DFG::GenericDesiredWatchpoints::GenericDesiredWatchpoints):
(JSC::DFG::GenericDesiredWatchpoints::addLazily):
(JSC::DFG::GenericDesiredWatchpoints::reallyAdd):
(JSC::DFG::GenericDesiredWatchpoints::areStillValid):
(DesiredWatchpoints):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::addLazily):
(JITCompiler):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • ftl/FTLCompile.h:

(FTL):

  • ftl/FTLState.h:

(State):

  • runtime/JSFunction.h:

(JSFunction):
(JSC::JSFunction::allocationProfileWatchpointSet):

  • runtime/Structure.h:

(Structure):
(JSC::Structure::transitionWatchpointSet):

Source/WTF:

Reviewed by Oliver Hunt.

Harden our notions of memory fences, now that we're doing racy algorithms.

  • wtf/Atomics.h:

(WTF):
(WTF::compilerFence):
(WTF::armV7_dmb):
(WTF::armV7_dmb_st):
(WTF::loadLoadFence):
(WTF::loadStoreFence):
(WTF::storeLoadFence):
(WTF::storeStoreFence):
(WTF::memoryBarrierAfterLock):
(WTF::memoryBarrierBeforeUnlock):
(WTF::x86_mfence):

9:14 AM Changeset in webkit [148835] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

fast/media/mq-resolution.html throws TypeError when calling setPageScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=114914

Reviewed by Antonio Gomes.

Update fast/media/mq-resolution.html to call setPageScaleFactor() method on
window.internals instead of window.internals.settings. This method was moved
out of settings in r136055.

  • fast/media/mq-resolution.html:
9:13 AM Changeset in webkit [148834] by Lucas Forschler
  • 2 edits in branches/safari-536.30-branch/Source/WebCore

Rollout r145656. <rdar://problem/13691099>

8:11 AM Changeset in webkit [148833] by Christophe Dumez
  • 3 edits
    1 add in trunk/LayoutTests

Unreviewed EFL gardening.

Rebaseline fast/forms/validation-message-appearance.html and fix expectation
for editing/pasteboard/paste-text-004.html.

  • platform/efl/TestExpectations:
  • platform/efl/fast/forms/validation-message-appearance-expected.png: Added.
  • platform/efl/fast/forms/validation-message-appearance-expected.txt:
8:02 AM Changeset in webkit [148832] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark more compositing test cases as crashing due to r148433 for
EFL port.

  • platform/efl/TestExpectations:
7:22 AM Changeset in webkit [148831] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Regression(r148672): fast/events/touch/frame-hover-update.html fails
https://bugs.webkit.org/show_bug.cgi?id=114912

Reviewed by Allan Sandfeld Jensen.

Fix relative path to js-test-pre.js in the test case.

  • fast/events/touch/frame-hover-update.html:
7:10 AM Changeset in webkit [148830] by Christophe Dumez
  • 5 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Rebaseline several test cases for EFL port.

  • platform/efl-wk2/http/tests/inspector/console-resource-errors-expected.txt:
  • platform/efl/fast/backgrounds/background-position-parsing-expected.png:
  • platform/efl/fast/backgrounds/background-position-parsing-expected.txt:
  • platform/wk2/loader/go-back-cached-main-resource-expected.txt:
6:54 AM Changeset in webkit [148829] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Remove duplicate entry in EFL's TestExpectations for:
inspector/debugger/dynamic-script-tag.html

  • platform/efl/TestExpectations:
6:50 AM Changeset in webkit [148828] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark more compisiting / webgl tests as crashing due to r148433 for
EFL port.

  • platform/efl/TestExpectations:
5:56 AM Changeset in webkit [148827] by zandobersek@gmail.com
  • 51 deletes in trunk/LayoutTests/platform/gtk

Unreviewed GTK gardening. Removing the remaining redundant baselines.

5:54 AM Changeset in webkit [148826] by zandobersek@gmail.com
  • 208 edits
    51 adds in trunk/LayoutTests/platform/gtk

Unreviewed GTK gardening. Updating baselines for tests under accessibility, fast/backgrounds, fast/body-propagation,
fast/doctypes, fast/fast-mobile-scrolling, fast/inspector-support, fast/loader, fast/tokenizer and fast/xsl directories
after enabling the subpixel layout.

5:46 AM Changeset in webkit [148825] by zandobersek@gmail.com
  • 726 edits
    124 adds in trunk/LayoutTests/platform/gtk/fast

Unreviewed GTK gardening. Updating baselines for tests under fast/block, fast/borders, fast/box-shadow,
fast/box-sizing, fast/canvas, fast/clip and fast/compact directories after enabling subpixel layout.

4:06 AM Changeset in webkit [148824] by Christophe Dumez
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark several compositing test as crashing on EFL port due to
r148433.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
3:07 AM Changeset in webkit [148823] by Carlos Garcia Campos
  • 15 edits in trunk/Source

Widget should not depend on AXObjectCache
https://bugs.webkit.org/show_bug.cgi?id=114514

Reviewed by Chris Fleizach.

Source/WebCore:

Move AXObjectCache usage from platform files to FrameView.

  • WebCore.exp.in: Update symbols.
  • page/FrameView.cpp:

(WebCore::FrameView::didAddScrollbar): Handle scrollbar updates in
AXObjectCache.
(WebCore::FrameView::willRemoveScrollbar): Handle scrollbar
updates in AXObjectCache and remove the scrollbar from the cache.

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::setHasHorizontalScrollbar): Use
didAddScrollbar/willRemoveScrollbar
(WebCore::ScrollView::setHasVerticalScrollbar): Ditto.

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::didAddScrollbar): This is the old
didAddVerticalScrollbar and didAddHorizontalScrollbar joined in a
single method that receives a ScrollbarOrientation parameter.
(WebCore::ScrollableArea::willRemoveScrollbar): This is the old
willRemoveVerticalScrollbar and
willRemoveHorizontalScrollbarScrollbar joined in a single method
that receives a ScrollbarOrientation parameter.

  • platform/ScrollableArea.h:

(ScrollableArea):

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::~Scrollbar): Remove AXObjectCache usage.

  • platform/Scrollbar.h:
  • platform/Widget.h:

(Widget): Remove axObjectCache() method.

  • platform/mac/ScrollAnimatorMac.h:

(ScrollAnimatorMac):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::createScrollbar): Use didAddScrollbar.
(WebCore::RenderLayer::destroyScrollbar): Use willRemoveScrollbar.

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::createScrollbar): Use didAddScrollbar.
(WebCore::RenderListBox::destroyScrollbar): Use willRemoveScrollbar.

Source/WebKit2:

Update to API changes.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::createScrollbar):

  • WebProcess/Plugins/PDF/SimplePDFPlugin.mm:

(WebKit::SimplePDFPlugin::createScrollbar):
(WebKit::SimplePDFPlugin::destroyScrollbar):

2:26 AM Changeset in webkit [148822] by zandobersek@gmail.com
  • 529 edits
    121 adds in trunk/LayoutTests/platform/gtk/fast

Unreviewed GTK gardening. Updating baselines for tests under fast/css, fast/css-generated-content,
fast/css3-text and fast/dom directories after enabling the subpixel layout.

2:18 AM Changeset in webkit [148821] by zandobersek@gmail.com
  • 611 edits
    171 adds in trunk/LayoutTests/platform/gtk/fast

Unreviewed GTK gardening. Updating baselines for tests under fast/dynamic, fast/encoding, fast/events,
fast/flexbox, fast/forms, fast/frames, fast/gradients, fast/hidpi and fast/html directories after enabling subpixel layout.

2:04 AM Changeset in webkit [148820] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Refactor identical inline functions in JSVALUE64 and JSVALUE32_64 sections
out into the common section.
https://bugs.webkit.org/show_bug.cgi?id=114910.

Reviewed by Filip Pizlo.

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::callOperation):

1:23 AM Changeset in webkit [148819] by zandobersek@gmail.com
  • 305 edits
    170 adds in trunk/LayoutTests/platform/gtk/fast

Unreviewed GTK gardening. Updating baselines for tests under fast/images, fast/inline, fast/inline-block,
fast/invalid, fast/js, fast/layers, fast/line-grid, fast/lists and fast/multicol directories after enabling subpixel layout.

1:15 AM Changeset in webkit [148818] by zandobersek@gmail.com
  • 379 edits
    80 adds in trunk/LayoutTests/platform/gtk/fast

Unreviewed GTK gardening. Updating baselines for tests under fast/overflow, fast/parser, fast/reflections,
fast/regions and fast/repaint directories after enabling subpixel layout.

1:05 AM Changeset in webkit [148817] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, gardening. Remove duplicated tests.

  • platform/efl/TestExpectations:
12:48 AM Changeset in webkit [148816] by zandobersek@gmail.com
  • 645 edits
    157 adds in trunk/LayoutTests/platform/gtk

Unreviewed GTK gardening. Updating baselines for tests under fast/replaced, fast/ruby, fast/runin,
fast/scrolling, fast/selectors, fast/spatial-navigation, fast/subpixel and mathml directories after enabling subpixel layout.

12:38 AM Changeset in webkit [148815] by zandobersek@gmail.com
  • 547 edits
    178 adds in trunk/LayoutTests/platform/gtk

Unreviewed GTK gardening. Updating baselines for tests under fast/text, fast/transforms, fast/writing-mode,
ietestcenter, media, plugins and scrollbars directories after enabling the subpixel layout.

12:29 AM Changeset in webkit [148814] by zandobersek@gmail.com
  • 20 deletes in trunk/LayoutTests/platform/gtk/svg

Unreviewed GTK gardening. Removing redundant baselines under the svg/ directory.

12:27 AM Changeset in webkit [148813] by zandobersek@gmail.com
  • 175 edits
    17 adds in trunk/LayoutTests/platform/gtk/svg/dynamic-updates

Unreviewed GTK gardening. Part 2 of updating baselines for tests under svg/dynamic-updates after enabling the subpixel layout.

12:22 AM Changeset in webkit [148812] by zandobersek@gmail.com
  • 138 edits
    33 adds
    2 deletes in trunk/LayoutTests/platform/gtk/svg/dynamic-updates

Unreviewed GTK gardening. Part 1 of updating baselines for tests under svg/dynamic-updates after enabling the subpixel layout.

12:15 AM Changeset in webkit [148811] by zandobersek@gmail.com
  • 668 edits
    52 adds in trunk/LayoutTests/platform/gtk/tables/mozilla/bugs

Unreviewed GTK gardening. Part 3 of updating baselines for tests under the tables/ directory
after enabling the subpixel layout.

12:06 AM Changeset in webkit [148810] by zandobersek@gmail.com
  • 658 edits
    30 adds in trunk/LayoutTests/platform/gtk/tables/mozilla

Unreviewed GTK gardening. Part 2 of updating baselines for tests under the tables/ directory
after enabling the subpixel layout.

Apr 20, 2013:

11:57 PM Changeset in webkit [148809] by zandobersek@gmail.com
  • 405 edits
    21 adds in trunk/LayoutTests/platform/gtk/tables

Unreviewed GTK gardening. Part 1 of updating baselines for tests under the tables directory
after enabling the subpixel layout for the GTK port.

11:27 PM Changeset in webkit [148808] by zandobersek@gmail.com
  • 205 edits
    22 adds in trunk/LayoutTests/platform/gtk/svg

Unreviewed GTK gardening. Updating baselines for tests under svg/batik, svg/canvas, svg/carto.net, svg/clip-path,
svg/css, svg/custom and svg/hixie after enabling the subpixel layout.

11:23 PM Changeset in webkit [148807] by zandobersek@gmail.com
  • 534 edits
    54 adds in trunk/LayoutTests/platform/gtk/svg

Unreviewed GTK gardening. Updating baselines for tests under svg/W3C-* after enabling the subpixel layout.

10:53 PM Changeset in webkit [148806] by zandobersek@gmail.com
  • 510 edits
    84 adds in trunk/LayoutTests/platform/gtk/svg

Unreviewed GTK gardening. Updating baselines for tests under svg/custom, svg/dom, svg/in-html,
svg/overflow, svg/repaint and svg/transforms after enabling the subpixel layout.

10:43 PM Changeset in webkit [148805] by zandobersek@gmail.com
  • 256 edits
    156 adds in trunk/LayoutTests/platform/gtk/svg

Unreviewed GTK gardening. Updating baselines for tests under svg/as-*, svg/filters, svg/stroke,
svg/text, svg/wicd and svg/zoom directories after enabling subpixel layout for the GTK port.

Patch #7 of approx. 24, svn commit is used directly to avoid the webkit-patch and ChangeLog overhead.

10:13 PM Changeset in webkit [148804] by fpizlo@apple.com
  • 31 edits
    2 adds in branches/dfgFourthTier/Source

fourthTier: value profiles and array profiles should be thread-safe enough to be accessible in a concurrent compilation thread
https://bugs.webkit.org/show_bug.cgi?id=114906

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

This introduces thread safety to value profiles, array profiles, and
array allocation profiles.

We already have three separate operations that happen on profiles:
(1) writing, which the JIT, LLInt, and OSR exit do; (2) updating,
which happens during GC, from OSR entry slow-paths, and in the DFG;
and (3) reading, which happens in the DFG. For example, the JIT/LLInt
and OSR exit write to ValueProfile::m_buckets, which gets synthesized
into ValueProfile::m_prediction (and other fields) during update, and
the latter gets read by the DFG. Note that (2) must also happen in
the DFG since only the DFG knows which code blocks it will inline,
and those blocks' profiles may not have otherwise been updated via
any other mechanism.

I refer to these three operations as writing, updating, and reading.

Consequently, both profile updating and profile reading may happen
asynchronously, if the JIT is asynchronous.

The locking protocol for profiles works as follows:

  • Writing does not require locking, but is only allowed on the main thread. We require that these fields can be stored atomically by the profiling code, even without locks. For value profiles, this only works on 64-bit platforms, currently. For array profiles, which consist of multiple separate fields, this means that an asynchronous update of the profile may see slight inconsistencies (like a structure that doesn't quite match the array modes bits), but these should be harmless: at worst, the DFG will specialize too much and we'll have OSR exits.


  • Updating a value profile requires holding a lock, but must assume that the fields written by the profiling code in JIT/LLInt may be written to without locking.


  • Reading a value profile requires holding a lock.


The one major exception to these rules is the ArrayAllocationProfile,
which requires no locking. We do this because it's used so often and
in places where we don't necessarily have access to the owning
CodeBlock, so if we did want it to be locked it would have to have
its own lock. Also, I believe that it is sound to just make this
profile racy and not worry about locking at all. All that was needed
were some changes to ensure that we explicitly read some raced-over
fields only once.

Two additional interesting things in this change:

  • To make it easy to see which profile methods require locking, they take a const CodeBlockLocker& as an argument. I saw this idiom for identifying which methods require which locks to be held being used in LLVM, and I quite like it.


  • Lazy operand value profiles, which are created lazily and at any time, require the CodeBlockLock to be held when they are being created. Writes to them are lockless and main-thread-only, but as with other profiles, updates and reads require locking.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/ArrayAllocationProfile.cpp:

(JSC::ArrayAllocationProfile::updateIndexingType):

  • bytecode/ArrayAllocationProfile.h:

(JSC::ArrayAllocationProfile::selectIndexingType):

  • bytecode/ArrayProfile.cpp:

(JSC::ArrayProfile::computeUpdatedPrediction):
(JSC::ArrayProfile::briefDescription):

  • bytecode/ArrayProfile.h:

(ArrayProfile):
(JSC::ArrayProfile::expectedStructure):
(JSC::ArrayProfile::structureIsPolymorphic):
(JSC::ArrayProfile::hasDefiniteStructure):
(JSC::ArrayProfile::observedArrayModes):
(JSC::ArrayProfile::mayInterceptIndexedAccesses):
(JSC::ArrayProfile::mayStoreToHole):
(JSC::ArrayProfile::outOfBounds):
(JSC::ArrayProfile::usesOriginalArrayStructures):

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpValueProfiling):
(JSC::CodeBlock::dumpArrayProfiling):
(JSC::CodeBlock::updateAllPredictionsAndCountLiveness):
(JSC::CodeBlock::updateAllArrayPredictions):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::valueProfilePredictionForBytecodeOffset):
(JSC::CodeBlock::updateAllPredictionsAndCheckIfShouldOptimizeNow):
(CodeBlock):

  • bytecode/CodeBlockLock.h: Added.

(JSC):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor):

  • bytecode/LazyOperandValueProfile.cpp:

(JSC::CompressedLazyOperandValueProfileHolder::computeUpdatedPredictions):
(JSC::CompressedLazyOperandValueProfileHolder::add):
(JSC::LazyOperandValueProfileParser::LazyOperandValueProfileParser):
(JSC::LazyOperandValueProfileParser::~LazyOperandValueProfileParser):
(JSC):
(JSC::LazyOperandValueProfileParser::initialize):
(JSC::LazyOperandValueProfileParser::prediction):

  • bytecode/LazyOperandValueProfile.h:

(CompressedLazyOperandValueProfileHolder):
(LazyOperandValueProfileParser):

  • bytecode/MethodOfGettingAValueProfile.cpp:

(JSC::MethodOfGettingAValueProfile::getSpecFailBucket):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):

  • bytecode/ResolveGlobalStatus.cpp:

(JSC::ResolveGlobalStatus::computeFor):

  • bytecode/ValueProfile.h:

(JSC::ValueProfileBase::briefDescription):
(ValueProfileBase):
(JSC::ValueProfileBase::computeUpdatedPrediction):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::fromObserved):

  • dfg/DFGArrayMode.h:

(ArrayMode):
(JSC::DFG::ArrayMode::withProfile):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation):
(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
(JSC::DFG::ByteCodeParser::getArrayMode):
(JSC::DFG::ByteCodeParser::getArrayModeAndEmitChecks):
(JSC::DFG::ByteCodeParser::parseResolveOperations):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGOSRExitPreparation.cpp:

(JSC::DFG::prepareCodeOriginForOSRExit):

  • dfg/DFGPredictionInjectionPhase.cpp:

(JSC::DFG::PredictionInjectionPhase::run):

  • jit/JITInlines.h:

(JSC::JIT::chooseArrayMode):

  • jit/JITStubs.cpp:

(JSC::tryCachePutByID):
(JSC::tryCacheGetByID):
(JSC::DEFINE_STUB_FUNCTION):
(JSC::lazyLinkFor):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::setUpCall):

  • profiler/ProfilerBytecodeSequence.cpp:

(JSC::Profiler::BytecodeSequence::BytecodeSequence):

  • runtime/JSScope.cpp:

(JSC::JSScope::resolveContainingScopeInternal):
(JSC::JSScope::resolvePut):

Source/WTF:

Reviewed by Oliver Hunt.

Add ability to abstract whether or not the CodeBlock requires locking at all,
since some platforms may not support the byte spin-locking and/or may not want
to, if they turn off concurrent JIT.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/ByteSpinLock.h:
  • wtf/NoLock.h: Added.

(WTF):
(NoLock):
(WTF::NoLock::lock):
(WTF::NoLock::unlock):
(WTF::NoLock::isHeld):

  • wtf/Platform.h:
9:38 PM Changeset in webkit [148803] by fpizlo@apple.com
  • 2 edits in branches/dfgFourthTier/Source/JavaScriptCore

Unreviewed, 32-bit build fix.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::tallyFrequentExitSites):

8:47 PM EFLWebKitBuildBots edited by gyuyoung.kim@samsung.com
(diff)
8:44 PM EFLWebKitBuildBots edited by gyuyoung.kim@samsung.com
(diff)
8:32 PM Changeset in webkit [148802] by krit@webkit.org
  • 22 edits
    1 add in trunk

[Part 5] Parse color value for custom() function parameters
https://bugs.webkit.org/show_bug.cgi?id=114902

Reviewed by Dean Jackson.

Source/WebCore:

Custom filter parameters should support color values. Added parsing
and style resolving bits to support color values. A later patch will
add the color values to the shader program.

https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters

Modified existing tests to cover changes.

  • GNUmakefile.list.am: Added CustomFilterColorParameter to support color values

as custom filter parameters.

  • Target.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForCustomFilterColorParameter):
(WebCore):
(WebCore::valueForCustomFilterParameter):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseCustomFilterParameters):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::parseCustomFilterColorParameter):
(WebCore):
(WebCore::StyleResolver::parseCustomFilterParameter):

  • css/StyleResolver.h:

(StyleResolver):

  • platform/graphics/filters/CustomFilterColorParameter.h: Added.

(WebCore):
(WebCore::blendFunc):
(CustomFilterColorParameter):
(WebCore::CustomFilterColorParameter::create):
(WebCore::CustomFilterColorParameter::blend):
(WebCore::CustomFilterColorParameter::color):
(WebCore::CustomFilterColorParameter::setColor):
(WebCore::CustomFilterColorParameter::operator==):
(WebCore::CustomFilterColorParameter::CustomFilterColorParameter):
(WebCore::CustomFilterColorParameter::~CustomFilterColorParameter):

  • platform/graphics/filters/CustomFilterParameter.h:

(CustomFilterParameter):

  • platform/graphics/filters/CustomFilterRenderer.cpp:

(WebCore::CustomFilterRenderer::bindProgramParameters):

LayoutTests:

Added tests for color parameters on custom fiter function and parameter descriptor.

  • css3/filters/custom-with-at-rule-syntax/parsing-custom-function-invalid-expected.txt:
  • css3/filters/custom-with-at-rule-syntax/parsing-custom-function-valid-expected.txt:
  • css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-invalid-expected.txt:
  • css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-valid-expected.txt:
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-custom-function-invalid.js:
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-custom-function-valid.js:
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-parameters-property-invalid.js:
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-parameters-property-valid.js:
4:25 PM Changeset in webkit [148801] by zandobersek@gmail.com
  • 937 edits
    275 adds in trunk/LayoutTests/platform/gtk/editing

Unreviewed GTK gardening. Updating baselines for editing tests after enabling subpixel layout for the GTK port.

4:11 PM Changeset in webkit [148800] by zandobersek@gmail.com
  • 549 edits
    79 adds in trunk/LayoutTests/platform/gtk/css3

Unreviewed GTK gardening. Updating baselines for the remaining tests under the css3 directory
after enabling the subpixel layout for the GTK port.

4:03 PM Changeset in webkit [148799] by zandobersek@gmail.com
  • 822 edits
    114 adds in trunk/LayoutTests/platform/gtk/css3/selectors3

Unreviewed GTK gardening. Updating baselines for the css3/selectors/html and css3/selectors/xml tests
after enabling the subpixel layout. Patch #3 of many more.

3:51 PM Changeset in webkit [148798] by zandobersek@gmail.com
  • 1372 edits
    104 adds in trunk/LayoutTests/platform/gtk/css2.1

Unreviewed GTK gardening, updating css2.1 baselines after enabling the subpixel layout.

1:13 PM Changeset in webkit [148797] by glenn@skynav.com
  • 1 edit
    1 delete in trunk/LayoutTests

Unreviewed gardening. Rebaseline after r148792. Fix mac-wk2 text.

  • platform/mac-wk2/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Removed.
1:11 PM Changeset in webkit [148796] by fpizlo@apple.com
  • 2 edits in trunk/PerformanceTests/SunSpider

SunSpider/string-tagcloud should be more lenient in validating its results, since they depend on Math.log, which isn't formally specified
https://bugs.webkit.org/show_bug.cgi?id=114895

Reviewed by Michael Saboff.

  • tests/sunspider-1.0/string-tagcloud.js:
12:55 PM Changeset in webkit [148795] by zandobersek@gmail.com
  • 170 edits
    126 adds in trunk/LayoutTests

Unreviewed GTK gardening.

Rebaseline #1 after enabling the subpixel layout, covering the animations, css1, fonts, fullscreen,
transforms and transitions directories.

12:22 PM Changeset in webkit [148794] by zandobersek@gmail.com
  • 2 edits
    1 add in trunk/Tools

[GTK] Fix baseline positioning issue by updating Freetype
https://bugs.webkit.org/show_bug.cgi?id=106775

Reviewed by Martin Robinson.

  • gtk/jhbuild.modules: Bump the Freetype Jhbuild dependency to 2.4.11.
  • gtk/patches/freetype6-2.4.11-truetype-font-height-fix.patch: Added. This is the Freetype

patch (committed as e0469372) that fixes rounding issues for smaller fonts. It is bound to be included
in the 2.4.12 release of Freetype (not released yet) but is provided here as its effect on baselines is
considered positive and will reduce the amout of future rebaselining.

12:21 PM Changeset in webkit [148793] by zandobersek@gmail.com
  • 2 edits in trunk

Enable sub-pixel layout for the GTK port
https://bugs.webkit.org/show_bug.cgi?id=94792

Reviewed by Martin Robinson.

  • Source/autotools/SetupWebKitFeatures.m4: Enable the subpixel layout.
12:20 PM Changeset in webkit [148792] by glenn@skynav.com
  • 6 edits
    1 copy in trunk/LayoutTests

Unreviewed gardening. Rebaseline after r148791. Update text expectations.

  • platform/efl-wk1/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
  • platform/efl-wk2/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
  • platform/gtk-wk1/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
  • platform/mac-lion/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
  • platform/mac-wk2/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Copied from LayoutTests/platform/mac-lion/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt.
  • platform/win/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
9:41 AM Changeset in webkit [148791] by glenn@skynav.com
  • 4 edits
    4 adds in trunk

REGRESSION (r147588): Line breaks occur in the middle of Hebrew words at haaertz.co.il and other websites
https://bugs.webkit.org/show_bug.cgi?id=114721

Reviewed by Dean Jackson.

Source/WebCore:

Tests: fast/text/line-break-after-empty-inline-hebrew.html

fast/text/line-break-after-inline-latin1.html

If prior context changes content or length after creating line break iterator, then need to
create new iterator with new prior context instead of using cached iterator with old prior context.

  • platform/text/TextBreakIterator.h:

(WebCore::LazyLineBreakIterator::LazyLineBreakIterator): Initialize members to cache reference to initialized prior context.
(WebCore::LazyLineBreakIterator::get): Create new iterator if prior context content reference changes.
(WebCore::LazyLineBreakIterator::resetStringAndReleaseIterator): Reset cached prior context references.
(LazyLineBreakIterator): Add members to cache reference to initialized prior context.

LayoutTests:

  • fast/text/line-break-after-empty-inline-hebrew-expected.txt: Added.
  • fast/text/line-break-after-empty-inline-hebrew.html: Added.
  • fast/text/line-break-after-inline-latin1-expected.txt: Added.
  • fast/text/line-break-after-inline-latin1.html: Added.
  • platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Rebaseline.
3:27 AM Changeset in webkit [148790] by allan.jensen@digia.com
  • 8 edits in trunk/Source

LLint should be able to use x87 instead of SSE for floating pointer
https://bugs.webkit.org/show_bug.cgi?id=112239

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Implements LLInt floating point operations in x87, to ensure we support
x86 without SSE2.

X86 (except 64bit) now defaults to using x87 instructions in order to
support all 32bit x86 back to i686. The implementation uses the fucomi
instruction from i686 which sets the new minimum.

The FPU registers must always be empty on entering or exiting a function.
We make sure to only use two X87 registers, and they are always emptied
before calling deeper functions or returning from the LLInt.

  • jit/JITStubs.cpp:

(JSC): Empty FPU registers before exiting.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/instructions.rb:
  • offlineasm/x86.rb:

Source/WTF:

Disable GTK workaround now that LLInt does not require SSE2.

  • wtf/Platform.h:
2:53 AM Changeset in webkit [148789] by abecsi@webkit.org
  • 2 edits in trunk

[Qt][Mac] Remove obsolete workaround for debug builds
https://bugs.webkit.org/show_bug.cgi?id=114750

Reviewed by Jocelyn Turcotte.

This workaround made default builds fail with recent Qt5 because
it removed the major version number from the library name, producing
QtWebKitWidgets, whereas the linking command line tried to link
against Qt5WebKitWidgets.
Debug builds are possible with and without framework-enabled builds
of Qt, but the debug versions of the Qt libraries have to be present.
Debug builds with a release version of Qt are not possible on Mac
since for debug builds qmake produces a linker command line where
all the Qt libraries have the "_debug" suffix, therefore if the debug
libraries are missing the build fails.

  • Source/widgetsapi.pri:
1:23 AM Changeset in webkit [148788] by commit-queue@webkit.org
  • 8 edits in trunk

[GTK] Fix unit test webkit2/WebKitFindController/hide
https://bugs.webkit.org/show_bug.cgi?id=89810

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-04-20
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

The test had some hacks in order to compare a page with highlighted
results after using the find command with the original page. Now it uses
the snapshots API that allows to make the test simpler and more
reliable.

  • UIProcess/API/gtk/tests/TestMain.h:

(Test::cairoSurfacesEqual): Moved helper function to compare two cairo
surfaces from TestWebKitWebView.
(Test):

  • UIProcess/API/gtk/tests/TestWebKitFindController.cpp:

(testFindControllerHide): Modify test to use snapshots.

  • UIProcess/API/gtk/tests/TestWebKitWebView.cpp:

(testWebViewSnapshot): Move basic snapshop methods to WebViewTest to
share them with TestWebKitFindController test.

  • UIProcess/API/gtk/tests/WebViewTest.cpp:

(WebViewTest::WebViewTest): Initialize cairo surface.
(WebViewTest::~WebViewTest): Destroy cairo surface.
(onSnapshotReady): Callback to set the cairo surface when the snapshot
is ready.
(WebViewTest::getSnapshotAndWaitUntilReady): Method that takes a
snapshot and returns the cairo surface when it is ready.

  • UIProcess/API/gtk/tests/WebViewTest.h: Add new method headers and

attribute for the cairo surface.

Tools:

  • Scripts/run-gtk-tests:

(TestRunner): Unskip test webkit2/WebKitFindController/hide.

Note: See TracTimeline for information about the timeline view.