[EFL][WK2] Fix EWK2BackForwardListTest test fails.
https://bugs.webkit.org/show_bug.cgi?id=133171

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-05-26
Reviewed by Gyuyoung Kim.

Use local test html pages instead of EWK2UnitTestServer, call ewk_view_url_set() to load test html pages.
Since even after setting no_proxy="localhost,127.0.0.1", still test server was unable to load the test
html pages for ewk2_back_forward_list tests, so changed to use local html pages.

* UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
(TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169367 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove special case for transparent SVG root layers
https://bugs.webkit.org/show_bug.cgi?id=116856

Reviewed by Dirk Schulze.

This patch removes a special case from RenderLayer for root SVG layers
with opacity. Instead of checking whether a composited layer exists in
SVGRenderingContext::prepareToRenderSVGContent we now exclude the root
SVG renderobject from the opacity checks in prepareToRenderSVGContent.

This is a merge of https://src.chromium.org/viewvc/blink?view=rev&revision=174102
by Philip Rogers <pdr@chromium.org>.

No new tests as this is covered by svg/custom/composited-svg-with-opacity.html.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::isTransparent): Deleted.
* rendering/RenderLayer.h:
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
    The opacity case for root svg renderers is now handled by
    RenderLayer.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix test failures on python test
https://bugs.webkit.org/show_bug.cgi?id=133297

Reviewed by Dirk Schulze.

2 tests are failing because of unbounded local variable reference in test_importer.py.

* Scripts/webkitpy/w3c/test_importer.py: Move local variable declaration to top.
(TestImporter.import_tests):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@169369 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[wk2] RemoteLayerBackingStore front buffers should be purgeable when unparented
https://bugs.webkit.org/show_bug.cgi?id=133020
<rdar://problem/16521736>

Reviewed by Simon Fraser.

* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::display):
Let the context know whenever a RemoteLayerBackingStore is displayed, so that
RemoteLayerBackingStoreCollection can (if needed) note that the backing store
is active once again (because we only display parented backing store).

(WebKit::RemoteLayerBackingStore::setBufferVolatility):
Ensure that we never have live contexts attached to any buffers when
marking them volatile, because checking isInUse() with live contexts is futile.

* Shared/mac/RemoteLayerBackingStoreCollection.h:
* Shared/mac/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::RemoteLayerBackingStoreCollection):
(WebKit::RemoteLayerBackingStoreCollection::willFlushLayers):
(WebKit::RemoteLayerBackingStoreCollection::willCommitLayerTree):
(WebKit::RemoteLayerBackingStoreCollection::didFlushLayers):
(WebKit::RemoteLayerBackingStoreCollection::backingStoreWillBeDestroyed):
(WebKit::RemoteLayerBackingStoreCollection::backingStoreWillBeDisplayed):
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatileImmediately):
(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatile):
(WebKit::RemoteLayerBackingStoreCollection::backingStoreBecameUnreachable):
(WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired):
(WebKit::RemoteLayerBackingStoreCollection::scheduleVolatilityTimer):
(WebKit::RemoteLayerBackingStoreCollection::purgeabilityTimerFired): Deleted.
(WebKit::RemoteLayerBackingStoreCollection::schedulePurgeabilityTimer): Deleted.
Rename purgeable->volatile for accuracy.
Keep track of two sets of backing store: those which are active/parented, and
those which are not. Backing store is moved to the inactive set after building
the transaction in which its owning layer is unparented.
When backing store is unparented, try to mark it volatile immediately. Also,
mark the backing store property as dirty on the owning layer so that when
said layer is reparented, we encode the backing store in the commit that reparents it,
as the UI process will throw away its reference to the backing store when
the layer is unparented. Mark the front buffers of unparented layers as volatile,
in addition to the others.

* Shared/mac/RemoteLayerTreeTransaction.h:
(WebKit::RemoteLayerTreeTransaction::layerIDsWithNewlyUnreachableBackingStore):
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
(WebKit::RemoteLayerTreeTransaction::setLayerIDsWithNewlyUnreachableBackingStore):
Include the list of layers (by ID) with backing store which just became unreachable in the transaction.

* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree):
Clear the contents of layers which now have unreachable backing store.
Otherwise, the UI process would hold a 'use' on the IOSurface, and prevent
the Web process from marking it volatile.

* WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::backingStoreWillBeDisplayed):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
Give RemoteLayerBackingStoreCollection a shot at the RemoteLayerTreeTransaction,
so that it can fill in layerIDsWithNewlyUnreachableBackingStore.
Also, let it know when the flush begins and ends, so that it can keep track
of which layers were reached in the flush.

* WebCore.exp.in:
* platform/graphics/cg/IOSurfacePool.cpp:
(WebCore::IOSurfacePool::willAddSurface):
* platform/graphics/cocoa/IOSurface.h:
* platform/graphics/cocoa/IOSurface.mm:
(IOSurface::releaseGraphicsContext):
Rename clearGraphicsContext to releaseGraphicsContext for clarity.



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