[Qt] fast/block/margin-collapse tests need update after rebaseline and new testfonts
https://bugs.webkit.org/show_bug.cgi?id=92274

Patch by Luciano Wolf <luciano.wolf@openbossa.org> on 2012-07-25
Reviewed by Alexis Menard.

* platform/qt-5.0/Skipped:
* platform/qt/fast/block/margin-collapse/001-expected.png:
* platform/qt/fast/block/margin-collapse/001-expected.txt:
* platform/qt/fast/block/margin-collapse/002-expected.png:
* platform/qt/fast/block/margin-collapse/002-expected.txt:
* platform/qt/fast/block/margin-collapse/003-expected.png:
* platform/qt/fast/block/margin-collapse/003-expected.txt:
* platform/qt/fast/block/margin-collapse/004-expected.png:
* platform/qt/fast/block/margin-collapse/004-expected.txt:
* platform/qt/fast/block/margin-collapse/005-expected.png:
* platform/qt/fast/block/margin-collapse/005-expected.txt:
* platform/qt/fast/block/margin-collapse/006-expected.png:
* platform/qt/fast/block/margin-collapse/006-expected.txt:
* platform/qt/fast/block/margin-collapse/010-expected.png:
* platform/qt/fast/block/margin-collapse/010-expected.txt:
* platform/qt/fast/block/margin-collapse/011-expected.png:
* platform/qt/fast/block/margin-collapse/011-expected.txt:
* platform/qt/fast/block/margin-collapse/012-expected.png:
* platform/qt/fast/block/margin-collapse/012-expected.txt:
* platform/qt/fast/block/margin-collapse/015-expected.png:
* platform/qt/fast/block/margin-collapse/015-expected.txt:
* platform/qt/fast/block/margin-collapse/016-expected.png:
* platform/qt/fast/block/margin-collapse/016-expected.txt:
* platform/qt/fast/block/margin-collapse/017-expected.png:
* platform/qt/fast/block/margin-collapse/017-expected.txt:
* platform/qt/fast/block/margin-collapse/018-expected.png:
* platform/qt/fast/block/margin-collapse/018-expected.txt:
* platform/qt/fast/block/margin-collapse/019-expected.png:
* platform/qt/fast/block/margin-collapse/019-expected.txt:
* platform/qt/fast/block/margin-collapse/020-expected.png:
* platform/qt/fast/block/margin-collapse/020-expected.txt:
* platform/qt/fast/block/margin-collapse/021-expected.png:
* platform/qt/fast/block/margin-collapse/021-expected.txt:
* platform/qt/fast/block/margin-collapse/022-expected.png:
* platform/qt/fast/block/margin-collapse/022-expected.txt:
* platform/qt/fast/block/margin-collapse/025-expected.png:
* platform/qt/fast/block/margin-collapse/025-expected.txt:
* platform/qt/fast/block/margin-collapse/026-expected.png:
* platform/qt/fast/block/margin-collapse/026-expected.txt:
* platform/qt/fast/block/margin-collapse/027-expected.png:
* platform/qt/fast/block/margin-collapse/027-expected.txt:
* platform/qt/fast/block/margin-collapse/028-expected.png:
* platform/qt/fast/block/margin-collapse/028-expected.txt:
* platform/qt/fast/block/margin-collapse/029-expected.png:
* platform/qt/fast/block/margin-collapse/029-expected.txt:
* platform/qt/fast/block/margin-collapse/030-expected.png:
* platform/qt/fast/block/margin-collapse/030-expected.txt:
* platform/qt/fast/block/margin-collapse/031-expected.png:
* platform/qt/fast/block/margin-collapse/031-expected.txt:
* platform/qt/fast/block/margin-collapse/032-expected.png:
* platform/qt/fast/block/margin-collapse/032-expected.txt:
* platform/qt/fast/block/margin-collapse/033-expected.png:
* platform/qt/fast/block/margin-collapse/033-expected.txt:
* platform/qt/fast/block/margin-collapse/034-expected.png:
* platform/qt/fast/block/margin-collapse/034-expected.txt:
* platform/qt/fast/block/margin-collapse/035-expected.png:
* platform/qt/fast/block/margin-collapse/035-expected.txt:
* platform/qt/fast/block/margin-collapse/037-expected.png:
* platform/qt/fast/block/margin-collapse/037-expected.txt:
* platform/qt/fast/block/margin-collapse/038-expected.png:
* platform/qt/fast/block/margin-collapse/038-expected.txt:
* platform/qt/fast/block/margin-collapse/039-expected.png:
* platform/qt/fast/block/margin-collapse/039-expected.txt:
* platform/qt/fast/block/margin-collapse/040-expected.png:
* platform/qt/fast/block/margin-collapse/040-expected.txt:
* platform/qt/fast/block/margin-collapse/041-expected.png:
* platform/qt/fast/block/margin-collapse/041-expected.txt:
* platform/qt/fast/block/margin-collapse/042-expected.png:
* platform/qt/fast/block/margin-collapse/042-expected.txt:
* platform/qt/fast/block/margin-collapse/043-expected.png:
* platform/qt/fast/block/margin-collapse/043-expected.txt:
* platform/qt/fast/block/margin-collapse/044-expected.png:
* platform/qt/fast/block/margin-collapse/044-expected.txt:
* platform/qt/fast/block/margin-collapse/045-expected.png:
* platform/qt/fast/block/margin-collapse/045-expected.txt:
* platform/qt/fast/block/margin-collapse/055-expected.png:
* platform/qt/fast/block/margin-collapse/055-expected.txt:
* platform/qt/fast/block/margin-collapse/056-expected.png:
* platform/qt/fast/block/margin-collapse/056-expected.txt:
* platform/qt/fast/block/margin-collapse/057-expected.png:
* platform/qt/fast/block/margin-collapse/057-expected.txt:
* platform/qt/fast/block/margin-collapse/058-expected.png:
* platform/qt/fast/block/margin-collapse/058-expected.txt:
* platform/qt/fast/block/margin-collapse/059-expected.png:
* platform/qt/fast/block/margin-collapse/059-expected.txt:
* platform/qt/fast/block/margin-collapse/062-expected.png:
* platform/qt/fast/block/margin-collapse/062-expected.txt:
* platform/qt/fast/block/margin-collapse/063-expected.png:
* platform/qt/fast/block/margin-collapse/063-expected.txt:
* platform/qt/fast/block/margin-collapse/100-expected.png:
* platform/qt/fast/block/margin-collapse/100-expected.txt:
* platform/qt/fast/block/margin-collapse/101-expected.png:
* platform/qt/fast/block/margin-collapse/101-expected.txt:
* platform/qt/fast/block/margin-collapse/102-expected.png:
* platform/qt/fast/block/margin-collapse/102-expected.txt:
* platform/qt/fast/block/margin-collapse/103-expected.png:
* platform/qt/fast/block/margin-collapse/103-expected.txt:
* platform/qt/fast/block/margin-collapse/104-expected.png:
* platform/qt/fast/block/margin-collapse/104-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/001-expected.png: Added.
* platform/qt/fast/block/margin-collapse/block-inside-inline/001-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/002-expected.png: Added.
* platform/qt/fast/block/margin-collapse/block-inside-inline/002-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/003-expected.png: Added.
* platform/qt/fast/block/margin-collapse/block-inside-inline/003-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/004-expected.png:
* platform/qt/fast/block/margin-collapse/block-inside-inline/004-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/005-expected.png:
* platform/qt/fast/block/margin-collapse/block-inside-inline/005-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/006-expected.png: Added.
* platform/qt/fast/block/margin-collapse/block-inside-inline/006-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/010-expected.png: Added.
* platform/qt/fast/block/margin-collapse/block-inside-inline/010-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/011-expected.png: Added.
* platform/qt/fast/block/margin-collapse/block-inside-inline/011-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/012-expected.png: Added.
* platform/qt/fast/block/margin-collapse/block-inside-inline/012-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/015-expected.png: Added.
* platform/qt/fast/block/margin-collapse/block-inside-inline/015-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/016-expected.png: Added.
* platform/qt/fast/block/margin-collapse/block-inside-inline/016-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/017-expected.png: Added.
* platform/qt/fast/block/margin-collapse/block-inside-inline/017-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/018-expected.png: Added.
* platform/qt/fast/block/margin-collapse/block-inside-inline/018-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/019-expected.png: Added.
* platform/qt/fast/block/margin-collapse/block-inside-inline/019-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/020-expected.png: Added.
* platform/qt/fast/block/margin-collapse/block-inside-inline/020-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/021-expected.png: Added.
* platform/qt/fast/block/margin-collapse/block-inside-inline/021-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/022-expected.png: Added.
* platform/qt/fast/block/margin-collapse/block-inside-inline/022-expected.txt:
* platform/qt/fast/block/margin-collapse/block-inside-inline/025-expected.png: Added.
* platform/qt/fast/block/margin-collapse/block-inside-inline/025-expected.txt:
* platform/qt/fast/block/margin-collapse/empty-clear-blocks-expected.png:
* platform/qt/fast/block/margin-collapse/empty-clear-blocks-expected.txt:
* platform/qt/fast/block/margin-collapse/negative-margins-expected.png:
* platform/qt/fast/block/margin-collapse/negative-margins-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Jochen is our a newest reviewer!

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


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123664 268f45cc-cd09-0410-ab3c-d52691b4dbfc
fix test in beginLayerClippedToImage to check for immutability if we're going to do a shallow-copy
https://bugs.webkit.org/show_bug.cgi?id=92276

