WebKit-https.git
8 years agoUnreviewed test_expectations.txt update.
morrita@google.com [Mon, 19 Dec 2011 05:06:06 +0000 (05:06 +0000)]
Unreviewed test_expectations.txt update.

* platform/chromium/test_expectations.txt:

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

8 years ago<msup>, <munder>, <mover>, and <munderover> baseline positions are wrong
commit-queue@webkit.org [Mon, 19 Dec 2011 04:25:29 +0000 (04:25 +0000)]
<msup>, <munder>, <mover>, and <munderover> baseline positions are wrong
https://bugs.webkit.org/show_bug.cgi?id=72821

Patch by David Barton <dbarton@mathscribe.com> on 2011-12-18
Reviewed by Darin Adler.

Source/WebCore:

Tested by rebaselining 8 existing tests. (Pardon the pun.)

* rendering/mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::baselinePosition):
Just using the base's (these puns are not my fault) baseline did not leave room for the exponent.
* rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::baselinePosition):
Added a guard condition, and removed some bad lines apparently mistakenly copied from RenderMathMLSubSup.cpp.

LayoutTests:

* platform/mac/mathml/presentation/msup-base-changed-expected.png:
* platform/mac/mathml/presentation/msup-base-changed-expected.txt:
* platform/mac/mathml/presentation/msup-sup-changed-expected.png:
* platform/mac/mathml/presentation/msup-sup-changed-expected.txt:
* platform/mac/mathml/presentation/over-expected.png:
* platform/mac/mathml/presentation/over-expected.txt:
* platform/mac/mathml/presentation/roots-expected.png:
* platform/mac/mathml/presentation/roots-expected.txt:
* platform/mac/mathml/presentation/row-alignment-expected.png:
* platform/mac/mathml/presentation/row-alignment-expected.txt:
* platform/mac/mathml/presentation/sup-expected.png:
* platform/mac/mathml/presentation/sup-expected.txt:
* platform/mac/mathml/presentation/under-expected.png:
* platform/mac/mathml/presentation/under-expected.txt:
* platform/mac/mathml/presentation/underover-expected.png:
* platform/mac/mathml/presentation/underover-expected.txt:

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

8 years agoImplement CSS line-height property in CSSStyleApplyProperty.
macpherson@chromium.org [Mon, 19 Dec 2011 03:50:08 +0000 (03:50 +0000)]
Implement CSS line-height property in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=74561

Reviewed by Andreas Kling.

No new tests / refactoring only.

* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isNumber):
* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyLineHeight::applyValue):
(WebCore::ApplyPropertyLineHeight::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):

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

8 years agoImplement CSS outline shorthand property in CSSStyleApplyProperty.
macpherson@chromium.org [Mon, 19 Dec 2011 03:27:43 +0000 (03:27 +0000)]
Implement CSS outline shorthand property in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=74467

Reviewed by Andreas Kling.

No new tests / refactoring only.

RenderStyle::resetOutline was removed in favor of explicity expanding to the
initial values of the shorthand expansion. This improves consistency because
the initial values to use are more clearly (and singularly) defined.

* css/CSSStyleApplyProperty.cpp:
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/style/RenderStyle.h:

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

8 years agoUnreviewed, rolling out r103205.
commit-queue@webkit.org [Mon, 19 Dec 2011 03:13:08 +0000 (03:13 +0000)]
Unreviewed, rolling out r103205.
http://trac.webkit.org/changeset/103205
https://bugs.webkit.org/show_bug.cgi?id=74833

There are valid characters above 0x80 when the  string is
8bits (Requested by benjaminp on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-18

* dom/Document.cpp:
(WebCore::isValidNameASCII):
(WebCore::Document::isValidName):

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

8 years agoSeparate box alignment and box pack values into separate enums.
macpherson@chromium.org [Mon, 19 Dec 2011 03:07:55 +0000 (03:07 +0000)]
Separate box alignment and box pack values into separate enums.
https://bugs.webkit.org/show_bug.cgi?id=74580

Reviewed by Andreas Kling.

No new tests / refactoring only.

Separating these types cleans up the code by removing several assertions that
values are in the correct ranges, as this is ensured by the type system.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EBoxPack):
(WebCore::CSSPrimitiveValue::operator EBoxAlignment):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
* rendering/RenderFullScreen.cpp:
(createFullScreenStyle):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::boxPack):
(WebCore::InheritedFlags::setBoxAlign):
(WebCore::InheritedFlags::setBoxPack):
(WebCore::InheritedFlags::initialBoxPack):
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleDeprecatedFlexibleBoxData.h:

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

8 years agoImplement CSS font-size property in CSSStyleApplyProperty.
macpherson@chromium.org [Mon, 19 Dec 2011 03:01:29 +0000 (03:01 +0000)]
Implement CSS font-size property in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=74368

Reviewed by Andreas Kling.

No new tests / refactoring only.

* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyFontSize::largerFontSize):
(WebCore::ApplyPropertyFontSize::smallerFontSize):
(WebCore::ApplyPropertyFontSize::applyInheritValue):
(WebCore::ApplyPropertyFontSize::applyInitialValue):
(WebCore::ApplyPropertyFontSize::applyValue):
(WebCore::ApplyPropertyFontSize::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* css/CSSStyleSelector.h:
(WebCore::CSSStyleSelector::hasParentNode):

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

8 years agoUnreviewed, rolling out r103199.
kling@webkit.org [Mon, 19 Dec 2011 02:59:34 +0000 (02:59 +0000)]
Unreviewed, rolling out r103199.
http://trac.webkit.org/changeset/103199
https://bugs.webkit.org/show_bug.cgi?id=74832

Caused a bot crashiness extravaganza! (Requested by kling on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-18

* platform/KURL.cpp:
(WebCore::isLetterMatchIgnoringCase):
(WebCore::protocolIs):

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

8 years agoPositioned Floats: Assertion hit in fast/block/positioning/positioned-float-layout...
mitz@apple.com [Mon, 19 Dec 2011 02:51:46 +0000 (02:51 +0000)]
Positioned Floats: Assertion hit in fast/block/positioning/positioned-float-layout-after-image-load.html
https://bugs.webkit.org/show_bug.cgi?id=67759

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/block/positioning/positioned-float-layout-after-image-load.html

Positioned floats are both floating and positioned. Made the following functions treat them as
positioned rather than as floats by reordering code.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace):
(WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):

LayoutTests:

Re-added this test from r94695.

* fast/block/positioning/positioned-float-layout-after-image-load-expected.txt: Copied from LayoutTests/fast/block/positioning/positioned-float-layout-after-image-load-expected.txt.
* fast/block/positioning/positioned-float-layout-after-image-load.html: Copied from LayoutTests/fast/block/positioning/positioned-float-layout-after-image-load.html.
* fast/block/positioning/resources/positioned-float-layout-after-image-load-2.html: Copied from LayoutTests/fast/block/positioning/resources/positioned-float-layout-after-image-load-2.html.

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

8 years agoAdd support for 8 bits strings to Document::isValidName()
benjamin@webkit.org [Mon, 19 Dec 2011 02:17:39 +0000 (02:17 +0000)]
Add support for 8 bits strings to Document::isValidName()
https://bugs.webkit.org/show_bug.cgi?id=74784

Patch by Benjamin Poulain <bpoulain@apple.com> on 2011-12-18
Reviewed by Andreas Kling.

The valid name has a fast path for ASCII, and a slow path
taking Unicode characters into account.

For 8-bit strings, we don't need to take the non-ASCII path
as it could never succeed if the ASCII path didn't.

* dom/Document.cpp:
(WebCore::isValidNameASCII):
(WebCore::Document::isValidName):

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

8 years agoUnreviewed expectations update.
morrita@google.com [Mon, 19 Dec 2011 02:13:25 +0000 (02:13 +0000)]
Unreviewed expectations update.

* platform/chromium-cg-mac-snowleopard/fast/text/drawBidiText-expected.png: Renamed from LayoutTests/platform/chromium-cg-mac/fast/text/drawBidiText-expected.png.
* platform/chromium-mac-snowleopard/fast/text/drawBidiText-expected.png: Renamed from LayoutTests/platform/chromium-mac/fast/text/drawBidiText-expected.png.
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug2479-4-expected.png: Renamed from LayoutTests/platform/chromium-mac/tables/mozilla/bugs/bug2479-4-expected.png.
* platform/chromium-win-vista/fast/text/drawBidiText-expected.png: Removed.
* platform/chromium-win-vista/svg/W3C-I18N/g-dirLTR-ubNone-expected.png: Removed.
* platform/chromium-win-vista/svg/W3C-I18N/g-dirLTR-ubNone-expected.txt:
* platform/chromium-win-vista/svg/W3C-I18N/g-dirLTR-ubOverride-expected.png: Removed.
* platform/chromium-win-vista/svg/W3C-I18N/g-dirLTR-ubOverride-expected.txt:
* platform/chromium-win-vista/svg/W3C-I18N/g-dirRTL-ubNone-expected.png: Removed.
* platform/chromium-win-vista/svg/W3C-I18N/g-dirRTL-ubNone-expected.txt:
* platform/chromium-win-vista/svg/W3C-I18N/g-dirRTL-ubOverride-expected.png: Removed.
* platform/chromium-win-vista/svg/W3C-I18N/g-dirRTL-ubOverride-expected.txt:
* platform/chromium-win-vista/svg/W3C-I18N/text-dirLTR-ubNone-expected.png: Removed.
* platform/chromium-win-vista/svg/W3C-I18N/text-dirLTR-ubNone-expected.txt:
* platform/chromium-win-vista/svg/W3C-I18N/text-dirLTR-ubOverride-expected.png:
* platform/chromium-win-vista/svg/W3C-I18N/text-dirLTR-ubOverride-expected.txt:
* platform/chromium-win-vista/svg/W3C-I18N/text-dirRTL-ubNone-expected.png: Removed.
* platform/chromium-win-vista/svg/W3C-I18N/text-dirRTL-ubNone-expected.txt:
* platform/chromium-win-vista/svg/W3C-I18N/text-dirRTL-ubOverride-expected.png: Removed.
* platform/chromium-win-vista/svg/W3C-I18N/text-dirRTL-ubOverride-expected.txt:
* platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context-expected.png: Removed.
* platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context-expected.txt:
* platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context-expected.png: Removed.
* platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context-expected.txt:
* platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.png:
* platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.txt:
* platform/chromium-win-vista/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.png: Removed.
* platform/chromium-win-vista/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.txt:
* platform/chromium-win-vista/svg/W3C-I18N/tspan-direction-rtl-expected.png: Removed.
* platform/chromium-win-vista/svg/W3C-I18N/tspan-direction-rtl-expected.txt:
* platform/chromium-win-vista/svg/text/bidi-tspans-expected.png: Removed.
* platform/chromium-win-vista/svg/text/bidi-tspans-expected.txt:
* platform/chromium-win-vista/tables/mozilla/bugs/bug2479-4-expected.png: Removed.

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

8 years ago[Qt] Remove redundant m_glWidget->makeCurrent() calls in GraphicsContext3DQt.
commit-queue@webkit.org [Mon, 19 Dec 2011 02:07:49 +0000 (02:07 +0000)]
[Qt] Remove redundant m_glWidget->makeCurrent() calls in GraphicsContext3DQt.
https://bugs.webkit.org/show_bug.cgi?id=73814

It causes a performance hit.
Moved the redundant function calls to makeContextCurrent().

Patch by Huang Dongsung <luxtella@company100.net> on 2011-12-18
Reviewed by Noam Rosenthal.

* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
(WebCore::GraphicsContext3DPrivate::paint):
(WebCore::GraphicsContext3DPrivate::makeCurrentIfNeeded):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
(WebCore::GraphicsContext3D::reshape):
(WebCore::GraphicsContext3D::activeTexture):
(WebCore::GraphicsContext3D::attachShader):
(WebCore::GraphicsContext3D::getAttachedShaders):
(WebCore::GraphicsContext3D::bindAttribLocation):
(WebCore::GraphicsContext3D::bindBuffer):
(WebCore::GraphicsContext3D::bindFramebuffer):
(WebCore::GraphicsContext3D::bindRenderbuffer):
(WebCore::GraphicsContext3D::bindTexture):
(WebCore::GraphicsContext3D::blendColor):
(WebCore::GraphicsContext3D::blendEquation):
(WebCore::GraphicsContext3D::blendEquationSeparate):
(WebCore::GraphicsContext3D::blendFunc):
(WebCore::GraphicsContext3D::blendFuncSeparate):
(WebCore::GraphicsContext3D::bufferData):
(WebCore::GraphicsContext3D::bufferSubData):
(WebCore::GraphicsContext3D::checkFramebufferStatus):
(WebCore::GraphicsContext3D::clearColor):
(WebCore::GraphicsContext3D::clear):
(WebCore::GraphicsContext3D::clearDepth):
(WebCore::GraphicsContext3D::clearStencil):
(WebCore::GraphicsContext3D::colorMask):
(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::compressedTexImage2D):
(WebCore::GraphicsContext3D::compressedTexSubImage2D):
(WebCore::GraphicsContext3D::copyTexImage2D):
(WebCore::GraphicsContext3D::copyTexSubImage2D):
(WebCore::GraphicsContext3D::cullFace):
(WebCore::GraphicsContext3D::depthFunc):
(WebCore::GraphicsContext3D::depthMask):
(WebCore::GraphicsContext3D::depthRange):
(WebCore::GraphicsContext3D::detachShader):
(WebCore::GraphicsContext3D::disable):
(WebCore::GraphicsContext3D::disableVertexAttribArray):
(WebCore::GraphicsContext3D::drawArrays):
(WebCore::GraphicsContext3D::drawElements):
(WebCore::GraphicsContext3D::enable):
(WebCore::GraphicsContext3D::enableVertexAttribArray):
(WebCore::GraphicsContext3D::finish):
(WebCore::GraphicsContext3D::flush):
(WebCore::GraphicsContext3D::framebufferRenderbuffer):
(WebCore::GraphicsContext3D::framebufferTexture2D):
(WebCore::GraphicsContext3D::frontFace):
(WebCore::GraphicsContext3D::generateMipmap):
(WebCore::GraphicsContext3D::getActiveAttrib):
(WebCore::GraphicsContext3D::getActiveUniform):
(WebCore::GraphicsContext3D::getAttribLocation):
(WebCore::GraphicsContext3D::getError):
(WebCore::GraphicsContext3D::getString):
(WebCore::GraphicsContext3D::hint):
(WebCore::GraphicsContext3D::isBuffer):
(WebCore::GraphicsContext3D::isEnabled):
(WebCore::GraphicsContext3D::isFramebuffer):
(WebCore::GraphicsContext3D::isProgram):
(WebCore::GraphicsContext3D::isRenderbuffer):
(WebCore::GraphicsContext3D::isShader):
(WebCore::GraphicsContext3D::isTexture):
(WebCore::GraphicsContext3D::lineWidth):
(WebCore::GraphicsContext3D::linkProgram):
(WebCore::GraphicsContext3D::pixelStorei):
(WebCore::GraphicsContext3D::polygonOffset):
(WebCore::GraphicsContext3D::readPixels):
(WebCore::GraphicsContext3D::releaseShaderCompiler):
(WebCore::GraphicsContext3D::renderbufferStorage):
(WebCore::GraphicsContext3D::sampleCoverage):
(WebCore::GraphicsContext3D::scissor):
(WebCore::GraphicsContext3D::shaderSource):
(WebCore::GraphicsContext3D::stencilFunc):
(WebCore::GraphicsContext3D::stencilFuncSeparate):
(WebCore::GraphicsContext3D::stencilMask):
(WebCore::GraphicsContext3D::stencilMaskSeparate):
(WebCore::GraphicsContext3D::stencilOp):
(WebCore::GraphicsContext3D::stencilOpSeparate):
(WebCore::GraphicsContext3D::texParameterf):
(WebCore::GraphicsContext3D::texParameteri):
(WebCore::GraphicsContext3D::uniform1f):
(WebCore::GraphicsContext3D::uniform1fv):
(WebCore::GraphicsContext3D::uniform2f):
(WebCore::GraphicsContext3D::uniform2fv):
(WebCore::GraphicsContext3D::uniform3f):
(WebCore::GraphicsContext3D::uniform3fv):
(WebCore::GraphicsContext3D::uniform4f):
(WebCore::GraphicsContext3D::uniform4fv):
(WebCore::GraphicsContext3D::uniform1i):
(WebCore::GraphicsContext3D::uniform1iv):
(WebCore::GraphicsContext3D::uniform2i):
(WebCore::GraphicsContext3D::uniform2iv):
(WebCore::GraphicsContext3D::uniform3i):
(WebCore::GraphicsContext3D::uniform3iv):
(WebCore::GraphicsContext3D::uniform4i):
(WebCore::GraphicsContext3D::uniform4iv):
(WebCore::GraphicsContext3D::uniformMatrix2fv):
(WebCore::GraphicsContext3D::uniformMatrix3fv):
(WebCore::GraphicsContext3D::uniformMatrix4fv):
(WebCore::GraphicsContext3D::useProgram):
(WebCore::GraphicsContext3D::validateProgram):
(WebCore::GraphicsContext3D::vertexAttrib1f):
(WebCore::GraphicsContext3D::vertexAttrib1fv):
(WebCore::GraphicsContext3D::vertexAttrib2f):
(WebCore::GraphicsContext3D::vertexAttrib2fv):
(WebCore::GraphicsContext3D::vertexAttrib3f):
(WebCore::GraphicsContext3D::vertexAttrib3fv):
(WebCore::GraphicsContext3D::vertexAttrib4f):
(WebCore::GraphicsContext3D::vertexAttrib4fv):
(WebCore::GraphicsContext3D::vertexAttribPointer):
(WebCore::GraphicsContext3D::viewport):
(WebCore::GraphicsContext3D::getBooleanv):
(WebCore::GraphicsContext3D::getBufferParameteriv):
(WebCore::GraphicsContext3D::getFloatv):
(WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
(WebCore::GraphicsContext3D::getIntegerv):
(WebCore::GraphicsContext3D::getProgramiv):
(WebCore::GraphicsContext3D::getProgramInfoLog):
(WebCore::GraphicsContext3D::getRenderbufferParameteriv):
(WebCore::GraphicsContext3D::getShaderiv):
(WebCore::GraphicsContext3D::getShaderInfoLog):
(WebCore::GraphicsContext3D::getShaderSource):
(WebCore::GraphicsContext3D::getTexParameterfv):
(WebCore::GraphicsContext3D::getTexParameteriv):
(WebCore::GraphicsContext3D::getUniformfv):
(WebCore::GraphicsContext3D::getUniformiv):
(WebCore::GraphicsContext3D::getUniformLocation):
(WebCore::GraphicsContext3D::getVertexAttribfv):
(WebCore::GraphicsContext3D::getVertexAttribiv):
(WebCore::GraphicsContext3D::getVertexAttribOffset):
(WebCore::GraphicsContext3D::texImage2D):
(WebCore::GraphicsContext3D::texSubImage2D):
(WebCore::GraphicsContext3D::createBuffer):
(WebCore::GraphicsContext3D::createFramebuffer):
(WebCore::GraphicsContext3D::createProgram):
(WebCore::GraphicsContext3D::createRenderbuffer):
(WebCore::GraphicsContext3D::createShader):
(WebCore::GraphicsContext3D::createTexture):
(WebCore::GraphicsContext3D::deleteBuffer):
(WebCore::GraphicsContext3D::deleteFramebuffer):
(WebCore::GraphicsContext3D::deleteProgram):
(WebCore::GraphicsContext3D::deleteRenderbuffer):
(WebCore::GraphicsContext3D::deleteShader):
(WebCore::GraphicsContext3D::deleteTexture):

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

8 years agoRemove the duplicated code from ASCIICType.h
benjamin@webkit.org [Mon, 19 Dec 2011 02:03:50 +0000 (02:03 +0000)]
Remove the duplicated code from ASCIICType.h
https://bugs.webkit.org/show_bug.cgi?id=74771

Patch by Benjamin Poulain <bpoulain@apple.com> on 2011-12-18
Reviewed by Andreas Kling.

Use isASCIIDigit() and isASCIIAlpha() instead of copying the code.

* wtf/ASCIICType.h:
(WTF::isASCIIDigit):
(WTF::isASCIIAlphanumeric):
(WTF::isASCIIHexDigit):

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

8 years agoRemoving unrelated printf() that slipped into my last commit.
kling@webkit.org [Mon, 19 Dec 2011 01:47:34 +0000 (01:47 +0000)]
Removing unrelated printf() that slipped into my last commit.

* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):

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

8 years agoAnother attempt to fix the windows build.
weinig@apple.com [Mon, 19 Dec 2011 01:43:47 +0000 (01:43 +0000)]
Another attempt to fix the windows build.

* Platform/win/WorkQueueWin.cpp:
(WorkQueue::performWorkOnRegisteredWorkThread):
(WorkQueue::dispatch):

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

8 years agoKURL::protocolIs() should handle 8-bit strings.
kling@webkit.org [Mon, 19 Dec 2011 01:40:15 +0000 (01:40 +0000)]
KURL::protocolIs() should handle 8-bit strings.
<http://webkit.org/b/74827>

Reviewed by Antti Koivisto.

* platform/KURL.cpp:
(WebCore::isLetterMatchIgnoringCase):

    Turned this into a template method so it can be used for both UChar and LChar.

(WebCore::charactersAreProtocol):
(WebCore::protocolIs):

    Handle 8/16 bit strings separately to avoid conversion.

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

8 years agoTry to fix the windows build.
weinig@apple.com [Mon, 19 Dec 2011 01:27:42 +0000 (01:27 +0000)]
Try to fix the windows build.

* Platform/win/WorkQueueWin.cpp:
(WorkQueue::performWorkOnRegisteredWorkThread):

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

8 years agoMake AccessibilityObject::lineForPosition return the correct value for cases where...
aboxhall@chromium.org [Mon, 19 Dec 2011 01:12:27 +0000 (01:12 +0000)]
Make AccessibilityObject::lineForPosition return the correct value for cases where the position is not within the current object.
https://bugs.webkit.org/show_bug.cgi?id=71348

Reviewed by Chris Fleizach.

Source/WebCore:

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::lineForPosition):
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

