[iOS] Many compositing tests fail in DumpRenderTree due to contentsOpaque difference
authordbates@webkit.org <dbates@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 21 Jan 2015 23:42:14 +0000 (23:42 +0000)
committerdbates@webkit.org <dbates@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 21 Jan 2015 23:42:14 +0000 (23:42 +0000)
commit873cc1ef8d02491f57fc686ae00254b3e720a3bd
tree3c13dbe710b92c7dd1129a5fd93f7eae50acae39
parent8b0d4f2f022ed282977a84c7ae49c1110d771295
[iOS] Many compositing tests fail in DumpRenderTree due to contentsOpaque difference
https://bugs.webkit.org/show_bug.cgi?id=140742

Reviewed by Simon Fraser.

Source/WebCore:

Make RenderLayerBacking::layerTreeAsText() (including internals.layerTreeAsText()) always
report that the main frame's RenderView layer is opaque when running iOS DumpRenderTree to
avoid test failures and the need to maintain for iOS WebKit1 an almost identical copy of the
platform-independent compositing test results.

The main frame's RenderView layer is always transparent in iOS WebKit1 since it does
not make use of a tiled cache layer and defers to UIKit to handle the final compositing
of the web view, including applying the page scale factor.

* platform/RuntimeApplicationChecksIOS.mm:
(WebCore::applicationIsDumpRenderTree): The app bundle identifier of DumpRenderTree has
the form org.webkit.DumpRenderTreeX where X is some non-negative integer.
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::dumpProperties): Modified to report that a layer is opaque when
GraphicsLayerClient::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack() returns true.
* platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack): Added
default implementation (returns false).
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack): Added;
returns true when running in DumpRenderTree and the passed GraphicsLayer corresponds to the main frame's
RenderView layer.
* rendering/RenderLayerBacking.h:

LayoutTests:

Update test expectations and remove an unnecessary test result.

* platform/ios-simulator/TestExpectations:
* platform/ios-simulator/compositing/backing/backface-visibility-flip-expected.txt: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178868 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/platform/ios-simulator/TestExpectations
LayoutTests/platform/ios-simulator/compositing/backing/backface-visibility-flip-expected.txt [deleted file]
Source/WebCore/ChangeLog
Source/WebCore/platform/RuntimeApplicationChecksIOS.mm
Source/WebCore/platform/graphics/GraphicsLayer.cpp
Source/WebCore/platform/graphics/GraphicsLayerClient.h
Source/WebCore/rendering/RenderLayerBacking.cpp
Source/WebCore/rendering/RenderLayerBacking.h