Unreviewed, fix ARM build.

* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::store8):
(MacroAssemblerARMv7):
* offlineasm/armv7.rb:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129274 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add support for OES_vertex_array_object in chromium
https://bugs.webkit.org/show_bug.cgi?id=96578

Patch by Brandon Jones <bajones@google.com> on 2012-09-21
Reviewed by Kenneth Russell.

Source/Platform:

Added code to allow calls to the OES_vertex_array_object extension to interface
properly with the chromium WebGL implementation.

* chromium/public/WebGraphicsContext3D.h:
(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::createVertexArrayOES):
(WebKit::WebGraphicsContext3D::deleteVertexArrayOES):
(WebKit::WebGraphicsContext3D::isVertexArrayOES):
(WebKit::WebGraphicsContext3D::bindVertexArrayOES):

Source/WebCore:

Adding basic reference counting to WebGLBuffer objects to satisfy spec requirements
for the OES_vertex_array_object extension. Added code to allow calls to the
OES_vertex_array_object extension to interface properly with the chromium WebGL
implementation.

Test: fast/canvas/webgl/oes-vertex-array-object.html

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::deleteBuffer):
(WebCore::WebGLRenderingContext::vertexAttribPointer):
* html/canvas/WebGLVertexArrayObjectOES.cpp:
(WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer):
(WebCore):
* html/canvas/WebGLVertexArrayObjectOES.h:
(WebGLVertexArrayObjectOES):
(WebCore::WebGLVertexArrayObjectOES::getVertexAttribStateSize):
* platform/chromium/support/Extensions3DChromium.cpp:
(WebCore::Extensions3DChromium::createVertexArrayOES):
(WebCore::Extensions3DChromium::deleteVertexArrayOES):
(WebCore::Extensions3DChromium::isVertexArrayOES):
(WebCore::Extensions3DChromium::bindVertexArrayOES):

LayoutTests:

Brought over KHRONOS conformance test for OES_vertex_array_object

* fast/canvas/webgl/oes-vertex-array-object-expected.txt: Added.
* fast/canvas/webgl/oes-vertex-array-object.html: Added.
* platform/efl/Skipped:
* platform/gtk-wk2/Skipped:
* platform/mac/Skipped:
* platform/wk2/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129275 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Fix Windows specific accessibility test results. 
Missed some new lines in http://trac.webkit.org/changeset/129255.

* platform/win/accessibility/aria-toggle-button-with-title-expected.txt:
* platform/win/accessibility/canvas-fallback-content-2-expected.txt:
* platform/win/accessibility/img-fallsback-to-title-expected.txt:
* platform/win/accessibility/svg-image-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129276 268f45cc-cd09-0410-ab3c-d52691b4dbfc
BiquadFilterNode must take audio-rate parameter changes into account
https://bugs.webkit.org/show_bug.cgi?id=97369

Reviewed by Kenneth Russell.

BiquadFilterNode is currently ignoring any timeline or audio-rate changes to its parameters.
We now check if any of its parameters have timeline or audio-rate changes and, if so, take
them into account.  Otherwise, we use ordinary parameter smoothing/de-zippering which is
the case when the parameters are adjusted, for example, from a knob or slider in the UI.