* accessibility/textarea-insertion-point-line-number-expected.txt:
* accessibility/textarea-insertion-point-line-number.html:

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

8 years agoMake EventHandler::handleWheelEvent take const PlatformWheelEvent&
weinig@apple.com [Mon, 19 Dec 2011 00:42:03 +0000 (00:42 +0000)]
Make EventHandler::handleWheelEvent take const PlatformWheelEvent&
https://bugs.webkit.org/show_bug.cgi?id=74824

Reviewed by Anders Carlsson.

* WebCore.exp.in:
* page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEvent):
* page/EventHandler.h:
* page/blackberry/EventHandlerBlackBerry.cpp:
(WebCore::EventHandler::passWheelEventToWidget):
* page/chromium/EventHandlerChromium.cpp:
(WebCore::EventHandler::passWheelEventToWidget):
* page/efl/EventHandlerEfl.cpp:
(WebCore::EventHandler::passWheelEventToWidget):
* page/gtk/EventHandlerGtk.cpp:
(WebCore::EventHandler::passWheelEventToWidget):
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::passWheelEventToWidget):
* page/qt/EventHandlerQt.cpp:
(WebCore::EventHandler::passWheelEventToWidget):
* page/win/EventHandlerWin.cpp:
(WebCore::EventHandler::passWheelEventToWidget):
* page/wx/EventHandlerWx.cpp:
(WebCore::EventHandler::passWheelEventToWidget):
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::copyTurningVerticalTicksIntoHorizontalTicks):

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

8 years ago[chromium] Add worldId parameter to allowScriptExtension()
koz@chromium.org [Mon, 19 Dec 2011 00:37:49 +0000 (00:37 +0000)]
[chromium] Add worldId parameter to allowScriptExtension()
https://bugs.webkit.org/show_bug.cgi?id=74214

Chromium uses the worldId to determine what extension is running in a
v8 context and knowing that at the time allowScriptExtension() is
called allows us to conditionally inject extension APIs.

Reviewed by Darin Fisher.

Source/WebCore:

* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::initContextIfNeeded):
(WebCore::V8DOMWindowShell::createNewContext):
* bindings/v8/V8DOMWindowShell.h:
* bindings/v8/V8IsolatedContext.cpp:
(WebCore::V8IsolatedContext::V8IsolatedContext):
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::allowScriptExtension):
* loader/FrameLoaderClient.h:

Source/WebKit/chromium:

* public/WebPermissionClient.h:
(WebKit::WebPermissionClient::allowScriptExtension):
* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::allowScriptExtension):
* src/FrameLoaderClientImpl.h:

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

8 years agoRemove now unused WorkItem.h
weinig@apple.com [Mon, 19 Dec 2011 00:37:47 +0000 (00:37 +0000)]
Remove now unused WorkItem.h
https://bugs.webkit.org/show_bug.cgi?id=74818

Reviewed by Andreas Kling.

* GNUmakefile.am:
* Platform/CoreIPC/Connection.cpp:
* Platform/RunLoop.cpp:
* Platform/RunLoop.h:
* Platform/WorkItem.h: Removed.
* Platform/gtk/RunLoopGtk.cpp:
* Platform/mac/RunLoopMac.mm:
* Platform/mac/WorkQueueMac.cpp:
(WorkQueue::platformInvalidate):
* Platform/qt/RunLoopQt.cpp:
* Platform/win/RunLoopWin.cpp:
* Target.pri:
* UIProcess/ResponsivenessTimer.cpp:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
* win/WebKit2.vcproj:

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

8 years agoAdoption agency iteration limits in HTML parser don't match HTML5 spec
abarth@webkit.org [Mon, 19 Dec 2011 00:29:02 +0000 (00:29 +0000)]
Adoption agency iteration limits in HTML parser don't match HTML5 spec
https://bugs.webkit.org/show_bug.cgi?id=74822

Reviewed by Eric Seidel.

Source/WebCore:

Previously, we were using the iteration limits from the old tree
builder.  Now we use the iteration limits from the HTML5 specification.

Tests: html5lib/runner.html

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

LayoutTests:

Show test progression.

* fast/parser/residual-style-dom-expected.txt:
* html5lib/runner-expected.txt:
* platform/chromium/html5lib/runner-expected.txt:

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=73954
antti@apple.com [Sun, 18 Dec 2011 23:47:15 +0000 (23:47 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=73954
REGRESSION (r97745): Transitions don't work on links

Source/WebCore:

Reviewed by Andreas Kling.

Test: transitions/visited-link-color.html

Since visited link colors are now part of the RenderStyle, they need to be transitioned
along with the corresponding regular colors.

* page/animation/AnimationBase.cpp:
(WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
(WebCore::PropertyWrapperVisitedAffectedColor::equals):
(WebCore::PropertyWrapperVisitedAffectedColor::blend):
(WebCore::AnimationBase::ensurePropertyMap):

    Add new wrapper class that applies both regular and visited color.

* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::visitedLinkColor):
(WebCore::InheritedFlags::visitedLinkBackgroundColor):
(WebCore::InheritedFlags::visitedLinkBorderLeftColor):
(WebCore::InheritedFlags::visitedLinkBorderRightColor):
(WebCore::InheritedFlags::visitedLinkBorderBottomColor):
(WebCore::InheritedFlags::visitedLinkBorderTopColor):
(WebCore::InheritedFlags::visitedLinkOutlineColor):
(WebCore::InheritedFlags::visitedLinkColumnRuleColor):
(WebCore::InheritedFlags::visitedLinkTextEmphasisColor):
(WebCore::InheritedFlags::visitedLinkTextFillColor):
(WebCore::InheritedFlags::visitedLinkTextStrokeColor):

    Add accessors.

* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

    Opportunistic fix. Don't know how to test.

LayoutTests:

Reviewed by Andreas Kling.

Unfortunately the automatic test provides code coverage only as reading back the properties
from the style always gives back non-visited values. The bug is visible running the test
manually.

* transitions/visited-link-color-expected.txt: Added.
* transitions/visited-link-color.html: Added.

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

8 years agoSet the main frame view scroll position asynchronously
andersca@apple.com [Sun, 18 Dec 2011 22:28:49 +0000 (22:28 +0000)]
Set the main frame view scroll position asynchronously
https://bugs.webkit.org/show_bug.cgi?id=74823

Reviewed by Sam Weinig.

Source/JavaScriptCore:

* JavaScriptCore.exp:

Source/WebCore:

* page/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::ScrollingCoordinator):
Initialize m_didDispatchDidUpdateMainFrameScrollPosition to false.

(WebCore::ScrollingCoordinator::didUpdateMainFrameScrollPosition):
Get the scroll position, reset m_didDispatchDidUpdateMainFrameScrollPosition to false and
then call FrameView::setScrollOffset to update the scroll position.

* page/ScrollingCoordinator.h:
* page/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
Update the scroll position and dispatch ScrollingCoordinator::didUpdateMainFrameScrollPosition on
the main thread if needed.

Source/WebKit2:

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
Don't make the background red.

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

8 years agoJSC/HTMLCollection: Optimize canGetItemsForName().
kling@webkit.org [Sun, 18 Dec 2011 22:21:05 +0000 (22:21 +0000)]
JSC/HTMLCollection: Optimize canGetItemsForName().
<http://webkit.org/b/74806>

Reviewed by Sam Weinig.

Add HTMLCollection::hasNamedItem(name) and use that in the JSC bindings'
canGetItemsForName() instead of fetching the list of named items just to
check if it's empty or not.

* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::JSHTMLAllCollection::canGetItemsForName):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::JSHTMLCollection::canGetItemsForName):
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::hasNamedItem):
* html/HTMLCollection.h:

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

8 years agoSpruce up PlatformWheelEvent a bit
weinig@apple.com [Sun, 18 Dec 2011 21:54:28 +0000 (21:54 +0000)]
Spruce up PlatformWheelEvent a bit
https://bugs.webkit.org/show_bug.cgi?id=74821

Reviewed by Dan Bernstein.

* dom/WheelEvent.cpp:
(WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::directionInvertedFromDevice):
Remove x/y getters in favor of direct access to the IntPoints, and rename
webkitDirectionInvertedFromDevice() to directionInvertedFromDevice() since
it is not an exposed API.

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

8 years agoRename EditCommandQt to UndoStepQt
hausmann@webkit.org [Sun, 18 Dec 2011 21:49:45 +0000 (21:49 +0000)]
Rename EditCommandQt to UndoStepQt
https://bugs.webkit.org/show_bug.cgi?id=74754

Reviewed by Ryosuke Niwa.

.:

* Source/api.pri:

Source/WebKit/qt:

* WebCoreSupport/EditorClientQt.cpp:
(WebCore::EditorClientQt::registerUndoStep):
* WebCoreSupport/UndoStepQt.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/EditCommandQt.cpp.
(UndoStepQt::UndoStepQt):
(UndoStepQt::~UndoStepQt):
(UndoStepQt::redo):
(UndoStepQt::undo):
* WebCoreSupport/UndoStepQt.h: Renamed from Source/WebKit/qt/WebCoreSupport/EditCommandQt.h.

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

8 years agoScroll the main frame on the scrolling thread
andersca@apple.com [Sun, 18 Dec 2011 21:41:44 +0000 (21:41 +0000)]
Scroll the main frame on the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=74820

Reviewed by Andreas Kling.

* page/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::handleWheelEvent):
Compute a scroll offset from the wheel event and tell the scrolling thread to scroll by the given offset.

* page/ScrollingCoordinator.h:
* page/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
Clamp the updated position to the minimum and maximum scrollable position.

(WebCore::ScrollingCoordinator::updateMainFrameScrollLayerPositionOnScrollingThread):
Actually reposition the layer.

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

8 years agoHTMLAllCollection: Get rid of stateful namedItem traversal.
kling@webkit.org [Sun, 18 Dec 2011 20:43:35 +0000 (20:43 +0000)]
HTMLAllCollection: Get rid of stateful namedItem traversal.
<http://webkit.org/b/74803>

Reviewed by Sam Weinig.

Source/WebCore:

Add a namedItemWithIndex() function to HTMLAllCollection to cover the
document.all(name, index) use-case. This moves the collection traversal
into WebCore and allows us to remove some complexity.

