profile/ivi/webkit-efl.git
12 years agocombine two arrays in FileException.cpp into one
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

12 years agocombine two arrays in OperationNotAllowedException.cpp into one
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

12 years agoAssert triggers VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries.
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

12 years agocombine two arrays in SVGException.cpp into one
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

12 years agocombine two arrays in XMLHttpRequestException.cpp into one
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

12 years ago[WK2] Enable using a single ShareableBitmap for multiple updates
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

12 years ago[chromium] Viewport is not filled when out of texture memory on mac
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

12 years agoDon't let CSSPropertyWebkitPerspective dereference primitiveValue without null check.
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

12 years ago<http://webkit.org/b/83539> Web Inspector: ASSERT attempting to unbind null contentDo...
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

12 years ago[BlackBerry] Parsed Cookie's m_isMaxAgeSet is not needed.
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

12 years agoFixed ordering of deleting CCInputHandler and CCLayerTreeHostImpl in layerTreeHostClo...
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

12 years ago[BlackBerry] Update about:config page
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

12 years agoUnreviewed, rolling out r113656.
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

12 years agoASSERTION FAILED: !attached() in Node::attach.
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

12 years ago[Chromium] Unreviewed gardening.
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

12 years ago[chromium] Replica layers are not drawn, so should not be painted
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

12 years agoShadowRoot should have selection attribute.
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

12 years ago[EFL] Gardening in fast/text/whitespace.
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

12 years agoReplace numeric_limits<LayoutUnit>::min/max with constants
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

12 years ago[EFL] Gardening in transforms/2d.
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

12 years agoClean up LayoutUnit usage in DOMNodeHighlighter
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

12 years agoAdd missing IndexedDB files to CMake build
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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=83411
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

12 years agoIf a callback constructor returns a C++ null, throw a type error.
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

12 years ago[Mac] WebProcess dies due to m_process->checkURLReceivedFromWebProcess(url) dropping...
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

12 years ago[chromium] More unreviewed OwnPtr<>::operator= related clang build fixes in unit...
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

12 years agoPort BinarySemaphoreWin.cpp to WinCE
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

12 years agoAdd transfer map argument to Intent constructor
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

12 years agoUpdate pywebsocket to 0.7.4.
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

12 years agoIf a callback function returns a C++ null, convert to undefined.
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

12 years ago[Chromium] Unreviewed gardening.
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

12 years ago[chromium] Cull occluded surface quads
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

12 years agoUpdate perf-o-matic config.js per upstream change.
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

12 years ago[chromium] Unreviewed build fix. OwnPtr<>::operator = breaks the build on clang,...
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

12 years ago<rdar://problem/11214796>
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

12 years agoClassic interpreter's GC hooks shouldn't attempt to scan instructions for code blocks...
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

12 years agoMake CSSValuePool share values globally.
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

12 years ago[Chromium] Unreviewed, roll out rebaselines for feature that was rolled out.
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

12 years agoPrepare html classes for sub-pixel LayoutUnits
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

12 years ago[BlackBerry] requestAnimationFrame performance choppy & inconsistent
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

12 years agoMake CSSValueID's into an enum instead of a collection of integers.
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

12 years agoUnreviewed, modernize and clean up uses of ARM assembly mnemonics in inline asm blocks.
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

12 years agoUnreviewed, rolling out r113609.
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

12 years ago[Qt][WK2] Sync the layer's state and the layer's children separately
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

12 years agoadd a webkit-patch print-baselines command
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

12 years agoUnreviewed: adding myself to committers.py.
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

12 years ago[chromium] Make culling work with clipped rects
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

12 years agoRemove unworkable video-buffering-repaints-controls test.
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

12 years agoUnreviewed, rolling out r113613.
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

12 years agobindAttribLocation should check webgl reserved prefix
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

12 years ago[BlackBerry] Allow simulator to use GLES2 acceleration
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

12 years ago[Chromium] Unreviewed gardening fix.
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