Reviewed by Stephen White.

PlatformContextSkia::beginLayerClippedToImage

This function wants to apply the provided ImageBuffer as a clip. Skia does not support this natively yet,
so the code makes a "copy" of that imageBuffer, to be applied later. The old code, wanting to avoid a
deep copy if possible, checked for the presence of a SkPixelRef. If it found one, it made a shallow copy.
This is flawed, since the contents of a pixelref are not guaranteed to be immutable. The new code checks
against this attribute: if the bitmap is "immutable" then we can make a shallow-copy, else we make a
deep copy.

No new tests. Existing svg layouttests work w/ or w/out this change, but at the next Skia deps roll, we see
failures w/o this change. The change is more "correct", though the problem case does not exhibit itself until
Skia rev. 4722 or later lands.

* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::beginLayerClippedToImage):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123665 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Move WebFilterOperations from RenderPassDrawQuad to RenderPass
https://bugs.webkit.org/show_bug.cgi?id=91885

Reviewed by Adrienne Walker.

Source/WebCore:

We move the filter operations to CCRenderPass to avoid having
variable-length data in a WebCompositorQuad in order to serialize,
and also to avoid requiring a virtual destructor for the quad
classes.

The drawFrame method now takes a CCRenderPassIdHashMap in order
to connect RenderPass quads to their source RenderPass.