This incidentally fixes a bug where the CollectionCache would point to
the last node returned by document.all(name, index) without the correct
associated node index (because info()->current was getting set without
updating info()->position.) Added a layout test for that.

Test: fast/dom/htmlallcollection-call-with-index-caching-bug.html

* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::callHTMLAllCollection):
* bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
(WebCore::V8HTMLAllCollection::callAsFunctionCallback):

    Replace collection traversal by calls to namedItemWithIndex().

* html/HTMLCollection.h:

    Promoted updateNameCache() to protected (for HTMLAllCollection.)
    Demoted checkForNameMatch() to private.

* html/HTMLAllCollection.cpp:
(WebCore::HTMLAllCollection::namedItemWithIndex):

    Added for document.all(name, index). Uses the name/id cache.

* html/HTMLAllCollection.cpp:
* html/HTMLAllCollection.h:
(WebCore::HTMLAllCollection::HTMLAllCollection):

    Removed m_idsDone, HTMLAllCollection is now stateless.

LayoutTests:

* fast/dom/htmlallcollection-call-with-index-caching-bug-expected.txt: Added.
* fast/dom/htmlallcollection-call-with-index-caching-bug.html: Added.

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

8 years agoThe scrolling coordinator should know about the main frame scroll layer
andersca@apple.com [Sun, 18 Dec 2011 20:27:44 +0000 (20:27 +0000)]
The scrolling coordinator should know about the main frame scroll layer
https://bugs.webkit.org/show_bug.cgi?id=74817

Reviewed by Andreas Kling.

* page/ScrollingCoordinator.h:
* page/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingThread::threadCallback):
Move the * to where it belongs.

(WebCore::ScrollingCoordinator::setFrameScrollLayer):
Keep track of the underlying CALayer of the frame scroll layer.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::ensureRootLayer):
Call ScrollingCoordinator::setFrameScrollLayer.

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

8 years agoCorrect ChangeLog author mixup.
kling@webkit.org [Sun, 18 Dec 2011 20:09:45 +0000 (20:09 +0000)]
Correct ChangeLog author mixup.

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

8 years agoInteracting with GMail message lists is sluggish.
kling@webkit.org [Sun, 18 Dec 2011 20:07:47 +0000 (20:07 +0000)]
Interacting with GMail message lists is sluggish.
<http://webkit.org/b/74813>

Patch by Anders Carlsson <andersca@apple.com> on 2011-12-18
Reviewed by Dan Bernstein.

Add an argument to collapsed*Border() to control whether the border
color is computed or not. This allows us to avoid expensive work when
we're only interested in the metrics.

RenderStyle::visitedDependentColor() was very hot (4.5%) when hit-testing
on GMail and this removes its usage altogether.
This should be an improvement for table rendering as well, since it was
all happening below RenderBox::overflowClipRect().

* rendering/RenderTableCell.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::collapsedLeftBorder):
(WebCore::RenderTableCell::collapsedRightBorder):
(WebCore::RenderTableCell::collapsedTopBorder):
(WebCore::RenderTableCell::collapsedBottomBorder):

    Add and propagate an IncludeBorderColorOrNot argument that decides
    whether we compute the CollapsedBorderValue's color.

(WebCore::RenderTableCell::collapsedStartBorder):
(WebCore::RenderTableCell::collapsedEndBorder):

    Renamed start & end to startColorProperty & endColorProperty
    for clarity. Also same modifications as the above functions.

(WebCore::RenderTableCell::collapsedBeforeBorder):
(WebCore::RenderTableCell::collapsedAfterBorder):

    Renamed before & after to beforeColorProperty & afterColorProperty
    for clarity. Also same modifications as the above functions.

(WebCore::RenderTableCell::borderHalfStart):
(WebCore::RenderTableCell::borderHalfEnd):
(WebCore::RenderTableCell::borderHalfBefore):
(WebCore::RenderTableCell::borderHalfAfter):

    Pass DoNotIncludeBorderColor to collapsed*Border() since we only care
    about the metrics here.

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

8 years agoThe scrolling coordinator should keep track of the main frame geometry
andersca@apple.com [Sun, 18 Dec 2011 19:52:41 +0000 (19:52 +0000)]
The scrolling coordinator should keep track of the main frame geometry
https://bugs.webkit.org/show_bug.cgi?id=74816

Reviewed by Andreas Kling.

* page/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::syncFrameGeometry):
Update the frame geometry accordingly when it changes.

* page/ScrollingCoordinator.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidChangeSize):
(WebCore::RenderLayerCompositor::updateRootLayerPosition):
Call ScrollingCoordinator::syncFrameGeometry.

(WebCore::RenderLayerCompositor::scrollingCoordinator):
Add new getter.

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

8 years agoMove timestamp down from PlatformEvent subclasses to the base class
weinig@apple.com [Sun, 18 Dec 2011 19:45:42 +0000 (19:45 +0000)]
Move timestamp down from PlatformEvent subclasses to the base class
https://bugs.webkit.org/show_bug.cgi?id=74805

Reviewed by Anders Carlsson.

../WebCore:

* platform/PlatformEvent.h:
(WebCore::PlatformEvent::type):
(WebCore::PlatformEvent::timestamp):
(WebCore::PlatformEvent::PlatformEvent):
* platform/PlatformGestureEvent.h:
(WebCore::PlatformGestureEvent::PlatformGestureEvent):
* platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
(WebCore::PlatformMouseEvent::clickCount):
* platform/PlatformTouchEvent.h:
(WebCore::PlatformTouchEvent::PlatformTouchEvent):
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/efl/PlatformKeyboardEventEfl.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* platform/efl/PlatformMouseEventEfl.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/efl/PlatformTouchEventEfl.cpp:
(WebCore::PlatformTouchEvent::PlatformTouchEvent):
* platform/efl/PlatformWheelEventEfl.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/gtk/PlatformKeyboardEventGtk.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* platform/gtk/PlatformWheelEventGtk.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/mac/KeyEventMac.mm:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* platform/mac/PlatformMouseEventMac.mm:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/mac/WheelEventMac.mm:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* platform/qt/WheelEventQt.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/win/KeyEventWin.cpp:
(WebCore::singleCharacterString):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* platform/win/PlatformMouseEventWin.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/win/WheelEventWin.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/wx/KeyboardEventWx.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* platform/wx/MouseEventWx.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/wx/MouseWheelEventWx.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):

../WebKit2:

* Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
(WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
(WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
(WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):

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

8 years agoAdd a scrolling thread to the scrolling coordinator
andersca@apple.com [Sun, 18 Dec 2011 18:56:22 +0000 (18:56 +0000)]
Add a scrolling thread to the scrolling coordinator
https://bugs.webkit.org/show_bug.cgi?id=74814

Reviewed by Andreas Kling.

Source/WebCore:

* WebCore.exp.in:
Export ScrollingCoordinator::handleWheelEvent.

* WebCore.xcodeproj/project.pbxproj:
Add ScrollingCoordinatorMac.mm

* page/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::handleWheelEvent):
Add a stub function.

* page/ScrollingCoordinator.h:
* page/mac/ScrollingCoordinatorMac.mm: Added.
Add a ScrollingThread object which creates a thread and attaches a run loop source
to it, allowing for functions to be dispatched and run on said thread.

(WebCore::ScrollingCoordinator::isScrollingThread):
Call ScrollingThread::isCurrentThread.

(WebCore::ScrollingCoordinator::dispatchOnScrollingThread):
Call ScrollingThread::dispatch.

Source/WebKit2:

Check if the scrolling coordinator can handle the wheel event before dispatching it
to the main thread.

* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::wheelEvent):

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

8 years agoEventDispatcher should keep track of all scrolling coordinators
andersca@apple.com [Sun, 18 Dec 2011 18:01:53 +0000 (18:01 +0000)]
EventDispatcher should keep track of all scrolling coordinators
https://bugs.webkit.org/show_bug.cgi?id=74810

Reviewed by Andreas Kling.

Source/WebCore:

Export symbols needed by WebKit2.

* WebCore.exp.in:

Source/WebKit2:

* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::addScrollingCoordinatorForPage):
Get the scrolling coordinator from the WebCore page and add it to the map.

(WebKit::EventDispatcher::removeScrollingCoordinatorForPage):
Remove the scrolling coordinator from the map.

(WebKit::EventDispatcher::sendDidHandleEvent):
Add a new helper function, currently unused.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
Add the scrolling coordinator.

(WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
Remove the scrolling coordinator.

* WebProcess/WebProcess.h:
(WebKit::WebProcess::eventDispatcher):
Add a getter.

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

8 years agoMove everyone off of WorkItem
andersca@apple.com [Sun, 18 Dec 2011 17:06:52 +0000 (17:06 +0000)]
Move everyone off of WorkItem
https://bugs.webkit.org/show_bug.cgi?id=74773

Reviewed by Darin Adler.

* Platform/CoreIPC/unix/ConnectionUnix.cpp:
(CoreIPC::Connection::open):
(CoreIPC::Connection::setShouldCloseConnectionOnProcessTermination):
* Platform/CoreIPC/win/ConnectionWin.cpp:
(CoreIPC::Connection::open):
* Platform/RunLoop.cpp:
(RunLoop::performWork):
(RunLoop::dispatch):
* Platform/RunLoop.h:
* Platform/WorkQueue.cpp:
* Platform/WorkQueue.h:
(WorkQueue::WorkItemWin::function):
* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::EventSource::EventSource):
(WorkQueue::EventSource::executeEventSource):
(WorkQueue::registerEventSourceHandler):
(WorkQueue::dispatchOnSource):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):
(WorkQueue::dispatchOnTermination):
* Platform/mac/WorkQueueMac.cpp:
(WorkQueue::executeFunction):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):
* Platform/qt/WorkQueueQt.cpp:
(WorkQueue::WorkItemQt::WorkItemQt):
(WorkQueue::WorkItemQt::~WorkItemQt):
(WorkQueue::WorkItemQt::execute):
(WorkQueue::registerSocketEventHandler):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):
(WorkQueue::dispatchOnTermination):
* Platform/win/RunLoopWin.cpp:
(RunLoop::wakeUp):
* Platform/win/WorkQueueWin.cpp:
(WorkQueue::WorkItemWin::WorkItemWin):
(WorkQueue::WorkItemWin::create):
(WorkQueue::HandleWorkItem::HandleWorkItem):
(WorkQueue::HandleWorkItem::createByAdoptingHandle):
(WorkQueue::registerHandle):
(WorkQueue::dispatch):
* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Launcher/win/ProcessLauncherWin.cpp:
(WebKit::ProcessLauncher::launchProcess):
* WebProcess/mac/CoreIPCClientRunLoop.mm:
(WebKit::callOnCoreIPCClientRunLoopAndWait):

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

8 years agoAdd transform function completion to web-inspector
commit-queue@webkit.org [Sun, 18 Dec 2011 16:39:21 +0000 (16:39 +0000)]
Add transform function completion to web-inspector

Web Inspector: Auto-complete transform functions for -webkit-transform
https://bugs.webkit.org/show_bug.cgi?id=74730

Patch by Raul Hudea <rhudea@adobe.com> on 2011-12-18
Reviewed by Pavel Feldman.

No new test. Trivial change.

* inspector/front-end/CSSKeywordCompletions.js:

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

8 years agoWeb Inspector: chromium profiler: change default root type for retaining paths from...
loislo@chromium.org [Sun, 18 Dec 2011 15:24:30 +0000 (15:24 +0000)]
Web Inspector: chromium profiler: change default root type for retaining paths from GC Roots to DOMWindow.
https://bugs.webkit.org/show_bug.cgi?id=74697

Reviewed by Pavel Feldman.

* inspector/front-end/DetailedHeapshotView.js:
(WebInspector.DetailedHeapshotView.prototype.get isTracingToWindowObjects):

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

8 years agoWeb Inspector: move heap data stats to separate tab.
loislo@chromium.org [Sun, 18 Dec 2011 15:13:08 +0000 (15:13 +0000)]
Web Inspector: move heap data stats to separate tab.
https://bugs.webkit.org/show_bug.cgi?id=74704

Reviewed by Pavel Feldman.

* inspector/performance-test.js:
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump):
(initialize_TimeTracker.InspectorTest.runPerformanceTest):

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

8 years agoWeb Inspector: Switch to type-safe JSON ConsoleMessage.cpp, InspectorDOMAgent.cpp...
loislo@chromium.org [Sun, 18 Dec 2011 15:05:58 +0000 (15:05 +0000)]
Web Inspector: Switch to type-safe JSON ConsoleMessage.cpp, InspectorDOMAgent.cpp, InspectorDebuggerAgent.cpp, ScriptCallFrame.cpp
https://bugs.webkit.org/show_bug.cgi?id=74549

Patch by Peter Rybin <peter.rybin@gmail.com> on 2011-12-18
Reviewed by Pavel Feldman.

Source/WebCore:

Work with InspectorObject is replaced with type-safe generated API
usage.
Inspector.json and Inspector-0.1.json are also changed to better
reflect data types that are actually being transmitted.

* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::addToFrontend):
* inspector/Inspector-0.1.json:
* inspector/Inspector.json:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::resolveBreakpoint):
* inspector/ScriptCallFrame.cpp:
(WebCore::ScriptCallFrame::buildInspectorObject):

LayoutTests:

Expected file modified as JSON properties are now in different
order.

* inspector/protocol/console-agent-expected.txt:

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

8 years agoWeb Inspector: CodeGeneratorInspector.py: use generated types in method parameters
loislo@chromium.org [Sun, 18 Dec 2011 14:54:35 +0000 (14:54 +0000)]
Web Inspector: CodeGeneratorInspector.py: use generated types in method parameters
https://bugs.webkit.org/show_bug.cgi?id=74661

Patch by Peter Rybin <peter.rybin@gmail.com> on 2011-12-18
Reviewed by Pavel Feldman.

Type binding object is added to raw_type object.

* inspector/CodeGeneratorInspector.py:
(TypeBindings.create_for_named_type_declaration.EnumBinding.generate_type_builder):
(TypeBindings.create_for_named_type_declaration.EnumBinding.get_in_c_type_text):
(TypeBindings.create_for_named_type_declaration.EnumBinding):
(TypeBindings.create_for_named_type_declaration.EnumBinding.reduce_to_raw_type):
(TypeBindings.create_for_named_type_declaration.PlainString.generate_type_builder):
(TypeBindings.create_for_named_type_declaration.PlainString.reduce_to_raw_type):
(TypeBindings.create_for_named_type_declaration.PlainString):
(TypeBindings.create_for_named_type_declaration.PlainString.get_in_c_type_text):
(TypeBindings):
(TypeBindings.create_for_named_type_declaration.ClassBinding):
(get_in_c_type_text):
(reduce_to_raw_type):
(PlainObjectBinding.generate_type_builder):
(PlainObjectBinding.get_in_c_type_text):
(PlainObjectBinding):
(PlainObjectBinding.reduce_to_raw_type):
(RawTypesBinding.generate_type_builder):
(RawTypesBinding.get_in_c_type_text):
(RawTypesBinding):
(RawTypesBinding.reduce_to_raw_type):
(resolve_param_type.RawTypeBinding.reduce_to_raw_type):
(resolve_param_type.RawTypeBinding):
(resolve_param_type.RawTypeBinding.get_in_c_type_text):
(resolve_param_type):
(Generator.process_event):

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

8 years agoUnreviewed, rolling out r103169.
loislo@chromium.org [Sun, 18 Dec 2011 14:46:36 +0000 (14:46 +0000)]
Unreviewed, rolling out r103169.
http://trac.webkit.org/changeset/103169
https://bugs.webkit.org/show_bug.cgi?id=74809

