Coordinated Graphics: Enable threaded/IPC animations
https://bugs.webkit.org/show_bug.cgi?id=93146

Unreviewed build fix, some function names changed between review and landing.


* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::encodeTimingFunction):
(CoreIPC::decodeTimingFunction):
(CoreIPC::::encode):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
(WebCore):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132296 268f45cc-cd09-0410-ab3c-d52691b4dbfc
exif-orientation tests should use dumpAsText(true)
https://bugs.webkit.org/show_bug.cgi?id=100076

Reviewed by Eric Seidel.

* fast/images/exif-orientation-css.html: Use dumpAsText(true).
* fast/images/exif-orientation.html: ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132297 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r132276.
http://trac.webkit.org/changeset/132276
https://bugs.webkit.org/show_bug.cgi?id=100189

It broke the Qt-WK2 build intentionally (Requested by
Ossy_night on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-10-23

Source/WebCore:

* page/Frame.h:
* platform/graphics/GraphicsLayer.cpp:
(showGraphicsLayerTree):
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::tiledBacking):
* platform/graphics/TiledBacking.h:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::tiledBacking):
(WebCore::GraphicsLayerCA::dumpAdditionalProperties):
* platform/graphics/ca/GraphicsLayerCA.h:
(GraphicsLayerCA):
* platform/graphics/ca/mac/TileCache.h:
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::tileCoverageRect):
(WebCore::TileCache::revalidateTiles):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerTreeAsText):
* testing/Internals.cpp:
(WebCore::Internals::layerTreeAsText):
* testing/Internals.h:
* testing/Internals.idl:

Tools:

* WebKitTestRunner/PlatformWebView.h:
(PlatformWebView):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
* WebKitTestRunner/TestController.h:
(TestController):
* WebKitTestRunner/TestInvocation.cpp:
(WTR):
(WTR::TestInvocation::invoke):
* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
(WTR::PlatformWebView::PlatformWebView):
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::PlatformWebView):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::PlatformWebView):
* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::PlatformWebView::PlatformWebView):
* WebKitTestRunner/win/PlatformWebViewWin.cpp:
(WTR::PlatformWebView::PlatformWebView):

LayoutTests:

* platform/mac/tiled-drawing/use-tiled-drawing-expected.txt: Removed.
* platform/mac/tiled-drawing/use-tiled-drawing.html: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132298 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Flush pending GraphicsLayer changes when reattaching compositing layers if necessary
https://bugs.webkit.org/show_bug.cgi?id=100187
<rdar://problem/12546770>

Reviewed by Dan Bernstein.

Fix a regression from r131940. That revision changed RenderLayerCompositor::flushPendingLayerChanges()
to bail if the root layer is unattached, which indicates that we're in the page cache, or in a
background tab. However, that dropped the layer flush on the floor, so that any subsequent changes
to GraphicsLayerCAs would just pile up and never get flushed. This was most evident on pages
that require frequent flushing, such as those running animated GIFs.

Fix by setting a flag in flushPendingLayerChanges() if we're unattached. Consult the flag
when re-attaching the root layer, and if it's set, flush the GraphicsLayers.

Not testable because we can't test detaching and re-adding web views in DRT/WTR.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor): Initialize m_shouldFlushOnReattach to false.
(WebCore::RenderLayerCompositor::flushPendingLayerChanges): If the root layer attachment
is RootLayerUnattached, set the m_shouldFlushOnReattach flag before returning.
(WebCore::RenderLayerCompositor::attachRootLayer): If m_shouldFlushOnReattach, flush the layers,
saying that we're the flush root.
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor): Add m_shouldFlushOnReattach flag.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132299 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Texmap][EFL] Add AcceleratedCompositingContextEfl to the build system.
https://bugs.webkit.org/show_bug.cgi?id=88630

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2012-10-23
Reviewed by Gyuyoung Kim.

Source/WebKit:

* PlatformEfl.cmake: Add the AcceleratedCompositingContextEfl.cpp file
and INCLUDE paths for TEXTURE_MAPPER_GL.

Source/WebKit/efl:

* WebCoreSupport/AcceleratedCompositingContextEfl.cpp: Modify the #include file.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132300 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Allow tests to run with a tile cache, and optionally dump the tile cache via layerTreeAsText()
https://bugs.webkit.org/show_bug.cgi?id=100159

Patch by Simon Fraser <simon.fraser@apple.com> on 2012-10-23
Reviewed by Tim Horton.

Source/WebCore:

Add a LAYER_TREE_INCLUDES_PAGE_TILE_CACHE flag for layerTreeAsText(), and plumb it
through to GraphicsLayerCA, which dumps the TiledBacking tile coverage rect.

Test: platform/mac/tiled-drawing/use-tiled-drawing.html

* page/Frame.h:
* platform/graphics/GraphicsLayer.cpp:
(showGraphicsLayerTree):
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::tiledBacking):
* platform/graphics/TiledBacking.h:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::tiledBacking):
(WebCore::GraphicsLayerCA::dumpAdditionalProperties):
* platform/graphics/ca/GraphicsLayerCA.h:
(GraphicsLayerCA):
* platform/graphics/ca/mac/TileCache.h:
(WebCore::TileCache::tileCoverageRect):
(TileCache):
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::computeTileCoverageRect):
(WebCore::TileCache::revalidateTiles):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerTreeAsText):
* testing/Internals.cpp:
(WebCore::Internals::layerTreeAsText):
* testing/Internals.h:
* testing/Internals.idl:

Tools:

Make WebKitTestRunner use a WKView with a tile cache for tests run in a directory
whose path includes "tiled-drawing". It does this by passing around a WKDictionary
of options, and if the current PlatformWebView doesn't support those options, it will
create a new one.

* WebKitTestRunner/PlatformWebView.h:
(PlatformWebView): Add a WKDictionaryRef options dictionary argument.
(WTR::PlatformWebView::viewSupportsOptions): Returns true if the view
supports the options in the WKDictionaryRef.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize): Call createWebViewWithOptions() with
no options in the normal case.
(WTR::TestController::createWebViewWithOptions): Moved code into this fuction
so we can call it in two places.
(WTR::TestController::ensureViewSupportsOptions): If the current view
doesn't support the given options, throw it away and makea  new one that does.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::shouldUseTiledDrawing): Return true if the directory contains "tiled-drawing".
(WTR::updateTiledDrawingForCurrentTest): Tell the TestController to check whether
the view supports the given options. No-op for non-Mac platforms.
(WTR::TestInvocation::invoke): Call updateTiledDrawingForCurrentTest().
* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
(WTR::PlatformWebView::PlatformWebView): New constructor parameter.
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::PlatformWebView):  New constructor parameter.
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(-[TestRunnerWKView initWithFrame:contextRef:pageGroupRef:useTiledDrawing:]):
(-[TestRunnerWKView _shouldUseTiledDrawingArea]): Subclass the WKView so we can return
a custom value from this method.
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):
* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::PlatformWebView::PlatformWebView): New constructor parameter.
* WebKitTestRunner/win/PlatformWebViewWin.cpp:
(WTR::PlatformWebView::PlatformWebView): New constructor parameter.

LayoutTests:

A new test that dumps tile cache data for a large page.

* platform/mac/tiled-drawing/use-tiled-drawing-expected.txt: Added.
* platform/mac/tiled-drawing/use-tiled-drawing.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132301 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r130643): ASSERTION FAILED: result.iterator != end() below PluginDatabase::add
<http://webkit.org/b/100065>

Reviewed by Anders Carlsson.

Restore the pre-r130643 hash table size for PluginDatabase to prevent these easily reproducible
collisions. This will need a proper fix at some point.

* plugins/PluginDatabase.h:
* plugins/PluginPackage.h:
(PluginPackageHashTraits):


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