Covered by existing tests.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::decideRenderPassAllocationsForFrame):
(WebCore::LayerRendererChromium::drawFrame):
(WebCore::LayerRendererChromium::beginDrawingFrame):
(WebCore::LayerRendererChromium::drawBackgroundFilters):
(WebCore::LayerRendererChromium::drawRenderPassQuad):
* platform/graphics/chromium/LayerRendererChromium.h:
(LayerRendererChromium):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
(WebCore::CCLayerTreeHostImpl::drawLayers):
* platform/graphics/chromium/cc/CCRenderPass.h:
(WebCore::CCRenderPass::filters):
(WebCore::CCRenderPass::setFilters):
(CCRenderPass):
(WebCore::CCRenderPass::backgroundFilters):
(WebCore::CCRenderPass::setBackgroundFilters):
* platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
(WebCore::CCRenderPassDrawQuad::create):
(WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
* platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
(CCRenderPassDrawQuad):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::appendQuads):
* platform/graphics/chromium/cc/CCRenderer.h:
(CCRenderer):

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:
* tests/LayerRendererChromiumTest.cpp:
(FakeCCRendererClient::FakeCCRendererClient):
(FakeCCRendererClient::rootRenderPass):
(FakeCCRendererClient::renderPassesInDrawOrder):
(FakeCCRendererClient::renderPasses):
(FakeCCRendererClient):
(TEST_F):
(TEST):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123666 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore: Create a specialized pair for use in HashMap iterators
https://bugs.webkit.org/show_bug.cgi?id=92137

