commit-queue@webkit.org [Tue, 10 Apr 2012 05:45:28 +0000 (05:45 +0000)]
combine two arrays in FileException.cpp into one
https://bugs.webkit.org/show_bug.cgi?id=83449
Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-04-09
Reviewed by Kentaro Hara.
No new tests required.
* fileapi/FileException.cpp:
(FileExceptionNameDescription):
(WebCore):
(WebCore::FileException::initializeDescription):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113683
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 10 Apr 2012 05:43:30 +0000 (05:43 +0000)]
combine two arrays in OperationNotAllowedException.cpp into one
https://bugs.webkit.org/show_bug.cgi?id=83445
Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-04-09
Reviewed by Kentaro Hara.
No new tests required.
* fileapi/OperationNotAllowedException.cpp:
(OperationNotAllowedExceptionNameDescription):
(WebCore):
(WebCore::OperationNotAllowedException::initializeDescription):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113682
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shinyak@chromium.org [Tue, 10 Apr 2012 05:39:23 +0000 (05:39 +0000)]
Assert triggers VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries.
https://bugs.webkit.org/show_bug.cgi?id=83118
Reviewed by Hajime Morita.
Source/WebCore:
VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries did not work correctly.
There was a case that selection crosses shadow boundaries.
This patch introduces a class TreeScopeAdjuster, which enables us to adjust Node or Position
into a specified tree scope.
Test: fast/dom/shadow/selections-in-shadow.html
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.ext.in:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMAllInOne.cpp:
* dom/TreeScope.h:
(TreeScope):
* dom/TreeScopeAdjuster.cpp: Added.
(WebCore):
(WebCore::TreeScopeAdjuster::TreeScopeAdjuster):
(WebCore::TreeScopeAdjuster::ancestorInThisScope):
Returns the node itself if it's in the same tree scope.
Otherwise, this method checks the shadow ancestor of the node recursively.
If no corresponding node is found, 0 will be returned.
(WebCore::TreeScopeAdjuster::adjustPositionBefore):
(WebCore::TreeScopeAdjuster::adjustPositionAfter):
* dom/TreeScopeAdjuster.h: Added.
(WebCore):
(TreeScopeAdjuster):
(WebCore::TreeScopeAdjuster::treeScope):
* editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
LayoutTests:
This tests checks all the combination of element not in a shadow tree, element in a shadow tree,
element in a nested shadow tree, element in a non-youngest shadow tree, element in a nested shadow tree
in non-youngest shadow treee.
* fast/dom/resources/event-sender-util.js: Added.
(mouseMoveToElem):
* fast/dom/shadow/selections-in-shadow-expected.txt: Added.
* fast/dom/shadow/selections-in-shadow.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113681
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 10 Apr 2012 05:36:38 +0000 (05:36 +0000)]
combine two arrays in SVGException.cpp into one
https://bugs.webkit.org/show_bug.cgi?id=83444
Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-04-09
Reviewed by Kentaro Hara.
No new tests required.
* svg/SVGException.cpp:
(SVGExceptionNameDescription):
(WebCore):
(WebCore::SVGException::initializeDescription):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113680
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 10 Apr 2012 05:30:05 +0000 (05:30 +0000)]
combine two arrays in XMLHttpRequestException.cpp into one
https://bugs.webkit.org/show_bug.cgi?id=83443
Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-04-09
Reviewed by Kentaro Hara.
No new tests requied.
* xml/XMLHttpRequestException.cpp:
(XMLHttpRequestExceptionNameDescription):
(WebCore):
(WebCore::XMLHttpRequestException::initializeDescription):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113679
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
noam.rosenthal@nokia.com [Tue, 10 Apr 2012 04:57:32 +0000 (04:57 +0000)]
[WK2] Enable using a single ShareableBitmap for multiple updates
https://bugs.webkit.org/show_bug.cgi?id=83424
Source/WebCore:
Modify BitmapTexture::updateContents to include a source offset.
This allows us to update a texture from a sub-image.
Reviewed by Kenneth Rohde Christiansen.
Tested by existing API tests.
* platform/graphics/texmap/TextureMapper.h:
(BitmapTexture):
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::BitmapTextureGL::didReset):
(WebCore::driverSupportsBGRASwizzling):
(WebCore::BitmapTextureGL::updateContents):
* platform/graphics/texmap/TextureMapperGL.h:
(WebCore::BitmapTextureGL::textureTarget):
(BitmapTextureGL):
* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::BitmapTextureImageBuffer::updateContents):
* platform/graphics/texmap/TextureMapperImageBuffer.h:
(BitmapTextureImageBuffer):
Source/WebKit2:
Reviewed by Kenneth Rohde Christiansen.
Enabled creating a GraphicsContext that references a rect inside ShareableBitmap.
Added bitmapOffset to UpdateInfo, to allow updates to reference an offset inside the bitmap.
Added UpdateAtlas, a class that manages available rects in a larger ShareableBitmap.
In this iteration, UpdateAtlas has a simple behavior where a rect inside the bitmap is
either available or used. When the buffers are swapped, all used buffers become available
again. A future enhancement might allow triple-buffering, where available rects can be
updated while other rects from the same atlas are in use.
Added the necessary plumbing to allow Qt's UI-side compositing to take advantage of
UpdateAtlas. LayerTreeHostQt creates an atlas per type of bitmap (i.e. one opaque and one
alpha-enabled atlas). When a tile wants to update and there's no available scratch-buffer,
the update would be postponed to the next frame, creating a tiling-artifact in low memory
situations.
* Shared/UpdateInfo.cpp:
(WebKit::UpdateInfo::encode):
(WebKit::UpdateInfo::decode):
* Shared/UpdateInfo.h:
(UpdateInfo):
* Target.pri:
* UIProcess/LayerTreeHostProxy.cpp:
(WebKit::LayerTreeHostProxy::updateTileForLayer):
* UIProcess/WebLayerTreeRenderer.cpp:
(WebKit::WebLayerTreeRenderer::syncLayerParameters):
(WebKit::WebLayerTreeRenderer::updateTile):
(WebKit::WebLayerTreeRenderer::createImage):
* UIProcess/WebLayerTreeRenderer.h:
(TileUpdate):
(WebKit::WebLayerTreeRenderer::TileUpdate::TileUpdate):
(WebLayerTreeRenderer):
* UIProcess/qt/LayerBackingStore.cpp:
(WebKit::LayerBackingStoreTile::swapBuffers):
(WebKit::LayerBackingStoreTile::setBackBuffer):
(WebKit::LayerBackingStore::createTile):
* UIProcess/qt/LayerBackingStore.h:
(LayerBackingStoreTile):
(LayerBackingStore):
* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
(WebCore::WebGraphicsLayer::beginContentUpdate):
(WebCore):
* WebProcess/WebCoreSupport/WebGraphicsLayer.h:
(WebGraphicsLayerClient):
(WebGraphicsLayer):
* WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
(WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
* WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
(TiledBackingStoreRemoteTileClient):
* WebProcess/WebPage/UpdateAtlas.cpp: Added.
(WebKit):
(WebKit::UpdateAtlas::UpdateAtlas):
(WebKit::nextPowerOfTwo):
(WebKit::UpdateAtlas::buildLayoutIfNeeded):
(WebKit::UpdateAtlas::findAvailableIndex):
(WebKit::UpdateAtlas::didSwapBuffers):
(WebKit::UpdateAtlas::acquireScratchBuffer):
(WebKit::UpdateAtlas::offsetForIndex):
* WebProcess/WebPage/UpdateAtlas.h: Added.
(WebCore):
(WebKit):
(UpdateAtlas):
(WebKit::UpdateAtlas::bitmap):
(WebKit::UpdateAtlas::size):
(WebKit::UpdateAtlas::flags):
* WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
(WebKit::LayerTreeHostQt::adoptImageBackingStore):
(WebKit::LayerTreeHostQt::renderNextFrame):
(WebKit::LayerTreeHostQt::purgeBackingStores):
(WebKit):
(WebKit::LayerTreeHostQt::getAtlas):
(WebKit::LayerTreeHostQt::beginContentUpdate):
* WebProcess/WebPage/qt/LayerTreeHostQt.h:
(LayerTreeHostQt):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113678
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
danakj@chromium.org [Tue, 10 Apr 2012 04:54:50 +0000 (04:54 +0000)]
[chromium] Viewport is not filled when out of texture memory on mac
https://bugs.webkit.org/show_bug.cgi?id=83351
Reviewed by Adrienne Walker.
Source/Platform:
* chromium/public/WebLayerTreeView.h:
(WebLayerTreeView):
Source/WebCore:
Currently we add gutter quads on the NonCompositedContentHost layer,
which lies above another visible layer - the rubberband layer on mac.
For this reason, on mac, gutter quads were disabled, as well as forcing
the NCCH layer to draw, in order to make the rubberband layer appear.
We move the logic for adding gutter quads into CCRenderPass, and add
gutter quads for all pixels that are visible through the viewport.
This allows us to stop special-casing the NCCH layer, and allows us
to skip drawing the layer equally with other layers. We remove the
backgroundCoversViewport() flag entirely.
In order to do this, we fix a bug in the occlusion tracker, that
allowed opaque() layers with skipsDraw to occlude, by making
the visibleContentOpaqueRegion() method on the layer classes
also return the opaque region for non-tiled layers, always use
its value in the occlusion tracker.
Unit test: CCLayerTreeHostImplTest.viewportCovered
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::pushPropertiesTo):
(WebCore::LayerChromium::visibleContentOpaqueRegion):
(WebCore):
* platform/graphics/chromium/LayerChromium.h:
(LayerChromium):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::prepareToUpdateTiles):
(WebCore::TiledLayerChromium::visibleContentOpaqueRegion):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::visibleContentOpaqueRegion):
(WebCore):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::appendQuads):
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::setBackgroundColor):
(CCLayerTreeHost):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore::CCLayerTreeHostImpl::backgroundColor):
(WebCore::CCLayerTreeHostImpl::setBackgroundColor):
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
(WebCore::computeOcclusionBehindLayer):
(WebCore::::markOccludedBehindLayer):
* platform/graphics/chromium/cc/CCOcclusionTracker.h:
(CCOcclusionTrackerBase):
(WebCore::CCOcclusionTrackerBase::computeVisibleRegionInScreen):
* platform/graphics/chromium/cc/CCRenderPass.cpp:
(WebCore::CCRenderPass::appendQuadsToFillScreen):
(WebCore):
* platform/graphics/chromium/cc/CCRenderPass.h:
(WebCore):
(CCRenderPass):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::appendQuads):
(WebCore::CCTiledLayerImpl::visibleContentOpaqueRegion):
* platform/graphics/chromium/cc/CCTiledLayerImpl.h:
(WebCore::CCTiledLayerImpl::skipsDraw):
(CCTiledLayerImpl):
Source/WebKit/chromium:
* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::NonCompositedContentHost):
(WebKit::NonCompositedContentHost::setBackgroundColor):
* src/WebLayerTreeView.cpp:
(WebKit::WebLayerTreeView::setBackgroundColor):
(WebKit):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setBackgroundColor):
(WebKit):
(WebKit::WebViewImplContentPainter::paint):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
* src/WebViewImpl.h:
(WebCore):
(WebViewImpl):
* tests/CCLayerImplTest.cpp:
(WebCore::TEST):
* tests/CCLayerTreeHostImplTest.cpp:
(WebKitTests::BlendStateCheckLayer::appendQuads):
(WebKitTests::TEST_F):
(WebKitTests):
* tests/CCLayerTreeHostTest.cpp:
(WTF):
(CCLayerTreeHostTestCommit):
(WTF::CCLayerTreeHostTestCommit::CCLayerTreeHostTestCommit):
(WTF::CCLayerTreeHostTestCommit::beginTest):
(WTF::CCLayerTreeHostTestCommit::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestCommit::afterTest):
(WTF::TEST_F):
(TestLayerChromium):
* tests/CCOcclusionTrackerTest.cpp:
(WebKitTests::TestContentLayerChromium::TestContentLayerChromium):
(WebKitTests::TestContentLayerChromium::visibleContentOpaqueRegion):
(WebKitTests::TestContentLayerChromium::setOpaqueContentsRect):
(TestContentLayerChromium):
(WebKitTests::TestContentLayerImpl::TestContentLayerImpl):
(TestContentLayerImpl):
(WebKitTests::TestContentLayerImpl::visibleContentOpaqueRegion):
(WebKitTests::TestContentLayerImpl::setOpaqueContentsRect):
* tests/CCTiledLayerImplTest.cpp:
* tests/LayerChromiumTest.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113677
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
macpherson@chromium.org [Tue, 10 Apr 2012 04:47:51 +0000 (04:47 +0000)]
Don't let CSSPropertyWebkitPerspective dereference primitiveValue without null check.
https://bugs.webkit.org/show_bug.cgi?id=83538
Reviewed by Daniel Bates.
No new tests / code cleanup only.
Coverity pointed out that we potentially dereference primitiveValue here without checking for null.
I've added an early out for that case to make sure it can't ever happen. I don't know if it's actually
possible to exercise that code path or not - probably the parser prevents it from being hit in practice.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113676
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 10 Apr 2012 04:42:20 +0000 (04:42 +0000)]
<webkit.org/b/83539> Web Inspector: ASSERT attempting to unbind null contentDocument
Avoid calling unbind with a null object. The HTMLFrameOwnerElement's
contentDocument can be null.
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2012-04-09
Reviewed by Timothy Hatcher.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::unbind):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113675
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 10 Apr 2012 04:27:56 +0000 (04:27 +0000)]
[BlackBerry] Parsed Cookie's m_isMaxAgeSet is not needed.
https://bugs.webkit.org/show_bug.cgi?id=83457
Patch by Jason Liu <jason.liu@torchmobile.com.cn> on 2012-04-09
Reviewed by Rob Buis.
When m_expiry is not -1, it must be set by setExpiry or setMaxAge. setExpiry will return when m_expiry
has been set. This ensures Max-Age's precedence.
And m_isMaxAgeSet is always false when the cookie is from database. This is not right.
So we use m_expiry instead of m_isMaxAgeSet.
No new tests. Refactor.
* platform/blackberry/ParsedCookie.cpp:
(WebCore::ParsedCookie::ParsedCookie):
(WebCore::ParsedCookie::setExpiry):
(WebCore::ParsedCookie::setMaxAge):
* platform/blackberry/ParsedCookie.h:
(ParsedCookie):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113674
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 10 Apr 2012 04:05:34 +0000 (04:05 +0000)]
Fixed ordering of deleting CCInputHandler and CCLayerTreeHostImpl in layerTreeHostClosedOnImplThread
https://bugs.webkit.org/show_bug.cgi?id=83488
Patch by Min Qin <qinmin@google.com> on 2012-04-09
Reviewed by James Robinson.
CCInputHandler(WebCompositorInputHandlerImpl) has a pointer to CCLayerTreeHostImpl.
So we should delete CCInputHandler earlier as otherwise that pointer could get misused after LayerTreeHostImpl is deleted.
Just fixing a potential NPE error, no behavior change.
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113673
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
efidler@rim.com [Tue, 10 Apr 2012 03:59:51 +0000 (03:59 +0000)]
[BlackBerry] Update about:config page
https://bugs.webkit.org/show_bug.cgi?id=83515
Reviewed by Rob Buis.
* WebCoreSupport/AboutData.cpp:
(WebCore::configPage):
* WebCoreSupport/AboutDataEnableFeatures.in:
* WebCoreSupport/AboutDataHaveFeatures.in:
* WebCoreSupport/AboutDataUseFeatures.in:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113672
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 10 Apr 2012 03:46:03 +0000 (03:46 +0000)]
Unreviewed, rolling out r113656.
http://trac.webkit.org/changeset/113656
https://bugs.webkit.org/show_bug.cgi?id=83542
test is broken on chromium-win (Requested by simonjam on
#webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-04-09
Source/WebCore:
* Modules/intents/Intent.cpp:
(WebCore::Intent::Intent):
* Modules/intents/Intent.h:
(Intent):
* Modules/intents/Intent.idl:
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateParametersCheck):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
Source/WebKit/chromium:
* public/WebIntent.h:
(WebIntent):
* src/WebIntent.cpp:
Tools:
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::dispatchIntent):
LayoutTests:
* webintents/web-intents-invoke-port-expected.txt: Removed.
* webintents/web-intents-invoke-port.html: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113671
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
inferno@chromium.org [Tue, 10 Apr 2012 03:41:56 +0000 (03:41 +0000)]
ASSERTION FAILED: !attached() in Node::attach.
https://bugs.webkit.org/show_bug.cgi?id=80726
Reviewed by Adam Barth.
Source/WebCore:
While parsing XML document, prevent attaching the leaf text node
back to document, if its parent is not attached.
Test: fast/dom/text-node-attach-crash.xhtml
* xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::exitText):
LayoutTests:
* fast/dom/text-node-attach-crash-expected.txt: Added.
* fast/dom/text-node-attach-crash.xhtml: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113670
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simonjam@chromium.org [Tue, 10 Apr 2012 03:39:20 +0000 (03:39 +0000)]
[Chromium] Unreviewed gardening.
* platform/chromium-mac-snowleopard/fast/forms/basic-textareas-expected.txt: Added.
* platform/chromium-mac-snowleopard/media/audio-repaint-expected.png:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113669
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
danakj@chromium.org [Tue, 10 Apr 2012 03:11:36 +0000 (03:11 +0000)]
[chromium] Replica layers are not drawn, so should not be painted
https://bugs.webkit.org/show_bug.cgi?id=83504
Reviewed by James Robinson.
We attempt to paint replica layers when we are painting the mask layers
in CCLayerTreeHost.cpp.
This is useless code, replica layers have drawsContent() == false, and
have an empty visibleLayerRect, so the paint functions end up early-
outting. But it is a waste of time to try, and confusing to have
this attempted in the code at all, since the replica layers are never
drawn. They exist only for their transforms.
Also the dimensions used for the replica mask are different from the
surface mask, which is confusing and unnecessary as well. The mask is
applied to the same surface contents as the surface mask would be, so
only the surface's contentBounds need to be painted in the replica
mask.
Covered by existing tests.
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
(WebCore::CCLayerTreeHost::paintLayerContents):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113668
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shinyak@chromium.org [Tue, 10 Apr 2012 03:05:24 +0000 (03:05 +0000)]
ShadowRoot should have selection attribute.
https://bugs.webkit.org/show_bug.cgi?id=82429
Reviewed by Hajime Morita.
Source/WebCore:
This patch makes ShadowRoot have selection attribute. Currently the selection returns
the same object as what window.getSelection() returns.
We will extend DOMSelection to have TreeScope. It will adjust Node into TreeScope.
This will be tracked in Bug 82698.
Test: fast/dom/shadow/selection-in-shadow.html
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::selection):
(WebCore):
* dom/ShadowRoot.h:
(WebCore):
(ShadowRoot):
* dom/ShadowRoot.idl:
LayoutTests:
Checks ShadowRoot.selection returns the same selection as what window.getSelection() returns.
* fast/dom/shadow/selection-in-shadow.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113667
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rakuco@webkit.org [Tue, 10 Apr 2012 03:02:40 +0000 (03:02 +0000)]
[EFL] Gardening in fast/text/whitespace.
The last commit to these baselines had some weird fonts for some
reason, fix the expected sizes.
* platform/efl/fast/text/whitespace/002-expected.png:
* platform/efl/fast/text/whitespace/002-expected.txt:
* platform/efl/fast/text/whitespace/003-expected.png:
* platform/efl/fast/text/whitespace/003-expected.txt:
* platform/efl/fast/text/whitespace/004-expected.png:
* platform/efl/fast/text/whitespace/004-expected.txt:
* platform/efl/fast/text/whitespace/005-expected.png:
* platform/efl/fast/text/whitespace/005-expected.txt:
* platform/efl/fast/text/whitespace/006-expected.png:
* platform/efl/fast/text/whitespace/006-expected.txt:
* platform/efl/fast/text/whitespace/007-expected.png:
* platform/efl/fast/text/whitespace/007-expected.txt:
* platform/efl/fast/text/whitespace/008-expected.png:
* platform/efl/fast/text/whitespace/008-expected.txt:
* platform/efl/fast/text/whitespace/009-expected.png:
* platform/efl/fast/text/whitespace/009-expected.txt:
* platform/efl/fast/text/whitespace/010-expected.png:
* platform/efl/fast/text/whitespace/010-expected.txt:
* platform/efl/fast/text/whitespace/011-expected.png:
* platform/efl/fast/text/whitespace/011-expected.txt:
* platform/efl/fast/text/whitespace/012-expected.png:
* platform/efl/fast/text/whitespace/012-expected.txt:
* platform/efl/fast/text/whitespace/013-expected.png:
* platform/efl/fast/text/whitespace/013-expected.txt:
* platform/efl/fast/text/whitespace/014-expected.png:
* platform/efl/fast/text/whitespace/014-expected.txt:
* platform/efl/fast/text/whitespace/015-expected.png:
* platform/efl/fast/text/whitespace/015-expected.txt:
* platform/efl/fast/text/whitespace/016-expected.png:
* platform/efl/fast/text/whitespace/016-expected.txt:
* platform/efl/fast/text/whitespace/018-expected.png:
* platform/efl/fast/text/whitespace/018-expected.txt:
* platform/efl/fast/text/whitespace/020-expected.png:
* platform/efl/fast/text/whitespace/020-expected.txt:
* platform/efl/fast/text/whitespace/021-expected.png:
* platform/efl/fast/text/whitespace/021-expected.txt:
* platform/efl/fast/text/whitespace/025-expected.png:
* platform/efl/fast/text/whitespace/025-expected.txt:
* platform/efl/fast/text/whitespace/027-expected.png:
* platform/efl/fast/text/whitespace/027-expected.txt:
* platform/efl/fast/text/whitespace/030-expected.png:
* platform/efl/fast/text/whitespace/030-expected.txt:
* platform/efl/fast/text/whitespace/normal-after-nowrap-breaking-expected.png:
* platform/efl/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt:
* platform/efl/fast/text/whitespace/pre-break-word-expected.png:
* platform/efl/fast/text/whitespace/pre-break-word-expected.txt:
* platform/efl/fast/text/whitespace/pre-wrap-last-char-expected.png:
* platform/efl/fast/text/whitespace/pre-wrap-last-char-expected.txt:
* platform/efl/fast/text/whitespace/pre-wrap-line-test-expected.png:
* platform/efl/fast/text/whitespace/pre-wrap-line-test-expected.txt:
* platform/efl/fast/text/whitespace/pre-wrap-overflow-selection-expected.png:
* platform/efl/fast/text/whitespace/pre-wrap-overflow-selection-expected.txt:
* platform/efl/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.png:
* platform/efl/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113666
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eae@chromium.org [Tue, 10 Apr 2012 02:54:29 +0000 (02:54 +0000)]
Replace numeric_limits<LayoutUnit>::min/max with constants
https://bugs.webkit.org/show_bug.cgi?id=83497
Reviewed by Eric Seidel.
Replace all uses of numeric_limits<LayoutUnit>::min/max with
MIN_LAYOUT_UNIT and MAX_LAYOUT_UNIT respectively in preparation for the
switch to subpixel layout.
Also rename zeroLayoutUnit to ZERO_LAYOUT_UNIT to be consistent and
change it to be a define as to avoid global initializer warnings once we
change the definition of LayoutUnit from int to FractionalLayoutUnit.
No new tests, no change in functionality.
* dom/ElementRareData.h:
(WebCore::defaultMinimumSizeForResizing):
* editing/FrameSelection.cpp:
(WebCore::NoXPosForVerticalArrowNavigation):
* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::clampEdgeValue):
(WebCore::TransformationMatrix::clampedBoundsOfProjectedQuad):
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::computePreferredLogicalWidths):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
(WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
(WebCore::InlineFlowBox::paintFillLayer):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):
(WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
* rendering/LayoutTypes.h:
(WebCore):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::computeInitialRegionRangeForBlock):
(WebCore::RenderBlock::adjustFloatingBlock):
(WebCore::RenderBlock::paintColumnRules):
(WebCore::RenderBlock::removeFloatingObject):
(WebCore::RenderBlock::nextFloatLogicalBottomBelow):
(WebCore::RenderBlock::markLinesDirtyInBlockRange):
(WebCore::RenderBlock::clearFloats):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::getClearDelta):
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
(WebCore::getHeightForLineCount):
(WebCore::RenderBlock::borderFitAdjust):
(WebCore::RenderBlock::adjustForUnsplittableChild):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::paginationStrut):
(WebCore::RenderBlock::pageLogicalOffset):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::LineLayoutState::updateRepaintRangeFromBox):
(WebCore::RenderBlock::checkFloatsInCleanLine):
(WebCore::RenderBlock::addOverflowFromInlineChildren):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
(WebCore::RenderBox::positionForPoint):
* rendering/RenderBox.h:
(WebCore::RenderBox::minYVisualOverflow):
(WebCore::RenderBox::minXVisualOverflow):
(RenderBox):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::offsetLeft):
(WebCore::RenderBoxModelObject::offsetTop):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
(WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::paintBoxDecorations):
(WebCore::RenderFieldset::paintMask):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
(WebCore::RenderFlexibleBox::lineBreakLength):
(WebCore::RenderFlexibleBox::alignChildren):
(WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::computeLogicalWidth):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::linesVisualOverflowBoundingBox):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::resize):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::updateMargins):
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::computePosition):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintAfterLayoutIfNeeded):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeReplacedLogicalWidth):
(WebCore::RenderReplaced::computePreferredLogicalWidths):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
(WebCore::RenderTable::layout):
* rendering/RenderTable.h:
(WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
* rendering/RenderText.cpp:
(WebCore::RenderText::linesVisualOverflowBoundingBox):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113665
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rakuco@webkit.org [Tue, 10 Apr 2012 02:50:18 +0000 (02:50 +0000)]
[EFL] Gardening in transforms/2d.
Mostly account for the changes caused by the jhbuild and font
commits.
* platform/efl/transforms/2d/compound-transforms-vs-containers-expected.png:
* platform/efl/transforms/2d/hindi-rotated-expected.png:
* platform/efl/transforms/2d/transform-borderbox-expected.png:
* platform/efl/transforms/2d/transform-fixed-container-expected.png:
* platform/efl/transforms/2d/transform-origin-borderbox-expected.png:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113664
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
leviw@chromium.org [Tue, 10 Apr 2012 02:32:17 +0000 (02:32 +0000)]
Clean up LayoutUnit usage in DOMNodeHighlighter
https://bugs.webkit.org/show_bug.cgi?id=83507
Reviewed by Eric Seidel.
Ensuring DOMNodeHighlighter uses pixel snapping that matches that done in the RenderTree. Changes include:
- Reverting drawSubstring to use an IntPoint with pixel snapped values instead of a LayoutPoint.
- Reverting borderBox to an IntRect since it's in absolute coordinates. See https://trac.webkit.org/wiki/LayoutUnit.
- Frames are still laid out with integers. Cleaning up mainFrameOffset to reflect that.
No new tests. No change in behavior.
* inspector/DOMNodeHighlighter.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113663
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 10 Apr 2012 02:26:29 +0000 (02:26 +0000)]
Add missing IndexedDB files to CMake build
https://bugs.webkit.org/show_bug.cgi?id=83495
Patch by Jeff Rogers <jrogers@rim.com> on 2012-04-09
Reviewed by Rob Buis.
* CMakeLists.txt:
* UseJSC.cmake:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113662
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Tue, 10 Apr 2012 02:13:44 +0000 (02:13 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=83411
All Mac bots occasionally fail tons of media/ sputnik/ and svg/ tests
This is a speculative fix.
* platform/mac/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113661
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Tue, 10 Apr 2012 02:12:24 +0000 (02:12 +0000)]
If a callback constructor returns a C++ null, throw a type error.
https://bugs.webkit.org/show_bug.cgi?id=83537
Rubber Stamped by Geoff Garen.
* API/JSCallbackConstructor.cpp:
(JSC::constructJSCallback):
- If a callback constructor returns a C++ null, throw a type error.
* API/tests/testapi.c:
(Base_returnHardNull):
* API/tests/testapi.js:
- Add a test case for callback constructors that return a C++ null.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113660
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Tue, 10 Apr 2012 02:06:15 +0000 (02:06 +0000)]
[Mac] WebProcess dies due to m_process->checkURLReceivedFromWebProcess(url) dropping a file URL
https://bugs.webkit.org/show_bug.cgi?id=83506
<rdar://problem/
11171264>
Reviewed by Darin Adler.
Cannot test, because dragging within a single window never initiates a navigation, and dragging
across windows is too much for DRT and WTR.
* platform/mac/DragDataMac.mm: (WebCore::DragData::asURL): Add the same checks that we had
for NSURLPboardType to NSStringPboardType case, preventing dropping of non-HTTP URLs.
String types cannot be sanitized when they are modified by JavaScript, and are thus less trusted.
String checks should be at least as restrictive as URL ones.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113659
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Tue, 10 Apr 2012 02:05:38 +0000 (02:05 +0000)]
[chromium] More unreviewed OwnPtr<>::operator= related clang build fixes in unit tests.
* tests/Canvas2DLayerChromiumTest.cpp:
* tests/LayerChromiumTest.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113658
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
paroga@webkit.org [Tue, 10 Apr 2012 01:53:54 +0000 (01:53 +0000)]
Port BinarySemaphoreWin.cpp to WinCE
https://bugs.webkit.org/show_bug.cgi?id=83502
Reviewed by Daniel Bates.
Replace WaitForSingleObjectEx with WaitForSingleObject since
the additonal parameter supported by the extended function
is not used anyway and the function does not exist on WinCE.
* wtf/CMakeLists.txt:
* wtf/PlatformWinCE.cmake:
* wtf/threads/win/BinarySemaphoreWin.cpp:
(WTF::BinarySemaphore::wait):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113657
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 10 Apr 2012 01:46:40 +0000 (01:46 +0000)]
Add transfer map argument to Intent constructor
http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html
This adds the ability to pass transferables (i.e. MessagePorts)
through web intents, and puts the calling convention in line
with the Web Messaging spec:
http://dev.w3.org/html5/postmsg/
Implementation in chromium API follows the port-passing method
of PlatformMessagePortChannel.
https://bugs.webkit.org/show_bug.cgi?id=80200
Patch by Greg Billock <gbillock@google.com> on 2012-04-09
Reviewed by Adam Barth.
* Modules/intents/Intent.cpp:
(WebCore::Intent::create):
* Modules/intents/Intent.idl:
* WebCore.gypi:
* bindings/v8/custom/V8IntentCustom.cpp: Added.
(WebCore):
(WebCore::V8Intent::constructorCallback):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113656
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
toyoshim@chromium.org [Tue, 10 Apr 2012 01:44:00 +0000 (01:44 +0000)]
Update pywebsocket to 0.7.4.
https://bugs.webkit.org/show_bug.cgi?id=83461
Reviewed by Kent Tamura.
This version supports TLS by using ssl in addition to pyOpenSSL.
Other functional difrerences from 0.7.2 are:
- strict Sec-WebSocket-Key validation conforming RFC 4648
- compression ratio logging in debug
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_pywebsocket):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113655
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Tue, 10 Apr 2012 01:41:25 +0000 (01:41 +0000)]
If a callback function returns a C++ null, convert to undefined.
https://bugs.webkit.org/show_bug.cgi?id=83534
Reviewed by Geoff Garen.
* API/JSCallbackFunction.cpp:
- If a callback function returns a C++ null, convert to undefined.
(JSC::JSCallbackFunction::call):
* API/tests/testapi.c:
(Base_returnHardNull):
* API/tests/testapi.js:
- Add a test case for callback functions that return a C++ null.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113654
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simonjam@chromium.org [Tue, 10 Apr 2012 01:30:03 +0000 (01:30 +0000)]
[Chromium] Unreviewed gardening.
* platform/chromium-linux/media/media-document-audio-repaint-expected.png:
* platform/chromium-linux/media/media-document-audio-repaint-expected.txt: Added.
* platform/chromium-linux/scrollbars/scrollbars-on-positioned-content-expected.png:
* platform/chromium-mac-leopard/scrollbars/scrollbars-on-positioned-content-expected.png:
* platform/chromium-mac-snowleopard/scrollbars/scrollbars-on-positioned-content-expected.png:
* platform/chromium-mac/fast/forms/basic-textareas-expected.png:
* platform/chromium-mac/fast/overflow/hidden-scrollbar-resize-expected.txt: Added.
* platform/chromium-mac/scrollbars/scrollbars-on-positioned-content-expected.png:
* platform/chromium-mac/scrollbars/scrollbars-on-positioned-content-expected.txt: Copied from LayoutTests/platform/chromium-win/scrollbars/scrollbars-on-positioned-content-expected.txt.
* platform/chromium-win/fast/overflow/hidden-scrollbar-resize-expected.txt:
* platform/chromium-win/scrollbars/scrollbars-on-positioned-content-expected.png:
* platform/chromium-win/scrollbars/scrollbars-on-positioned-content-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113653
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
danakj@chromium.org [Tue, 10 Apr 2012 01:23:21 +0000 (01:23 +0000)]
[chromium] Cull occluded surface quads
https://bugs.webkit.org/show_bug.cgi?id=81227
Reviewed by Adrienne Walker.
Source/WebCore:
Cull render surface and replica quads during draw based on occlusion.
In order to compute occlusion for the surface or replica, it must not
consider occlusion found in the surface's own subtree. To do this, we
reorder the calls to the occlusion tracker, and add the surface and
replica quads before we "leaveToTargetRenderSurface" which merges
occlusion from the surface's subtree up into its parent.
Unit test: CCOcclusionTrackerTestReplicaOccluded
CCOcclusionTrackerTestSurfaceWithReplicaUnoccluded
CCOcclusionTrackerTestSurfaceAndReplicaOccludedDifferently
CCOcclusionTrackerTestSurfaceChildOfSurface
CCOcclusionTrackerTestSurfaceChildOfClippingSurface
And added some sanity checks to other CCOcclusionTracker tests that have
render surfaces.
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
(WebCore::::leaveToTargetRenderSurface):
(WebCore::::unoccludedContributingSurfaceContentRect):
(WebCore):
* platform/graphics/chromium/cc/CCOcclusionTracker.h:
(CCOcclusionTrackerBase):
* platform/graphics/chromium/cc/CCQuadCuller.cpp:
(WebCore::CCQuadCuller::CCQuadCuller):
(WebCore::appendQuadInternal):
(WebCore::CCQuadCuller::append):
(WebCore):
(WebCore::CCQuadCuller::appendSurface):
(WebCore::CCQuadCuller::appendReplica):
* platform/graphics/chromium/cc/CCQuadCuller.h:
(CCQuadCuller):
* platform/graphics/chromium/cc/CCRenderPass.cpp:
(WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
* platform/graphics/chromium/cc/CCRenderPass.h:
(CCRenderPass):
Source/WebKit/chromium:
* tests/CCOcclusionTrackerTest.cpp:
(WebKitTests::CCOcclusionTrackerTest::TearDown):
(WebKitTests::CCOcclusionTrackerTest::createReplicaLayer):
(CCOcclusionTrackerTest):
(WebKitTests::CCOcclusionTrackerTest::setReplica):
(WebKitTests::CCOcclusionTrackerTestOverlappingSurfaceSiblings::runMyTest):
(WebKitTests::CCOcclusionTrackerTestOverlappingSurfaceSiblingsWithTwoTransforms::runMyTest):
(WebKitTests::CCOcclusionTrackerTestAnimationOpacity1OnMainThread::runMyTest):
(WebKitTests::CCOcclusionTrackerTestAnimationOpacity0OnMainThread::runMyTest):
(WebKitTests::CCOcclusionTrackerTestAnimationTranslateOnMainThread::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceOcclusionTranslatesWithClipping::runMyTest):
(WebKitTests):
(CCOcclusionTrackerTestReplicaOccluded):
(WebKitTests::CCOcclusionTrackerTestReplicaOccluded::runMyTest):
(CCOcclusionTrackerTestSurfaceWithReplicaUnoccluded):
(WebKitTests::CCOcclusionTrackerTestSurfaceWithReplicaUnoccluded::runMyTest):
(CCOcclusionTrackerTestSurfaceAndReplicaOccludedDifferently):
(WebKitTests::CCOcclusionTrackerTestSurfaceAndReplicaOccludedDifferently::runMyTest):
(CCOcclusionTrackerTestSurfaceChildOfSurface):
(WebKitTests::CCOcclusionTrackerTestSurfaceChildOfSurface::runMyTest):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113652
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 10 Apr 2012 01:19:12 +0000 (01:19 +0000)]
Update perf-o-matic config.js per upstream change.
* Websites/webkit-perf.appspot.com/js/config.js:
(var):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113651
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Tue, 10 Apr 2012 01:10:15 +0000 (01:10 +0000)]
[chromium] Unreviewed build fix. OwnPtr<>::operator = breaks the build on clang, but not gcc :(
* tests/CCLayerTreeHostTest.cpp:
(WTF::MockLayerTreeHost::create):
* tests/Canvas2DLayerChromiumTest.cpp:
* tests/LayerChromiumTest.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113650
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Tue, 10 Apr 2012 01:02:22 +0000 (01:02 +0000)]
<rdar://problem/
11214796>
New WKSI will hopefully fix a common crash seen by the bots in libRIP.A.dylib:
symmetric_convolve
Reviewed by Simon Fraser.
* libWebKitSystemInterfaceLeopard.a:
* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceSnowLeopard.a:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113649
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Tue, 10 Apr 2012 01:00:40 +0000 (01:00 +0000)]
Classic interpreter's GC hooks shouldn't attempt to scan instructions for code blocks that
are currently being generated
https://bugs.webkit.org/show_bug.cgi?id=83531
<rdar://problem/
11215200>
Reviewed by Gavin Barraclough.
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::stronglyVisitStrongReferences):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113648
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kling@webkit.org [Tue, 10 Apr 2012 00:44:20 +0000 (00:44 +0000)]
Make CSSValuePool share values globally.
<http://webkit.org/b/77700>
Reviewed by Antti Koivisto.
Remove the per-Document CSSValuePool and have everyone use a global pool
accessed via "CSSValuePool& cssValuePool()".
This reduces memory usage by sharing cached CSSValues between all documents,
and relaxes heap churn since the common, persistenly cached values are held
by CSSValuePool forever.
No behavior change thanks to r113588 which introduced a mechanism that makes
sure we never expose internal CSSValue objects to bindings, but read-only
clones of those values.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForNinePieceImageSlice):
(WebCore::valueForNinePieceImageQuad):
(WebCore::valueForNinePieceImageRepeat):
(WebCore::valueForNinePieceImage):
(WebCore::zoomAdjustedPixelValue):
(WebCore::zoomAdjustedNumberValue):
(WebCore::zoomAdjustedPixelValueForLength):
(WebCore::valueForReflection):
(WebCore::getPositionOffsetValue):
(WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
(WebCore::getBorderRadiusCornerValues):
(WebCore::getBorderRadiusCornerValue):
(WebCore::getBorderRadiusShorthandValue):
(WebCore::computedTransform):
(WebCore::CSSComputedStyleDeclaration::valueForCustomFilterNumberParameter):
(WebCore::CSSComputedStyleDeclaration::valueForFilter):
(WebCore::valueForGridTrackBreadth):
(WebCore::valueForGridTrackList):
(WebCore::valueForGridPosition):
(WebCore::getDelayValue):
(WebCore::getDurationValue):
(WebCore::createLineBoxContainValue):
(WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
(WebCore::CSSComputedStyleDeclaration::valueForShadow):
(WebCore::valueForFamily):
(WebCore::renderUnicodeBidiFlagsToCSSValue):
(WebCore::renderTextDecorationFlagsToCSSValue):
(WebCore::fillRepeatToCSSValue):
(WebCore::fillSizeToCSSValue):
(WebCore::contentToCSSValue):
(WebCore::counterToCSSValue):
(WebCore::fontFamilyFromStyle):
(WebCore::lineHeightFromStyle):
(WebCore::fontSizeFromStyle):
(WebCore::fontStyleFromStyle):
(WebCore::fontVariantFromStyle):
(WebCore::fontWeightFromStyle):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSComputedStyleDeclaration.h:
(WebCore):
* css/CSSParser.cpp:
(WebCore::parseColorValue):
(WebCore::parseSimpleLengthValue):
(WebCore::parseKeywordValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::setStyleSheet):
(WebCore::CSSParser::createPrimitiveNumericValue):
(WebCore::CSSParser::createPrimitiveStringValue):
(WebCore::CSSParser::parseValidPrimitive):
(WebCore::parseBackgroundClip):
(WebCore::CSSParser::parseFillShorthand):
(WebCore::CSSParser::parseAnimationShorthand):
(WebCore::CSSParser::parseTransitionShorthand):
(WebCore::CSSParser::parseShorthand):
(WebCore::CSSParser::parsePage):
(WebCore::CSSParser::parseSizeParameter):
(WebCore::CSSParser::parseContent):
(WebCore::CSSParser::parseAttr):
(WebCore::CSSParser::parseBackgroundColor):
(WebCore::CSSParser::parseFillImage):
(WebCore::CSSParser::parseFillPositionX):
(WebCore::CSSParser::parseFillPositionY):
(WebCore::CSSParser::parseFillPositionComponent):
(WebCore::CSSParser::parseFillPosition):
(WebCore::CSSParser::parseFillRepeat):
(WebCore::CSSParser::parseFillSize):
(WebCore::CSSParser::parseFillProperty):
(WebCore::CSSParser::parseAnimationDirection):
(WebCore::CSSParser::parseAnimationFillMode):
(WebCore::CSSParser::parseAnimationIterationCount):
(WebCore::CSSParser::parseAnimationName):
(WebCore::CSSParser::parseAnimationPlayState):
(WebCore::CSSParser::parseAnimationProperty):
(WebCore::CSSParser::parseAnimationTimingFunction):
(WebCore::CSSParser::parseGridTrackList):
(WebCore::CSSParser::parseDashboardRegions):
(WebCore::CSSParser::parseCounterContent):
(WebCore::CSSParser::parseClipShape):
(WebCore::CSSParser::parseExclusionShape):
(WebCore::CSSParser::parseFont):
(WebCore::FontFamilyValueBuilder::FontFamilyValueBuilder):
(WebCore::FontFamilyValueBuilder::commit):
(FontFamilyValueBuilder):
(WebCore::CSSParser::parseFontFamily):
(WebCore::CSSParser::parseFontVariant):
(WebCore::CSSParser::parseFontWeight):
(WebCore::ShadowParseContext::commitStyle):
(WebCore::CSSParser::parseShadow):
(WebCore::CSSParser::parseReflect):
(WebCore::CSSParser::parseFlex):
(WebCore::BorderImageParseContext::commitBorderImageProperty):
(WebCore::CSSParser::parseBorderImage):
(WebCore::CSSParser::parseBorderImageRepeat):
(WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
(WebCore::BorderImageQuadParseContext::commitNumber):
(WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
(WebCore::CSSParser::parseBorderRadius):
(WebCore::CSSParser::parseAspectRatio):
(WebCore::CSSParser::parseCounter):
(WebCore::parseDeprecatedGradientPoint):
(WebCore::parseDeprecatedGradientColorStop):
(WebCore::CSSParser::parseDeprecatedGradient):
(WebCore::valueFromSideKeyword):
(WebCore::parseGradientColorOrKeyword):
(WebCore::CSSParser::parseLinearGradient):
(WebCore::CSSParser::parseRadialGradient):
(WebCore::CSSParser::parseCrossfade):
(WebCore::CSSParser::parseImageSet):
(WebCore::CSSParser::parseCustomFilter):
(WebCore::CSSParser::parseBuiltinFilterArguments):
(WebCore::CSSParser::parseFilter):
(WebCore::CSSParser::parseFlowThread):
(WebCore::CSSParser::parseRegionThread):
(WebCore::CSSParser::parseTextEmphasisStyle):
(WebCore::CSSParser::parseFontFeatureSettings):
(WebCore::CSSParser::parseFontVariantLigatures):
* css/CSSParser.h:
(WebCore):
(CSSParser):
* css/CSSValuePool.cpp:
(WebCore::cssValuePool):
(WebCore):
* css/CSSValuePool.h:
(CSSValuePool):
(WebCore):
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::setProperty):
* css/StylePropertySet.h:
(StylePropertySet):
* dom/Document.cpp:
* dom/Document.h:
(WebCore):
(Document):
* dom/StyledElement.cpp:
(WebCore::StyledElement::setInlineStyleProperty):
(WebCore::StyledElement::addPropertyToAttributeStyle):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::addHTMLColorToStyle):
* html/HTMLFontElement.cpp:
(WebCore::HTMLFontElement::collectStyleForAttribute):
* html/HTMLHRElement.cpp:
(WebCore::HTMLHRElement::collectStyleForAttribute):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::createSharedCellStyle):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113647
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simonjam@chromium.org [Tue, 10 Apr 2012 00:20:10 +0000 (00:20 +0000)]
[Chromium] Unreviewed, roll out rebaselines for feature that was rolled out.
* platform/chromium-linux-x86/media/video-empty-source-expected.txt: Copied from LayoutTests/platform/chromium-win/media/video-empty-source-expected.txt.
* platform/chromium-linux/media/video-empty-source-expected.txt: Copied from LayoutTests/platform/chromium-win/media/video-empty-source-expected.txt.
* platform/chromium-mac-snowleopard/fast/forms/basic-textareas-expected.txt: Removed.
* platform/chromium-mac-snowleopard/media/video-empty-source-expected.txt: Copied from LayoutTests/platform/chromium-mac/media/video-empty-source-expected.txt.
* platform/chromium-mac/fast/forms/basic-textareas-expected.txt:
* platform/chromium-mac/fast/layers/video-layer-expected.txt:
* platform/chromium-mac/media/audio-controls-rendering-expected.txt:
* platform/chromium-mac/media/audio-repaint-expected.txt:
* platform/chromium-mac/media/controls-after-reload-expected.txt:
* platform/chromium-mac/media/controls-strict-expected.txt:
* platform/chromium-mac/media/controls-styling-expected.txt:
* platform/chromium-mac/media/controls-without-preload-expected.txt:
* platform/chromium-mac/media/media-controls-clone-expected.txt:
* platform/chromium-mac/media/media-document-audio-repaint-expected.txt:
* platform/chromium-mac/media/video-controls-rendering-expected.txt:
* platform/chromium-mac/media/video-display-toggle-expected.txt:
* platform/chromium-mac/media/video-empty-source-expected.txt:
* platform/chromium-mac/media/video-no-audio-expected.txt:
* platform/chromium-mac/media/video-playing-and-pause-expected.txt:
* platform/chromium-mac/media/video-volume-slider-expected.txt:
* platform/chromium-mac/media/video-zoom-controls-expected.txt:
* platform/chromium-win-vista/media/video-empty-source-expected.txt: Copied from LayoutTests/platform/chromium-win/media/video-empty-source-expected.txt.
* platform/chromium-win/fast/layers/video-layer-expected.txt:
* platform/chromium-win/media/audio-controls-rendering-expected.txt:
* platform/chromium-win/media/audio-repaint-expected.txt:
* platform/chromium-win/media/controls-after-reload-expected.txt:
* platform/chromium-win/media/controls-strict-expected.txt:
* platform/chromium-win/media/controls-styling-expected.txt:
* platform/chromium-win/media/controls-without-preload-expected.txt:
* platform/chromium-win/media/media-controls-clone-expected.txt:
* platform/chromium-win/media/media-document-audio-repaint-expected.txt:
* platform/chromium-win/media/video-controls-rendering-expected.txt:
* platform/chromium-win/media/video-display-toggle-expected.txt:
* platform/chromium-win/media/video-empty-source-expected.txt:
* platform/chromium-win/media/video-no-audio-expected.txt:
* platform/chromium-win/media/video-playing-and-pause-expected.txt:
* platform/chromium-win/media/video-volume-slider-expected.txt:
* platform/chromium-win/media/video-zoom-controls-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113646
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
leviw@chromium.org [Tue, 10 Apr 2012 00:03:01 +0000 (00:03 +0000)]
Prepare html classes for sub-pixel LayoutUnits
https://bugs.webkit.org/show_bug.cgi?id=83491
Reviewed by Eric Seidel.
This patch brings the entire HTML folder up to the current state of the subpixellayout branch. Adding
an intValue flavor of Length that maps to the current value function was also necessary to get us
there. See https://trac.webkit.org/wiki/LayoutUnit and the descriptions below for details.
No new tests. No change in behavior.
* html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::scrollAmount): Fixes a compiler error when length returns a float, as
we intend it to do when switching to sub-pixel layout.
* html/ImageDocument.cpp:
(WebCore::ImageDocumentParser::finish): imageSize is always integral.
* platform/Length.h:
(WebCore::Length::Length): Added a constructor that takes a FractionalLayoutUnit.
(Length):
(WebCore::Length::intValue): Currently maps directly to Length::value, but the current logic of value
will be migrated here when value is changed to return a float.
(WebCore::Length::setValue): Added a variant that takes a FractionalLayoutUnit.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113645
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 10 Apr 2012 00:01:02 +0000 (00:01 +0000)]
[BlackBerry] requestAnimationFrame performance choppy & inconsistent
https://bugs.webkit.org/show_bug.cgi?id=83499
Patch by Andrew Lo <anlo@rim.com> on 2012-04-09
Reviewed by Rob Buis.
Respect m_scheduled & m_previousFrameDone flags like the Mac port of
DisplayRefreshMonitor does.
Internal PR: 147826
requestAnimationFrame already covered by tests in LayoutTests/fast/animation.
* platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
(WebCore::DisplayRefreshMonitor::displayLinkFired):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113644
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
macpherson@chromium.org [Mon, 9 Apr 2012 23:58:56 +0000 (23:58 +0000)]
Make CSSValueID's into an enum instead of a collection of integers.
https://bugs.webkit.org/show_bug.cgi?id=83246
Reviewed by Simon Fraser.
This patch simply converts the list of integers into an enum.
Follow-up patches will then convert existing code that uses integers to use the new enum.
No new tests / no functionality changed.
* css/makevalues.pl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113643
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Mon, 9 Apr 2012 23:54:12 +0000 (23:54 +0000)]
Unreviewed, modernize and clean up uses of ARM assembly mnemonics in inline asm blocks.
* dfg/DFGOperations.cpp:
(JSC):
* offlineasm/armv7.rb:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113642
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 9 Apr 2012 23:49:28 +0000 (23:49 +0000)]
Unreviewed, rolling out r113609.
http://trac.webkit.org/changeset/113609
https://bugs.webkit.org/show_bug.cgi?id=83522
it broke tests (Requested by dethbakin on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-04-09
Source/WebCore:
* css/mediaControlsChromium.css:
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
* css/mediaControlsQuickTime.css:
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
(audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
* html/shadow/MediaControlElements.cpp:
(RenderMediaVolumeSliderContainer):
(WebCore):
(WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
(WebCore::RenderMediaVolumeSliderContainer::layout):
(WebCore::MediaControlVolumeSliderContainerElement::createRenderer):
* html/shadow/MediaControlElements.h:
(MediaControlVolumeSliderContainerElement):
* html/shadow/MediaControlRootElement.cpp:
(WebCore::MediaControlRootElement::create):
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::create):
LayoutTests:
* media/video-controls-rendering-toggle-display-none-expected.txt: Removed.
* media/video-controls-rendering-toggle-display-none.html: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113641
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
noam.rosenthal@nokia.com [Mon, 9 Apr 2012 23:45:43 +0000 (23:45 +0000)]
[Qt][WK2] Sync the layer's state and the layer's children separately
https://bugs.webkit.org/show_bug.cgi?id=82534
Reviewed by Kenneth Rohde Christiansen.
Switched the WebLayerInfo struct, which includes a single layer's state,
to use only POD types that can be serialized via SimpleArgumentCoder.
To allow POD-serialization, we serialize the children IDs in a seperate
message (SetLayerChildren), and only when the tree layout has actually
been modified.
* Shared/WebLayerTreeInfo.cpp:
(WebKit::WebLayerInfo::encode):
(WebKit::WebLayerInfo::decode):
* Shared/WebLayerTreeInfo.h:
(WebKit::WebLayerInfo::WebLayerInfo):
* UIProcess/LayerTreeHostProxy.cpp:
(WebKit::LayerTreeHostProxy::setCompositingLayerState):
(WebKit):
(WebKit::LayerTreeHostProxy::setCompositingLayerChildren):
* UIProcess/LayerTreeHostProxy.h:
(LayerTreeHostProxy):
* UIProcess/LayerTreeHostProxy.messages.in:
* UIProcess/WebLayerTreeRenderer.cpp:
(WebKit::WebLayerTreeRenderer::setLayerChildren):
(WebKit):
(WebKit::WebLayerTreeRenderer::setLayerState):
* UIProcess/WebLayerTreeRenderer.h:
(WebLayerTreeRenderer):
* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::didChangeLayerState):
(WebCore):
(WebCore::WebGraphicsLayer::didChangeChildren):
(WebCore::WebGraphicsLayer::didChangeGeometry):
(WebCore::WebGraphicsLayer::WebGraphicsLayer):
(WebCore::WebGraphicsLayer::setChildren):
(WebCore::WebGraphicsLayer::addChild):
(WebCore::WebGraphicsLayer::addChildAtIndex):
(WebCore::WebGraphicsLayer::addChildAbove):
(WebCore::WebGraphicsLayer::addChildBelow):
(WebCore::WebGraphicsLayer::replaceChild):
(WebCore::WebGraphicsLayer::removeFromParent):
(WebCore::WebGraphicsLayer::setDrawsContent):
(WebCore::WebGraphicsLayer::setContentsOpaque):
(WebCore::WebGraphicsLayer::setBackfaceVisibility):
(WebCore::WebGraphicsLayer::setOpacity):
(WebCore::WebGraphicsLayer::setContentsRect):
(WebCore::WebGraphicsLayer::setContentsToImage):
(WebCore::WebGraphicsLayer::setMaskLayer):
(WebCore::WebGraphicsLayer::setReplicatedByLayer):
(WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
(WebCore::WebGraphicsLayer::id):
(WebCore::WebGraphicsLayer::syncChildren):
(WebCore::WebGraphicsLayer::syncLayerState):
(WebCore::WebGraphicsLayer::syncImageBackingStore):
(WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
(WebCore::WebGraphicsLayer::setRootLayer):
* WebProcess/WebCoreSupport/WebGraphicsLayer.h:
(WebGraphicsLayerClient):
(WebGraphicsLayer):
* WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
(WebKit::LayerTreeHostQt::syncLayerState):
(WebKit):
(WebKit::LayerTreeHostQt::syncLayerChildren):
* WebProcess/WebPage/qt/LayerTreeHostQt.h:
(LayerTreeHostQt):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113640
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Mon, 9 Apr 2012 23:28:25 +0000 (23:28 +0000)]
add a webkit-patch print-baselines command
https://bugs.webkit.org/show_bug.cgi?id=83348
Reviewed by Adam Barth.
This adds a simple 'print-baselines' command to webkit-patch
that can be used in one of two forms: to print where the
baselines for a given test (or set of tests) on a single port
will be found, or to generate a report for multiple ports.
Example of the former:
$ webkit-patch print-baselines fast/html/keygen.html
// For mac-snowleopard
platform/mac/fast/html/keygen-expected.txt
platform/mac/fast/html/keygen-expected.png
$
The latter is most useful for finding out which fallback dirs are
used by which ports for which tests, for example,
'chromium-mac-leopard' uses 100 results from 'platform/mac/leopard'.
No example output is given because the reports are pretty wordy :).
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.baseline_extensions): Added.
(Port.expected_baseline_dict): Added.
* Scripts/webkitpy/tool/commands/queries.py:
(PrintBaselines):
(PrintBaselines.__init__):
(PrintBaselines.execute):
(PrintBaselines._print_baselines):
(PrintBaselines._platform_for_path):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113639
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fmalita@chromium.org [Mon, 9 Apr 2012 23:20:03 +0000 (23:20 +0000)]
Unreviewed: adding myself to committers.py.
Patch by Florin Malita <fmalita@chromium.org> on 2012-04-09
* Scripts/webkitpy/common/config/committers.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113638
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
danakj@chromium.org [Mon, 9 Apr 2012 22:52:25 +0000 (22:52 +0000)]
[chromium] Make culling work with clipped rects
https://bugs.webkit.org/show_bug.cgi?id=83494
Reviewed by Adrienne Walker.
Source/WebCore:
Use new CCMathUtil transformation methods to deal with rects that clip
the camera plane. This fixes three things:
1. A layer completely behind the camera is not visible and should not
occlude.
2. A layer that is clipped by the camera is treated like a
non-axis-aligned transform, as the result of a mapClippedRect() is a
bounding box and may contain pixels not in the original rect. This guards
our use of mapRect() when transforming occluded regions.
3. A layer's occlusion must be clipped by its scissor rect. This scissor
rect exists in its target space, so occlusion in screen space is only
possible if its target also is axis aligned in the screen, such that
the layer's scissor rect remains a rect in screen space.
Unit tests: CCOcclusionTrackerTestLayerBehindCameraDoesNotOcclude
CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect
* platform/graphics/chromium/cc/CCMathUtil.cpp:
(WebCore::CCMathUtil::mapQuad):
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
(WebCore::transformSurfaceOpaqueRegion):
(WebCore::computeOcclusionBehindLayer):
(WebCore::::markOccludedBehindLayer):
(WebCore::testContentRectOccluded):
(WebCore::computeUnoccludedContentRect):
Source/WebKit/chromium:
* tests/CCOcclusionTrackerTest.cpp:
(CCOcclusionTrackerTestLayerBehindCameraDoesNotOcclude):
(WebKitTests::CCOcclusionTrackerTestLayerBehindCameraDoesNotOcclude::runMyTest):
(WebKitTests):
(CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect):
(WebKitTests::CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect::runMyTest):
* tests/CCQuadCullerTest.cpp:
(WebCore::TestCCOcclusionTrackerImpl::TestCCOcclusionTrackerImpl):
(WebCore::makeLayer):
(WebCore::TEST):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113637
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 9 Apr 2012 22:49:43 +0000 (22:49 +0000)]
Remove unworkable video-buffering-repaints-controls test.
https://bugs.webkit.org/show_bug.cgi?id=83097
.:
Replaces the automated test for progress bar repaints during buffering
with a manual test entry.
Patch by Dale Curtis <dalecurtis@chromium.org> on 2012-04-09
Reviewed by Eric Carlson.
* ManualTests/media-controls.html:
LayoutTests:
Test has been broken in one way or another for some time now. I've
approached multiple people about possible solutions, but nothing ends
up being stable.
After discussion with fischman and trying a couple more solutions
today, we decided the best course of action is to remove the test.
Patch by Dale Curtis <dalecurtis@chromium.org> on 2012-04-09
Reviewed by Eric Carlson.
* http/tests/media/video-buffering-repaints-controls-expected.txt: Removed.
* http/tests/media/video-buffering-repaints-controls.html: Removed.
* platform/chromium-linux/http/tests/media/video-buffering-repaints-controls-expected.png: Removed.
* platform/chromium-mac-leopard/http/tests/media/video-buffering-repaints-controls-expected.png: Removed.
* platform/chromium-mac-snowleopard/http/tests/media/video-buffering-repaints-controls-expected.png: Removed.
* platform/chromium-mac-snowleopard/http/tests/media/video-buffering-repaints-controls-expected.txt: Removed.
* platform/chromium-mac/http/tests/media/video-buffering-repaints-controls-expected.png: Removed.
* platform/chromium-win/http/tests/media/video-buffering-repaints-controls-expected.png: Removed.
* platform/chromium/test_expectations.txt:
* platform/efl/Skipped:
* platform/gtk/Skipped:
* platform/mac-snowleopard/http/tests/media/video-buffering-repaints-controls-expected.png: Removed.
* platform/mac-snowleopard/http/tests/media/video-buffering-repaints-controls-expected.txt: Removed.
* platform/mac/Skipped:
* platform/mac/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113636
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 9 Apr 2012 22:44:18 +0000 (22:44 +0000)]
Unreviewed, rolling out r113613.
http://trac.webkit.org/changeset/113613
https://bugs.webkit.org/show_bug.cgi?id=83509
crashing most chromium bots (Requested by simonjam on
#webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-04-09
Source/WebCore:
* Modules/battery/BatteryController.cpp:
* Modules/battery/BatteryController.h:
(BatteryController):
* Modules/battery/BatteryManager.cpp:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
Source/WebKit/chromium:
* WebKit.gyp:
* features.gypi:
* public/WebBatteryStatus.h: Removed.
* public/WebBatteryStatusClient.h: Removed.
* public/WebView.h:
(WebKit):
(WebView):
* public/WebViewClient.h:
(WebKit):
* src/BatteryClientImpl.cpp: Removed.
* src/BatteryClientImpl.h: Removed.
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
* src/WebViewImpl.h:
(WebKit):
(WebViewImpl):
LayoutTests:
* platform/chromium/fast/dom/navigator-detached-no-crash-expected.txt:
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113635
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zmo@google.com [Mon, 9 Apr 2012 22:40:31 +0000 (22:40 +0000)]
bindAttribLocation should check webgl reserved prefix
https://bugs.webkit.org/show_bug.cgi?id=83409
Reviewed by Kenneth Russell.
Source/WebCore:
* html/canvas/WebGLRenderingContext.cpp: Check for invalid parameters for a few functions.
(WebCore):
(WebCore::WebGLRenderingContext::bindAttribLocation):
(WebCore::WebGLRenderingContext::getAttribLocation):
(WebCore::WebGLRenderingContext::getUniformLocation):
LayoutTests:
* fast/canvas/webgl/webgl-specific-expected.txt: Added webgl prefix test case for bindAttribLocation.
* fast/canvas/webgl/webgl-specific.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113634
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 9 Apr 2012 22:40:03 +0000 (22:40 +0000)]
[BlackBerry] Allow simulator to use GLES2 acceleration
https://bugs.webkit.org/show_bug.cgi?id=81672
Patch by Ming Xie <mxie@rim.com> on 2012-04-09
Reviewed by Rob Buis.
.:
* Source/cmake/OptionsBlackBerry.cmake:
Tools:
* Scripts/webkitdirs.pm:
(blackberryCMakeArguments):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113633
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simonjam@chromium.org [Mon, 9 Apr 2012 22:17:38 +0000 (22:17 +0000)]
[Chromium] Unreviewed gardening fix.
* platform/chromium/virtual/threaded/compositing/visibility/README.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113632
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Mon, 9 Apr 2012 22:14:03 +0000 (22:14 +0000)]
Fix the assertion in PageScriptDebugServer::didPause.
https://webkit.org/b/82943
Reviewed by Simon Fraser.
* bindings/js/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::PageScriptDebugServer): Initialize m_pausedPage
to zero so the assert in didPause will not randomly fire the first time.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113631
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
noam.rosenthal@nokia.com [Mon, 9 Apr 2012 21:59:05 +0000 (21:59 +0000)]
[Qt][WK2] Accelerated and non-accelerated animations need to be synchronized
https://bugs.webkit.org/show_bug.cgi?id=75780
Reviewed by Kenneth Rohde Christiansen.
Remove the ui-side animation code, and return false from addAnimation so that web-side
animations kick in.
* Shared/WebLayerTreeInfo.cpp:
(WebKit):
* Shared/WebLayerTreeInfo.h:
(WebLayerInfo):
* UIProcess/WebLayerTreeRenderer.cpp:
(WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
(WebKit::WebLayerTreeRenderer::setLayerState):
* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::didChangeGeometry):
(WebCore::WebGraphicsLayer::syncLayerState):
(WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
* WebProcess/WebCoreSupport/WebGraphicsLayer.h:
(WebGraphicsLayer):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113628
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simonjam@chromium.org [Mon, 9 Apr 2012 21:58:20 +0000 (21:58 +0000)]
[Chromium] Unreviewed gardening.
* platform/chromium-linux-x86/media/video-empty-source-expected.txt: Removed.
* platform/chromium-linux/media/media-document-audio-repaint-expected.png:
* platform/chromium-linux/media/video-empty-source-expected.txt: Removed.
* platform/chromium-mac-leopard/fast/forms/basic-textareas-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/basic-textareas-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/basic-textareas-expected.txt: Copied from LayoutTests/platform/chromium-mac/fast/forms/basic-textareas-expected.txt.
* platform/chromium-mac-snowleopard/media/audio-repaint-expected.png:
* platform/chromium-mac-snowleopard/media/video-empty-source-expected.txt: Removed.
* platform/chromium-mac/fast/forms/basic-textareas-expected.png:
* platform/chromium-mac/fast/forms/basic-textareas-expected.txt:
* platform/chromium-mac/fast/layers/video-layer-expected.txt:
* platform/chromium-mac/media/audio-controls-rendering-expected.txt:
* platform/chromium-mac/media/audio-repaint-expected.txt:
* platform/chromium-mac/media/controls-after-reload-expected.txt:
* platform/chromium-mac/media/controls-strict-expected.txt:
* platform/chromium-mac/media/controls-styling-expected.txt:
* platform/chromium-mac/media/controls-without-preload-expected.txt:
* platform/chromium-mac/media/media-controls-clone-expected.txt:
* platform/chromium-mac/media/media-document-audio-repaint-expected.txt:
* platform/chromium-mac/media/video-controls-rendering-expected.txt:
* platform/chromium-mac/media/video-display-toggle-expected.txt:
* platform/chromium-mac/media/video-empty-source-expected.txt:
* platform/chromium-mac/media/video-no-audio-expected.txt:
* platform/chromium-mac/media/video-playing-and-pause-expected.txt:
* platform/chromium-mac/media/video-volume-slider-expected.txt:
* platform/chromium-mac/media/video-zoom-controls-expected.txt:
* platform/chromium-win-vista/media/video-empty-source-expected.txt: Removed.
* platform/chromium-win/fast/layers/video-layer-expected.txt:
* platform/chromium-win/media/audio-controls-rendering-expected.txt:
* platform/chromium-win/media/audio-repaint-expected.txt:
* platform/chromium-win/media/controls-after-reload-expected.txt:
* platform/chromium-win/media/controls-strict-expected.txt:
* platform/chromium-win/media/controls-styling-expected.txt:
* platform/chromium-win/media/controls-without-preload-expected.txt:
* platform/chromium-win/media/media-controls-clone-expected.txt:
* platform/chromium-win/media/media-document-audio-repaint-expected.txt:
* platform/chromium-win/media/video-controls-rendering-expected.txt:
* platform/chromium-win/media/video-display-toggle-expected.txt:
* platform/chromium-win/media/video-empty-source-expected.txt:
* platform/chromium-win/media/video-no-audio-expected.txt:
* platform/chromium-win/media/video-playing-and-pause-expected.txt:
* platform/chromium-win/media/video-volume-slider-expected.txt:
* platform/chromium-win/media/video-zoom-controls-expected.txt:
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113626
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wjmaclean@chromium.org [Mon, 9 Apr 2012 21:58:18 +0000 (21:58 +0000)]
Mark myself as a committer
https://bugs.webkit.org/show_bug.cgi?id=83510
Reviewed by Adrienne Walker.
* Scripts/webkitpy/common/config/committers.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113625
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Mon, 9 Apr 2012 21:46:55 +0000 (21:46 +0000)]
FrameData constructor zeroes all fields, causing ImageOrientation to be 0
https://bugs.webkit.org/show_bug.cgi?id=83416
Reviewed by Geoff Garen.
Reinstate SimpleClassVectorTraits on FrameData (which were removed by http://trac.webkit.org/changeset/113543)
with canInitializeWithMemset disabled, since two of the FrameData fields cannot be initialized to zero.
No new tests.
* platform/graphics/BitmapImage.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113624
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 9 Apr 2012 21:40:43 +0000 (21:40 +0000)]
[chromium] CCLayerTreeHost / WebLayerTreeView should be single ownership, not RefCounted
https://bugs.webkit.org/show_bug.cgi?id=83413
Patch by James Robinson <jamesr@chromium.org> on 2012-04-09
Reviewed by Adrienne Walker.
Source/Platform:
This makes WebLayerTreeView noncopyable to better match the underlying semantics. There is no code currently
that attempts to copy WebLayerTreeView instances.
* chromium/public/WebLayerTreeView.h:
(WebKit):
(WebLayerTreeView):
Source/WebCore:
CCLayerTreeHost always has a single logical owner, typically a WebLayerTreeView via either WebViewImpl or the
public API. It is currently refcounted for historical reasons but this isn't necessary and adds confusion.
CCLayerTreeHost instances and pointers are carefully managed currently to avoid leaks. In particular, while
LayerChromium instances hold RefPtr<CCLayerTreeHost>s, whenever we want to destroy a CCLayerTreeHost we
proactively clear out these references inside setRootLayer() to break the cycle.
Refactor covered by existing unit and layout tests.
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setMaskLayer):
(WebCore::LayerChromium::setReplicaLayer):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::layerTreeHost):
(LayerChromium):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::create):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHost):
Source/WebKit/chromium:
Updates tests and implementation for RefPtr->OwnPtr switch. One nice benefit is that since WebLayerTreeView is
explicitly owned by the user of the API we can safely rely on them managing the lifetime of the client and thus
don't have to null check the client all the time.
* src/WebLayerTreeView.cpp:
(WebKit::WebLayerTreeView::reset):
(WebKit::WebLayerTreeView::isNull):
(WebKit::WebLayerTreeView::initialize):
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::create):
(WebKit::WebLayerTreeViewImpl::willBeginFrame):
(WebKit::WebLayerTreeViewImpl::updateAnimations):
(WebKit::WebLayerTreeViewImpl::layout):
(WebKit::WebLayerTreeViewImpl::applyScrollAndScale):
(WebKit::WebLayerTreeViewImpl::createContext):
(WebKit::WebLayerTreeViewImpl::didRecreateContext):
(WebKit::WebLayerTreeViewImpl::didCommit):
(WebKit::WebLayerTreeViewImpl::didCommitAndDrawFrame):
(WebKit::WebLayerTreeViewImpl::didCompleteSwapBuffers):
(WebKit::WebLayerTreeViewImpl::scheduleComposite):
* src/WebLayerTreeViewImpl.h:
(WebLayerTreeViewImpl):
* tests/CCLayerTreeHostTest.cpp:
(WTF::MockLayerTreeHost::create):
(CCLayerTreeHostTest):
* tests/Canvas2DLayerChromiumTest.cpp:
* tests/LayerChromiumTest.cpp:
* tests/TiledLayerChromiumTest.cpp:
(WTF::TEST):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113623
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jsbell@chromium.org [Mon, 9 Apr 2012 21:37:08 +0000 (21:37 +0000)]
Unreviewed, rolling out r113473.
http://trac.webkit.org/changeset/113473
https://bugs.webkit.org/show_bug.cgi?id=83074
Change does not handle cursor retention of LevelDB iterators
Source/WebCore:
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::loadObjectStores):
* Modules/indexeddb/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
(WebCore::IDBIndexBackendImpl::openCursorInternal):
(WebCore::IDBIndexBackendImpl::countInternal):
(WebCore::IDBIndexBackendImpl::getInternal):
(WebCore::IDBIndexBackendImpl::addingKeyAllowed):
* Modules/indexeddb/IDBIndexBackendImpl.h:
(WebCore::IDBIndexBackendImpl::create):
(IDBIndexBackendImpl):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::getInternal):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::deleteInternal):
(WebCore::IDBObjectStoreBackendImpl::clearInternal):
(WebCore):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
(WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
(WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
(WebCore::IDBObjectStoreBackendImpl::countInternal):
(WebCore::IDBObjectStoreBackendImpl::loadIndexes):
(WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
* Modules/indexeddb/IDBObjectStoreBackendImpl.h:
(WebCore):
(WebCore::IDBObjectStoreBackendImpl::create):
(WebCore::IDBObjectStoreBackendImpl::databaseId):
(IDBObjectStoreBackendImpl):
Source/WebKit/chromium:
* WebKit.gypi:
* tests/IDBDatabaseBackendTest.cpp: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113622
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 9 Apr 2012 21:26:55 +0000 (21:26 +0000)]
[CSS Regions] Convert a fast/regions pixel test to a ref test
https://bugs.webkit.org/show_bug.cgi?id=83398
Patch by David Alcala <dalcala@adobe.com> on 2012-04-09
Reviewed by Dirk Schulze.
* fast/regions/position-writing-modes-in-variable-width-regions-expected.html: Added.
* platform/chromium-linux/fast/regions/position-writing-modes-in-variable-width-regions-expected.png: Removed.
* platform/chromium-mac-leopard/fast/regions/position-writing-modes-in-variable-width-regions-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/regions/position-writing-modes-in-variable-width-regions-expected.png: Removed.
* platform/chromium-mac/fast/regions/position-writing-modes-in-variable-width-regions-expected.png: Removed.
* platform/chromium-mac/fast/regions/position-writing-modes-in-variable-width-regions-expected.txt: Removed.
* platform/chromium-win/fast/regions/position-writing-modes-in-variable-width-regions-expected.png: Removed.
* platform/chromium-win/fast/regions/position-writing-modes-in-variable-width-regions-expected.txt: Removed.
* platform/efl/fast/regions/position-writing-modes-in-variable-width-regions-expected.png: Removed.
* platform/efl/fast/regions/position-writing-modes-in-variable-width-regions-expected.txt: Removed.
* platform/mac/fast/regions/position-writing-modes-in-variable-width-regions-expected.png: Removed.
* platform/mac/fast/regions/position-writing-modes-in-variable-width-regions-expected.txt: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113619
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Mon, 9 Apr 2012 21:24:59 +0000 (21:24 +0000)]
[chromium] Texture copies should happen after incremental updates to preserve commit atomicity
https://bugs.webkit.org/show_bug.cgi?id=83392
Reviewed by Adrienne Walker.
Source/WebCore:
This enqueues texture copy operations in the CCTextureUpdater's list instead of evaluating them immediately so
if the update is spread over multiple frames we can properly defer the texture copy until the end. Otherwise,
the texture copy for WebGL / Canvas 2D content happens before the commit completes and the compositor might pick
up a frame for the canvas that's "ahead" of the content around it.
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::updateCompositorResources):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateCompositorResources):
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::updateCompositorResources):
* platform/graphics/chromium/cc/CCTextureUpdater.cpp:
(WebCore::CCTextureUpdater::appendUpdate):
(WebCore::CCTextureUpdater::appendPartialUpdate):
(WebCore):
(WebCore::CCTextureUpdater::appendCopy):
(WebCore::CCTextureUpdater::hasMoreUpdates):
(WebCore::CCTextureUpdater::update):
(WebCore::CCTextureUpdater::clear):
* platform/graphics/chromium/cc/CCTextureUpdater.h:
(CCTextureUpdater):
(UpdateEntry):
(CopyEntry):
Source/WebKit/chromium:
* tests/Canvas2DLayerChromiumTest.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113618
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Mon, 9 Apr 2012 21:07:42 +0000 (21:07 +0000)]
nrwt is failing to upload test results on the chromium-mac-leopard bots
https://bugs.webkit.org/show_bug.cgi?id=83230
Unreviewed, build fix.
It looks like the change in r113399 to use the per-request
timeout variable didn't actually work, so I am removing the
timeout code altogether and counting on the idea that upload
just isn't likely to take that long and the timeouts and
retransmits are largely unused and largely unnecessary. We'll
see if this breaks anywhere else.
* Scripts/webkitpy/common/net/file_uploader.py:
(FileUploader.__init__):
(FileUploader._upload_data.callback):
(FileUploader):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113617
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rwlbuis@webkit.org [Mon, 9 Apr 2012 20:59:27 +0000 (20:59 +0000)]
[BlackBerry] Cleanup LayoutTestControllerBlackBerry.cpp
https://bugs.webkit.org/show_bug.cgi?id=83469
Reviewed by Dirk Schulze.
Remove WTF:: prefixes and fix a warning with the length variable.
* DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp:
(jsStringRefToWebCoreString):
(LayoutTestController::execCommand):
(LayoutTestController::isCommandEnabled):
(LayoutTestController::setUserStyleSheetLocation):
(LayoutTestController::counterValueForElementById):
(LayoutTestController::overridePreference):
(LayoutTestController::setMockGeolocationError):
(LayoutTestController::findString):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113616
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
noam.rosenthal@nokia.com [Mon, 9 Apr 2012 20:57:11 +0000 (20:57 +0000)]
[Qt][WK2] Don't synchronize WebGraphicsLayers to the UI process if the actual layer information wasn't changed
https://bugs.webkit.org/show_bug.cgi?id=82522
Reviewed by Kenneth Rohde Christiansen.
Currently we set the m_modified flags for all of the descendants of a layer
that has changed its geometry. This causes unnecessary layer sync messages.
Instead, we only sync when the actual layer has changed, and add a flag
called m_shouldUpdateVisibleRect that applies to descendants of a layer
that has a modified geometry.
* Shared/WebLayerTreeInfo.h:
* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::didChangeChildren):
(WebCore):
(WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
(WebCore::WebGraphicsLayer::didChangeGeometry):
(WebCore::WebGraphicsLayer::WebGraphicsLayer):
(WebCore::WebGraphicsLayer::setPosition):
(WebCore::WebGraphicsLayer::setAnchorPoint):
(WebCore::WebGraphicsLayer::setSize):
(WebCore::WebGraphicsLayer::setTransform):
(WebCore::WebGraphicsLayer::setChildrenTransform):
(WebCore::WebGraphicsLayer::setPreserves3D):
(WebCore::WebGraphicsLayer::setContentsToImage):
(WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
(WebCore::WebGraphicsLayer::syncImageBackingStore):
(WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
(WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
(WebCore::WebGraphicsLayer::setRootLayer):
(WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
(WebCore::WebGraphicsLayer::setContentsScale):
(WebCore::WebGraphicsLayer::effectiveContentsScale):
(WebCore::WebGraphicsLayer::adjustContentsScale):
* WebProcess/WebCoreSupport/WebGraphicsLayer.h:
(WebGraphicsLayer):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113615
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 9 Apr 2012 20:43:59 +0000 (20:43 +0000)]
[chromium] Add Battery Status API support.
Source/WebCore:
Add Battery Status API support to chromium.
https://bugs.webkit.org/show_bug.cgi?id=83284
Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-04-09
Reviewed by Adam Barth.
This change is covered by tests in batterystatus/.
* Modules/battery/BatteryController.cpp:
(WebCore::BatteryController::updateBatteryStatus):
(WebCore):
* Modules/battery/BatteryController.h:
(BatteryController):
* Modules/battery/BatteryManager.cpp:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
Source/WebKit/chromium:
The battery-client (BatteryClientChromium) will notify the client (WebBatteryStatusClient) when to start or stop
sending battery status updates. The client, in response will send the notifications to WebViewImpl, which sends
this update information to the WebCore::BatteryClient, and it triggers the appropriate javascript-callbacks.
The spec is at http://www.w3.org/TR/2011/WD-battery-status-
20111129/.
https://bugs.webkit.org/show_bug.cgi?id=83284
Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-04-09
Reviewed by Adam Barth.
* WebKit.gyp:
* features.gypi:
* public/WebBatteryStatus.h: Added.
(WebKit):
(WebBatteryStatus):
(WebKit::WebBatteryStatus::WebBatteryStatus):
* public/WebBatteryStatusClient.h: Added.
(WebKit):
(WebBatteryStatusClient):
(WebKit::WebBatteryStatusClient::~WebBatteryStatusClient):
* public/WebView.h:
(WebKit):
(WebView):
(WebKit::WebView::updateBatteryStatus):
* public/WebViewClient.h:
(WebKit):
(WebViewClient):
(WebKit::WebViewClient::batteryStatusClient):
* src/BatteryClientImpl.cpp: Added.
(WebKit):
(WebKit::BatteryClientImpl::BatteryClientImpl):
(WebKit::BatteryClientImpl::updateBatteryStatus):
(WebKit::BatteryClientImpl::setController):
(WebKit::BatteryClientImpl::startUpdating):
(WebKit::BatteryClientImpl::stopUpdating):
(WebKit::BatteryClientImpl::batteryControllerDestroyed):
* src/BatteryClientImpl.h: Added.
(WebKit):
(BatteryClientImpl):
(WebKit::BatteryClientImpl::~BatteryClientImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit):
(WebKit::WebViewImpl::updateBatteryStatus):
* src/WebViewImpl.h:
(WebKit):
(WebViewImpl):
LayoutTests:
Add Battery Status API support to chromium.
https://bugs.webkit.org/show_bug.cgi?id=83284
Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-04-09
Reviewed by Adam Barth.
* platform/chromium/fast/dom/navigator-detached-no-crash-expected.txt:
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113613
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 9 Apr 2012 20:31:15 +0000 (20:31 +0000)]
Unnecessary scroll bar after changing the dimensions of a DIV
https://bugs.webkit.org/show_bug.cgi?id=71541
Patch by SravanKumar Sandela <ssandela@innominds.com> on 2012-04-09
Reviewed by Julien Chaffraix.
Source/WebCore:
overflow: auto was being determined based on clientWidth and clientHeight, which during style change
scenarii will blindly exclude previous scrollbars while computing overflow. This is valid only for
overflow: scroll, but for other cases it wrongly reduces available area. Now it is taken care by
determining the overflow based on pixelSnappedPaddingBoxWidth/Height() which are newly added in RenderBox.
Tests: fast/overflow/overflow-auto-destroy-scroll-after-resizing-expected.html
fast/overflow/overflow-auto-destroy-scroll-after-resizing.html
* rendering/RenderBox.h:
(WebCore::RenderBox::paddingBoxWidth):
(WebCore::RenderBox::paddingBoxHeight):
(WebCore::RenderBox::pixelSnappedPaddingBoxWidth):
(WebCore::RenderBox::pixelSnappedPaddingBoxHeight):
(RenderBox):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hasHorizontalOverflow):
(WebCore::RenderLayer::hasVerticalOverflow):
LayoutTests:
Ref tests to check scrollbar behaviour in overflow: auto, on resizing.
* fast/overflow/overflow-auto-destroy-scroll-after-resizing-expected.html: Added.
* fast/overflow/overflow-auto-destroy-scroll-after-resizing.html: Added.
scrollbars-on-positioned-content.html and hidden-scrollbar-resize.html needs to be rebaselined
as their expected values were buggy because of redundant scrollbars.
* platform/chromium/test_expectations.txt:
* platform/efl/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113611
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
noam.rosenthal@nokia.com [Mon, 9 Apr 2012 20:26:05 +0000 (20:26 +0000)]
[Qt][WK2] Remove all USE(TILED_BACKING_STORE) defines from code that contains UI_SIDE_COMPOSITING
https://bugs.webkit.org/show_bug.cgi?id=82533
Reviewed by Kenneth Rohde Christiansen.
No change in behavior, removing some #defines.
* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
(WebCore::WebGraphicsLayer::adjustContentsScale):
* WebProcess/WebCoreSupport/WebGraphicsLayer.h:
(WebGraphicsLayer):
* WebProcess/WebPage/LayerTreeHost.h:
(LayerTreeHost):
* WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
(WebKit::LayerTreeHostQt::LayerTreeHostQt):
(WebKit::LayerTreeHostQt::detachLayer):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113610
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 9 Apr 2012 20:10:42 +0000 (20:10 +0000)]
Source/WebCore: Simplified volume slider rendering.
https://bugs.webkit.org/show_bug.cgi?id=82150
Patch by Victor Carbune <vcarbune@adobe.com> on 2012-04-09
Reviewed by Eric Carlson.
Test: media/video-controls-rendering-toggle-display-none.html
* css/mediaControlsChromium.css: Update controls css for Chromium.
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
* css/mediaControlsQuickTime.css: Update controls css for Safari.
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
* html/shadow/MediaControlElements.cpp: Removed particular renderer.
(WebCore):
* html/shadow/MediaControlElements.h:
(MediaControlVolumeSliderContainerElement): Removed particular renderer.
* html/shadow/MediaControlRootElement.cpp:
(WebCore::MediaControlRootElement::create): Added a div element as a container. Removed extra
unused mute button.
* html/shadow/MediaControlRootElementChromium.cpp: Added an extra div element as a container for
the mute button and the volume slider to easily position them relative to each other.
(WebCore::MediaControlRootElementChromium::create):
LayoutTests: Simplified volume rendering.
https://bugs.webkit.org/show_bug.cgi?id=82150
Patch by Victor Carbune <vcarbune@adobe.com> on 2012-04-09
Reviewed by Eric Carlson.
* media/video-controls-rendering-toggle-display-none-expected.txt: Added.
* media/video-controls-rendering-toggle-display-none.html: Added.
* platform/chromium/test_expectations.txt: Marked tests for rebaseline.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113609
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
noam.rosenthal@nokia.com [Mon, 9 Apr 2012 20:01:26 +0000 (20:01 +0000)]
[Qt][WK2] Disable the content-scaling and visible contents rect when the layer's transform is not affine
https://bugs.webkit.org/show_bug.cgi?id=82523
Reviewed by Kenneth Rohde Christiansen.
Always use contentsScale of 1 and a full visibleContentsRect when
the layer's transform is not affine. That's because layer's with
complex transform would not gain from the benefit of contents scaling,
and might also create unexpected layer content sizes.
* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::createBackingStore):
(WebCore):
(WebCore::WebGraphicsLayer::tiledBackingStorePaint):
(WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
(WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::WebGraphicsLayer::updateTile):
(WebCore::WebGraphicsLayer::removeTile):
(WebCore::WebGraphicsLayer::updateContentBuffers):
* WebProcess/WebCoreSupport/WebGraphicsLayer.h:
(WebGraphicsLayer):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113608
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
leviw@chromium.org [Mon, 9 Apr 2012 19:46:56 +0000 (19:46 +0000)]
Correct some LayoutUnit misuse in FilterEffectRenderer, and RenderBlock
https://bugs.webkit.org/show_bug.cgi?id=83366
Reviewed by Eric Seidel.
Some more preparation of Render classes for FractionalLayoutUnits. See below for details
of each change.
No new tests. No change in behavior.
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRendererHelper::applyFilterEffect): Pixel snapping image rect before
drawing it.
* rendering/RenderBlock.cpp:
(WebCore::::string): Pixel snapping outputted values for debug.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113607
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shawnsingh@chromium.org [Mon, 9 Apr 2012 19:31:56 +0000 (19:31 +0000)]
[chromium] Fix layer sorting perspective w if w becomes negative
https://bugs.webkit.org/show_bug.cgi?id=82997
Reviewed by Adrienne Walker.
Source/WebCore:
Unit test added to CCLayerSorterTest.cpp.
This is a follow-up patch after r113364. That other patch
implemented proper clipping so that perspective transforms do not
accidentally make geometry disappear. This patch fixes a similar
problem in the layer sorter code so that layers do not
accidentally get sorted incorrectly.
* platform/graphics/chromium/cc/CCLayerSorter.cpp:
(WebCore::CCLayerSorter::LayerShape::LayerShape):
* platform/graphics/chromium/cc/CCMathUtil.cpp:
(WebCore::computeEnclosingRect):
(WebCore::addVertexToClippedQuad):
(WebCore::CCMathUtil::mapClippedQuad):
(WebCore):
(WebCore::CCMathUtil::computeEnclosingRectOfVertices):
* platform/graphics/chromium/cc/CCMathUtil.h:
(WebCore):
(CCMathUtil):
Source/WebKit/chromium:
* tests/CCLayerSorterTest.cpp:
(WebCore::TEST):
(WebCore):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113606
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 9 Apr 2012 19:31:39 +0000 (19:31 +0000)]
[Qt][WK2] Fail to activate links after double tap gesture.
https://bugs.webkit.org/show_bug.cgi?id=83468
Patch by Zalan Bujtas <zbujtas@gmail.com> on 2012-04-09
Reviewed by Kenneth Rohde Christiansen.
.:
* ManualTests/link-activation-fails-after-double-tap-gesture.html: Added.
Source/WebKit2:
After a recognized double tap gesture, QtTapGestureRecognizer
gets stuck in the double-tap state. Only tapping outside of
the double tap radius cancels it.
Call reset() to set the default state back.
* UIProcess/qt/QtTapGestureRecognizer.cpp:
(WebKit::QtTapGestureRecognizer::recognize):
ManualTests/link-activation-fails-after-double-tap-gesture.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113605
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 9 Apr 2012 19:28:42 +0000 (19:28 +0000)]
[soup] Crash while loading http://www.jusco.cn
https://bugs.webkit.org/show_bug.cgi?id=68238
Patch by Martin Robinson <mrobinson@igalia.com> on 2012-04-09
Reviewed by Philippe Normand.
.:
* configure.ac: Bumped the libsoup dependency to 2.37.90.
Source/WebCore:
Test: http/tests/xmlhttprequest/xmlhttprequest-sync-no-timers.html
When running synchronous XMLHttpRequests, push a new inner thread default
context, so that other sources from timers and network activity do not run.
This will make synchronous requests truly synchronous with the rest of
WebCore.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCoreSynchronousLoader): Clean up the method definitions a bit by writing them inline.
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Push a new thread default
context to prevent other sources from running.
(WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Pop the inner thread default context.
(WebCore::closeCallback): If the client is synchronous call didFinishLoading now.
(WebCore::readCallback): Only call didFinishLoading if the client isn't synchronous.
(WebCore::ResourceHandle::defaultSession): Activate use-thread-context so that the soup session
respects the inner thread context.
LayoutTests:
* http/tests/xmlhttprequest/xmlhttprequest-sync-no-timers-expected.txt: Added.
* http/tests/xmlhttprequest/xmlhttprequest-sync-no-timers.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113604
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 9 Apr 2012 18:58:08 +0000 (18:58 +0000)]
[chromium] Flip transition painting delayed with threaded animations
https://bugs.webkit.org/show_bug.cgi?id=82571
Patch by Dana Jansens <danakj@chromium.org> on 2012-04-09
Reviewed by Adrienne Walker.
Source/WebCore:
This allows for prepainting to see and paint layers that are not facing
the camera but have animating transforms. This is needed to prepaint
animations that "flip" layers around to make the front visible.
The changes are to add a backFaceIsVisible() helper function in
CCLTHCommon. This is used like before to cull non-double sided
layers, but culling is prevented on main thread when the screen
space transform is unknown due to animation. We add new
helper methods transformToScreenIsKnown() to identify this.
However the layer is not actually visible, so we set the
visibleLayerRect to be empty in this case.
The calculateVisibleLayerRect needs to use the backFaceIsVisible()
helper, so we move it into the .cpp file where it belongs, and make
it static to the file since it is not used outide of CCLTHCommon.cpp
at all.
Unit test: CCLayerTreeHostCommonTest.verifyBackFaceCulling
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore):
(WebCore::backFaceIsVisible):
(WebCore::calculateVisibleLayerRect):
(WebCore::layerOpacityIsOpaque):
(WebCore::transformToParentIsKnown):
(WebCore::transformToScreenIsKnown):
(WebCore::layerShouldBeSkipped):
(WebCore::calculateDrawTransformsAndVisibilityInternal):
(WebCore::walkLayersAndCalculateVisibleLayerRects):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
(WebCore):
Source/WebKit/chromium:
* tests/CCLayerTreeHostCommonTest.cpp:
(WebKitTests::TEST):
(WebKitTests):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113602
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 9 Apr 2012 18:56:26 +0000 (18:56 +0000)]
[GTK] Toggle buttons do not size appropriately in some themes
https://bugs.webkit.org/show_bug.cgi?id=82833
Patch by Martin Robinson <mrobinson@igalia.com> on 2012-04-09
Reviewed by Gustavo Noronha Silva.
Source/WebCore:
Test: platform/gtk/fast/forms/large-toggle-elements.html
Instead of drawing a toggle button across the entire rectangle of
the WebCore control, draw a default-sized one cenetered in the rectangle.
* platform/gtk/RenderThemeGtk3.cpp:
(WebCore::paintToggle): Draw default-sized toggles.
LayoutTests:
Add a test for this issue.
* platform/gtk/fast/forms/large-toggle-elements-expected.png: Added.
* platform/gtk/fast/forms/large-toggle-elements-expected.txt: Added.
* platform/gtk/fast/forms/large-toggle-elements.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113601
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 9 Apr 2012 18:49:40 +0000 (18:49 +0000)]
When create JavaScriptNode, do not ignore NumberOfOutputChannels parameter.
https://bugs.webkit.org/show_bug.cgi?id=83250
Patch by Raymond Liu <raymond.liu@intel.com> on 2012-04-09
Reviewed by Chris Rogers.
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::createJavaScriptNode):
(WebCore):
* Modules/webaudio/AudioContext.h:
(AudioContext):
* Modules/webaudio/AudioContext.idl:
* Modules/webaudio/JavaScriptAudioNode.cpp:
(WebCore::JavaScriptAudioNode::create):
(WebCore):
(WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
(WebCore::JavaScriptAudioNode::initialize):
(WebCore::JavaScriptAudioNode::process):
* Modules/webaudio/JavaScriptAudioNode.h:
(JavaScriptAudioNode):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113600
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
robert@webkit.org [Mon, 9 Apr 2012 18:29:02 +0000 (18:29 +0000)]
Skip fast/css/align-positioned-object-on-resize.html on Mac platforms.
window.resizeTo() doesn't behave as expected in Mac DRT.
Unreviewed.
* platform/mac/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113598
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
inferno@chromium.org [Mon, 9 Apr 2012 18:21:05 +0000 (18:21 +0000)]
Crash due to floats not cleared before starting SVG <text> layout.
https://bugs.webkit.org/show_bug.cgi?id=83021
Reviewed by Dirk Schulze.
.:
* ManualTests/svg-text-float-not-removed-crash.html: Added.
Source/WebCore:
Manual Test - ManualTests/svg-text-float-not-removed-crash.html.
Can't reproduce the failure in DRT.
forceLayoutInlineChildren is used in SVG <text> layout and overrides
RenderBlock::layoutBlock. However, it missed the 'clearFloats' step,
which will cause a crash when trying to access removed renderers.
* rendering/RenderBlock.h:
(WebCore::RenderBlock::forceLayoutInlineChildren):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113597
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jpfau@apple.com [Mon, 9 Apr 2012 18:19:00 +0000 (18:19 +0000)]
Filter files from dataTransfer.getData on Mac
https://bugs.webkit.org/show_bug.cgi?id=38876
Reviewed by Enrica Casucci.
Source/WebCore:
The ClipboardMac class now keeps track of whether it was created for copy and paste, dragging and dropping
files or dragging and dropping generic data. This enables the class to block calls to set-/getData when the
clipboard is not operating on generic data, and vice-versa.
Test: fast/events/drop-with-file-paths.html
* editing/mac/EditorMac.mm:
(WebCore::Editor::newGeneralClipboard):
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::createDraggingClipboard):
* platform/mac/ClipboardMac.h:
(WebCore::ClipboardMac::create):
(ClipboardMac):
* platform/mac/ClipboardMac.mm:
(WebCore::Clipboard::create):
(WebCore::ClipboardMac::ClipboardMac):
(WebCore::ClipboardMac::getData):
(WebCore::ClipboardMac::setData):
(WebCore::ClipboardMac::files):
LayoutTests:
* fast/events/drop-with-file-paths-expected.txt: Added.
* fast/events/drop-with-file-paths.html: Added.
* fast/events/resources/file-for-drop-with-file-paths.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113596
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 9 Apr 2012 18:13:44 +0000 (18:13 +0000)]
Unreviewed, rolling out r113561.
http://trac.webkit.org/changeset/113561
https://bugs.webkit.org/show_bug.cgi?id=83487
broke webkit_unit_tests (Requested by simonjam on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-04-09
Source/WebCore:
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
(WebCore::transformSurfaceOpaqueRegion):
(WebCore::computeOcclusionBehindLayer):
(WebCore::::markOccludedBehindLayer):
(WebCore::testContentRectOccluded):
(WebCore::computeUnoccludedContentRect):
Source/WebKit/chromium:
* tests/CCOcclusionTrackerTest.cpp:
(WebKitTests):
* tests/CCQuadCullerTest.cpp:
(WebCore::TestCCOcclusionTrackerImpl::TestCCOcclusionTrackerImpl):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113595
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
leviw@chromium.org [Mon, 9 Apr 2012 18:09:57 +0000 (18:09 +0000)]
Correct LayoutUnit usage in style functions getRoundedBorderFor
https://bugs.webkit.org/show_bug.cgi?id=83154
Reviewed by Julien Chaffraix.
Correcting LayoutUnit usage in getRoundedBorderFor and the calcRadiiFor helper function.
No new tests. No change in behavior.
* rendering/style/RenderStyle.cpp:
(WebCore::calcRadiiFor): This is a static internal function that returns the radii based on a size.
It's only called from getRoundedBorderFor, so we're now pixel snapping the size before handing it
to this function.
(WebCore::RenderStyle::getRoundedBorderFor): Takes a LayoutRect and returns the pixel-snapped
resulting RoundedRect. Using a local IntRect to avoid snapping twice.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113594
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
robert@webkit.org [Mon, 9 Apr 2012 17:37:25 +0000 (17:37 +0000)]
Fix layout test for r113584 on Qt and Mac
Unreviewed.
* fast/css/align-positioned-object-on-resize.html:
Use layoutTestController.display() so that window.resizeTo() is honoured on all DRTs.
* platform/qt/Skipped: Unskip the above test.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113592
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
caseq@chromium.org [Mon, 9 Apr 2012 17:36:53 +0000 (17:36 +0000)]
Web Inspector: zoom on vertical mousewheel in Timeline overview
https://bugs.webkit.org/show_bug.cgi?id=83379
Reviewed by Pavel Feldman.
- added support for zooming around mouse cursor upon mousewheel event;
- handle mousewheel event by _onMouseWheel, not scrollWindow, so we only zoom on events internal to overview.
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewWindow):
(WebInspector.TimelineOverviewWindow.prototype._endWindowSelectorDragging):
(WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
(WebInspector.TimelineOverviewWindow.prototype._zoom):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113591
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bbudge@chromium.org [Mon, 9 Apr 2012 17:17:25 +0000 (17:17 +0000)]
Cross-origin preflight request should not include credentials.
https://bugs.webkit.org/show_bug.cgi?id=37676
Source/WebCore:
Modifies createAccessControlPreflightRequest so it never allows credentials.
Reviewed by Adam Barth.
http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
http/tests/xmlhttprequest/access-control-preflight-credential-async.html
* loader/CrossOriginAccessControl.cpp:
(WebCore::createAccessControlPreflightRequest):
* loader/CrossOriginAccessControl.h:
(WebCore):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
LayoutTests:
Modifies preflight credential tests to make sure that cookies aren't sent along with the
CORS prefetch request.
Reviewed by Adam Barth.
* http/tests/xmlhttprequest/access-control-preflight-credential-async-expected.txt:
* http/tests/xmlhttprequest/access-control-preflight-credential-async.html:
* http/tests/xmlhttprequest/access-control-preflight-credential-sync-expected.txt:
* http/tests/xmlhttprequest/access-control-preflight-credential-sync.html:
* http/tests/xmlhttprequest/resources/basic-auth/access-control-auth-basic.php:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113589
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Mon, 9 Apr 2012 17:01:06 +0000 (17:01 +0000)]
Don't expose internal CSSValues in API
https://bugs.webkit.org/show_bug.cgi?id=83426
Reviewed by Andreas Kling.
The CSSValues returned from functions like CSSStyleDeclaration.getPropertyCSSValue() are currently
the same instances we use internally. This creates various problems. The values can't be shared between
documents as the wrappers would be shared too. Having to maintain per-document CSSValuePools complicate
the architecture and increase memory usage. This also blocks sharing style sheet data structures
between documents.
This patch adds a concept of CSSOM-safe CSSValue. Only the safe values can be wrapped for JS access.
Values are unsafe by default. The CSSOM functions that return CSSValues create safe instances by
cloning the internal values.
The use of APIs that return CSSValues is very rare (the currect CSSOM draft deprecates them) and
cloning is cheap in any case. Future patches will eliminate the per-document value pool in favor
of a global one for a memory win.
In the future we want to replace internally used CSSValues with true internal types (StyleValues) and
use CSSValues exclusively as wrappers (similar to how CSSStyleRule wraps internal StyleRule).
* bindings/js/JSCSSValueCustom.cpp:
(WebCore::toJS):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValueInternal):
* css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::CSSImageSetValue):
(WebCore):
(WebCore::CSSImageSetValue::cloneForCSSOM):
* css/CSSImageSetValue.h:
(CSSImageSetValue):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::cleanup):
Opportunistically fix a string leak for CSS_COUNTER_NAME values.
Add all cases, remove default.
(WebCore::CSSPrimitiveValue::cloneForCSSOM):
(WebCore):
* css/CSSPrimitiveValue.h:
(CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::setCSSOMSafe):
* css/CSSValue.cpp:
(WebCore):
(TextCloneCSSValue):
(WebCore::TextCloneCSSValue::create):
(WebCore::TextCloneCSSValue::cssText):
(WebCore::TextCloneCSSValue::TextCloneCSSValue):
Most non-primitive value types are not exposed in CSSOM. For those we create a dummy value
that contains only the data that is accessible though the base CSSValue interface.
(WebCore::CSSValue::addSubresourceStyleURLs):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
(WebCore::CSSValue::cloneForCSSOM):
* css/CSSValue.h:
(WebCore):
(CSSValue):
(WebCore::CSSValue::isCSSOMSafe):
(WebCore::CSSValue::isSubtypeExposedToCSSOM):
(WebCore::CSSValue::CSSValue):
* css/CSSValueList.cpp:
(WebCore::CSSValueList::CSSValueList):
(WebCore):
(WebCore::CSSValueList::cloneForCSSOM):
* css/CSSValueList.h:
(CSSValueList):
* css/Counter.h:
(Counter):
(WebCore::Counter::cloneForCSSOM):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
(WebCore::PropertySetCSSStyleDeclaration::didMutate):
(WebCore):
(WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
Maintain a map of safe CSSValues so we can maintain object identity.
* css/PropertySetCSSStyleDeclaration.h:
(WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
(PropertySetCSSStyleDeclaration):
* css/RGBColor.cpp:
(WebCore::RGBColor::red):
(WebCore::RGBColor::green):
(WebCore::RGBColor::blue):
(WebCore::RGBColor::alpha):
* css/Rect.h:
(WebCore::RectBase::RectBase):
(RectBase):
(Rect):
(WebCore::Rect::cloneForCSSOM):
(WebCore::Rect::Rect):
(Quad):
(WebCore::Quad::cloneForCSSOM):
(WebCore::Quad::Quad):
* css/WebKitCSSFilterValue.cpp:
(WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
(WebCore):
(WebCore::WebKitCSSFilterValue::cloneForCSSOM):
* css/WebKitCSSFilterValue.h:
(WebKitCSSFilterValue):
* css/WebKitCSSTransformValue.cpp:
(WebCore::WebKitCSSTransformValue::WebKitCSSTransformValue):
(WebCore):
(WebCore::WebKitCSSTransformValue::cloneForCSSOM):
* css/WebKitCSSTransformValue.h:
(WebKitCSSTransformValue):
* svg/SVGColor.cpp:
(WebCore::SVGColor::SVGColor):
(WebCore):
(WebCore::SVGColor::cloneForCSSOM):
* svg/SVGColor.h:
(SVGColor):
* svg/SVGPaint.cpp:
(WebCore::SVGPaint::SVGPaint):
(WebCore):
(WebCore::SVGPaint::cloneForCSSOM):
* svg/SVGPaint.h:
(SVGPaint):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::getPresentationAttribute):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113588
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Mon, 9 Apr 2012 16:44:15 +0000 (16:44 +0000)]
Web Inspector: get rid of WebInspector.Resource.category, use WebInspector.Resource.type instead.
https://bugs.webkit.org/show_bug.cgi?id=83467
Reviewed by Yury Semikhatsky.
Source/WebCore:
WebInspector.Resource.category is derived from the WebInspector.Resource.type and there is no real need it maintaining both.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/AuditLauncherView.js:
(WebInspector.AuditLauncherView.prototype._onResourceStarted):
(WebInspector.AuditLauncherView.prototype._onResourceFinished):
* inspector/front-end/AuditRules.js:
(WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
(WebInspector.AuditRules.CombineJsResourcesRule):
(WebInspector.AuditRules.CombineCssResourcesRule):
(WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
(WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
(WebInspector.AuditRules.CacheControlRule.prototype.isCompressible):
(WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModelResourceBinding):
(WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
(WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged):
* inspector/front-end/ContentProviders.js:
(WebInspector.ResourceContentProvider):
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModelResourceBinding):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype._getPopoverAnchor):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._makeResource):
* inspector/front-end/NetworkManager.js:
(WebInspector.NetworkManager.get this):
(WebInspector.NetworkManager.get NetworkAgent):
(WebInspector.NetworkManager):
(WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
(WebInspector.NetworkDispatcher.prototype._mimeTypeIsConsistentWithType):
(WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
(WebInspector.NetworkDispatcher.prototype.responseReceived):
(WebInspector.NetworkDispatcher.prototype.webSocketCreated):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype._createFilterStatusBarItems):
(WebInspector.NetworkLogView.prototype._updateSummaryBar):
(WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
(WebInspector.NetworkDataGridNode.prototype.refreshResource):
(WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
(WebInspector.NetworkDataGridNode.prototype.refreshGraph):
* inspector/front-end/Resource.js:
(WebInspector.Resource):
(WebInspector.Resource.registerDomainModelBinding):
(WebInspector.Resource.prototype.set type):
(WebInspector.Resource.prototype.isEditable):
(WebInspector.Resource.prototype.setContent):
(WebInspector.Resource.prototype.requestContent):
* inspector/front-end/ResourceCategory.js: Removed.
* inspector/front-end/ResourcePreviewView.js:
(WebInspector.ResourcePreviewView.prototype._createPreviewView):
* inspector/front-end/ResourceScriptMapping.js:
(WebInspector.ResourceScriptMapping.prototype.addScript):
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
(WebInspector.ResourceTreeModel.prototype._onResourceUpdateDropped):
(WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
* inspector/front-end/ResourceType.js: Added.
(WebInspector.ResourceType):
(WebInspector.ResourceType.prototype.name):
(WebInspector.ResourceType.prototype.title):
(WebInspector.ResourceType.prototype.categoryTitle):
(WebInspector.ResourceType.prototype.color):
(WebInspector.ResourceType.prototype.isTextType):
(WebInspector.ResourceType.prototype.toString):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView.hasTextContent):
(WebInspector.ResourceView.nonSourceViewForResource):
(WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.FrameTreeElement.prototype.appendResource):
(WebInspector.FrameResourceTreeElement):
(WebInspector.FrameResourceTreeElement.prototype.onattach):
(WebInspector.ResourceRevisionTreeElement):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
LayoutTests:
* http/tests/inspector/network/async-xhr-json-mime-type-expected.txt:
* http/tests/inspector/network/network-iframe-load-and-delete-expected.txt:
* http/tests/inspector/network/network-xhr-async-expected.txt:
* http/tests/inspector/network/network-xhr-same-url-as-main-resource.html:
* http/tests/inspector/network/network-xhr-sync-expected.txt:
* http/tests/inspector/resource-tree/resource-tree-invalid-mime-type-css-content.html:
* http/tests/inspector/resource-tree/resource-tree-mimetype.html:
* http/tests/inspector/resource-tree/resource-tree-test.js:
(initialize_ResourceTreeTest.InspectorTest.dumpResourceTreeEverything):
(initialize_ResourceTreeTest):
* inspector/debugger/raw-source-code.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113587
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alexis.menard@openbossa.org [Mon, 9 Apr 2012 16:37:33 +0000 (16:37 +0000)]
Unreviewed, adding a missing header for the Qt port.
* Target.pri:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113586
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Mon, 9 Apr 2012 16:35:58 +0000 (16:35 +0000)]
Web Inspector: [network panel] type column shows "undefined" instead of "(Pending)" upon load.
https://bugs.webkit.org/show_bug.cgi?id=83470
Reviewed by Yury Semikhatsky.
isPingRequest is tested for as a field, not a function return value.
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkDataGridNode.prototype._refreshTypeCell):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113585
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
robert@webkit.org [Mon, 9 Apr 2012 16:34:46 +0000 (16:34 +0000)]
REGRESSION (r94492): Incorrect initial layout of absolutely positioned <input> inside centering div
https://bugs.webkit.org/show_bug.cgi?id=77754
Reviewed by David Hyatt.
Source/WebCore:
The correct static position of an center-aligned, inline, absolutely positioned object with a block child can't be known
until the width of the child has been computed. This means that setStaticPositions() in RenderBlockLineLayout is setting
the position too early, before the width of the child has been finalised. To fix, adjust the static position of the inline
positioned object once its child's width has been calculated.
Test: fast/css/align-positioned-object-on-resize.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutPositionedObjects):
LayoutTests:
* fast/css/align-positioned-object-on-resize-expected.txt: Added.
* fast/css/align-positioned-object-on-resize.html: Added.
* platform/qt/Skipped: Skipped on Qt as window.resizeTo() does not work properly in Qt DRT.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113584
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Mon, 9 Apr 2012 16:12:24 +0000 (16:12 +0000)]
WebVTT parser unnecessarily limits the value of a timestamp
https://bugs.webkit.org/show_bug.cgi?id=83422
Reviewed by Dan Bernstein.
Source/WebCore:
Test: media/track/track-large-timestamp.html
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::collectTimeStamp): Make all constants double instead of int so
the maximum number of hours is increased and so we don't need any casts.
LayoutTests:
* media/track/captions-webvtt/large-timestamp.vtt: Added.
* media/track/track-large-timestamp-expected.txt: Added.
* media/track/track-large-timestamp.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113583
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
inferno@chromium.org [Mon, 9 Apr 2012 16:03:46 +0000 (16:03 +0000)]
Incorrect placement of new child to table when before child parent is not |this|.
https://bugs.webkit.org/show_bug.cgi?id=82630
Reviewed by Julien Chaffraix.
Source/WebCore:
Tests: fast/table/table-row-split2.html
fast/table/table-section-split2.html
fast/table/table-split.html
fast/table/table-split2.html
and tested by layouttests in commits r97180, r108127, and a few others.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildToAnonymousColumnBlocks): function rename, block->box.
(WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks): ditto.
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): ditto.
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::moveChildTo): move these functions from RenderBlock, needs to be
used in RenderBox::splitAnonymousBoxesAroundChild.
(WebCore):
(WebCore::RenderBox::moveChildrenTo): ditto.
(WebCore::markBoxForRelayoutAfterSplit): helper to mark a block or table part for complete relayout
after anonymous boxes are split around child.
(WebCore::RenderBox::splitAnonymousBoxesAroundChild): moved from RenderBlock to be able
to work with table parts.
* rendering/RenderBox.h:
(RenderBox):
(WebCore::RenderBox::moveChildTo):
(WebCore::RenderBox::moveAllChildrenTo):
(WebCore::RenderBox::moveChildrenTo):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::addChild): no longer need the hack added in r95461.
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::moveChildren): function rename, block->box.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild): Use splitAnonymousBoxesAroundChild function when |beforeChild| != |this|.
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::addChild): ditto.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addChild): ditto.
LayoutTests:
* fast/table/cell-in-row-before-misnested-text-crash-css-expected.txt: rebaseline, corrects layout.
* fast/table/cell-in-row-before-misnested-text-crash-expected.txt: rebaseline, corrects layout.
* fast/table/row-in-tbody-before-misnested-text-crash-css-expected.txt: rebaseline, corrects layout.
* fast/table/row-in-tbody-before-misnested-text-crash-expected.txt: rebaseline, corrects layout.
* fast/table/table-row-split2-expected.png: Added.
* fast/table/table-row-split2-expected.txt: Added.
* fast/table/table-row-split2.html: Added.
* fast/table/table-section-split2-expected.png: Added.
* fast/table/table-section-split2-expected.txt: Added.
* fast/table/table-section-split2.html: Added.
* fast/table/table-split-expected.png: Added.
* fast/table/table-split-expected.txt: Added.
* fast/table/table-split.html: Added.
* fast/table/table-split2-expected.png: Added.
* fast/table/table-split2-expected.txt: Added.
* fast/table/table-split2.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113581
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jocelyn.turcotte@nokia.com [Mon, 9 Apr 2012 15:31:10 +0000 (15:31 +0000)]
WebSocketServer: Honour WebSocketFrame::masked in makeFrameData
https://bugs.webkit.org/show_bug.cgi?id=83042
Reviewed by Kent Tamura.
Frames from the server should not be masked.
Currently, the flag is set to false, but the frames were masked anyway.
This causes clients with recent builds of WebKit to abort the connection to the
inspector server, refusing masked frames from the server as per the spec.
This doesn't change the behavior of WebSocket clients, which set the masked flag to true.
* Modules/websockets/WebSocketFrame.cpp:
(WebCore::appendFramePayload):
(WebCore::WebSocketFrame::makeFrameData):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113580
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
schenney@chromium.org [Mon, 9 Apr 2012 15:29:47 +0000 (15:29 +0000)]
Layout Test in svg are failing
https://bugs.webkit.org/show_bug.cgi?id=82232
Unreviewed Chromium expectations update.
All the tests covered by this bug ran without crashes over a five day
period. Given the previous crash rates, this suggests we've fixed the
problem.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113579
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alexis.menard@openbossa.org [Mon, 9 Apr 2012 13:43:25 +0000 (13:43 +0000)]
[Part 5] We should use CSSPropertyID rather than integers when manipulating CSS property ids.
https://bugs.webkit.org/show_bug.cgi?id=83466
Reviewed by Kentaro Hara.
CSSPropertyID enum holds all the CSS property ids but many parts of WebKit treat the ids
as integers, this patch should adress the last remaining occurences of ints rather than CSSPropertyIDs.
No new tests : There should be no behavior change in this patch.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* css/CSSStyleSelector.h:
(CSSStyleSelector):
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::removePropertiesInSet):
* page/animation/AnimationBase.cpp:
(WebCore::gatherEnclosingShorthandProperties):
(WebCore::AnimationBase::animatableShorthandsAffectingProperty):
* page/animation/AnimationBase.h:
(AnimationBase):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::pauseTransitionAtTime):
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::animate):
(WebCore::KeyframeAnimation::getAnimatedStyle):
(WebCore::KeyframeAnimation::overrideAnimations):
(WebCore::KeyframeAnimation::resumeOverriddenAnimations):
(WebCore::KeyframeAnimation::timeToNextService):
* rendering/style/KeyframeList.cpp:
(WebCore::KeyframeList::insert):
* rendering/style/KeyframeList.h:
(WebCore::KeyframeValue::addProperty):
(WebCore::KeyframeValue::containsProperty):
(WebCore::KeyframeValue::properties):
(KeyframeValue):
(WebCore::KeyframeList::addProperty):
(WebCore::KeyframeList::containsProperty):
(WebCore::KeyframeList::beginProperties):
(WebCore::KeyframeList::endProperties):
(KeyframeList):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113577
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Mon, 9 Apr 2012 13:34:54 +0000 (13:34 +0000)]
Unreviewed, rebaselined run-bindings-tests results.
* bindings/scripts/test/JS/JSFloat64Array.cpp:
(WebCore::JSFloat64ArrayConstructor::getOwnPropertySlot):
(WebCore::JSFloat64ArrayConstructor::getOwnPropertyDescriptor):
(WebCore::jsFloat64ArrayConstructor):
(WebCore::JSFloat64Array::getConstructor):
(WebCore::jsFloat64ArrayPrototypeFunctionFoo):
(WebCore::toFloat64Array):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObjectConstructor::getOwnPropertySlot):
(WebCore::JSTestActiveDOMObjectConstructor::getOwnPropertyDescriptor):
(WebCore::jsTestActiveDOMObjectExcitingAttr):
(WebCore::jsTestActiveDOMObjectConstructor):
(WebCore::JSTestActiveDOMObject::getConstructor):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
(WebCore::JSTestActiveDOMObjectOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestActiveDOMObjectOwner::finalize):
(WebCore::toTestActiveDOMObject):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertySlot):
(WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertyDescriptor):
(WebCore::jsTestCustomNamedGetterConstructor):
(WebCore::JSTestCustomNamedGetter::getConstructor):
(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
(WebCore::JSTestCustomNamedGetterOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestCustomNamedGetterOwner::finalize):
(WebCore::toTestCustomNamedGetter):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::getOwnPropertySlot):
(WebCore::JSTestEventConstructorConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
(WebCore::jsTestEventConstructorAttr1):
(WebCore::jsTestEventConstructorAttr2):
(WebCore::jsTestEventConstructorConstructor):
(WebCore::JSTestEventConstructor::getConstructor):
(WebCore::JSTestEventConstructorOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestEventConstructorOwner::finalize):
(WebCore::toTestEventConstructor):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTargetConstructor::getOwnPropertySlot):
(WebCore::JSTestEventTargetConstructor::getOwnPropertyDescriptor):
(WebCore::jsTestEventTargetConstructor):
(WebCore::JSTestEventTarget::getConstructor):
(WebCore::jsTestEventTargetPrototypeFunctionItem):
(WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
(WebCore::JSTestEventTarget::indexGetter):
(WebCore::JSTestEventTargetOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestEventTargetOwner::finalize):
(WebCore::toTestEventTarget):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::getOwnPropertySlot):
(WebCore::JSTestInterfaceConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
(WebCore::jsTestInterfaceSupplementalStr1):
(WebCore::jsTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::jsTestInterfaceSupplementalNode):
(WebCore::jsTestInterfaceConstructor):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceSupplementalNode):
(WebCore::JSTestInterface::getConstructor):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
(WebCore::JSTestInterfaceOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestInterfaceOwner::finalize):
(WebCore::toTestInterface):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlot):
(WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertyDescriptor):
(WebCore::jsTestMediaQueryListListenerConstructor):
(WebCore::JSTestMediaQueryListListener::getConstructor):
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
(WebCore::JSTestMediaQueryListListenerOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestMediaQueryListListenerOwner::finalize):
(WebCore::toTestMediaQueryListListener):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorConstructor::getOwnPropertySlot):
(WebCore::JSTestNamedConstructorConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
(WebCore::jsTestNamedConstructorConstructor):
(WebCore::JSTestNamedConstructor::getConstructor):
(WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestNamedConstructorOwner::finalize):
(WebCore::toTestNamedConstructor):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::getOwnPropertySlot):
(WebCore::JSTestObjConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestObjConstructor::constructJSTestObj):
(WebCore::jsTestObjReadOnlyIntAttr):
(WebCore::jsTestObjReadOnlyStringAttr):
(WebCore::jsTestObjReadOnlyTestObjAttr):
(WebCore::jsTestObjShortAttr):
(WebCore::jsTestObjUnsignedShortAttr):
(WebCore::jsTestObjIntAttr):
(WebCore::jsTestObjLongLongAttr):
(WebCore::jsTestObjUnsignedLongLongAttr):
(WebCore::jsTestObjStringAttr):
(WebCore::jsTestObjTestObjAttr):
(WebCore::jsTestObjSequenceAttr):
(WebCore::jsTestObjXMLObjAttr):
(WebCore::jsTestObjCreate):
(WebCore::jsTestObjReflectedStringAttr):
(WebCore::jsTestObjReflectedIntegralAttr):
(WebCore::jsTestObjReflectedUnsignedIntegralAttr):
(WebCore::jsTestObjReflectedBooleanAttr):
(WebCore::jsTestObjReflectedURLAttr):
(WebCore::jsTestObjReflectedCustomIntegralAttr):
(WebCore::jsTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjReflectedCustomURLAttr):
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjAttrWithSetterException):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithSetterException):
(WebCore::jsTestObjCustomAttr):
(WebCore::jsTestObjWithScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAttribute):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjConditionalAttr1):
(WebCore::jsTestObjConditionalAttr2):
(WebCore::jsTestObjConditionalAttr3):
(WebCore::jsTestObjConditionalAttr4Constructor):
(WebCore::jsTestObjConditionalAttr5Constructor):
(WebCore::jsTestObjConditionalAttr6Constructor):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::jsTestObjContentDocument):
(WebCore::jsTestObjMutablePoint):
(WebCore::jsTestObjImmutablePoint):
(WebCore::jsTestObjStrawberry):
(WebCore::jsTestObjStrictFloat):
(WebCore::jsTestObjDescription):
(WebCore::jsTestObjId):
(WebCore::jsTestObjHash):
(WebCore::jsTestObjConstructor):
(WebCore::setJSTestObjShortAttr):
(WebCore::setJSTestObjUnsignedShortAttr):
(WebCore::setJSTestObjIntAttr):
(WebCore::setJSTestObjLongLongAttr):
(WebCore::setJSTestObjUnsignedLongLongAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjTestObjAttr):
(WebCore::setJSTestObjSequenceAttr):
(WebCore::setJSTestObjXMLObjAttr):
(WebCore::setJSTestObjCreate):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedIntegralAttr):
(WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
(WebCore::setJSTestObjReflectedBooleanAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedCustomIntegralAttr):
(WebCore::setJSTestObjReflectedCustomBooleanAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjAttrWithGetterException):
(WebCore::setJSTestObjAttrWithSetterException):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::setJSTestObjCustomAttr):
(WebCore::setJSTestObjWithScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAttribute):
(WebCore::setJSTestObjWithScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjConditionalAttr1):
(WebCore::setJSTestObjConditionalAttr2):
(WebCore::setJSTestObjConditionalAttr3):
(WebCore::setJSTestObjConditionalAttr4Constructor):
(WebCore::setJSTestObjConditionalAttr5Constructor):
(WebCore::setJSTestObjConditionalAttr6Constructor):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):
(WebCore::setJSTestObjStrawberry):
(WebCore::setJSTestObjStrictFloat):
(WebCore::setJSTestObjId):
(WebCore::JSTestObj::getConstructor):
(WebCore::jsTestObjPrototypeFunctionVoidMethod):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionIntMethod):
(WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethod):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionIdbKey):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionMethodWithException):
(WebCore::jsTestObjPrototypeFunctionCustomMethod):
(WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongArray):
(WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert3):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionConvert5):
(WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionOrange):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
(WebCore::JSTestObjOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestObjOwner::finalize):
(WebCore::toTestObj):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
(WebCore::jsTestSerializedScriptValueInterfaceValue):
(WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
(WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceConstructor):
(WebCore::setJSTestSerializedScriptValueInterfaceValue):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
(WebCore::JSTestSerializedScriptValueInterface::getConstructor):
(WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
(WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionMultiTransferList):
(WebCore::JSTestSerializedScriptValueInterfaceOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
(WebCore::toTestSerializedScriptValueInterface):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113576
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
charles.wei@torchmobile.com.cn [Mon, 9 Apr 2012 13:24:04 +0000 (13:24 +0000)]
[BlackBerry] Upstream BlackBerry change to WebCore::TouchEvent
https://bugs.webkit.org/show_bug.cgi?id=83454
Reviewed by Rob Buis.
BlackBerry-port enhances the TouchEvent by adding member variables
to indicate if the event is double-tap or touch-hold.
* dom/TouchEvent.cpp:
(WebCore::TouchEvent::TouchEvent):
(WebCore::TouchEvent::initTouchEvent):
* dom/TouchEvent.h:
(TouchEvent):
(WebCore::TouchEvent::setDoubleTap):
(WebCore::TouchEvent::isDoubleTap):
(WebCore::TouchEvent::setTouchHold):
(WebCore::TouchEvent::isTouchHold):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113575
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
paroga@webkit.org [Mon, 9 Apr 2012 12:35:56 +0000 (12:35 +0000)]
[CMake] Build fix for USE_SYSTEM_MALLOC after r113570.
.:
* Source/cmakeconfig.h.cmake:
Source/WTF:
* wtf/CMakeLists.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113574
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 9 Apr 2012 11:42:18 +0000 (11:42 +0000)]
Remove partially implemented per-Element visibility checks from requestAnimationFrame logic
https://bugs.webkit.org/show_bug.cgi?id=74232
Patch by James Robinson <jamesr@chromium.org> on 2012-04-09
Reviewed by Dean Jackson.
Source/WebCore:
The initial requestAnimationFrame implementation had an Element parameter as the second argument to the
function. This element was intended to convey the element associated with the animation so that when the element
was not visible the animation callback would not be run. The checked in implementation does a very limited check
- testing for display:none and being detached from the tree - but does it in a way that does not work correctly
if an element's visibility is manipulated by a callback running from a different document. It also adds
significant complexity to the code, making it less hackable and easy to introduce subtle security bugs or
infinite loops.
This patch removes the parameter. Since it has always been marked optional, there is no web compat risk.
If this functionality is added back in the future it needs to be implemented in a way that considers all
callbacks within a Page and not only those within a single Document.
* dom/Document.cpp:
(WebCore::Document::webkitRequestAnimationFrame):
* dom/Document.h:
* dom/RequestAnimationFrameCallback.h:
* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::registerCallback):
(WebCore::ScriptedAnimationController::serviceScriptedAnimations):
* dom/ScriptedAnimationController.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::webkitRequestAnimationFrame):
* page/DOMWindow.h:
* page/DOMWindow.idl:
LayoutTests:
Remove tests for removed functionality.
* fast/animation/request-animation-frame-display-expected.txt: Removed.
* fast/animation/request-animation-frame-display.html: Removed.
* fast/animation/script-tests/request-animation-frame-display.js: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113573
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
paroga@webkit.org [Mon, 9 Apr 2012 10:58:06 +0000 (10:58 +0000)]
Build fix for WinCE after r113570.
* Scripts/build-webkit: Do not use FastMalloc for WinCE.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113572
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
paroga@webkit.org [Mon, 9 Apr 2012 10:49:40 +0000 (10:49 +0000)]
Remove HAVE_STDINT_H
https://bugs.webkit.org/show_bug.cgi?id=83434
Reviewed by Kentaro Hara.
HAVE_STDINT_H is defined with 1 all the time and we us stdint.h without HAVE(STDINT_H) already.
Source/JavaScriptCore:
* config.h:
Source/WTF:
* config.h:
* wtf/FastMalloc.cpp:
* wtf/TCPageMap.h:
* wtf/TCSpinLock.h:
* wtf/TCSystemAlloc.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113571
268f45cc-cd09-0410-ab3c-
d52691b4dbfc