webkit: fix for perl 5.14+

Change-Id: Id740fff1824d11fef21995d0c472f923e70b3a45
Merge branch 'ics-mr1' of https://android.googlesource.com/platform/external/webkit into aosp
external/webkit: use Cpu Upload path

Use Cpu Upload mode since the Gpu mode is not working
and expected to be slower.

Change-Id: Iacb6de4a4e054e4f6ebb07d8a8209228e78e5ee0
Fix crash with composited layers - DO NOT MERGE

Cherry-pick from master

When we have composited layers inside iframes/frames, the layers
hierarchy is not always up to date at the time of the layerSync()
call. If some of those layers are scheduled to be repainted, the
repaint operation will triggers the update of the composited layers
tree -- possibly resulting in the deallocation of the very same
GraphicsLayer we were painting from, and thus leading to a crash.

The fix consist in gathering all the root RenderLayer (for each
frame containing composited layers) and explicitely asking
RenderLayerCompositor to check if the composited tree needs to be
updated, before we traverse the tree to paint the elements.

bug:5695185
Change-Id: I33a00b847eb19c9aa4b68f0ac3adbe36709ed00b
Return the tile generation thread to default priority.

With this partial revert of ececd484e5832707be4a73b70da37f862eb14c35 , single core devices can't have tile generation starved by javascript/plugins.

bug:5746432
Change-Id: I42b5799f4ba136e1c6f9812219824d21390bace2
Enable History API. Do not merge.

Cherry pick Ic6b6860ca4bfe891e84fb0445d67c7ea728c6fe3

The HTML5 History API is disabled at runtime by default in WebKit.
Configure it to be enabled.

Bug: 5767904
Change-Id: Ib7374e0145c581588990baec6e67025c1b7ef693
When in singlesurfacemode, resist switching out - DO NOT MERGE

cherry-pick of https://android-git.corp.google.com/g/#/c/155078/ into MR1 branch
bug:5660814

We want to avoid swapping in and out of singlesurface mode when we have enough
textures to hold the content, but not while the content is updating.

Change-Id: I3c45f2b9f3c8e06b397b701fb53ac6ac5ff8efdd
When loading new content, reset zoom state - DO NOT MERGE

cherry-pick of https://android-git.corp.google.com/g/#/c/155121/2 into MR1 branch
bug:5757950
Change-Id: I34042e8b1f1adf1fc1826d7fde5500708bef3b60
Merge "When loading new content, reset zoom state - DO NOT MERGE" into ics-mr1
Merge "When in singlesurfacemode, resist switching out - DO NOT MERGE" into ics-mr1
Merge "Fix crash with composited layers - DO NOT MERGE" into ics-mr1
Merge "Enable History API. Do not merge." into ics-mr1
merge in ics-mr1-release history after reset to ics-mr1
Fully invalidate the pictureset when content size changes

bug:5759299

Webkit invals aren't correct when the content size changes (even simply growing
vertically), for now just repaint from scratch in that case.

Change-Id: I408b289bfee1139d6c8f3c7babd963d217cb5bc0
merge in ics-mr1-release history after reset to ics-mr1
Prevent infinite loop when turning on then off composited mode

bug:5820635
Change-Id: I24b6eae6c76c29e44106b4ec87e74d945aad7b1b
merge in ics-mr1-release history after reset to ics-mr1
webkit: Change detection of which devices can use V8 and whether non vfp devices can use LARGE_MEMORY flag

This commit allows ARMv6 devices to use V8 either because they have VFP or because they have explicitly enabled it through the TARGET_WEBKIT_USE_MO

This patch is based heavily on http://review.cyanogenmod.com/#change,12128 and http://review.cyanogenmod.com/#change,11365

This patch is also dependent on http://review.cyanogenmod.com/#change,12129 - ARMv6 devices crash without it while using V8

Change-Id: I249bb9092e5ad85a25a57c71f2dd4a7d9d430c6c
Hack shaders to work on devices without OES_external_image

Change-Id: I02f94d29a73eda2c13dbf9664f1df3f1785b941e
Merge "webkit: Change detection of which devices can use V8 and whether non vfp devices can use LARGE_MEMORY flag" into ics