it broke compilation on many platforms (Requested by loislo_
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-18

Source/WebCore:

* WebCore.gypi:
* platform/ColorChooser.cpp: Renamed from Source/WebKit/chromium/src/ColorChooserProxy.h.
(WebCore::ColorChooserClient::~ColorChooserClient):
(WebCore::ColorChooserClient::newColorChooser):
(WebCore::ColorChooserClient::discardChooser):
(WebCore::ColorChooser::ColorChooser):
(WebCore::ColorChooser::create):
(WebCore::ColorChooser::~ColorChooser):
(WebCore::ColorChooser::didChooseColor):
(WebCore::ColorChooser::didCleanup):

Source/WebKit/chromium:

* WebKit.gyp:
* features.gypi:
* public/WebColorChooser.h: Removed.
* public/WebColorChooserClient.h: Removed.
* public/WebViewClient.h:
* src/ChromeClientImpl.cpp:
* src/ChromeClientImpl.h:
* src/ColorChooserProxy.cpp: Removed.
* src/WebColorChooserClientImpl.cpp: Removed.
* src/WebColorChooserClientImpl.h: Removed.

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

8 years agoREGRESSION(r103149): prepare-ChangeLog outputs a warning
haraken@chromium.org [Sun, 18 Dec 2011 14:43:14 +0000 (14:43 +0000)]
REGRESSION(r103149): prepare-ChangeLog outputs a warning
https://bugs.webkit.org/show_bug.cgi?id=74808

Reviewed by David Kilzer.

Added the prototype declaration of main() to avoid warning messages.
Sorted subroutine declarations in the alphabetical order.

* Scripts/prepare-ChangeLog:

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

8 years ago[CSS Shaders] Add FECustomFilter that renders custom filters
achicu@adobe.com [Sun, 18 Dec 2011 11:02:16 +0000 (11:02 +0000)]
[CSS Shaders] Add FECustomFilter that renders custom filters
https://bugs.webkit.org/show_bug.cgi?id=73317

Source/WebCore:

Using a GraphicsContext3D to render the shaders in GPU, read the
result back and use it in the software filters pipeline.

Reviewed by Chris Marrin.

Test: css3/filters/effect-custom.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/cache/CachedShader.cpp:
(WebCore::CachedShader::CachedShader):
(WebCore::CachedShader::shaderString):
(WebCore::CachedShader::data):
* loader/cache/CachedShader.h:
* platform/graphics/filters/CustomFilterMesh.cpp: Added.
(WebCore::MeshGenerator::MeshGenerator):
(WebCore::MeshGenerator::vertices):
(WebCore::MeshGenerator::indices):
(WebCore::MeshGenerator::points):
(WebCore::MeshGenerator::pointsCount):
(WebCore::MeshGenerator::tiles):
(WebCore::MeshGenerator::tilesCount):
(WebCore::MeshGenerator::indicesCount):
(WebCore::MeshGenerator::floatsPerVertex):
(WebCore::MeshGenerator::vertexCount):
(WebCore::MeshGenerator::addTile):
(WebCore::MeshGenerator::addAttachedMeshIndex):
(WebCore::MeshGenerator::generateAttachedMesh):
(WebCore::MeshGenerator::addDetachedMeshVertexAndIndex):
(WebCore::MeshGenerator::generateDetachedMesh):
(WebCore::MeshGenerator::addPositionAttribute):
(WebCore::MeshGenerator::addTexCoordAttribute):
(WebCore::MeshGenerator::addMeshCoordAttribute):
(WebCore::MeshGenerator::addTriangleCoordAttribute):
(WebCore::MeshGenerator::addAttachedMeshVertexAttributes):
(WebCore::MeshGenerator::addDetachedMeshVertexAttributes):
(WebCore::MeshGenerator::dumpBuffers):
(WebCore::CustomFilterMesh::CustomFilterMesh):
(WebCore::CustomFilterMesh::~CustomFilterMesh):
* platform/graphics/filters/CustomFilterMesh.h: Added.
(WebCore::CustomFilterMesh::create):
(WebCore::CustomFilterMesh::verticesBufferObject):
(WebCore::CustomFilterMesh::bytesPerVertex):
(WebCore::CustomFilterMesh::elementsBufferObject):
(WebCore::CustomFilterMesh::indicesCount):
(WebCore::CustomFilterMesh::meshBox):
(WebCore::CustomFilterMesh::meshType):
* platform/graphics/filters/CustomFilterShader.cpp: Added.
(WebCore::CustomFilterShader::defaultVertexShaderString):
(WebCore::CustomFilterShader::defaultFragmentShaderString):
(WebCore::CustomFilterShader::CustomFilterShader):
(WebCore::CustomFilterShader::~CustomFilterShader):
* platform/graphics/filters/CustomFilterShader.h: Added.
* platform/graphics/filters/FECustomFilter.cpp: Added.
(WebCore::orthoMatrix):
(WebCore::FECustomFilter::FECustomFilter):
(WebCore::FECustomFilter::create):
(WebCore::FECustomFilter::platformApplySoftware):
(WebCore::FECustomFilter::dump):
(WebCore::FECustomFilter::externalRepresentation):
* platform/graphics/filters/FECustomFilter.h: Added.
* platform/graphics/gpu/Texture.cpp:
* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::toColumnMajorFloatArray):
* platform/graphics/transforms/TransformationMatrix.h:
* rendering/FilterEffectObserver.h: Copied from Source/WebCore/loader/cache/CachedShader.cpp.
(WebCore::FilterEffectObserver::~FilterEffectObserver):
* rendering/FilterEffectRenderer.cpp:
(WebCore::isWebGLEnabled):
(WebCore::FilterEffectRenderer::FilterEffectRenderer):
(WebCore::FilterEffectRenderer::build):
(WebCore::FilterEffectRenderer::notifyFinished):
* rendering/FilterEffectRenderer.h:
(WebCore::FilterEffectRenderer::create):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateOrRemoveFilterEffect):
(WebCore::RenderLayer::filterNeedsRepaint):
* rendering/RenderLayer.h:
* rendering/style/StyleCachedShader.h:
(WebCore::StyleCachedShader::cachedShader):
* rendering/style/StyleShader.h:
(WebCore::StyleShader::cachedShader):

LayoutTests:

WebKit2 doesn't support the WebGL flag in layoutTestController.overridePreference.
Skipping the test like all the other WebGL tests do.

Reviewed by Chris Marrin.

* css3/filters/effect-custom-expected.png: Added.
* css3/filters/effect-custom-expected.txt: Added.
* css3/filters/effect-custom.html: Added.
* css3/filters/resources/color-offset.fs: Added.
* css3/filters/resources/vertex-explode-detached.vs: Added.
* css3/filters/resources/vertex-offset.vs: Added.
* platform/wk2/Skipped: Skipping the test until WebGL can be enabled from layoutTestController.

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

8 years agoImplement <input type=color> UI WebKit chromium part
keishi@webkit.org [Sun, 18 Dec 2011 10:37:10 +0000 (10:37 +0000)]
Implement <input type=color> UI WebKit chromium part
https://bugs.webkit.org/show_bug.cgi?id=65897

Reviewed by Darin Fisher.

Source/WebCore:

* WebCore.gypi: Added ColorChooser.h and ColorChooserClient.h

Source/WebKit/chromium:

* WebKit.gyp: Added new files.
* features.gypi: Added ENABLE_INPUT_COLOR.
* public/WebColorChooser.h: Added. Interface for ColorChooserProxy to call.
(WebKit::WebColorChooser::~WebColorChooser):
(WebKit::WebColorChooser::setSelectedColor):
(WebKit::WebColorChooser::endChooser):
* public/WebColorChooserClient.h: Added.
(WebKit::WebColorChooserClient::~WebColorChooserClient):
(WebKit::WebColorChooserClient::didChooseColor): Only called when user changes the color.
(WebKit::WebColorChooserClient::didEndChooser): Called when WebColorChooser::endChooser is called.
* public/WebViewClient.h:
(WebKit::WebViewClient::createColorChooser): Creates a new color chooser. If there is an old color chooser, this will end it.
* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::createColorChooser): Calls WebViewClient::createColorChooser.
* src/ChromeClientImpl.h:
* src/ColorChooserProxy.cpp: Proxies calls to WebCore::ColorChooser to WebKit::WebColorChooser.
(WebKit::ColorChooserProxy::ColorChooserProxy):
(WebKit::ColorChooserProxy::~ColorChooserProxy):
(WebKit::ColorChooserProxy::setSelectedColor):
(WebKit::ColorChooserProxy::endChooser):
* src/ColorChooserProxy.h:
* src/WebColorChooserClientImpl.cpp: Proxies calls to WebKit::WebColorChooserClient to WebCore::ColorChooserClient.
(WebKit::WebColorChooserClientImpl::WebColorChooserClientImpl):
(WebKit::WebColorChooserClientImpl::~WebColorChooserClientImpl):
(WebKit::WebColorChooserClientImpl::didChooseColor):
(WebKit::WebColorChooserClientImpl::didEndChooser):
* src/WebColorChooserClientImpl.h: Added.

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

8 years agoRefactor input type color WebCore part
keishi@webkit.org [Sun, 18 Dec 2011 07:03:20 +0000 (07:03 +0000)]
Refactor input type color WebCore part
https://bugs.webkit.org/show_bug.cgi?id=74591

Reviewed by Kent Tamura.

Changing ColorChooser to address issues raised in Bug 65897.
Chrome::createColorChooser will return a WebCore::ColorChooser instance
so the WebCore side (ColorInputType) and call the WebKit side. We pass the ColorChooserClient as an argument
to Chrome::createColorChooser so the WebKit side can call callbacks, didEndChooser and didChooseColor.

* html/ColorInputType.cpp:
(WebCore::ColorInputType::~ColorInputType):
(WebCore::ColorInputType::setValue):
(WebCore::ColorInputType::handleDOMActivateEvent): Calls createColorChooser to open the color chooser.
(WebCore::ColorInputType::detach):
(WebCore::ColorInputType::didEndChooser): Release the ColorChooser object.
(WebCore::ColorInputType::endColorChooser):
(WebCore::ColorInputType::updateColorSwatch): Added argument so it will compile again.
* html/ColorInputType.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::selectColorInColorChooser):
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::createColorChooser):
* loader/FrameLoader.cpp:
* page/Chrome.cpp:
(WebCore::Chrome::createColorChooser): Opens the color chooser. Returns a ColorChooser PassOwnPtr.
* page/Chrome.h:
* page/ChromeClient.h:
* platform/ColorChooser.h:
(WebCore::ColorChooser::~ColorChooser):
(WebCore::ColorChooser::setSelectedColor):
(WebCore::ColorChooser::endChooser):
* platform/ColorChooserClient.h: Added.

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

8 years agoMake PlatformTouchEvent inherit from PlatformEvent
weinig@apple.com [Sun, 18 Dec 2011 06:09:11 +0000 (06:09 +0000)]
Make PlatformTouchEvent inherit from PlatformEvent
https://bugs.webkit.org/show_bug.cgi?id=74777

Reviewed by Andreas Kling.

../WebCore:

* platform/PlatformEvent.h:
Add TouchEvent types.

* platform/PlatformTouchEvent.h:
(WebCore::PlatformTouchEvent::PlatformTouchEvent):
Make inherit from PlatformEvent.

* platform/blackberry/PlatformTouchEventBlackBerry.cpp:
(WebCore::touchEventType):
(WebCore::PlatformTouchEvent::PlatformTouchEvent):
* platform/efl/PlatformTouchEventEfl.cpp:
(WebCore::PlatformTouchEvent::PlatformTouchEvent):
* platform/qt/PlatformTouchEventQt.cpp:
(WebCore::PlatformTouchEvent::PlatformTouchEvent):
Make necessary changes to work with new base class.

../WebKit/chromium:

* src/WebInputEventConversion.cpp:
(WebKit::toPlatformTouchEventType):
* tests/InnerGestureRecognizerTest.cpp:
(BuildablePlatformTouchEvent::BuildablePlatformTouchEvent):
(SimulateAndTestFirstClick):
(TouchPointAndEvent::TouchPointAndEvent):
Add PlatformEvent prefix to enum types.

../WebKit/efl:

* ewk/ewk_frame.cpp:
(ewk_frame_feed_touch_event):
Rename TouchEventType to PlatformEvent::Type.

../WebKit2:

* Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
Add PlatformEvent prefix to enum types.

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

8 years agoCache and reuse the HTMLAllCollection returned by document.all.
kling@webkit.org [Sun, 18 Dec 2011 03:57:51 +0000 (03:57 +0000)]
Cache and reuse the HTMLAllCollection returned by document.all.
<http://webkit.org/b/74768>

Reviewed by Antti Koivisto.

Source/WebCore:

Let Document cache the document.all collection, just like we do for
the other collections (.links, .images, etc.)
This is primarily a memory optimization, as repeated calls to
document.all will no longer cause collection objects to stack up.

Tests: fast/dom/document-collection-idempotence.html
       fast/dom/gc-9.html

* dom/Document.h:
* dom/Document.cpp:
(WebCore::Document::all):

    Cache the HTMLAllCollection and reuse it across calls instead of
    creating a new one each time.

* html/HTMLAllCollection.h:
* html/HTMLAllCollection.cpp:
(WebCore::HTMLAllCollection::create):
(WebCore::HTMLAllCollection::HTMLAllCollection):

    Make the HTMLAllCollection constructor take a Document* to enforce
    the fact that it's the only way it should ever be created.

* html/HTMLAllCollection.idl:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):

    Custom reachability code for JSC, same as HTMLCollection.

LayoutTests:

Update tests to document the new behavior of document.all.

* fast/dom/document-collection-idempotence-expected.txt:
* fast/dom/document-collection-idempotence.html:
* fast/dom/gc-9-expected.txt:
* fast/dom/gc-9.html:

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

8 years agoHTMLCollection: Simplify itemAfter().
kling@webkit.org [Sun, 18 Dec 2011 03:41:45 +0000 (03:41 +0000)]
HTMLCollection: Simplify itemAfter().
<http://webkit.org/b/74795>

Reviewed by Antti Koivisto.

Whether to do deep traversal of children depends on m_type which
doesn't change after construction, so move that decision there
by caching it in a "m_includeChildren" bit.

Also factored out the big switch statement in itemAfter() into
an isAcceptableElement() function.

Last and least, use fastHasAttribute() to check for itempropAttr
since it's not SVG animatable.

* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::shouldIncludeChildren):
(WebCore::HTMLCollection::isAcceptableElement):
(WebCore::HTMLCollection::itemAfter):
* html/HTMLCollection.h:

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

8 years ago[Qt] Fix QtTestBrowser compilation with QtWidgets module
commit-queue@webkit.org [Sun, 18 Dec 2011 03:35:12 +0000 (03:35 +0000)]
[Qt] Fix QtTestBrowser compilation with QtWidgets module
https://bugs.webkit.org/show_bug.cgi?id=74791

Patch by Adenilson Cavalcanti <cavalcantii@gmail.com> on 2011-12-17
Reviewed by Andreas Kling.

* QtTestBrowser/QtTestBrowser.pro:

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

8 years agoTagNodeList: Optimize nodeMatches() for the common case.
kling@webkit.org [Sun, 18 Dec 2011 03:32:32 +0000 (03:32 +0000)]
TagNodeList: Optimize nodeMatches() for the common case.
<http://webkit.org/b/74796>

Reviewed by Antti Koivisto.

Reject based on tag name mismatch before comparing the namespaces,
as this case is vastly more common.

nodeMatches() is very hot on the DOM Query (Dojo) test on Dromaeo.
This change takes it from 8.3% to 7.7% on my MBP.

* dom/TagNodeList.cpp:
(WebCore::TagNodeList::nodeMatches):

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

8 years agoNameNodeList: Use fastGetAttribute() in nodeMatches().
kling@webkit.org [Sun, 18 Dec 2011 03:28:35 +0000 (03:28 +0000)]
NameNodeList: Use fastGetAttribute() in nodeMatches().
<http://webkit.org/b/74797>

Reviewed by Darin Adler.

It's safe and slightly more efficient to use fastGetAttribute()
for HTMLNames::nameAttr here.

* dom/NameNodeList.cpp:
(WebCore::NameNodeList::nodeMatches):

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

8 years agoCSSPrimitiveValue: Inline getIdent().
kling@webkit.org [Sun, 18 Dec 2011 03:26:00 +0000 (03:26 +0000)]
CSSPrimitiveValue: Inline getIdent().
<http://webkit.org/b/74793>

Reviewed by Antti Koivisto.

Inline the trivial getIdent(), the same as its getFoo() siblings.

* css/CSSPrimitiveValue.cpp:
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::getIdent):

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