Reviewed by Ryosuke Niwa.

Update a couple of sites that relied on the fact that "contents" of iterators were
std::pairs.

* profiler/Profile.cpp:
(JSC): This code kept a vector of the pairs that were the "contents" of the iterators. This
is changed to use a KeyValuePair. We make use HashCount's ValueType (which represents only
the key) to get the proper key parameter for KeyValuePair.
* tools/ProfileTreeNode.h:
(ProfileTreeNode): Use HashMap::ValueType to declare the type of the contents of the hash
instead of declaring it manually. This will make use of the new KeyValuePair.

Source/WebKit2: Create a specialized struct for use in HashMap iterators
https://bugs.webkit.org/show_bug.cgi?id=92137

Reviewed by Ryosuke Niwa.

* Platform/CoreIPC/ArgumentCoders.h: Add encode/decode for KeyValuePair.

Source/WTF: Create a specialized pair for use in HashMap iterators
https://bugs.webkit.org/show_bug.cgi?id=92137

Reviewed by Ryosuke Niwa.

The type used for internal storage in HashMap is exposed in its interface as iterator
"contents". Currently HashMap uses std::pair<>, which this patch replaces with
KeyValuePair.

Having this specialized structure will allow us to customize the members to be called
key/value, improving readability in code using HashMap iterators. They are still called
first/second to separate this change from the mechanical change of updating callsites.

* wtf/HashIterators.h:
(HashTableConstKeysIterator):
(HashTableConstValuesIterator):
(HashTableKeysIterator):
(HashTableValuesIterator):
Use KeyValuePair instead of std::pair when defining the iterators.

* wtf/HashMap.h:
(WTF):
(WTF::KeyValuePairKeyExtractor::extract):
(HashMap):
Remove PairFirstExtractor. Add and use the KeyValuePair corresponding extractor.

(WTF::HashMapValueTraits::isEmptyValue): Use KeyValuePairHashTraits for HashMaps.
(WTF::HashMapTranslator::translate):
(WTF::HashMapTranslatorAdapter::translate):
The traits of the mapped value is now called ValueTraits instead of SecondTraits.

* wtf/HashTable.h:
(WTF::hashTableSwap): Add specialization for swapping KeyValuePairs.
(WTF): Remove now unneeded specialization for std::pairs.

* wtf/HashTraits.h:
(KeyValuePair):
(WTF::KeyValuePair::KeyValuePair):
(WTF):
Specialized pair. In the future difference from pair should be the member names.

(KeyValuePairHashTraits):
(WTF::KeyValuePairHashTraits::emptyValue):
(WTF::KeyValuePairHashTraits::constructDeletedValue):
(WTF::KeyValuePairHashTraits::isDeletedValue):
These traits are analogous to PairHashTraits but for KeyValuePair.

* wtf/RefPtrHashMap.h: Use KeyValuePairHashTraits.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium/mac] Remove mac_bundle_resources section from WebCore.gyp
https://bugs.webkit.org/show_bug.cgi?id=92207

Reviewed by Tony Chang.

It's no longer needed after http://crrev.com/148290 and
http://crrev.com/148187.

* WebCore.gyp/WebCore.gyp:


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