* Modules/webaudio/BiquadDSPKernel.cpp:
(WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
* Modules/webaudio/BiquadProcessor.cpp:
(WebCore::BiquadProcessor::checkForDirtyCoefficients):
* Modules/webaudio/BiquadProcessor.h:
(WebCore::BiquadProcessor::hasSampleAccurateValues):
(BiquadProcessor):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129277 268f45cc-cd09-0410-ab3c-d52691b4dbfc
fast/dom/Geolocation/disconnected-frame.html test asserts
https://bugs.webkit.org/show_bug.cgi?id=97376

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-09-21
Reviewed by Alexey Proskuryakov.

Source/WebKit2: 

In GeolocationPermissionRequestManager::cancelRequestForGeolocation, we access an iterator
after its value has been removed from the table.
There are two problems with that:
-The iterator is no longer valid after the container has been modified.
-If it was the last element, the table has been freed and the iterator points to deleted memory.

We solve the issue by keeping a copy of the ID. We could have inverted the order of the calls
but that would make the issue less visible for future change.

Testing covered by fast/dom/Geolocation/disconnected-frame.html.

* WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
(WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):

LayoutTests: 

* platform/wk2/Skipped:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129278 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Skip this test because it relies on sandboxed-iframe-origin-add.html which was removed in http://trac.webkit.org/changeset/129262.

* platform/win/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129279 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Simplify and optimize ChildListMutationScope
https://bugs.webkit.org/show_bug.cgi?id=97352

Reviewed by Ryosuke Niwa.

ChildListMutationScope is one of the most complicated bits of
MutationObserver implementation. This patch aims to simplify it for
clarity and improve its performance (mostly by just doing less).

The big change is to remove the MutationAccumulatorRouter class,
replacing it with lifetime-management logic in ChildListMutationAccumulator
ChildListMutationScope is expected to call getOrCreate() in
its constructor, and each scope holds a RefPtr to the accumulator.
When the last scope holding such a RefPtr is destroyed,
ChildListMutationAccumulator's destructor enqueues the accumulated record.

This greatly reduces the number of lines of code, and condenses
two HashMaps into one. It also reduces hash lookups, which now
occur only on scope creation and when the refcount for a given
accumulator reaches 0 (previously, each childAdded and willRemoveChild
call could result in two hash lookups each).

There are some minor changes as well: the ChildListMutationAccumulator::clear()
method is gone, as it was doing more work than necessary;
DEFINE_STATIC_LOCAL is now used instead of hand-rolled static-management
code; ChildListMutationAccumulator::m_lastAdded is no longer a RefPtr, since it
always points at a Node that's already being ref'd by the accumulator.
Also various minor syntactic cleanups.

No new tests, no change in behavior.

* dom/ChildListMutationScope.cpp:
(WebCore::accumulatorMap): Reduced two maps to one, and manage its lifetime with DEFINE_STATIC_LOCAL.
(WebCore::ChildListMutationAccumulator::ChildListMutationAccumulator): Remove unnecessary call to clear() (which itself has been removed).
(WebCore::ChildListMutationAccumulator::~ChildListMutationAccumulator): Enqueue record if not empty at destruction, and have the accumulator
remove itself from the map.
(WebCore::ChildListMutationAccumulator::getOrCreate): Replaces half of MutationAccumulatorRouter's job.
(WebCore::ChildListMutationAccumulator::childAdded): Minor RefPtr usage improvements.
(WebCore::ChildListMutationAccumulator::isRemovedNodeInOrder): Simplify RefPtr syntax.
(WebCore::ChildListMutationAccumulator::willRemoveChild): Minor RefPtr usage improvements.
(WebCore::ChildListMutationAccumulator::enqueueMutationRecord): Replace call to clear() with clearing m_lastAdded,
since it's the only bit not cleared by the MutationRecord creation call. Also remove
isEmpty check and replace with asserts now that it's a private method.
(WebCore::ChildListMutationAccumulator::isEmpty): Added more assertions about emptiness.
* dom/ChildListMutationScope.h:
(WebCore):
(ChildListMutationAccumulator): Extract the inner class to make everything easier to read.
(WebCore::ChildListMutationScope::ChildListMutationScope): Store m_accumulator rather than m_target.
(WebCore::ChildListMutationScope::~ChildListMutationScope): ditto
(WebCore::ChildListMutationScope::childAdded): ditto
(WebCore::ChildListMutationScope::willRemoveChild): ditto
(ChildListMutationScope):
* html/HTMLElement.cpp: Remove unused ChildListMutationScope.h #include.


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