8 years agoCSSStyleSelector: Clean up matchRules().
kling@webkit.org [Sun, 18 Dec 2011 03:17:27 +0000 (03:17 +0000)]
CSSStyleSelector: Clean up matchRules().
<http://webkit.org/b/74794>

Reviewed by Antti Koivisto.

- Early return from the isCollectingRulesOnly() path to reduce nesting.
- Move the creation of m_ruleList out of the loop that builds the list.
- Removed some comments from the Captain Obvious department.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchRules):

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

8 years agoRuleSet: Remove style sheet null-check in addRulesFromSheet().
kling@webkit.org [Sun, 18 Dec 2011 03:06:33 +0000 (03:06 +0000)]
RuleSet: Remove style sheet null-check in addRulesFromSheet().
<http://webkit.org/b/74792>

Reviewed by Antti Koivisto.

Replace the "sheet" null-check in addRulesFromSheet() by an assertion.
The only call-site where it could be null was when adding rules from
an @import'ed sheet, so add a check there instead.

* css/CSSStyleSelector.cpp:
(WebCore::RuleSet::addRulesFromSheet):

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

8 years agoCSSStyleSelector: Clean up getColorFromPrimitiveValue().
kling@webkit.org [Sun, 18 Dec 2011 03:00:43 +0000 (03:00 +0000)]
CSSStyleSelector: Clean up getColorFromPrimitiveValue().
<http://webkit.org/b/74789>

Reviewed by Antti Koivisto.

Rename getColorFromPrimitiveValue() to colorFromPrimitiveValue() and rework
it to be a bit more readable.

* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::addStops):
* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyColor::applyValue):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::colorFromPrimitiveValue):
(WebCore::CSSStyleSelector::createFilterOperations):
* css/CSSStyleSelector.h:
* css/SVGCSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applySVGProperty):

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

8 years agoOpaqueJSClass: Remove RVCT2 workarounds.
kling@webkit.org [Sat, 17 Dec 2011 23:17:26 +0000 (23:17 +0000)]
OpaqueJSClass: Remove RVCT2 workarounds.
<http://webkit.org/b/74250>

Reviewed by Benjamin Poulain.

We no longer need workarounds for the RVCT2 compiler since it was
only used for the Symbian port of WebKit which is now defunct.

* API/JSClassRef.cpp:
(OpaqueJSClass::OpaqueJSClass):
(OpaqueJSClassContextData::OpaqueJSClassContextData):

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

8 years ago[chromium] Mark svg/W3C-SVG-1.1/animate-elem* tests as flaky crashers
enne@google.com [Sat, 17 Dec 2011 21:19:21 +0000 (21:19 +0000)]
[chromium] Mark svg/W3C-SVG-1.1/animate-elem* tests as flaky crashers
https://bugs.webkit.org/show_bug.cgi?id=74788

Unreviewed gardening.

There are only about a dozen tests that have been seen to fail on the
bots, but the set keeps changing. Rather than just marking known
failures, mark all these tests to avoid further gardening fallout.

* platform/chromium/test_expectations.txt:

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

8 years agoText dispappear when SVG font has no latin character
bashi@chromium.org [Sat, 17 Dec 2011 20:23:37 +0000 (20:23 +0000)]
Text dispappear when SVG font has no latin character
https://bugs.webkit.org/show_bug.cgi?id=71765

Reviewed by Nikolas Zimmermann.

Source/WebCore:

Initialize SVG font metrics even if the font doesn't contain latin characters.

Test: svg/custom/svg-fonts-no-latin-glyph.html

* svg/SVGFontData.cpp:
(WebCore::SVGFontData::initializeFontData): Initializes metrics even if the zeroGlyphPage doesn't exist.

LayoutTests:

Test that text can be displayed with a SVG font which has no latin character.

* svg/custom/svg-fonts-no-latin-glyph-expected.txt: Added.
* svg/custom/resources/no-latin-glyph-font.svg: Added.
* svg/custom/svg-fonts-no-latin-glyph.html: Added.

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

8 years ago[chromium] Rebaseline huge-layer-rotated after r103129.
enne@google.com [Sat, 17 Dec 2011 20:09:35 +0000 (20:09 +0000)]
[chromium] Rebaseline huge-layer-rotated after r103129.
https://bugs.webkit.org/show_bug.cgi?id=72686

Unreviewed gardening.

I don't understand why this would have changed rendering on any test,
but there are only small diffences in the lower left, so rebaselining.
It's also possible, but far less likely, that this was from r103130.

* platform/chromium-cg-mac-snowleopard/platform/chromium/compositing/huge-layer-rotated-expected.png:

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

8 years ago[chromium] Mark more worker tests as flaky crashers after r103095.
enne@google.com [Sat, 17 Dec 2011 19:52:52 +0000 (19:52 +0000)]
[chromium] Mark more worker tests as flaky crashers after r103095.
https://bugs.webkit.org/show_bug.cgi?id=74746

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

8 years ago[chromium] Mark fast/js/dfg-poison-fuzz.html as slow in debug.
enne@google.com [Sat, 17 Dec 2011 19:47:24 +0000 (19:47 +0000)]
[chromium] Mark fast/js/dfg-poison-fuzz.html as slow in debug.
https://bugs.webkit.org/show_bug.cgi?id=74787

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

8 years agoRadical sign drawn incorrectly due to refactoring typo
mitz@apple.com [Sat, 17 Dec 2011 18:51:45 +0000 (18:51 +0000)]
Radical sign drawn incorrectly due to refactoring typo
https://bugs.webkit.org/show_bug.cgi?id=74780

Patch by David Barton <dbarton@mathscribe.com> on 2011-12-17
Reviewed by Dan Bernstein.

LayoutTests/mathml/presentation/roots.xhtml shows the bug, but apparently its .png
checksum is ok so run-webkit-tests can't detect the problem.

* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::paint):
In revision 88250, one paintOffset should have been adjustedPaintOffset.

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

8 years ago[chromium] Reverting r103011, r103135 due to Aura test failures
enne@google.com [Sat, 17 Dec 2011 18:35:09 +0000 (18:35 +0000)]
[chromium] Reverting r103011, r103135 due to Aura test failures

Unreviewed gardening.

Source/WebCore:

* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::~ContentLayerChromium):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::notifySyncRequired):
* platform/graphics/chromium/GraphicsLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setLayerTreeHost):
(WebCore::LayerChromium::setNeedsCommit):
(WebCore::LayerChromium::setParent):
(WebCore::LayerChromium::setMaskLayer):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::setReplicaLayer):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::setLayerTreeHost):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::~CCLayerTreeHost):
(WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
(WebCore::CCLayerTreeHost::paintLayerContents):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::setRootLayer):

Source/WebKit/chromium:

* WebKit.gypi:
* public/platform/WebContentLayer.h:
* public/platform/WebExternalTextureLayer.h:
* public/platform/WebLayer.h:
* public/platform/WebLayerClient.h:
* src/WebContentLayer.cpp:
(WebKit::WebContentLayer::create):
* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayerImpl::create):
(WebKit::WebContentLayerImpl::WebContentLayerImpl):
(WebKit::WebContentLayerImpl::notifySyncRequired):
* src/WebContentLayerImpl.h:
* src/WebExternalTextureLayer.cpp:
(WebKit::WebExternalTextureLayer::create):
* src/WebExternalTextureLayerImpl.cpp:
(WebKit::WebExternalTextureLayerImpl::create):
(WebKit::WebExternalTextureLayerImpl::WebExternalTextureLayerImpl):
(WebKit::WebExternalTextureLayerImpl::notifySyncRequired):
* src/WebExternalTextureLayerImpl.h:
* src/WebLayer.cpp:
(WebKit::WebLayer::create):
* src/WebLayerImpl.cpp:
(WebKit::WebLayerImpl::create):
(WebKit::WebLayerImpl::WebLayerImpl):
(WebKit::WebLayerImpl::notifySyncRequired):
* src/WebLayerImpl.h:
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::create):
(WebKit::WebLayerTreeViewImpl::WebLayerTreeViewImpl):
* src/WebLayerTreeViewImpl.h:
* tests/CCLayerTreeHostImplTest.cpp:
* tests/CCLayerTreeHostTest.cpp:
(WTF::MockLayerTreeHost::create):
(WTF::MockLayerTreeHost::MockLayerTreeHost):
(WTF::CompositorMockWebGraphicsContext3D::create):
(WTF::CompositorMockWebGraphicsContext3D::makeContextCurrent):
(WTF::CompositorMockWebGraphicsContext3D::createProgram):
(WTF::CompositorMockWebGraphicsContext3D::createShader):
(WTF::CompositorMockWebGraphicsContext3D::getShaderiv):
(WTF::CompositorMockWebGraphicsContext3D::getProgramiv):
(WTF::CompositorMockWebGraphicsContext3D::CompositorMockWebGraphicsContext3D):
(WTF::MockLayerTreeHostClient::createLayerTreeHostContext3D):
(WTF::CCLayerTreeHostTestShortlived1::beginTest):
(WTF::CCLayerTreeHostTestShortlived2::beginTest):
(WTF::CCLayerTreeHostTestShortlived3::beginTest):
(WTF::CCLayerTreeHostTestScrollSimple::beginCommitOnCCThread):
(WTF::TestOpacityChangeLayerDelegate::notifySyncRequired):
* tests/CompositorFakeGraphicsContext3D.h: Removed.
* tests/CompositorFakeWebGraphicsContext3D.h: Removed.
* tests/LayerChromiumTest.cpp:
* tests/MockGraphicsContext3DTest.cpp: Renamed from Source/WebKit/chromium/tests/FakeGraphicsContext3DTest.cpp.
(FrameCountingContext::FrameCountingContext):
(FrameCountingContext::prepareTexture):
(FrameCountingContext::frameCount):
(TEST):
(ContextThatCountsMakeCurrents::ContextThatCountsMakeCurrents):
(ContextThatCountsMakeCurrents::makeContextCurrent):
(ContextThatCountsMakeCurrents::makeCurrentCount):
(ContextWithMakeCurrentThatFails::ContextWithMakeCurrentThatFails):
(ContextWithMakeCurrentThatFails::makeContextCurrent):
* tests/MockWebGraphicsContext3D.h: Renamed from Source/WebKit/chromium/tests/FakeWebGraphicsContext3D.h.
(WebKit::MockWebGraphicsContext3D::initialize):
(WebKit::MockWebGraphicsContext3D::makeContextCurrent):
(WebKit::MockWebGraphicsContext3D::width):
(WebKit::MockWebGraphicsContext3D::height):
(WebKit::MockWebGraphicsContext3D::reshape):
(WebKit::MockWebGraphicsContext3D::isGLES2Compliant):
(WebKit::MockWebGraphicsContext3D::readBackFramebuffer):
(WebKit::MockWebGraphicsContext3D::getPlatformTextureId):
(WebKit::MockWebGraphicsContext3D::prepareTexture):
(WebKit::MockWebGraphicsContext3D::postSubBufferCHROMIUM):
(WebKit::MockWebGraphicsContext3D::synthesizeGLError):
(WebKit::MockWebGraphicsContext3D::isContextLost):
(WebKit::MockWebGraphicsContext3D::mapBufferSubDataCHROMIUM):
(WebKit::MockWebGraphicsContext3D::unmapBufferSubDataCHROMIUM):
(WebKit::MockWebGraphicsContext3D::mapTexSubImage2DCHROMIUM):
(WebKit::MockWebGraphicsContext3D::unmapTexSubImage2DCHROMIUM):
(WebKit::MockWebGraphicsContext3D::setVisibilityCHROMIUM):
(WebKit::MockWebGraphicsContext3D::getRequestableExtensionsCHROMIUM):
(WebKit::MockWebGraphicsContext3D::requestExtensionCHROMIUM):
(WebKit::MockWebGraphicsContext3D::blitFramebufferCHROMIUM):
(WebKit::MockWebGraphicsContext3D::renderbufferStorageMultisampleCHROMIUM):
(WebKit::MockWebGraphicsContext3D::activeTexture):
(WebKit::MockWebGraphicsContext3D::attachShader):
(WebKit::MockWebGraphicsContext3D::bindAttribLocation):
(WebKit::MockWebGraphicsContext3D::bindBuffer):
(WebKit::MockWebGraphicsContext3D::bindFramebuffer):
(WebKit::MockWebGraphicsContext3D::bindRenderbuffer):
(WebKit::MockWebGraphicsContext3D::bindTexture):
(WebKit::MockWebGraphicsContext3D::blendColor):
(WebKit::MockWebGraphicsContext3D::blendEquation):
(WebKit::MockWebGraphicsContext3D::blendEquationSeparate):
(WebKit::MockWebGraphicsContext3D::blendFunc):
(WebKit::MockWebGraphicsContext3D::blendFuncSeparate):
(WebKit::MockWebGraphicsContext3D::bufferData):
(WebKit::MockWebGraphicsContext3D::bufferSubData):
(WebKit::MockWebGraphicsContext3D::checkFramebufferStatus):
(WebKit::MockWebGraphicsContext3D::clear):
(WebKit::MockWebGraphicsContext3D::clearColor):
(WebKit::MockWebGraphicsContext3D::clearDepth):
(WebKit::MockWebGraphicsContext3D::clearStencil):
(WebKit::MockWebGraphicsContext3D::colorMask):
(WebKit::MockWebGraphicsContext3D::compileShader):
(WebKit::MockWebGraphicsContext3D::compressedTexImage2D):
(WebKit::MockWebGraphicsContext3D::compressedTexSubImage2D):
(WebKit::MockWebGraphicsContext3D::copyTexImage2D):
(WebKit::MockWebGraphicsContext3D::copyTexSubImage2D):
(WebKit::MockWebGraphicsContext3D::cullFace):
(WebKit::MockWebGraphicsContext3D::depthFunc):
(WebKit::MockWebGraphicsContext3D::depthMask):
(WebKit::MockWebGraphicsContext3D::depthRange):
(WebKit::MockWebGraphicsContext3D::detachShader):
(WebKit::MockWebGraphicsContext3D::disable):
(WebKit::MockWebGraphicsContext3D::disableVertexAttribArray):
(WebKit::MockWebGraphicsContext3D::drawArrays):
(WebKit::MockWebGraphicsContext3D::drawElements):
(WebKit::MockWebGraphicsContext3D::enable):
(WebKit::MockWebGraphicsContext3D::enableVertexAttribArray):
(WebKit::MockWebGraphicsContext3D::finish):
(WebKit::MockWebGraphicsContext3D::flush):
(WebKit::MockWebGraphicsContext3D::framebufferRenderbuffer):
(WebKit::MockWebGraphicsContext3D::framebufferTexture2D):
(WebKit::MockWebGraphicsContext3D::frontFace):
(WebKit::MockWebGraphicsContext3D::generateMipmap):
(WebKit::MockWebGraphicsContext3D::getActiveAttrib):
(WebKit::MockWebGraphicsContext3D::getActiveUniform):
(WebKit::MockWebGraphicsContext3D::getAttachedShaders):
(WebKit::MockWebGraphicsContext3D::getAttribLocation):
(WebKit::MockWebGraphicsContext3D::getBooleanv):
(WebKit::MockWebGraphicsContext3D::getBufferParameteriv):
(WebKit::MockWebGraphicsContext3D::getContextAttributes):
(WebKit::MockWebGraphicsContext3D::getError):
(WebKit::MockWebGraphicsContext3D::getFloatv):
(WebKit::MockWebGraphicsContext3D::getFramebufferAttachmentParameteriv):
(WebKit::MockWebGraphicsContext3D::getIntegerv):
(WebKit::MockWebGraphicsContext3D::getProgramiv):
(WebKit::MockWebGraphicsContext3D::getProgramInfoLog):
(WebKit::MockWebGraphicsContext3D::getRenderbufferParameteriv):
(WebKit::MockWebGraphicsContext3D::getShaderiv):
(WebKit::MockWebGraphicsContext3D::getShaderInfoLog):
(WebKit::MockWebGraphicsContext3D::getShaderSource):
(WebKit::MockWebGraphicsContext3D::getString):
(WebKit::MockWebGraphicsContext3D::getTexParameterfv):
(WebKit::MockWebGraphicsContext3D::getTexParameteriv):
(WebKit::MockWebGraphicsContext3D::getUniformfv):
(WebKit::MockWebGraphicsContext3D::getUniformiv):
(WebKit::MockWebGraphicsContext3D::getUniformLocation):
(WebKit::MockWebGraphicsContext3D::getVertexAttribfv):
(WebKit::MockWebGraphicsContext3D::getVertexAttribiv):
(WebKit::MockWebGraphicsContext3D::getVertexAttribOffset):
(WebKit::MockWebGraphicsContext3D::hint):
(WebKit::MockWebGraphicsContext3D::isBuffer):
(WebKit::MockWebGraphicsContext3D::isEnabled):
(WebKit::MockWebGraphicsContext3D::isFramebuffer):
(WebKit::MockWebGraphicsContext3D::isProgram):
(WebKit::MockWebGraphicsContext3D::isRenderbuffer):
(WebKit::MockWebGraphicsContext3D::isShader):
(WebKit::MockWebGraphicsContext3D::isTexture):
(WebKit::MockWebGraphicsContext3D::lineWidth):
(WebKit::MockWebGraphicsContext3D::linkProgram):
(WebKit::MockWebGraphicsContext3D::pixelStorei):
(WebKit::MockWebGraphicsContext3D::polygonOffset):
(WebKit::MockWebGraphicsContext3D::readPixels):
(WebKit::MockWebGraphicsContext3D::releaseShaderCompiler):
(WebKit::MockWebGraphicsContext3D::renderbufferStorage):
(WebKit::MockWebGraphicsContext3D::sampleCoverage):
(WebKit::MockWebGraphicsContext3D::scissor):
(WebKit::MockWebGraphicsContext3D::shaderSource):
(WebKit::MockWebGraphicsContext3D::stencilFunc):
(WebKit::MockWebGraphicsContext3D::stencilFuncSeparate):
(WebKit::MockWebGraphicsContext3D::stencilMask):
(WebKit::MockWebGraphicsContext3D::stencilMaskSeparate):
(WebKit::MockWebGraphicsContext3D::stencilOp):
(WebKit::MockWebGraphicsContext3D::stencilOpSeparate):
(WebKit::MockWebGraphicsContext3D::texImage2D):
(WebKit::MockWebGraphicsContext3D::texParameterf):
(WebKit::MockWebGraphicsContext3D::texParameteri):
(WebKit::MockWebGraphicsContext3D::texSubImage2D):
(WebKit::MockWebGraphicsContext3D::uniform1f):
(WebKit::MockWebGraphicsContext3D::uniform1fv):
(WebKit::MockWebGraphicsContext3D::uniform1i):
(WebKit::MockWebGraphicsContext3D::uniform1iv):
(WebKit::MockWebGraphicsContext3D::uniform2f):
(WebKit::MockWebGraphicsContext3D::uniform2fv):
(WebKit::MockWebGraphicsContext3D::uniform2i):
(WebKit::MockWebGraphicsContext3D::uniform2iv):
(WebKit::MockWebGraphicsContext3D::uniform3f):
(WebKit::MockWebGraphicsContext3D::uniform3fv):
(WebKit::MockWebGraphicsContext3D::uniform3i):
(WebKit::MockWebGraphicsContext3D::uniform3iv):
(WebKit::MockWebGraphicsContext3D::uniform4f):
(WebKit::MockWebGraphicsContext3D::uniform4fv):
(WebKit::MockWebGraphicsContext3D::uniform4i):
(WebKit::MockWebGraphicsContext3D::uniform4iv):
(WebKit::MockWebGraphicsContext3D::uniformMatrix2fv):
(WebKit::MockWebGraphicsContext3D::uniformMatrix3fv):
(WebKit::MockWebGraphicsContext3D::uniformMatrix4fv):
(WebKit::MockWebGraphicsContext3D::useProgram):
(WebKit::MockWebGraphicsContext3D::validateProgram):
(WebKit::MockWebGraphicsContext3D::vertexAttrib1f):
(WebKit::MockWebGraphicsContext3D::vertexAttrib1fv):
(WebKit::MockWebGraphicsContext3D::vertexAttrib2f):
(WebKit::MockWebGraphicsContext3D::vertexAttrib2fv):
(WebKit::MockWebGraphicsContext3D::vertexAttrib3f):
(WebKit::MockWebGraphicsContext3D::vertexAttrib3fv):
(WebKit::MockWebGraphicsContext3D::vertexAttrib4f):
(WebKit::MockWebGraphicsContext3D::vertexAttrib4fv):
(WebKit::MockWebGraphicsContext3D::vertexAttribPointer):
(WebKit::MockWebGraphicsContext3D::viewport):
(WebKit::MockWebGraphicsContext3D::createBuffer):
(WebKit::MockWebGraphicsContext3D::createFramebuffer):
(WebKit::MockWebGraphicsContext3D::createProgram):
(WebKit::MockWebGraphicsContext3D::createRenderbuffer):
(WebKit::MockWebGraphicsContext3D::createShader):
(WebKit::MockWebGraphicsContext3D::createTexture):
(WebKit::MockWebGraphicsContext3D::deleteBuffer):
(WebKit::MockWebGraphicsContext3D::deleteFramebuffer):
(WebKit::MockWebGraphicsContext3D::deleteProgram):
(WebKit::MockWebGraphicsContext3D::deleteRenderbuffer):
(WebKit::MockWebGraphicsContext3D::deleteShader):
(WebKit::MockWebGraphicsContext3D::deleteTexture):
(WebKit::MockWebGraphicsContext3D::texStorage2DEXT):
* tests/WebGLLayerChromiumTest.cpp:
(WebKit::CompositorMockWebGraphicsContext3D::create):
(WebKit::CompositorMockWebGraphicsContext3D::makeContextCurrent):
(WebKit::CompositorMockWebGraphicsContext3D::createProgram):
(WebKit::CompositorMockWebGraphicsContext3D::createShader):
(WebKit::CompositorMockWebGraphicsContext3D::getShaderiv):
(WebKit::CompositorMockWebGraphicsContext3D::getProgramiv):
(WebKit::CompositorMockWebGraphicsContext3D::getContextAttributes):
(WebKit::CompositorMockWebGraphicsContext3D::CompositorMockWebGraphicsContext3D):
(WebKit::createGraphicsContext):
(WebKit::TEST):
* tests/WebLayerTest.cpp:
(testing::WebLayerTest::WebLayerTest):
(testing::TEST_F):

