webkit: Fix build in ISO C++11 mode

Assorted ISO C++11 fixes:
- constexpr additions
- macro constructs that could be mistaken for string literals
- enum typesafety

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
WebGL implementation for Android 4.0

Added README file

Some updates:
  - stability fixes
  - image decoder
  - redesign of how the FBOs are used
  - other bug fixes

Code cleanup and bug fixes

More improvements and bug fixes

Updates to fix some test failures in Khronos Conformance Test Suite:

  - Increase max identifier length in shaders to 256
  - Add length check on uniforms and attributes
  - Add minimal support for compressed textures
      (that is, just return the correct error codes)
  - Add support for Uint8ClampedByteArray
  - Modify how error checking is done on framebuffer operations
  - Activate the GL_OES_packed_depth_stencil extension
  - Activate the GL_OES_texture_float extension

More improvements and bug fixes

Change-Id: I7d341dfb66d146487b1fdbb4a2d788f54c107ad3

Update ANGLE to r1009 to fix WebGL 1.0.1 conformance test

Fixes struct-nesting-exceeds-maximum Khronos WebGL conformance test.

Change-Id: I56c9e2c14cf7d8653932c0b52405f54e35e1bcb5
Port bug fixes from webkit to plug leaks

Port bug fixes to fix leaks in v8 bindings.
https://bugs.webkit.org/show_bug.cgi?id=64467
https://bugs.webkit.org/attachment.cgi?id=101318&action=review

CRs-fixed: 331677
(cherry picked from commit d8c0c08fbec4da869617b41e2ace0de35b95692f)

Change-Id: I6b5199ab4f48e54f2309af3d56ed7f4548ded4f4
Disable strict-aliasing for libangle

Change-Id: I839a9aae4f8e54e22847a9dbd9d4ff8d7e297ada
Revert "webkit: Fix build in ISO C++11 mode"

This reverts commit 0c1a75ff5c716ccda1e9da15ff5f6707d9de7067.
webkit: Don't process non-visible lines for layout.

Change-Id: I1edc5f3767dbbcc02aecc14ac685dbd0b5d36367
Fix z-index issue with adding a new layer

Fix z-index positioning of new layers for elements that originally
didn't have a separate layer.

CRs-fixed: 376131
(cherry picked from commit e4db0c1942628783ad37d4f91539f60106ad9557)

Change-Id: Ie2ffaa10bb8d333a7d3e3756536a4abf325b97fe
Implement Float64Array

Cherry-pick from webkit-org branch on Code Aurora Forum:
https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=1c22629b28f039d512ccd74e0a4a0c8f84d06642

2011-05-24  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Implement Float64Array
        https://bugs.webkit.org/show_bug.cgi?id=39144

        Implemented Float64Array based on the existing Float32Array sources.
        Built and tested in Chromium on Linux and Mac OS X and Safari on Mac OS X.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * UseJSC.cmake:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::float64Array):
        * bindings/js/JSFloat64ArrayCustom.cpp: Added.
        (WebCore::JSFloat64Array::indexSetter):
        (WebCore::toJS):
        (WebCore::JSFloat64Array::set):
        (WebCore::JSFloat64ArrayConstructor::constructJSFloat64Array):
        * bindings/v8/custom/V8Float64ArrayCustom.cpp: Added.
        (WebCore::V8Float64Array::constructorCallback):
        (WebCore::V8Float64Array::setCallback):
        (WebCore::toV8):
        * html/canvas/ArrayBufferView.h:
        (WebCore::ArrayBufferView::isDoubleArray):
        * html/canvas/Float64Array.cpp: Added.
        (WebCore::Float64Array::create):
        (WebCore::Float64Array::Float64Array):
        (WebCore::Float64Array::subarray):
        * html/canvas/Float64Array.h: Added.
        (WebCore::Float64Array::set):
        (WebCore::Float64Array::item):
        (WebCore::Float64Array::isDoubleArray):
        * html/canvas/Float64Array.idl: Added.
        * page/DOMWindow.idl:
        * workers/WorkerContext.idl:
2011-05-24  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Implement Float64Array
        https://bugs.webkit.org/show_bug.cgi?id=39144

        Added unit tests to existing typed array tests in Khronos repository and
        synced layout test with them. Updated other affected layout tests.

        * fast/canvas/webgl/array-unit-tests-expected.txt:
        * fast/canvas/webgl/array-unit-tests.html:
        * fast/dom/Window/script-tests/window-property-descriptors.js:
        * fast/dom/Window/window-properties.html:
        * fast/dom/script-tests/constructed-objects-prototypes.js:
        (constructorPropertiesOnWindow):
        * fast/dom/script-tests/prototype-inheritance-2.js:
        (constructorNamesForWindow):
        * fast/dom/script-tests/prototype-inheritance.js:
        * fast/js/script-tests/global-constructors.js:

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

