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
webkit: Enable volume control for HTML5 media elements

Change-Id: Ifdc80e956e1827c7b0bc17fd0d8e43285198c776
Enable methods to update size and duration for MediaPlayerPrivateAndroid

Change-Id: Ie935dcb8df05037ed4fd4d0899ba7ecd94cabc8a
webkit: Support for video preloading

Support for video preloading and runtime media preload
browser configuration.

Change-Id: Ie31e1048c0f7f8b6478c465432c824dfddda44aa
webkit: Prevent rendering of video icons outside the video bounds

Change-Id: Ie7820c23fa675b896107877380fb9a6f429339ca
CRs-fixed: 345513
webkit: Add onPlaying callback from HTML5VideoViewProxy

Add OnPlaying callback to update the media player state when
media player state is changed in fullscreen mode.

Change-Id: I16950e8c084df6fc474c34b856688982156df1b1