LayoutTests:

* platform/chromium/test_expectations.txt:

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

8 years agoRemove top-level code completely from prepare-ChangeLog
haraken@chromium.org [Sat, 17 Dec 2011 18:15:48 +0000 (18:15 +0000)]
Remove top-level code completely from prepare-ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=74698

Reviewed by Darin Adler.

We are planning to write unit-tests for prepare-ChangeLog in a run-leaks_unittest manner.
This patch just moves all top-level code into main().

* Scripts/prepare-ChangeLog:
(main):

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

8 years ago Hardware acceleration of W3C Filter Effects
cmarrin@apple.com [Sat, 17 Dec 2011 17:46:57 +0000 (17:46 +0000)]
    Hardware acceleration of W3C Filter Effects
        https://bugs.webkit.org/show_bug.cgi?id=68479

        Reviewed by Simon Fraser.

        Tests: css3/filters/effect-blur-hw.html
               css3/filters/effect-combined-hw.html
               css3/filters/effect-drop-shadow-hw.html
               css3/filters/effect-grayscale-hw.html
               css3/filters/effect-hue-rotate-hw.html
               css3/filters/effect-invert-hw.html
               css3/filters/effect-opacity-hw.html
               css3/filters/effect-saturate-hw.html
               css3/filters/effect-sepia-hw.html

        Implement hardware acceleration of filters. If a filter is
        on a RenderLayer and that layer has a GraphicsLayer, a test
        is done to see if the desired filter can be rendered in hardware.
        If so, skip rendering it when painting, and add the filters to the
        CALayer. Currently Mac only, using CoreImage. Animation is done in
        software, with the filters being recreated every frame. There are
        some fidelity issues with the software renderer, but those will
        be dealt with as bugs to be fixed.

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

8 years ago[Chromium] Implement PluginViewBase::getFormValue
bashi@chromium.org [Sat, 17 Dec 2011 17:10:41 +0000 (17:10 +0000)]
[Chromium] Implement PluginViewBase::getFormValue
https://bugs.webkit.org/show_bug.cgi?id=64434

Reviewed by Darin Fisher.

This patch was landed as r102873, but reverted because of Chromium Mac build failure.
The fix was landed as Chromium r114920. The patch should be safe to land.

No new tests. No behavior change at this time. We should add a test for PPAPI after chromium supports the feature.

* public/WebPlugin.h: Added getFormValue().
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::getFormValue): Added.
* src/WebPluginContainerImpl.h: Added getFormValue().

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

8 years ago[Qt] fast/canvas/2d.text.draw.fill.maxWidth.gradient.html fails with newer Qt5
ossy@webkit.org [Sat, 17 Dec 2011 13:07:12 +0000 (13:07 +0000)]
[Qt] fast/canvas/2d.text.draw.fill.maxWidth.gradient.html fails with newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=74785

* platform/qt-5.0/Skipped: Skip fast/canvas/2d.text.draw.fill.maxWidth.gradient.html.

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

8 years agoUnreviewed, GTK build fix after r103131.
philn@webkit.org [Sat, 17 Dec 2011 08:59:29 +0000 (08:59 +0000)]
Unreviewed, GTK build fix after r103131.

* GNUmakefile.list.am: Fix typo... s/.cop/.cpp

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

8 years agoRemove the duplicated code from ASCIICType.h
benjamin@webkit.org [Sat, 17 Dec 2011 06:35:29 +0000 (06:35 +0000)]
Remove the duplicated code from ASCIICType.h
https://bugs.webkit.org/show_bug.cgi?id=74771

Patch by Benjamin Poulain <bpoulain@apple.com> on 2011-12-16
Reviewed by Andreas Kling.

The functions were sharing similar code and were defined for the various input types.
Use templates instead to avoid code duplication.

* wtf/ASCIICType.h:
(WTF::isASCII):
(WTF::isASCIIAlpha):
(WTF::isASCIIAlphanumeric):
(WTF::isASCIIDigit):
(WTF::isASCIIHexDigit):
(WTF::isASCIILower):
(WTF::isASCIIOctalDigit):
(WTF::isASCIIPrintable):
(WTF::isASCIISpace):
(WTF::isASCIIUpper):
(WTF::toASCIILower):
(WTF::toASCIIUpper):
(WTF::toASCIIHexValue):
(WTF::lowerNibbleToASCIIHexDigit):
(WTF::upperNibbleToASCIIHexDigit):

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

8 years agoFEComposite does not build when you disable filters on ARMv7
benjamin@webkit.org [Sat, 17 Dec 2011 05:53:42 +0000 (05:53 +0000)]
FEComposite does not build when you disable filters on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=74772

Patch by Benjamin Poulain <bpoulain@apple.com> on 2011-12-16
Reviewed by David Kilzer.

Add the missing ENABLE(FILTERS).

* platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp:
* platform/graphics/filters/arm/FECompositeArithmeticNEON.h:

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

8 years agoRoll out r103139 because it breaks the build.
mrowe@apple.com [Sat, 17 Dec 2011 04:50:01 +0000 (04:50 +0000)]
Roll out r103139 because it breaks the build.

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

8 years agoMac build fix after r103104.
rniwa@webkit.org [Sat, 17 Dec 2011 04:44:04 +0000 (04:44 +0000)]
Mac build fix after r103104.

* WebCore.xcodeproj/project.pbxproj:

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

8 years agoConsolidate before-advice regarding attribute modification into a single method
adamk@chromium.org [Sat, 17 Dec 2011 04:36:34 +0000 (04:36 +0000)]
Consolidate before-advice regarding attribute modification into a single method
https://bugs.webkit.org/show_bug.cgi?id=74752

Reviewed by Ryosuke Niwa.

Adds a willModifyAttribute method to Element, meant to be called
before an attribute on that Element is added/removed/changed.

Replace most calls to Element::updateId and all calls to
Element::enqueueAttributesMutationRecordIfRequested with calls to
willModifyAttribute. Moreover, enqueueAttributesMutation... can now
be private since its only caller is willModifyAttribute.

The only remaining direct calls to updateId are in cases the entire
NamedNodeMap is being replaced. These are implementation details of
WebCore that shouldn't be exposed via MutationObservers.

No new tests, no expected change in behavior.

* dom/Attr.cpp:
(WebCore::Attr::setValue):
(WebCore::Attr::childrenChanged): Besides the above change, use a
StringBuilder to build up value, and only do String -> AtomicString
conversion once.
* dom/Element.cpp:
(WebCore::Element::setAttributeInternal):
* dom/Element.h:
(WebCore::Element::willModifyAttribute):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::setNamedItem):
(WebCore::NamedNodeMap::removeNamedItem):

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

8 years agoRemove unused variable after r74747 (buildfix)
commit-queue@webkit.org [Sat, 17 Dec 2011 03:46:17 +0000 (03:46 +0000)]
Remove unused variable after r74747 (buildfix)
https://bugs.webkit.org/show_bug.cgi?id=74767

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2011-12-16
Reviewed by Darin Adler.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePutByValForByteArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):

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

8 years agoReverted r103120, this breaks v8 on ARMv7 DFG.
barraclough@apple.com [Sat, 17 Dec 2011 02:40:35 +0000 (02:40 +0000)]
Reverted r103120, this breaks v8 on ARMv7 DFG.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGNode.h:
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateArithNodeFlags):
(JSC::DFG::Propagator::fixupNode):
(JSC::DFG::Propagator::byValIsPure):
(JSC::DFG::Propagator::clobbersWorld):
(JSC::DFG::Propagator::getByValLoadElimination):
(JSC::DFG::Propagator::checkStructureLoadElimination):
(JSC::DFG::Propagator::getByOffsetLoadElimination):
(JSC::DFG::Propagator::getPropertyStorageLoadElimination):
(JSC::DFG::Propagator::getIndexedPropertyStorageLoadElimination):
(JSC::DFG::Propagator::performNodeCSE):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePutByValForByteArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

8 years agoLayout Test media/controls-right-click-on-timebar.html is flaky - Crash on LEOPARD...
commit-queue@webkit.org [Sat, 17 Dec 2011 02:37:43 +0000 (02:37 +0000)]
Layout Test media/controls-right-click-on-timebar.html is flaky - Crash on LEOPARD CG DEBUG
ffmpeg_video_decoder.cc has been reworked extensively since the reported crashes
and the test is 0% flaky now.
https://bugs.webkit.org/show_bug.cgi?id=68747

Patch by Ami Fischman <fischman@chromium.org> on 2011-12-16
Reviewed by Eric Carlson.

* platform/chromium/test_expectations.txt:

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

8 years ago[chromium] 2 repaint test failures on mac
tony@chromium.org [Sat, 17 Dec 2011 02:16:41 +0000 (02:16 +0000)]
[chromium] 2 repaint test failures on mac
https://bugs.webkit.org/show_bug.cgi?id=66338

Unreviewed. These are expected differences between Apple DRT and Chromium DRT on Mac
caused by different code paths for drawing scrollbars.

* platform/chromium-cg-mac-snowleopard/fast/repaint/background-scaling-expected.png: Added.
* platform/chromium-cg-mac-snowleopard/fast/repaint/scale-page-shrink-expected.png: Added.
* platform/chromium-mac-leopard/fast/repaint/scale-page-shrink-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/background-scaling-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/scale-page-shrink-expected.png: Added.
* platform/chromium-win/fast/repaint/background-scaling-expected.png: Renamed from LayoutTests/platform/chromium/fast/repaint/background-scaling-expected.png.
* platform/chromium/fast/repaint/background-scaling-expected.txt: Removed.
* platform/chromium/test_expectations.txt:

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

8 years ago[chromium] CCLayerDelegate and WebLayerClient do not need notifySyncRequired
jamesr@google.com [Sat, 17 Dec 2011 02:11:47 +0000 (02:11 +0000)]
[chromium] CCLayerDelegate and WebLayerClient do not need notifySyncRequired
https://bugs.webkit.org/show_bug.cgi?id=74376

Reviewed by Kenneth Russell.

