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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
andersca@apple.com [Fri, 16 Dec 2011 23:05:23 +0000 (23:05 +0000)]
Add a pretty dumb tile cache to WebTileCacheLayer
https://bugs.webkit.org/show_bug.cgi?id=74753
Reviewed by Simon Fraser.
Source/WebCore:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::requiresTiledLayer):
If a layer is a tile cache layer, we never want to swap it out for a tiled layer.
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
Assert that we don't have a tile cache layer.
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::PlatformCALayer):
If we have a tile cache layer, add its tile container to the list of custom sublayers.
* platform/graphics/ca/mac/TileCache.h: Added.
(WebCore::TileCache::tileContainerLayer):
Return the tile container layer.
* platform/graphics/ca/mac/TileCache.mm: Added.
(WebCore::TileCache::tileCacheLayerBoundsChanged):
Resize the tile grid if necessary.
(WebCore::TileCache::setNeedsDisplayInRect):
Invalidate the necessary tiles.
(WebCore::TileCache::drawLayer):
Set up the transform and draw the layer.
(WebCore::TileCache::getTileRangeForRect):
Given a rect, return the range of tiles that it covers.
(WebCore::TileCache::numTilesForGridSize):
Given a size, return how many tiles are needed to completely cover it.
(WebCore::TileCache::resizeTileGrid):
Create new tile layers if needed, or reuse already existing ones.
(WebCore::TileCache::tileLayerAtPosition):
Given a position in the grid, return the tile layer.
(WebCore::TileCache::createTileLayer):
Create a WebTileLayer and set it up.
* platform/graphics/ca/mac/WebTileCacheLayer.h:
* platform/graphics/ca/mac/WebTileCacheLayer.mm:
(-[WebTileCacheLayer setBounds:]):
(-[WebTileCacheLayer setNeedsDisplayInRect:]):
(-[WebTileCacheLayer tileContainerLayer]):
Call down to the tile cache object.
* platform/graphics/ca/mac/WebTileLayer.h: Added.
* platform/graphics/ca/mac/WebTileLayer.mm: Added.
(-[WebTileLayer drawInContext:]):
Ask the tile cache to draw the given layer.
(-[WebTileLayer setTileCache:WebCore::]):
Source/WebKit2:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
Always do a layout here, to prevent an ASSERT(!needsLayout()) when painting.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103114
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 16 Dec 2011 22:54:29 +0000 (22:54 +0000)]
[chromium] Mark more worker regressions from 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@103113
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Fri, 16 Dec 2011 22:46:17 +0000 (22:46 +0000)]
Give PlatformEvents a base class
https://bugs.webkit.org/show_bug.cgi?id=74685
Reviewed by Anders Carlsson.
Add a base class for PlatformMouseEvent, PlatformKeyboardEvent, PlatformWheelEvent
and PlatformGestureEvent and move Type enumeration and modifiers down to it.
../WebCore:
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Add new files.
* platform/PlatformEvent.cpp: Added.
* platform/PlatformEvent.h: Added.
(WebCore::PlatformEvent::type):
(WebCore::PlatformEvent::shiftKey):
(WebCore::PlatformEvent::ctrlKey):
(WebCore::PlatformEvent::altKey):
(WebCore::PlatformEvent::metaKey):
(WebCore::PlatformEvent::modifiers):
(WebCore::PlatformEvent::PlatformEvent):
Add new class.
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
* dom/KeyboardEvent.cpp:
(WebCore::eventTypeForKeyboardEventType):
* dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
* page/DragController.cpp:
(WebCore::createMouseEvent):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleGestureEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::fakeMouseMoveEventTimerFired):
(WebCore::EventHandler::handleAccessKey):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleDrag):
* page/blackberry/EventHandlerBlackBerry.cpp:
(WebCore::EventHandler::accessKeyModifiers):
* page/chromium/EventHandlerChromium.cpp:
(WebCore::EventHandler::accessKeyModifiers):
* page/efl/EventHandlerEfl.cpp:
(WebCore::EventHandler::accessKeyModifiers):
* page/gtk/EventHandlerGtk.cpp:
(WebCore::EventHandler::accessKeyModifiers):
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::accessKeyModifiers):
* page/qt/EventHandlerQt.cpp:
(WebCore::EventHandler::accessKeyModifiers):
* page/win/EventHandlerWin.cpp:
(WebCore::EventHandler::accessKeyModifiers):
* page/wx/EventHandlerWx.cpp:
(WebCore::EventHandler::accessKeyModifiers):
* platform/PlatformGestureEvent.h:
(WebCore::PlatformGestureEvent::PlatformGestureEvent):
* platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::isKeypad):
* platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
(WebCore::PlatformMouseEvent::button):
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/ScrollAnimatorNone.cpp:
(WebCore::ScrollAnimatorNone::zoom):
(WebCore::ScrollAnimatorNone::handleGestureEvent):
* platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
(WebCore::toWebCorePlatformKeyboardEventType):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* platform/chromium/GestureRecognizerChromium.cpp:
(WebCore::GestureRecognizerChromium::appendTapDownGestureEvent):
(WebCore::GestureRecognizerChromium::appendClickGestureEvent):
(WebCore::GestureRecognizerChromium::appendDoubleClickGestureEvent):
(WebCore::GestureRecognizerChromium::appendScrollGestureBegin):
(WebCore::GestureRecognizerChromium::appendScrollGestureEnd):
(WebCore::GestureRecognizerChromium::appendScrollGestureUpdate):
* platform/chromium/PlatformKeyboardEventChromium.cpp:
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* platform/chromium/PopupContainer.cpp:
(WebCore::PopupContainer::handleGestureEvent):
* platform/chromium/PopupListBox.cpp:
(WebCore::isCharacterTypeEvent):
(WebCore::PopupListBox::handleKeyEvent):
* platform/chromium/ScrollAnimatorChromiumMac.mm:
(WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
* platform/efl/PlatformKeyboardEventEfl.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* platform/efl/PlatformMouseEventEfl.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/efl/PlatformWheelEventEfl.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/gtk/PlatformKeyboardEventGtk.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* platform/gtk/PlatformMouseEventGtk.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/gtk/PlatformWheelEventGtk.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/ios/KeyEventIOS.mm:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* platform/mac/KeyEventMac.mm:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* platform/mac/PlatformMouseEventMac.mm:
(WebCore::mouseEventForNSEvent):
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::handleGestureEvent):
* platform/mac/WheelEventMac.mm:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* platform/qt/PlatformMouseEventQt.cpp:
(WebCore::mouseEventTypeAndMouseButtonFromQEvent):
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/qt/WheelEventQt.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/win/KeyEventWin.cpp:
(WebCore::isKeypadEvent):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* platform/win/PlatformMouseEventWin.cpp:
(WebCore::messageToEventType):
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/win/WheelEventWin.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/wx/KeyboardEventWx.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* platform/wx/MouseEventWx.cpp:
(WebCore::typeFromMouseEvent):
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/wx/MouseWheelEventWx.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* plugins/mac/PluginViewMac.mm:
(WebCore::PluginView::handleKeyboardEvent):
* testing/Internals.cpp:
(WebCore::Internals::setZoomAnimatorTransform):
Switch to using new names/class modifier as necessary.
../WebKit/chromium:
* src/EditorClientImpl.cpp:
(WebKit::EditorClientImpl::interpretKeyEvent):
(WebKit::EditorClientImpl::handleEditingKeyboardEvent):
* src/WebAccessibilityObject.cpp:
(WebKit::WebAccessibilityObject::keyboardShortcut):
* src/WebInputEventConversion.cpp:
(WebKit::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
(WebKit::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
(WebKit::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
(WebKit::toPlatformKeyboardEventType):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::dragSourceEndedAt):
* tests/InnerGestureRecognizerTest.cpp:
(SimulateAndTestFirstClick):
(TEST_F):
* tests/KeyboardTest.cpp:
(WebKit::KeyboardTest::interpretKeyEvent):
(WebKit::KeyboardTest::interpretOSModifierKeyPress):
(WebKit::KeyboardTest::interpretCtrlKeyPress):
(WebKit::KeyboardTest::interpretTab):
(WebKit::KeyboardTest::interpretNewLine):
(WebKit::TEST_F):
* tests/PopupMenuTest.cpp:
(WebKit::SelectPopupMenuTest::simulateLeftMouseDownEvent):
(WebKit::SelectPopupMenuTest::simulateLeftMouseUpEvent):
(WebKit::TEST_F):
../WebKit/efl:
* WebCoreSupport/EditorClientEfl.cpp:
(WebCore::EditorClientEfl::handleEditingKeyboardEvent):
../WebKit/gtk:
* WebCoreSupport/EditorClientGtk.cpp:
(WebKit::EditorClient::handleKeyboardEvent):
* webkit/webkitwebview.cpp:
(webkit_web_view_popup_menu_handler):
../WebKit/mac:
* WebView/WebFrame.mm:
(-[WebFrame _dragSourceEndedAt:operation:]):
* WebView/WebHTMLView.mm:
(currentKeyboardEvent):
(-[WebHTMLView _interpretKeyEvent:savingCommands:]):
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
../WebKit/qt:
* WebCoreSupport/DragClientQt.cpp:
(WebCore::DragClientQt::startDrag):
* WebCoreSupport/EditorClientQt.cpp:
(WebCore::EditorClientQt::handleKeyboardEvent):
../WebKit/win:
* AccessibleBase.cpp:
(AccessibleBase::get_accKeyboardShortcut):
* WebDropSource.cpp:
(generateMouseEvent):
* WebView.cpp:
(WebView::keyUp):
(WebView::handleEditingKeyboardEvent):
(WebView::keyDown):
(WebView::keyPress):
../WebKit/wince:
* WebCoreSupport/EditorClientWinCE.cpp:
(WebKit::EditorClientWinCE::handleEditingKeyboardEvent):
* WebView.cpp:
(WebView::handleKeyDown):
(WebView::handleKeyPress):
(WebView::handleKeyUp):
../WebKit/wx:
* WebKitSupport/EditorClientWx.cpp:
(WebCore::EditorClientWx::handleEditingKeyboardEvent):
(WebCore::EditorClientWx::interpretKeyEvent):
../WebKit2:
* Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
(WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
(WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::handleKeyboardEvent):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::handleMouseEvent):
(WebKit::WebPage::setInitialFocus):
(WebKit::WebPage::handleEditingKeyboardEvent):
(WebKit::WebPage::dragEnded):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::executeKeypressCommandsInternal):
(WebKit::WebPage::handleEditingKeyboardEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103112
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 16 Dec 2011 22:38:01 +0000 (22:38 +0000)]
[chromium] Mark many SVG tests on Mac failing after r103091
https://bugs.webkit.org/show_bug.cgi?id=53378
Unreviewed gardening.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103111
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 16 Dec 2011 22:30:49 +0000 (22:30 +0000)]
Fix a #elsif fumble in my earlier commit.
* WebView/WebHTMLView.mm:
(-[WebHTMLView attachRootLayer:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103110
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Fri, 16 Dec 2011 22:29:02 +0000 (22:29 +0000)]
<!doctype html><div><body><frameset> doesn't parse correctly
https://bugs.webkit.org/show_bug.cgi?id=74745
Reviewed by Eric Seidel.
Source/WebCore:
We were missing one place the spec tells us to set this bool.
Tests: html5lib/runner.html
* html/parser/HTMLTreeBuilder.cpp:
LayoutTests:
Show test progression.
* html5lib/runner-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103109
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Fri, 16 Dec 2011 22:28:38 +0000 (22:28 +0000)]
Include BlackBerryPlatformLog.h instead of BlackBerryPlatformMisc.h
Rubber-stamped by Antonio Gomes.
BlackBerry::Platform::logV() is declared in BlackBerryPlatformLog.h. That is, it isn't
declared in BlackBerryPlatformMisc.h. Hence, we should include BlackBerryPlatformLog.h
instead of BlackBerryPlatformMisc.h.
* wtf/Assertions.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103108
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tony@chromium.org [Fri, 16 Dec 2011 22:24:33 +0000 (22:24 +0000)]
Unreviewed, updating chromium expectations.
* platform/chromium/test_expectations.txt: fast/replaced/embed-display-none.html has been
passing and fast/replaced/width100percent-textarea.html is flaky.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103107
268f45cc-cd09-0410-ab3c-
d52691b4dbfc