[ARM64] Fix assembler build issues and add cacheFlush support for Linux
https://bugs.webkit.org/show_bug.cgi?id=130502

Reviewed by Michael Saboff.

Add limits.h for INT_MIN in ARM64Assembler(). Delete shouldBlindForSpecificArch(uintptr_t)
because on ARM64 uint64_t and uintptr_t is the same with GCC and Clang as well.
Add cacheFlush support for Linux.

* assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::linuxPageFlush):
(JSC::ARM64Assembler::cacheFlush):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::shouldBlindForSpecificArch):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165961 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][GTK] Get CMake to find Freetype2 properly
https://bugs.webkit.org/show_bug.cgi?id=130150

Reviewed by Csaba Osztrogonác.

Newer versions of CMake are not able to find Freetype2 correctly.
FindFreetype2.cmake checks for the version number in freetype.h header, since it seems that bug exists in
freetype2 repo, because a completely different version number is found in freetype2.pc.

.:

* Source/cmake/FindFreetype2.cmake: Added.
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:

Source/WebCore:

* PlatformEfl.cmake:
* PlatformGTK.cmake:

Source/WebKit:

* PlatformEfl.cmake:

Source/WebKit2:

* PlatformEfl.cmake:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165962 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Subpixel rendering: Nested layers with subpixel accumulation paint to wrong position.
https://bugs.webkit.org/show_bug.cgi?id=130153

Reviewed by Simon Fraser.

Subpixels (fractional device pixels here) can accumulate through nested layers. Subpixels
need to be propagated through the layer tree so that painting coordinates match layout coordinates.

Subpixel accumulation through nesting (absolute positioning, 2x display):
non-compositing case:
(nested boxes)  (layout pos) (norm.paint pos) (translate accumulation, subpixel accumulation, final paint pos)
div -> top: 1.3px   1.3px     1.5px      1.5px 0.2px -> snapped 0.0px -> 1.5px
 div -> top: 1.3px   2.6px     2.5px      3.0px 0.4px -> snapped 0.5px -> 2.5px
  div -> top: 1.3px   3.9px     4.0px      4.5px 0.6px -> snapped 0.5px -> 4.0px
   div -> top: 1.3px   5.2px     5.0px      6.0px 0.8px -> snapped 1.0px -> 5.0px

compositing case:
(nested boxes)  (layout pos) (norm.paint pos) (device pixel offset + fractional offset, final pos)
div -> top: 1.3px   1.3px      1.5px      1.0px + 0.3px -> snapped -> 1.5px
 div -> top: 1.3px   2.6px      2.5px      2.5px + 0.1px -> snapped -> 2.5px
  div -> top: 1.3px   3.9px      4.0px      3.5px + 0.4px -> snapped -> 4.0px
   div -> top: 1.3px   5.2px      5.0px      5.0px + 0.2px -> snapped -> 5.0px

Source/WebCore:

Tests: compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html
       fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerByApplyingTransform):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerBacking.h:
(WebCore::RenderLayerBacking::devicePixelFractionFromRenderer):

LayoutTests:

* compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation-expected.html: Added.
* compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html: Added.
* fast/layers/hidpi-nested-layers-with-subpixel-accumulation-expected.html: Added.
* fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html: Added.


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