Source/WebCore:

CCLayerDelegate::notifySyncRequired is an odd bit of interface that we originally cargo-culted from the
CoreAnimation compositor implementation. It is a mechanism by which a LayerChromium instance may request a new
frame via its CCLayerDelegate, which in WebCore is always a GraphicsLayerClient. In practice, all
implementations eventually ended up routing to CCLayerTreeHost::setNeedsCommit which then made the proper
scheduling decision.

This patch routes all changes that would have gone through CCLayerDelegate::notifySyncRequired directly to
CCLayerTreeHost::setNeedsCommit, which greatly simplifies the scheduling logic.

There is a large amount of unit test coverage for this change, largely in LayerChromiumTest

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
* platform/graphics/chromium/GraphicsLayerChromium.h:
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setNeedsCommit):
(WebCore::LayerChromium::insertChild):
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::~CCLayerTreeHost):
(WebCore::CCLayerTreeHost::setRootLayer):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCScopedThreadProxy.h:
(WebCore::CCScopedThreadProxy::runTaskIfNotShutdown):

Source/WebKit/chromium:

WebLayerClient::notifyNeedsComposite() is an odd interface for the same reason that
CCLayerDelegate::notifySyncRequired() is - all scheduling decisions should route through the WebLayerTreeView,
not individual layers. In practice, all implementations of WebLayerClient::notifySyncRequired() do the exact
same thing as WebLayerTreeView::scheduleComposite(). This removes that callback, making WebLayerClient an empty
interface, and routes all calls that would go to that interface to WebLayerTreeView::scheduleComposite().

Once downstream implementations of WebLayerClient are removed, WebLayerClient.h and the constructors associated
with it can be deleted.

The bulk of the changes here are to the test harness. Many tests that were designed around notifySyncRequired()
are rewritten to check for CCLayerTreeHost::setNeedsCommit() or WebLayerTreeView::scheduleComposite() instead.
In a few instances, this required changing the setup logic around somewhat so that the layers being manipulated
were in a tree that initialized without errors.

* WebKit.gypi:
* public/platform/WebContentLayer.h:
* public/platform/WebExternalTextureLayer.h:
* public/platform/WebLayer.h:
* public/platform/WebLayerClient.h:
* src/WebContentLayer.cpp:
(WebKit::WebContentLayer::create):
* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayerImpl::create):
(WebKit::WebContentLayerImpl::WebContentLayerImpl):
* src/WebContentLayerImpl.h:
* src/WebExternalTextureLayer.cpp:
(WebKit::WebExternalTextureLayer::create):
* src/WebExternalTextureLayerImpl.cpp:
(WebKit::WebExternalTextureLayerImpl::create):
(WebKit::WebExternalTextureLayerImpl::WebExternalTextureLayerImpl):
* src/WebExternalTextureLayerImpl.h:
* src/WebLayer.cpp:
(WebKit::WebLayer::create):
* src/WebLayerImpl.cpp:
(WebKit::WebLayerImpl::create):
(WebKit::WebLayerImpl::WebLayerImpl):
* src/WebLayerImpl.h:
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::create):
(WebKit::WebLayerTreeViewImpl::WebLayerTreeViewImpl):
* src/WebLayerTreeViewImpl.h:
* tests/CCLayerTreeHostTest.cpp:
(WTF::MockLayerTreeHost::create):
(WTF::MockLayerTreeHost::MockLayerTreeHost):
(WTF::MockLayerTreeHostClient::createLayerTreeHostContext3D):
(WTF::CCLayerTreeHostTestScrollSimple::animateAndLayout):
* tests/CompositorMockGraphicsContext3D.h: Added.
(WebCore::createCompositorMockGraphicsContext3D):
* tests/CompositorMockWebGraphicsContext3D.h: Added.
(WebKit::CompositorMockWebGraphicsContext3D::create):
(WebKit::CompositorMockWebGraphicsContext3D::makeContextCurrent):
(WebKit::CompositorMockWebGraphicsContext3D::createProgram):
(WebKit::CompositorMockWebGraphicsContext3D::createShader):
(WebKit::CompositorMockWebGraphicsContext3D::getShaderiv):
(WebKit::CompositorMockWebGraphicsContext3D::getProgramiv):
(WebKit::CompositorMockWebGraphicsContext3D::CompositorMockWebGraphicsContext3D):
* tests/LayerChromiumTest.cpp:
* tests/MockWebGraphicsContext3D.h:
(WebKit::MockWebGraphicsContext3D::getContextAttributes):
* tests/WebGLLayerChromiumTest.cpp:
(WebKit::TEST):
* tests/WebLayerTest.cpp:
(testing::MockWebLayerTreeViewClient::animateAndLayout):
(testing::MockWebLayerTreeViewClient::applyScrollAndScale):
(testing::MockWebLayerTreeViewClient::createContext3D):
(testing::MockWebLayerTreeViewClient::didRebindGraphicsContext):
(testing::WebLayerTest::SetUp):
(testing::WebLayerTest::TearDown):
(testing::TEST_F):

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

8 years agoFix typo in MarkupTokenBase: rename takeAtributes to takeAttributes
adamk@chromium.org [Sat, 17 Dec 2011 02:04:31 +0000 (02:04 +0000)]
Fix typo in MarkupTokenBase: rename takeAtributes to takeAttributes
https://bugs.webkit.org/show_bug.cgi?id=74766

Reviewed by Darin Adler.

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
(WebCore::HTMLConstructionSite::insertScriptElement):
(WebCore::HTMLConstructionSite::createElement):
(WebCore::HTMLConstructionSite::createHTMLElement):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::attributesForIsindexInput):
* xml/parser/MarkupTokenBase.h:
(WebCore::AtomicMarkupTokenBase::takeAttributes):

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

8 years ago<option><span><option> doesn't parse correctly
abarth@webkit.org [Sat, 17 Dec 2011 01:19:36 +0000 (01:19 +0000)]
<option><span><option> doesn't parse correctly
https://bugs.webkit.org/show_bug.cgi?id=74760

Reviewed by Eric Seidel.

Source/WebCore:

The <option> start tag shouldn't be quite as aggressive in closing open
<option> tags.  I'm not sure whether this was a change in the spec or a
mistranscription, but this patch causes us to match the spec.  I've
checked the other optionTag checks, and they all seem to be correct.

* html/parser/HTMLTreeBuilder.cpp:

LayoutTests:

Show test progression.

* html5lib/runner-expected.txt:

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

8 years agoConvert more WorkItems over to WTF::Functions
andersca@apple.com [Sat, 17 Dec 2011 01:03:36 +0000 (01:03 +0000)]
Convert more WorkItems over to WTF::Functions
https://bugs.webkit.org/show_bug.cgi?id=74770

Reviewed by Andreas Kling.

* Platform/WorkQueue.cpp:
(WorkQueue::dispatchAfterDelay):
* Platform/WorkQueue.h:
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
* UIProcess/Launcher/ThreadLauncher.cpp:
(WebKit::ThreadLauncher::launchThread):
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::launchProcess):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::pluginThreadAsyncCall):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::derefPluginView):
(WebKit::PluginView::unprotectPluginFromDestruction):

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

8 years ago[MutationObservers] Remove platform-dependent code in Document.cpp resulting from...
commit-queue@webkit.org [Sat, 17 Dec 2011 00:58:33 +0000 (00:58 +0000)]
[MutationObservers] Remove platform-dependent code in Document.cpp resulting from Mutation Event histogram collection
https://bugs.webkit.org/show_bug.cgi?id=73026

Patch by Rafael Weinstein <rafaelw@chromium.org> on 2011-12-16
Reviewed by Ryosuke Niwa.

This patch adds platform/HistogramSupport which has an empty implementation for all ports
except Chromium.

No tests need. This patch is just a refactor.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::histogramMutationEventUsage):
(WebCore::Document::~Document):
* platform/HistogramSupport.h: Added.
(WebCore::HistogramSupport::histogramEnumeration):
* platform/chromium/HistogramSupportChromium.cpp: Added.
(WebCore::HistogramSupport::histogramEnumeration):

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

8 years ago<rdar://problem/10576732> and https://bugs.webkit.org/show_bug.cgi?id=74533
beidson@apple.com [Sat, 17 Dec 2011 00:32:40 +0000 (00:32 +0000)]
<rdar://problem/10576732> and https://bugs.webkit.org/show_bug.cgi?id=74533
REGRESSION(r102619): Reproducible crash closing window with video + poster image inside an object element

Reviewed by Darin Adler.

Source/WebCore:

Test: media/crash-closing-page-with-media-as-plugin-fallback.html

At some point documentWillBecomeInactive() was overloaded to not only notify elements they were going in to the page
cache but also do some other work that was necessary during Document teardown.

This crash occurs because we're notifying elements they're going in to the page cache at document teardown, so this
patch breaks that work back out in to a separate function.

* dom/Document.cpp:
(WebCore::Document::detach): Remove obsolete comment.
(WebCore::Document::documentWillBecomeInactive): Handle only accelerated compositing cleanup.
(WebCore::Document::documentWillSuspendForPageCache): Call documentWillBecomeInactive before notifying elements of suspension.
(WebCore::Document::documentDidResumeFromPageCache):
(WebCore::Document::registerForPageCacheSuspensionCallbacks):
(WebCore::Document::unregisterForPageCacheSuspensionCallbacks):
* dom/Document.h:

* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore): Call the renamed documentDidResumeFromPageCache.
(WebCore::CachedFrame::CachedFrame): Call documentWillSuspendForPageCache instead of documentDidBecomeInactive.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad): Call the renamed documentDidResumeFromPageCache.

* dom/Element.h:
(WebCore::Element::documentWillSuspendForPageCache): Renamed from documentWillBecomeInactive()
(WebCore::Element::documentDidResumeFromPageCache): Renamed from documentDidBecomeActive()

Change to the renamed registration and callbacks functions in the handful of classes that use them:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::~HTMLFormElement):
(WebCore::HTMLFormElement::parseMappedAttribute):
(WebCore::HTMLFormElement::documentDidResumeFromPageCache):
(WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
(WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
* html/HTMLFormElement.h:

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::parseMappedAttribute):
(WebCore::HTMLInputElement::needsSuspensionCallback):
(WebCore::HTMLInputElement::registerForSuspensionCallbackIfNeeded):
(WebCore::HTMLInputElement::unregisterForSuspensionCallbackIfNeeded):
(WebCore::HTMLInputElement::documentDidResumeFromPageCache):
(WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
(WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
* html/HTMLInputElement.h:

* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement):
(WebCore::HTMLPlugInImageElement::createRenderer):
(WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument):
(WebCore::HTMLPlugInImageElement::didMoveToNewOwnerDocument):
(WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
(WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):
* html/HTMLPlugInImageElement.h:

* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::SVGSVGElement):
(WebCore::SVGSVGElement::~SVGSVGElement):
(WebCore::SVGSVGElement::willMoveToNewOwnerDocument):
(WebCore::SVGSVGElement::didMoveToNewOwnerDocument):
(WebCore::SVGSVGElement::documentWillSuspendForPageCache):
(WebCore::SVGSVGElement::documentDidResumeFromPageCache):
* svg/SVGSVGElement.h:

LayoutTests:

* media/crash-closing-page-with-media-as-plugin-fallback-expected.txt: Added.
* media/crash-closing-page-with-media-as-plugin-fallback.html: Added.
* media/resources/video-with-poster-as-object-fallback.html: Added.

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

8 years ago[chromium] Need to prepaint tiles in TiledLayerChromium
commit-queue@webkit.org [Sat, 17 Dec 2011 00:27:33 +0000 (00:27 +0000)]
[chromium] Need to prepaint tiles in TiledLayerChromium
https://bugs.webkit.org/show_bug.cgi?id=72686

Patch by Eric Penner <epenner@google.com> on 2011-12-16
Reviewed by James Robinson.

Source/WebCore:

Tests: TiledLayerChromiumTest (idlePaintOutOfMemory, pushIdlePaintTiles)

* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::idlePaintContentsIfDirty): added idle paint function
* platform/graphics/chromium/ContentLayerChromium.h: ditto
* platform/graphics/chromium/LayerChromium.h: ditto
(WebCore::LayerChromium::idlePaintContentsIfDirty): ditto
* platform/graphics/chromium/TextureManager.cpp:
(WebCore::TextureManager::protectTexture): removed assert for protecting a texture twice
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::cleanupResources):
(WebCore::TiledLayerChromium::updateCompositorResources): refactoring to use tile indices
(WebCore::TiledLayerChromium::prepareToUpdateTiles): refactored common code and made idle/visible versions
(WebCore::TiledLayerChromium::prepareToUpdate): ditto
(WebCore::TiledLayerChromium::prepareToUpdateIdle): ditto
(WebCore::TiledLayerChromium::needsIdlePaint):
(WebCore::TiledLayerChromium::idlePaintRect):
* platform/graphics/chromium/TiledLayerChromium.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::compositeAndReadback): set flag to avoid idle paint durring composite and readback
(WebCore::CCLayerTreeHost::updateLayers): added idle flag parameter
(WebCore::CCLayerTreeHost::paintContentsIfDirty): ditto
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface): ditto
(WebCore::CCLayerTreeHost::paintLayerContents): chooses idle or visible paint
* platform/graphics/chromium/cc/CCLayerTreeHost.h:

Source/WebKit/chromium:

* tests/CCLayerTreeHostTest.cpp:
(WTF::ContentLayerChromiumWithUpdateTracking::idlePaintContentsCount):
(WTF::ContentLayerChromiumWithUpdateTracking::resetPaintContentsCount):
(WTF::ContentLayerChromiumWithUpdateTracking::idlePaintContentsIfDirty):
(WTF::ContentLayerChromiumWithUpdateTracking::ContentLayerChromiumWithUpdateTracking):
(WTF::CCLayerTreeHostTestOpacityChange::afterTest):
* tests/TiledLayerChromiumTest.cpp:
(WTF::FakeTiledLayerChromium::prepareToUpdateIdle):
(WTF::FakeTiledLayerChromium::needsIdlePaint):
(WTF::TEST):

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

8 years ago[Qt] Add platform-specific test results after r103073
mnaganov@chromium.org [Sat, 17 Dec 2011 00:18:52 +0000 (00:18 +0000)]
[Qt] Add platform-specific test results after r103073
[Chromium] Add test results for Mac 10.5

* platform/chromium-cg-mac-leopard/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
* platform/chromium-cg-mac-leopard/editing/input/caret-at-the-edge-of-input-expected.png: Added.
* platform/chromium-cg-mac-leopard/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
* platform/chromium-cg-mac-leopard/editing/input/reveal-caret-of-multiline-input-expected.png: Added.
* platform/chromium-cg-mac-leopard/fast/forms/input-text-scroll-left-on-blur-expected.png:
* platform/chromium-cg-mac-snowleopard/fast/forms/input-text-scroll-left-on-blur-expected.png: Added.
* platform/mac/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Renamed from LayoutTests/editing/input/caret-at-the-edge-of-contenteditable-expected.txt.
* platform/mac/editing/input/caret-at-the-edge-of-input-expected.txt: Renamed from LayoutTests/editing/input/caret-at-the-edge-of-input-expected.txt.
* platform/mac/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Renamed from LayoutTests/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt.
* platform/mac/editing/input/reveal-caret-of-multiline-input-expected.txt: Renamed from LayoutTests/editing/input/reveal-caret-of-multiline-input-expected.txt.
* platform/qt/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Added.
* platform/qt/editing/input/caret-at-the-edge-of-input-expected.txt: Added.
* platform/qt/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Added.
* platform/qt/editing/input/reveal-caret-of-multiline-input-expected.txt: Added.

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

8 years agoDFG OSR exit may get confused about where in the scratch buffer it stored a value
fpizlo@apple.com [Sat, 17 Dec 2011 00:09:30 +0000 (00:09 +0000)]
DFG OSR exit may get confused about where in the scratch buffer it stored a value
https://bugs.webkit.org/show_bug.cgi?id=74695

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

The code that reads from the scratch buffer now explicitly knows which locations to
read from. No new tests, since this patch covers a case so uncommon that I don't know
how to make a test for it.