Change-Id: I4ea3c1be34b71fae148c5565b8cf5d3076b679c8
[WebKit] DOM traversal optimizations

Improves WebCore DOM traversal, NodeList and HTMLCollection.

Change-Id: I5527e992c896056825d3a8646d742687662a9e71
[WebKit] Prefetch optimization for DOM Tree Traversal

Improves WebCore DOM traversal algorithm by prefetching nodes in advance.

Change-Id: Ia2e2f0fe415cfb237badff0d777dc9f1be9899c6
[WebKit] DOM Core optimizations

Improves some of the DOM search and DOM modification APIs.

Change-Id: I906838528cea282138364546cb19f1572aafd33a
webkit: page contents not shown correctly on changing to landscape mode

The page content is not displayed properly because the most recent
pictureset maintained in the BaseLayerAndroid is not painted.As we know
the TreeManger maintains 3 layers i.e., drawing , painting , queue.
These layers were shifted painting to drawing and queued to painting as
the BaseTiles gets painted by paint operation in TextureGeneration
thread. The layer swap did not happens due to mismatch in zoom state.
The zoom manager has to process the new zoom scale request and updates
its state accordingly. In the scenario, the previously requested zoom
state is changed to the current state before it gets handled. As a
result the new request is never scheduled and results in layers not
getting swapped until new zoom scale request happens. Zoom scale can
changes due to orientation changes.
This patch ensure the zoom scale request is schedule in the scenario
explained here.

Change-Id: I18c9a060f5587e7709147c54a6c002865753a8ec
Fix for context-attributes-alpha-depth-stencil-antialias

Support for alpha, depth and stencil to fix WebGL Khronos 1.0.1
conformance test. Report back that antialiasing is not supported on our
platform.

CRs-fixed: 340907
Change-Id: Ie32d4b1384b07332ee39ff5e55ea874c73edc033
vertexAttribPointer needs to reject large negative offsets

https://bugs.webkit.org/show_bug.cgi?id=85117

Reviewed by Kenneth Russell.

Source/WebCore:

* html/canvas/WebGLRenderingContext.cpp: Use long long for GLsizeiptr and GLintptr
(WebCore):
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::getVertexAttribOffset):
(WebCore::WebGLRenderingContext::vertexAttribPointer):
* html/canvas/WebGLRenderingContext.h: Ditto
(WebGLRenderingContext):
* html/canvas/WebGLRenderingContext.idl: Ditto

LayoutTests:

* fast/canvas/webgl/index-validation-expected.txt:
* fast/canvas/webgl/index-validation.html: Add a test case for large negative offset.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116374 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change-Id: I131bfbfa989407509695133879663e826c928575
WebGL: Keep reference to GraphicsBufferAlloc in GraphicsContext3DInternal

Because PMEM cannot do cross process reference counting, we need to rely
on a GraphicsBufferAlloc object in the SurfaceFlinger process to keep a
reference to it. Without it, SurfaceFlinger will dereference the buffer,
and the browser process keeps using the deleted buffer.

Change-Id: I672d9a0506a69feea576dad5c7fcf721533c576f
[WebKit] Merge ~150 WebAudio related commits from WebKit tip to Android WebKit

This single patch contains all the WebAudio related commits in WebKit trunk
from May 15, 2011 to Feb 1, 2012

This patch contains no integration or build fixes and WebAudio feature is
not enabled in this patch.

There are no build breakes or regressions in WebKit because of this
patch.

Change-Id: I49c3905497931bc9993ae40869a9bb30a2dfa7e3
[WebKit] WebAudio on Android

This single patch contains the following changes to enable WebAudio support on Android
- AudioBus implementation that uses libstagefright's OMX codecs
- AudioDestination implementation that uses libmedia's AudioTrack
- FFTFrame implementation that uses KissFFT FFT library
- Neon implementation of VectorMath routines
- Integration and build fixes in WebAudio code to buid with Android(ICS) WebKit

Change-Id: I301d054b15ff7d976eca9eccb2b661fd53155968
webkit: Pass video layer ID to HTML5VideoViewProxy during creation

Change-Id: I01da72c84b5e6328c92be8b68007c05b65d4632c

This allows the HTML5VideoViewManager in the android framework to
determine the HTML5VideoViewProxy instance associated with the
enterFullScreenVideo call before any video is played.

CRs-fixed: 328354
webkit: Show last frame of streaming video when buffering.

VideoPlayer is modified to look for state "BUFFERING" and
present last video frame with progress animation (circle)
instead of previous behaviour where it presented grey
background with progress animation.

Change-Id: I5497b0e6af1ece67cb76e6e89853c67174d609cd
CRs-fixed: 329061
Webkit: Support for the loop attribute for HTML5 video

MediaPlayer pauses internally during EOS preventing video looping.
Call MediaPlayer play upon notification to restart the playback.

Change-Id: If4eb530def641db6b2b5081477d82ed0b43e0b6e
CRs-fixed: 333027