12 years agoFix the assertion in PageScriptDebugServer::didPause.
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

12 years ago[Qt][WK2] Accelerated and non-accelerated animations need to be synchronized
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

12 years ago[Chromium] Unreviewed gardening.
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

12 years agoMark myself as a committer
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

12 years agoFrameData constructor zeroes all fields, causing ImageOrientation to be 0
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

12 years ago[chromium] CCLayerTreeHost / WebLayerTreeView should be single ownership, not RefCounted
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

12 years agoUnreviewed, rolling out r113473.
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

12 years ago[CSS Regions] Convert a fast/regions pixel test to a ref test
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

12 years ago[chromium] Texture copies should happen after incremental updates to preserve commit...
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

12 years agonrwt is failing to upload test results on the chromium-mac-leopard bots
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

12 years ago[BlackBerry] Cleanup LayoutTestControllerBlackBerry.cpp
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

12 years ago[Qt][WK2] Don't synchronize WebGraphicsLayers to the UI process if the actual layer...
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

12 years ago[chromium] Add Battery Status API support.
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

12 years agoUnnecessary scroll bar after changing the dimensions of a DIV
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

12 years ago[Qt][WK2] Remove all USE(TILED_BACKING_STORE) defines from code that contains UI_SIDE...
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

12 years agoSource/WebCore: Simplified volume slider rendering.
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

12 years ago[Qt][WK2] Disable the content-scaling and visible contents rect when the layer's...
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

12 years agoCorrect some LayoutUnit misuse in FilterEffectRenderer, and RenderBlock
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

12 years ago[chromium] Fix layer sorting perspective w if w becomes negative
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

12 years ago[Qt][WK2] Fail to activate links after double tap gesture.
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

12 years ago[soup] Crash while loading http://www.jusco.cn
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

12 years ago[chromium] Flip transition painting delayed with threaded animations
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

12 years ago[GTK] Toggle buttons do not size appropriately in some themes
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

12 years agoWhen create JavaScriptNode, do not ignore NumberOfOutputChannels parameter.
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

12 years agoSkip fast/css/align-positioned-object-on-resize.html on Mac platforms.
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

12 years agoCrash due to floats not cleared before starting SVG <text> layout.
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

12 years agoFilter files from dataTransfer.getData on Mac
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

12 years agoUnreviewed, rolling out r113561.
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

12 years agoCorrect LayoutUnit usage in style functions getRoundedBorderFor
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

12 years agoFix layout test for r113584 on Qt and Mac
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

12 years agoWeb Inspector: zoom on vertical mousewheel in Timeline overview
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

12 years agoCross-origin preflight request should not include credentials.
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

12 years agoDon't expose internal CSSValues in API
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

12 years agoWeb Inspector: get rid of WebInspector.Resource.category, use WebInspector.Resource...
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

12 years agoUnreviewed, adding a missing header for the Qt port.
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

12 years agoWeb Inspector: [network panel] type column shows "undefined" instead of "(Pending...
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

12 years agoREGRESSION (r94492): Incorrect initial layout of absolutely positioned <input> inside...
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

12 years agoWebVTT parser unnecessarily limits the value of a timestamp
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

12 years agoIncorrect placement of new child to table when before child parent is not |this|.
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

12 years agoWebSocketServer: Honour WebSocketFrame::masked in makeFrameData
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

12 years agoLayout Test in svg are failing
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

12 years ago[Part 5] We should use CSSPropertyID rather than integers when manipulating CSS prope...
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

12 years agoUnreviewed, rebaselined run-bindings-tests results.
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

12 years ago[BlackBerry] Upstream BlackBerry change to WebCore::TouchEvent
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

12 years ago[CMake] Build fix for USE_SYSTEM_MALLOC after r113570.
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

12 years agoRemove partially implemented per-Element visibility checks from requestAnimationFrame...
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

12 years agoBuild fix for WinCE after r113570.
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

12 years agoRemove HAVE_STDINT_H
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