* dfg/DFGOSRExitCompiler.h:
(JSC::DFG::OSRExitCompiler::badIndex):
(JSC::DFG::OSRExitCompiler::initializePoisoned):
(JSC::DFG::OSRExitCompiler::poisonIndex):
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):

LayoutTests:

Rubber stamped by Gavin Barraclough.

Wrote a custom fuzzer that does 2048 different combinations of integer and float
temporaries and induces a failure whilst all of them are live. If poisoning doesn't
work correctly, a large number (>hundred) of the fuzzing cases fail.

* fast/js/dfg-poison-fuzz-expected.txt: Added.
* fast/js/dfg-poison-fuzz.html: Added.
* fast/js/script-tests/dfg-poison-fuzz.js: Added.

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

8 years agoMove webkit-bug-importer to Contributor. It won't
dino@apple.com [Sat, 17 Dec 2011 00:07:23 +0000 (00:07 +0000)]
Move webkit-bug-importer to Contributor. It won't
autocomplete as an Account.
See https://bugs.webkit.org/show_bug.cgi?id=74739
for some discussion.

Unreviewed.

* Scripts/webkitpy/common/config/committers.py:

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

8 years agoMiscellaneous Filter updates to align with spec
dino@apple.com [Sat, 17 Dec 2011 00:01:22 +0000 (00:01 +0000)]
Miscellaneous Filter updates to align with spec
https://bugs.webkit.org/show_bug.cgi?id=74736

Reviewed by Simon Fraser.

Source/WebCore:

Combine a bunch of small updates to filters where
we were not compliant with the specification.

- blur() only takes one value, not two
- blur() does not accept percentages. This allowed us
  to stop passing the borderBoxSize around while building
  the filter chain or calculating visual overflow.
- gamma() and sharpen() removed
- brightness() and contrast() added

Tests: css3/filters/effect-brightness.html
       css3/filters/effect-contrast.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::valueForFilter): Create new
variations on component transfer functions for brightness() and
contrast() effects. Also remove sharpen() and gamma().
* css/CSSParser.cpp:
(WebCore::filterInfoForName):
(WebCore::CSSParser::parseBuiltinFilterArguments): Ditto, and blur
only takes one argument.
* css/CSSStyleSelector.cpp:
(WebCore::filterOperationForType):
(WebCore::CSSStyleSelector::createFilterOperations): Ditto, and
use ->isPercentage() to test rather than getting the type.
* css/WebKitCSSFilterValue.cpp:
(WebCore::WebKitCSSFilterValue::customCssText):
* css/WebKitCSSFilterValue.h:
* css/WebKitCSSFilterValue.idl: Remove sharpen and gamma, add
brightness and contrast.
* platform/graphics/filters/FilterOperation.cpp:
(WebCore::BlurFilterOperation::blend): Blurs only need to blend
between one standard deviation parameter.
* platform/graphics/filters/FilterOperation.h: Remove sharpen and
gamma, add brightness and contrast.
(WebCore::BlurFilterOperation::create):
(WebCore::BlurFilterOperation::stdDeviation):
(WebCore::BlurFilterOperation::operator==):
(WebCore::BlurFilterOperation::BlurFilterOperation): Blur only takes
one standard deviation / radius parameter.
* platform/graphics/filters/FilterOperations.cpp:
(WebCore::outsetSizeForBlur):
(WebCore::FilterOperations::getOutsets): No need for borderBox now.
* platform/graphics/filters/FilterOperations.h:
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::build): Build new effect types.
* rendering/FilterEffectRenderer.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::addVisualEffectOverflow): No need to pass
borderBox size when calculating overflow on filter.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateOrRemoveFilterEffect):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::getFilterOutsets): Ditto.

LayoutTests:

Test changes for small updates to filters where
we were not compliant with the specification.

- blur() only takes one value, not two
- blur() does not accept percentages.
- gamma() and sharpen() removed
- brightness() and contrast() added

Added bonus: New tests for percentage values in appropriate functions!

* css3/filters/crash-filter-change.html:
* css3/filters/effect-blur.html:
* css3/filters/effect-brightness-expected.png: Added.
* css3/filters/effect-brightness-expected.txt: Copied from LayoutTests/css3/filters/effect-gamma-expected.txt.
* css3/filters/effect-brightness.html: Added.
* css3/filters/effect-combined-expected.png:
* css3/filters/effect-combined-expected.txt:
* css3/filters/effect-combined.html:
* css3/filters/effect-contrast-expected.png: Added.
* css3/filters/effect-contrast-expected.txt: Renamed from LayoutTests/css3/filters/effect-gamma-expected.txt.
* css3/filters/effect-contrast.html: Added.
* css3/filters/effect-gamma-expected.png: Removed.
* css3/filters/effect-gamma.html: Removed.
* css3/filters/filter-animation-expected.txt: Added.
* css3/filters/filter-animation.html:
* css3/filters/filter-property-computed-style-expected.txt:
* css3/filters/filter-property-parsing-expected.txt:
* css3/filters/filter-property-parsing-invalid-expected.txt:
* css3/filters/script-tests/filter-property-computed-style.js:
* css3/filters/script-tests/filter-property-parsing-invalid.js:
* css3/filters/script-tests/filter-property-parsing.js:

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

8 years ago[chromium] Remove WebCString's dependency on WebCore
jamesr@google.com [Sat, 17 Dec 2011 00:01:15 +0000 (00:01 +0000)]
[chromium] Remove WebCString's dependency on WebCore
https://bugs.webkit.org/show_bug.cgi?id=74761

Reviewed by Darin Fisher.

Remove WebCString::fromUTF16(), which are never called, and implement WebCString::utf16() using WTF instead of
WebCore/platform/text/TextEncoding.

* public/platform/WebCString.h:
* src/WebCString.cpp:
(WebKit::WebCString::utf16):

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

8 years ago[chromium] Mark CG failures for editing tests from r103073
enne@google.com [Fri, 16 Dec 2011 23:59:01 +0000 (23:59 +0000)]
[chromium] Mark CG failures for editing tests from r103073
https://bugs.webkit.org/show_bug.cgi?id=74726

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

8 years agoUnreviewed debug build fix after r103115.
kling@webkit.org [Fri, 16 Dec 2011 23:45:29 +0000 (23:45 +0000)]
Unreviewed debug build fix after r103115.

* dom/Document.cpp:
(WebCore::Document::cachedCollection):

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

8 years agoWindows test fix
mhahnenberg@apple.com [Fri, 16 Dec 2011 23:43:40 +0000 (23:43 +0000)]
Windows test fix

Source/WebCore:

No new tests.

Unreviewed test fix. All Windows tests were crashing when objects who were pointing to
static data members across DLL boundaries were getting garbage in their pointers.

* WebCore.exp.in:
* bindings/js/JSDOMWrapper.cpp:
* bindings/js/JSDOMWrapper.h:

Source/WebKit2:

Unreviewed test fix. All Windows tests were crashing when objects who were pointing to
static data members across DLL boundaries were getting garbage in their pointers.

* win/WebKit2.def:

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

8 years agoPutByVal[Alias] unnecessarily reloads the storage buffer
oliver@apple.com [Fri, 16 Dec 2011 23:36:10 +0000 (23:36 +0000)]
PutByVal[Alias] unnecessarily reloads the storage buffer
https://bugs.webkit.org/show_bug.cgi?id=74747

Reviewed by Gavin Barraclough.

Make PutByVal use GetIndexedStorage to load the storage buffer.
This required switching PutByVal to a vararg node (which is
responsible for most of the noise in this patch).  This fixes the
remaining portion of the kraken regression caused by the GetByVal
storage load elimination, and a 1-5% win on some of the sub tests of
the typed array benchmark at:
http://stepheneb.github.com/webgl-matrix-benchmarks/matrix_benchmark.html

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGNode.h:
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateArithNodeFlags):
(JSC::DFG::Propagator::fixupNode):
(JSC::DFG::Propagator::byValIndexIsPure):
(JSC::DFG::Propagator::clobbersWorld):
(JSC::DFG::Propagator::getByValLoadElimination):
(JSC::DFG::Propagator::checkStructureLoadElimination):
(JSC::DFG::Propagator::getByOffsetLoadElimination):
(JSC::DFG::Propagator::getPropertyStorageLoadElimination):
(JSC::DFG::Propagator::getIndexedPropertyStorageLoadElimination):
(JSC::DFG::Propagator::performNodeCSE):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePutByValForByteArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

8 years agoRename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step
rniwa@webkit.org [Fri, 16 Dec 2011 23:34:39 +0000 (23:34 +0000)]
Rename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step
https://bugs.webkit.org/show_bug.cgi?id=74748

Reviewed by Eric Seidel.

Source/WebCore:

Renamed registerCommandForUndo and registerCommandForRedo to
registerUndoStep and registerRedoStep respectively.

* editing/Editor.cpp:
(WebCore::Editor::appliedEditing):
(WebCore::Editor::unappliedEditing):
(WebCore::Editor::reappliedEditing):
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::registerUndoStep):
(WebCore::EmptyEditorClient::registerRedoStep):
* page/EditorClient.h:

Source/WebKit/chromium:

* src/EditorClientImpl.cpp:
(WebKit::EditorClientImpl::registerUndoStep):
(WebKit::EditorClientImpl::registerRedoStep):
* src/EditorClientImpl.h:

Source/WebKit/efl:

* WebCoreSupport/EditorClientEfl.cpp:
(WebCore::EditorClientEfl::registerUndoStep):
(WebCore::EditorClientEfl::registerRedoStep):
* WebCoreSupport/EditorClientEfl.h:

Source/WebKit/gtk:

* WebCoreSupport/EditorClientGtk.cpp:
(WebKit::EditorClient::registerUndoStep):
(WebKit::EditorClient::registerRedoStep):
* WebCoreSupport/EditorClientGtk.h:

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::registerUndoOrRedoStep):
(WebEditorClient::registerUndoStep):
(WebEditorClient::registerRedoStep):

Source/WebKit/qt:

* WebCoreSupport/EditorClientQt.cpp:
(WebCore::EditorClientQt::registerUndoStep):
(WebCore::EditorClientQt::registerRedoStep):
* WebCoreSupport/EditorClientQt.h:

Source/WebKit/win:

* WebCoreSupport/WebEditorClient.cpp:
(WebEditorClient::registerUndoStep):
(WebEditorClient::registerRedoStep):
* WebCoreSupport/WebEditorClient.h:

Source/WebKit/wince:

* WebCoreSupport/EditorClientWinCE.cpp:
(WebKit::EditorClientWinCE::registerUndoStep):
(WebKit::EditorClientWinCE::registerRedoStep):
* WebCoreSupport/EditorClientWinCE.h:

Source/WebKit/wx:

* WebKitSupport/EditorClientWx.cpp:
(WebCore::EditorClientWx::registerUndoStep):
(WebCore::EditorClientWx::registerRedoStep):
* WebKitSupport/EditorClientWx.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::registerUndoStep):
(WebKit::WebEditorClient::registerRedoStep):
* WebProcess/WebCoreSupport/WebEditorClient.h:

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

8 years agoCanvas should respect backing store scale ratio when used as drawImage() source
timothy_horton@apple.com [Fri, 16 Dec 2011 23:29:12 +0000 (23:29 +0000)]
Canvas should respect backing store scale ratio when used as drawImage() source
https://bugs.webkit.org/show_bug.cgi?id=74758
<rdar://problem/10350194>

Reviewed by Simon Fraser.

Interpret the source rectangle passed into drawImage() when using a Canvas source in the source Canvas coordinate space,
instead of in the backing store coordinate space, without changing the behavior of drawImage(canvas, x, y).

No new tests.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::convertDeviceToLogical):
* html/HTMLCanvasElement.h:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):

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

8 years agoSubpixel antialiasing not working in tiled mode
andersca@apple.com [Fri, 16 Dec 2011 23:26:31 +0000 (23:26 +0000)]
Subpixel antialiasing not working in tiled mode
https://bugs.webkit.org/show_bug.cgi?id=74759

Reviewed by Simon Fraser.

Call setContentsOpaque(true) on the main frame render view layer so subpixel aa will be used
when drawing text into that layer.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):

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

8 years agoinvalidateNodeListsCacheAfterAttributeChanged has too many callers
rniwa@webkit.org [Fri, 16 Dec 2011 23:15:10 +0000 (23:15 +0000)]
invalidateNodeListsCacheAfterAttributeChanged has too many callers
https://bugs.webkit.org/show_bug.cgi?id=74692

Reviewed by Sam Weinig.

Source/WebCore:

Call invalidateNodeListsCacheAfterAttributeChanged in Element::updateAfterAttributeChanged instead of
parsedMappedAttribute of various elements. Also make invalidateNodeListsCacheAfterAttributeChanged take
the qualified name of the changed attribute so that we can exit early when the changed attribute isn't
one of attributes we care.

In addition, added a missing call to invalidateNodeListsCacheAfterAttributeChanged in Attr::setValue.

Test: fast/dom/Attr/invalidate-nodelist-after-attr-setvalue.html

* dom/Attr.cpp:
(WebCore::Attr::childrenChanged):
* dom/Element.cpp:
(WebCore::Element::updateAfterAttributeChanged):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::addAttribute):
(WebCore::NamedNodeMap::removeAttribute):
* dom/Node.cpp:
(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
* dom/Node.h:
* dom/StyledElement.cpp:
(WebCore::StyledElement::classAttributeChanged):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parseMappedAttribute):
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::parseMappedAttribute):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parseMappedAttribute):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::parseMappedAttribute):
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::parseMappedAttribute):
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::parseMappedAttribute):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseMappedAttribute):
* html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::parseMappedAttribute):
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::parseMappedAttribute):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parseMappedAttribute):
* html/HTMLParamElement.cpp:
(WebCore::HTMLParamElement::parseMappedAttribute):

LayoutTests:

Add a regression test for setting Attr's value. WebKit should invalidate the cache as needed.

* fast/dom/Attr/invalidate-nodelist-after-attr-setvalue-expected.txt: Added.
* fast/dom/Attr/invalidate-nodelist-after-attr-setvalue.html: Added.

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

8 years agoCache and reuse HTMLCollections exposed by Document.
kling@webkit.org [Fri, 16 Dec 2011 23:11:11 +0000 (23:11 +0000)]
Cache and reuse HTMLCollections exposed by Document.
<http://webkit.org/b/71956>

Reviewed by Antti Koivisto.

Source/WebCore:

Let Document cache the various HTMLCollection objects it exposes.
This is a behavior change in two ways:

1) The lifetime of returned collections is now tied to the lifetime
   of the Document. This matches the behavior of Firefox and Opera.

2) The cached collections returned by document are now exactly equal
   to those returned by subsequent calls to the same getters.

This reduces memory consumption by ~800 kB (on 64-bit) when loading
the full HTML5 spec. document.links was called 34001 times, yielding
34001 separate HTMLCollections, and now we only need 1.

The document.all collection retains the old behavior, as caching it
will be a bit more complicated.

To avoid a reference cycle between Document and HTMLCollection,
collections that are cached on Document do not retained their base
node pointer (controlled by a m_baseIsRetained flag.)

Tests: fast/dom/document-collection-idempotence.html
       fast/dom/gc-9.html

* dom/Document.cpp:
(WebCore::Document::detach):
(WebCore::Document::cachedCollection):
(WebCore::Document::images):
(WebCore::Document::applets):
(WebCore::Document::embeds):
(WebCore::Document::plugins):
(WebCore::Document::objects):
(WebCore::Document::scripts):
(WebCore::Document::links):
(WebCore::Document::forms):
(WebCore::Document::anchors):
* dom/Document.h:
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::createForCachingOnDocument):
(WebCore::HTMLCollection::~HTMLCollection):
(WebCore::HTMLCollection::itemAfter):
* html/HTMLCollection.h:
(WebCore::HTMLCollection::base):

LayoutTests:

Added a test to verify that collections returned by document (excluding .all)
are equal to the collections returned by subsequent calls to the same getters.

Also update fast/dom/gc-9.html to cover the new lifetime behavior of
HTMLCollection objects returned by document.

* fast/dom/document-collection-idempotence-expected.txt: Added.
* fast/dom/document-collection-idempotence.html: Added.
* fast/dom/gc-9-expected.txt:
* fast/dom/gc-9.html:

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